Compare commits

..

67 Commits

Author SHA1 Message Date
805ca6b6aa Merge branch 'release-squeekboard-1.24.0' into 'main'
Release Squeekboard 1.24.0

See merge request World/Phosh/squeekboard!622
2024-03-10 15:28:37 +00:00
8dc32bb126 Release 1.24.0
Changes:
- The emoji-layout has been replaced with a new one,
  which offers many more emojis to choose from.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/622>
2024-03-10 15:00:44 +01:00
c4bd52e2f2 hacking.md: add more instructions
Also make the examples more recent, so it doesn't look like it is outdated.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/622>
2024-03-10 14:44:24 +01:00
65d470de8a Merge branch 'ci-debian-stable' into 'main'
ci: Update pipeline to Debian stable

See merge request World/Phosh/squeekboard!619
2024-03-10 11:38:19 +00:00
f64ea8f085 ci: Always use noninteractive debconf backend
This avoids plenty of warnings when installing dependencies

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 11:12:04 +01:00
ff79647f05 ci: Cancel running jobs
No need to have parallel pipelines when updating a job.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 11:12:04 +01:00
cc18ec727c ci: Use Debian trixie for the doc build
This allows us to use the available package, no need for pip.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 10:36:54 +01:00
0e8128d021 ci: Drop lintian check
Packging details should be checked in the distros. Let's not waste CI
resources here.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 10:34:02 +01:00
ad69bd5b59 Use newer dependencies everywhere
No need to copy them in most of the jobs

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 10:31:37 +01:00
2d532aa0ff ci: Stop building byzantium debs
This is Debian oldstable based and hence to cumbersome to support
upstream.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/619>
2024-03-10 10:28:16 +01:00
71c27d94b5 Change branch-name from 'master' to 'main' 2024-03-09 11:57:32 +01:00
1d8a86d172 Merge branch 'update-link' into 'master'
squeekboard.doap: update descriptions and links

See merge request World/Phosh/squeekboard!618
2024-03-09 10:41:10 +00:00
fa972253be squeekboard.doap: update descriptions and links
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/618>
2024-03-09 10:25:14 +00:00
3899c042b8 Merge branch 'add-new-emoji-layout' into 'master'
Add new emoji-layout

Closes #381

See merge request World/Phosh/squeekboard!613
2024-03-09 09:01:07 +00:00
492c4ba948 Add new emoji-layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/613>
2024-03-09 09:27:13 +01:00
e3d08fff88 Merge branch 'change-controlcenter-to-settings' into 'master'
src/popover.c: Change 'ControlCenter' to 'Settings'

Closes #335

See merge request World/Phosh/squeekboard!616
2024-03-08 15:47:20 +00:00
bc43abdb02 src/popover.c: Change 'ControlCenter' to 'Settings'
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/616>
2024-03-08 14:49:11 +01:00
bdcf23750d Merge branch 'release-1.23.0' into 'master'
Release 1.23.0

See merge request World/Phosh/squeekboard!615
2024-03-08 12:04:59 +00:00
00b894993c Release 1.23.0
New or updated translations:
- Belarusian
- Haitian Creole

New layouts:
- French Canadian (QWERTY + accented letters)
- German terminal-layout
- Spanish terminal-layout

Changes:
- Fixed Persian and Swiss layouts
- Fixed various small style-issues in many layouts
- Improved the US-terminal-layout

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/615>
2024-03-08 11:36:43 +01:00
4fed8c5b1e Update dependencies
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/615>
2024-03-08 11:05:46 +01:00
ab37c2a7f2 Merge branch 'improve-readability-of-layout-files' into 'master'
Improve readability of layout-files

See merge request World/Phosh/squeekboard!610
2024-03-08 09:19:05 +00:00
79d21dde5e data/keyboards/fr*.yaml: Move default to the top
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/610>
2024-03-08 09:31:39 +01:00
08493ed094 data/keyboards/*.yaml: Indent outline-definitions equally
For better readability.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/610>
2024-03-08 09:31:33 +01:00
b4b88f6a98 data/keyboards/*.yaml: Remove unused custom outlines
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/610>
2024-03-08 09:24:58 +01:00
23b9687988 Merge branch 'add-wide-emoji-layout' into 'master'
Add wide emoji-layout

See merge request World/Phosh/squeekboard!614
2024-03-08 01:39:07 +00:00
e029c53401 Add wide emoji-layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/614>
2024-03-08 01:18:45 +00:00
015cae5c63 Merge branch 'styling-fixes' into 'master'
Fix some small styling-issues

See merge request World/Phosh/squeekboard!611
2024-03-08 01:10:49 +00:00
f237807522 data/keyboards/*.yaml: Change "abc" to "ABC"
Currently this differs for the same view-change-keys in different layouts.

When the text is "abc", the size of the key's text changes
when toggling between "123" and "abc"; with the text "ABC",
the size remains about the same.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/611>
2024-03-08 00:04:16 +00:00
069d64ac3e data/keyboards/de*.yaml: Change äÄ-label to Ää
A big letter after a small letter looks incorrect on a keyboard,
because that is not normal German grammar and a keyboard is for
inputting text.
The key is also on the left side of the layout,
which makes äÄ not fit the visual flow.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/611>
2024-03-08 00:04:16 +00:00
cd1e269a9d data/keyboards/email/us.yaml: fix styling of @-key
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/611>
2024-03-08 00:04:16 +00:00
bf45d4b71b Merge branch 'add-german-terminal-keyboard-layout' into 'master'
Add German terminal-keyboard-layout

See merge request World/Phosh/squeekboard!609
2024-03-08 00:01:40 +00:00
4352f01486 Add German terminal-keyboard-layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/609>
2024-03-07 23:22:38 +00:00
805d276248 Merge branch 'fix-ch-layout' into 'master'
Fix Swiss layouts

See merge request World/Phosh/squeekboard!612
2024-03-07 23:19:29 +00:00
2ad2b09344 Fix Swiss layouts
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/612>
2024-03-07 20:23:57 +00:00
b22cda800f Merge branch 'improve-layouts-of-us-terminal-keyboards' into 'master'
Improve the layouts of the us-terminal-keyboards

Closes #249 and #358

See merge request World/Phosh/squeekboard!601
2024-03-07 20:15:14 +00:00
d299ba070d us.yaml and us_wide.yaml: Change the outline of the period-key
It was styled as a special key before, even though it has no special
function.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/601>
2024-03-07 18:23:14 +01:00
cf2e6151bb us.yaml and us_wide.yaml: Change outline of 123- and ABC-keys to altline
The altline-outline is primarily meant to be used for keys
that change the view, which is what these keys do.

Also changing it on the actions-view would make the layout not align
well anymore, as it is currently not possible to have 2 different
sizes with the altline-styling.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/601>
2024-03-07 18:23:14 +01:00
6f978aee0b Improve layouts of us-terminal-keyboards
This change makes entering paths, URLs, options and pipes easier.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/601>
2024-03-07 18:23:13 +01:00
7117d1fe20 Merge branch 'update-documentation' into 'master'
doc/tutorial.md: Remove outdated information about translations

See merge request World/Phosh/squeekboard!608
2024-03-07 16:55:35 +00:00
eb28a8523f doc/tutorial.md: Remove outdated information about translations
The custom translation-system and the tests for it have been removed.

Relevant commits:
10ea276052
0a417fe4a2

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/608>
2024-03-02 19:22:02 +01:00
dcz
d36febefc3 Merge branch 'update-documentation' into 'master'
Update links in the documentation

See merge request World/Phosh/squeekboard!607
2024-03-02 17:47:26 +00:00
c7ced7de2b Update links in the documentation 2024-03-02 17:31:12 +01:00
dcz
4b73775695 Merge branch 'master' into 'master'
add french canadian layout (QWERTY + accented letters)

See merge request World/Phosh/squeekboard!603
2024-03-02 16:10:27 +00:00
dcz
23c5fc1fb8 Merge branch 'keyboard-layout-es' into 'master'
Add Spanish terminal-keyboard-layouts

See merge request World/Phosh/squeekboard!606
2024-03-02 16:09:57 +00:00
dcz
a60b9d019e Merge branch 'Persian' into 'master'
Fix Persian layout

See merge request World/Phosh/squeekboard!605
2024-03-02 16:09:14 +00:00
b791919075 Improve Spanish terminal-keyboard-layouts 2024-02-28 16:03:14 +01:00
d801d45812 Add Spanish terminal-keyboard-layouts 2024-02-27 11:24:23 +01:00
6145f9b652 Fix Persian layout 2024-02-23 03:49:25 +03:30
8d96803e91 add french canadian layout (QWERTY + accented letters) 2024-01-29 21:41:09 +01:00
30904afb4b Update Haitian Creole translation 2024-01-11 22:58:26 +00:00
271640f391 Update Haitian Creole translation 2024-01-11 22:37:29 +00:00
76eadca47a Add Haitian Creole translation 2024-01-11 05:05:29 +00:00
a25c083f92 Add Belarusian translation 2023-09-14 11:45:44 +00:00
dcz
4c8dbf9fe6 Merge branch '022' into 'master'
Release 1.22.0 "Superposition"

See merge request World/Phosh/squeekboard!596
2023-04-02 17:10:49 +00:00
1fac218c70 Release 1.22.0 "Superposition"
New or updated translations:
- Basque

Changes:
- fixed panel sizing when scaling
- fixed panel sizing when rotating
- fixed Dvorak terminal layout
2023-04-01 13:50:31 +00:00
01bde740bb Update deps 2023-04-01 13:45:25 +00:00
dcz
ef516c2082 Merge branch 'size' into 'master'
Fix panel sizing

See merge request World/Phosh/squeekboard!594
2023-03-22 16:21:20 +00:00
dcz
fe39632303 Merge branch 'dbg' into 'master'
cleanup: Remove debug prints

See merge request World/Phosh/squeekboard!593
2023-03-22 16:21:03 +00:00
dcz
e94619883b Merge branch 'master' into 'master'
layout: fix uppercase dvorak terminal mode

Closes #367

See merge request World/Phosh/squeekboard!595
2023-03-20 09:14:13 +00:00
af09304835 layout: fix uppercase dvorak terminal mode
These were left lowercase for some reason.
2023-03-20 08:58:13 +00:00
bd96f4c0c2 panel: Fix sizing on output reconfiguration 2023-03-15 15:44:55 +00:00
83fda9d38a tests: Make panel manager modifications pure
This makes testing possible. Test which prompted this is included.
2023-03-15 15:44:55 +00:00
8c89b4dc2c cleanup: Remove debug prints 2023-03-15 12:53:22 +00:00
dcz
b17716a427 Merge branch 'size' into 'master'
state: Make size independent of scaling factor

See merge request World/Phosh/squeekboard!592
2023-03-14 14:01:49 +00:00
367d8dd5c7 state: Make size independent of scaling factor 2023-03-14 12:16:15 +00:00
97371b8dfb Add Basque translation 2023-03-06 20:35:18 +00:00
dcz
6f66edf8a1 Merge branch 'rel' into 'master'
Release 1.21.0

See merge request World/Phosh/squeekboard!591
2023-02-26 09:13:19 +00:00
100 changed files with 5737 additions and 751 deletions

View File

@ -1,4 +1,21 @@
image: pureos/byzantium image: debian:bookworm
variables:
DEBIAN_FRONTEND: noninteractive
default:
# Protect CI infra from rogue jobs
timeout: 15 minutes
# Allow jobs to be caneled on new commits
interruptible: true
# Retry on infra hickups automatically
retry:
max: 1
when:
- api_failure
- runner_system_failure
- scheduler_failure
- stuck_or_timeout_failure
stages: stages:
- build - build
@ -10,27 +27,25 @@ before_script:
- apt-get -y install ca-certificates - apt-get -y install ca-certificates
build_docs: build_docs:
image: debian:trixie
stage: build stage: build
artifacts: artifacts:
paths: paths:
- _build - _build
script: script:
- apt-get -y install python3-pip python3-sphinx - apt-get -y install --on-install-recommends python3-pip python3-sphinx python3-recommonmark
- pip3 install recommonmark
- ./doc/build.sh _build - ./doc/build.sh _build
except: except:
variables: variables:
- $PKG_ONLY == "1" - $PKG_ONLY == "1"
build_meson: build_meson:
image: debian:bookworm
stage: build stage: build
artifacts: artifacts:
paths: paths:
- _build - _build
expire_in: 3h expire_in: 3h
script: script:
- mv debian/control-newer debian/control
- apt-get -y build-dep . - apt-get -y build-dep .
- meson . _build/ -Ddepdatadir=/usr/share -Dfind_orphans=true --werror - meson . _build/ -Ddepdatadir=/usr/share -Dfind_orphans=true --werror
- ninja -C _build install - ninja -C _build install
@ -39,45 +54,7 @@ build_meson:
- $PKG_ONLY == "1" - $PKG_ONLY == "1"
build_deb: build_deb:
stage: build
artifacts:
paths:
- '*.deb'
script:
- rm -f ../*.deb
- apt-get -y build-dep .
- apt-get -y install devscripts
- REV=$(git log -1 --format=%h)
- VER=$(dpkg-parsechangelog -SVersion)
- DEBFULLNAME="Librem5 CI"
- EMAIL="librem5-builds@lists.community.puri.sm"
- dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
- debuild -i -us -uc -b
- cp ../*.deb .
build_deb:arm64:
image: pureos/byzantium
tags:
- aarch64
stage: build
artifacts:
paths:
- '*.deb'
script:
- rm -f ../*.deb
- apt-get -y build-dep .
- apt-get -y install devscripts
- REV=$(git log -1 --format=%h)
- VER=$(dpkg-parsechangelog -SVersion)
- DEBFULLNAME="Librem5 CI"
- EMAIL="librem5-builds@lists.community.puri.sm"
- dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
- debuild -i -us -uc -b
- cp ../*.deb .
build_deb:future:
image: debian:bookworm image: debian:bookworm
allow_failure: true
tags: tags:
- aarch64 - aarch64
stage: build stage: build
@ -86,7 +63,6 @@ build_deb:future:
- '*.deb' - '*.deb'
script: script:
- rm -f ../*.deb - rm -f ../*.deb
- mv debian/control-newer debian/control
- apt-get -y build-dep . - apt-get -y build-dep .
- apt-get -y install devscripts - apt-get -y install devscripts
- REV=$(git log -1 --format=%h) - REV=$(git log -1 --format=%h)
@ -98,7 +74,6 @@ build_deb:future:
- cp ../*.deb . - cp ../*.deb .
build_reference: build_reference:
image: debian:bookworm
stage: build stage: build
needs: needs:
- job: build_meson - job: build_meson
@ -114,26 +89,12 @@ build_reference:
variables: variables:
- $PKG_ONLY == "1" - $PKG_ONLY == "1"
test_lintian:
stage: test
needs:
- job: build_deb
artifacts: true
script:
- apt-get -y install lintian
- lintian *.deb
except:
variables:
- $PKG_ONLY == "1"
test: test:
image: debian:bookworm
stage: test stage: test
needs: needs:
- job: build_meson - job: build_meson
artifacts: true artifacts: true
script: script:
- mv debian/control-newer debian/control
- apt-get -y build-dep . - apt-get -y build-dep .
- apt-get -y install clang-tidy - apt-get -y install clang-tidy
- ninja -C _build test - ninja -C _build test
@ -157,7 +118,7 @@ check_release:
needs: [] needs: []
only: only:
refs: refs:
- master - main
script: script:
- apt-get -y install git python3 - apt-get -y install git python3
- (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py - (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py
@ -177,4 +138,4 @@ pages:
- public - public
only: only:
refs: refs:
- master - main

79
Cargo.lock generated
View File

@ -42,9 +42,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]] [[package]]
name = "byteorder" name = "byteorder"
version = "1.4.3" version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "cairo-rs" name = "cairo-rs"
@ -73,9 +73,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.79" version = "1.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -108,7 +108,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 1.0.109",
] ]
[[package]] [[package]]
@ -129,7 +129,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 1.0.109",
] ]
[[package]] [[package]]
@ -325,9 +325,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "1.9.2" version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"hashbrown", "hashbrown",
@ -350,9 +350,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.139" version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]] [[package]]
name = "linked-hash-map" name = "linked-hash-map"
@ -418,9 +418,9 @@ dependencies = [
[[package]] [[package]]
name = "pkg-config" name = "pkg-config"
version = "0.3.26" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]] [[package]]
name = "proc-macro-crate" name = "proc-macro-crate"
@ -433,18 +433,18 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.51" version = "1.0.78"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.23" version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -474,9 +474,9 @@ dependencies = [
[[package]] [[package]]
name = "ryu" name = "ryu"
version = "1.0.12" version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
[[package]] [[package]]
name = "scoped-tls" name = "scoped-tls"
@ -486,33 +486,33 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.152" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.152" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 2.0.52",
] ]
[[package]] [[package]]
name = "serde_repr" name = "serde_repr"
version = "0.1.10" version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 2.0.52",
] ]
[[package]] [[package]]
@ -529,9 +529,20 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.107" version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -558,15 +569,15 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.6" version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]] [[package]]
name = "unicode-width" name = "unicode-width"
version = "0.1.10" version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
[[package]] [[package]]
name = "void" name = "void"
@ -643,7 +654,7 @@ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 1.0.109",
] ]
[[package]] [[package]]
@ -665,5 +676,5 @@ checksum = "d68726e8c12757384a8d1485080527e263dea67d91f19e97cd71b9292f22d7c5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 1.0.109",
] ]

34
NEWS.md
View File

@ -1,3 +1,37 @@
1.24.0
------------------
Changes:
- The emoji-layout has been replaced with a new one, which offers many more emojis to choose from.
1.23.0
------------------
New or updated translations:
- Belarusian
- Haitian Creole
New layouts:
- French Canadian (QWERTY + accented letters)
- German terminal-layout
- Spanish terminal-layout
Changes:
- Fixed Persian and Swiss layouts
- Fixed various small style-issues in many layouts
- Improved the US-terminal-layout
1.22.0 "Superposition"
------------------
New or updated translations:
- Basque
Changes:
- fixed panel sizing when scaling
- fixed panel sizing when rotating
- fixed Dvorak terminal layout
1.21.0 "Expected value" 1.21.0 "Expected value"
------------------ ------------------

5
data/icons/zwnj.svg Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1">
<path d="M 3,0.5 V 1 c 2.5,0 4.5,1 4.5,2 v 12.5 h 1 V 3 c 0,-1 2,-2 4.5,-2 V 0.5 Z" />
</svg>

After

Width:  |  Height:  |  Size: 231 B

View File

@ -3,11 +3,11 @@
# Oct 2021 # Oct 2021
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 32, height: 32 } wide: { width: 32, height: 32 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -3,11 +3,11 @@
# Oct 2021 # Oct 2021
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 32, height: 32 } wide: { width: 32, height: 32 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,11 +1,11 @@
# Maintained by: Khaled Eldoheiri <khalid@kdehairy.com> # Maintained by: Khaled Eldoheiri <khalid@kdehairy.com>
--- ---
outlines: outlines:
default: { width: 32.66, height: 52 } default: { width: 32.66, height: 52 }
altline: { width: 48.99, height: 52 } altline: { width: 48.99, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 195.96, height: 52 } spaceline: { width: 195.96, height: 52 }
special: { width: 35.66, height: 52 } special: { width: 35.66, height: 52 }
views: views:
base: base:

View File

@ -1,11 +1,11 @@
# Maintained by: Khaled Eldoheiri <khalid@kdehairy.com> # Maintained by: Khaled Eldoheiri <khalid@kdehairy.com>
--- ---
outlines: outlines:
default: { width: 49, height: 42 } default: { width: 49, height: 42 }
altline: { width: 73.5, height: 42 } altline: { width: 73.5, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 324, height: 42 } spaceline: { width: 324, height: 42 }
special: { width: 49, height: 42 } special: { width: 49, height: 42 }
views: views:
base: base:

View File

@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 32.72, height: 52 } default: { width: 32.72, height: 52 }
altline: { width: 47, height: 52 } altline: { width: 47, height: 52 }
wide: { width: 49.09, height: 52 } wide: { width: 49.09, height: 52 }
spaceline: { width: 185, height: 52 } spaceline: { width: 185, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 32.72, height: 52 } default: { width: 32.72, height: 52 }
altline: { width: 47, height: 52 } altline: { width: 47, height: 52 }
wide: { width: 49.09, height: 52 } wide: { width: 49.09, height: 52 }
spaceline: { width: 185, height: 52 } spaceline: { width: 185, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

93
data/keyboards/ca.yaml Normal file
View File

@ -0,0 +1,93 @@
---
outlines:
default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 }
views:
base:
- "q w e r t y u i o p"
- "a s d f g h j k l"
- "Shift_L z x c v b n m BackSpace"
- "show_numbers preferences space show_eschars Return"
upper:
- "Q W E R T Y U I O P"
- "A S D F G H J K L"
- "Shift_L Z X C V B N M BackSpace"
- "show_numbers preferences space show_eschars Return"
numbers:
- "1 2 3 4 5 6 7 8 9 0"
- "@ # $ % & - _ + ( )"
- "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters preferences space show_eschars Return"
symbols:
- "~ ` | · √ π τ ÷ × ¶"
- "© ® £ € ¥ ^ ° * { }"
- "show_numbers_from_symbols \\ / < > = [ ] BackSpace"
- "show_letters preferences space show_eschars Return"
eschars:
- "à â ç é è ê ë î ï ô"
- "ù û À Â Ç É È Ê Î Ô"
- "show_numbers_from_symbols ' ! ? . , BackSpace"
- "show_letters preferences space show_eschars Return"
buttons:
Shift_L:
action:
locking:
lock_view: "upper"
unlock_view: "base"
outline: "altline"
icon: "key-shift"
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
preferences:
action: show_prefs
outline: "special"
icon: "keyboard-mode-symbolic"
show_numbers:
action:
set_view: "numbers"
outline: "wide"
label: "123"
show_numbers_from_symbols:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_letters:
action:
set_view: "base"
outline: "wide"
label: "ABC"
show_symbols:
action:
set_view: "symbols"
outline: "altline"
label: "*/="
show_eschars:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "âÂ"
period:
outline: "special"
text: "."
space:
outline: "spaceline"
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
colon:
text: ":"

View File

@ -55,7 +55,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -32,7 +32,7 @@ views:
- "à â ç é è ê î ô ù û" - "à â ç é è ê î ô ù û"
- "À Â Ç É È Ê Î Ô Ù Û" - "À Â Ç É È Ê Î Ô Ù Û"
- "show_numbers æ œ ä ë ï ö ü BackSpace" - "show_numbers æ œ ä ë ï ö ü BackSpace"
- "show_letters_from_accents preferences ñ Ñ space ° ß Return" - "show_letters show_eschars preferences ñ Ñ space ° ß Return"
buttons: buttons:
Shift_L: Shift_L:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -71,14 +71,7 @@ buttons:
lock_view: "eschars" lock_view: "eschars"
unlock_view: "base" unlock_view: "base"
outline: "altline" outline: "altline"
label: "âÂ" label: â"
show_letters_from_accents:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "âÂ"
space: space:
outline: "spaceline" outline: "spaceline"
label: " " label: " "

View File

@ -3,38 +3,39 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 58 }
altline: { width: 48, height: 52 } doublewidth: { width: 70.66, height: 58 }
wide: { width: 59, height: 52 } altline: { width: 52.8, height: 58 }
spaceline: { width: 70, height: 52 } wide: { width: 64.9, height: 58 }
special: { width: 28, height: 52 } spaceline: { width: 116.67, height: 58 }
special: { width: 30.41, height: 58 }
views: views:
base: base:
- "q w e r t z u i o p ü" - "q w e r t z u i o p ü"
- "a s d f g h j k l ö ä" - "a s d f g h j k l ö ä"
- "Shift_L y x c v b n m BackSpace" - "Shift_L y x c v b n m ' BackSpace"
- "show_numbers show_eschars preferences ' space , . Return" - "show_numbers show_eschars preferences Space , . Return"
upper: upper:
- "Q W E R T Z U I O P Ü" - "Q W E R T Z U I O P Ü"
- "A S D F G H J K L Ö Ä" - "A S D F G H J K L Ö Ä"
- "Shift_L Y X C V B N M BackSpace" - "Shift_L Y X C V B N M \" BackSpace"
- "show_numbers show_eschars preferences \" space , . Return" - "show_numbers show_eschars preferences Space , . Return"
numbers: numbers:
- "1 2 3 4 5 6 7 8 9 0" - "1 2 3 4 5 6 7 8 9 0 ^"
- "@ * + - = ( ) ~ < > ? !" - "* + - = ( ) ~ < > ! ?"
- "show_symbols # & / \\ √ ; : BackSpace" - "show_symbols _ # & / \\ √ ; : BackSpace"
- "show_letters show_eschars preferences _ space , . Return" - "show_letters show_eschars preferences Space , . Return"
symbols: symbols:
- "€ $ £ ¥ % | § µ [ ]" - "€ $ £ ¥ % | § µ [ ]"
- "© ® § ` ^ { } · ¡ ¿" - "© ® § ` { } @ · ¡ ¿"
- "show_numbers « » ÷ × “ ” „ BackSpace" - "show_numbers « » ÷ × “ ” „ BackSpace"
- "show_letters show_eschars preferences - space , . Return" - "show_letters show_eschars preferences Space , . Return"
eschars: eschars:
- "à â ç é è ê î ô ù û" - "à â ç é è ê î ô ù û ñ"
- "À Â Ç É È Ê Î Ô Ù Û" - "À Â Ç É È Ê Î Ô Ù Û Ñ"
- "show_numbers æ œ ä ë ï ö ü BackSpace" - "show_numbers æ œ ä ë ï ö ü ß BackSpace"
- "show_letters_from_accents preferences ñ Ñ space ° ß Return" - "show_letters show_eschars preferences Space ° Return"
buttons: buttons:
Shift_L: Shift_L:
@ -47,7 +48,7 @@ buttons:
BackSpace: BackSpace:
outline: "altline" outline: "altline"
icon: "edit-clear-symbolic" icon: "edit-clear-symbolic"
action: erase action: "erase"
preferences: preferences:
action: "show_prefs" action: "show_prefs"
outline: "special" outline: "special"
@ -61,7 +62,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -73,15 +74,8 @@ buttons:
lock_view: "eschars" lock_view: "eschars"
unlock_view: "base" unlock_view: "base"
outline: "altline" outline: "altline"
label: "âÂ" label: â"
show_letters_from_accents: Space:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "âÂ"
space:
outline: "spaceline" outline: "spaceline"
label: " " label: " "
text: " " text: " "
@ -91,3 +85,11 @@ buttons:
keysym: "Return" keysym: "Return"
"\"": "\"":
keysym: "quotedbl" keysym: "quotedbl"
°:
outline: "doublewidth"
"|":
outline: "doublewidth"
"}":
outline: "doublewidth"
×:
outline: "doublewidth"

View File

@ -3,38 +3,41 @@
--- ---
outlines: outlines:
default: { width: 48, height: 42 } default: { width: 48, height: 42 }
altline: { width: 81, height: 42 } doublewidth: { width: 96, height: 42 }
wide: { width: 108, height: 42 } narrow: { width: 33, height: 42 }
spaceline: { width: 216, height: 42 } large: { width: 66, height: 42 }
special: { width: 48, height: 42 } altline: { width: 72, height: 42 }
wide: { width: 108, height: 42 }
spaceline: { width: 162, height: 42 }
special: { width: 48, height: 42 }
views: views:
base: base:
- "q w e r t z u i o p ü" - "q w e r t z u i o p ü"
- "a s d f g h j k l ö ä" - "a s d f g h j k l ö ä"
- "Shift_L y x c v b n m BackSpace" - "Shift_L y x c v b n m ' BackSpace"
- "show_numbers show_eschars preferences ' space , . Return" - "show_numbers show_eschars preferences Space , . Return"
upper: upper:
- "Q W E R T Z U I O P Ü" - "Q W E R T Z U I O P Ü"
- "A S D F G H J K L Ö Ä" - "A S D F G H J K L Ö Ä"
- "Shift_L Y X C V B N M BackSpace" - "Shift_L Y X C V B N M \" BackSpace"
- "show_numbers show_eschars preferences \" space , . Return" - "show_numbers show_eschars preferences Space , . Return"
numbers: numbers:
- "1 2 3 4 5 6 7 8 9 0" - "1 2 3 4 5 6 7 8 9 0 ^"
- "@ * + - = ( ) ~ < > ? !" - "* + - = ( ) ~ < > ! ?"
- "show_symbols # & / \\ √ ; : BackSpace" - "show_symbols _ # & / \\ √ ; : BackSpace"
- "show_letters show_eschars preferences _ space , . Return" - "show_letters show_eschars preferences Space , . Return"
symbols: symbols:
- "€ $ £ ¥ % | § µ [ ]" - "€ $ £ ¥ % | § µ [ ]"
- "© ® § ` ^ { } · ¡ ¿" - "© ® § ` { } @ · ¡ ¿"
- "show_numbers « » ÷ × “ ” „ BackSpace" - "show_numbers « » ÷ × “ ” „ BackSpace"
- "show_letters show_eschars preferences - space , . Return" - "show_letters show_eschars preferences Space , . Return"
eschars: eschars:
- "à â ç é è ê î ô ù û" - "à â ç é è ê î ô ù û ñ"
- "À Â Ç É È Ê Î Ô Ù Û" - "À Â Ç É È Ê Î Ô Ù Û Ñ"
- "show_numbers æ œ ä ë ï ö ü BackSpace" - "show_numbers æ œ ä ë ï ö ü ß BackSpace"
- "show_letters_from_accents preferences ñ Ñ space ° ß Return" - "show_letters show_eschars preferences Space ° Return"
buttons: buttons:
Shift_L: Shift_L:
@ -61,7 +64,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -73,15 +76,8 @@ buttons:
lock_view: "eschars" lock_view: "eschars"
unlock_view: "base" unlock_view: "base"
outline: "altline" outline: "altline"
label: "äÄ" label: "Ââ"
show_letters_from_accents: Space:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "âÂ"
space:
outline: "spaceline" outline: "spaceline"
label: " " label: " "
text: " " text: " "
@ -91,3 +87,15 @@ buttons:
keysym: "Return" keysym: "Return"
"\"": "\"":
keysym: "quotedbl" keysym: "quotedbl"
°:
outline: "large"
".":
outline: "narrow"
",":
outline: "narrow"
"|":
outline: "doublewidth"
"}":
outline: "doublewidth"
×:
outline: "doublewidth"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 52.67, height: 52 } wide: { width: 52.67, height: 52 }
spaceline: { width: 106, height: 52 } spaceline: { width: 106, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -75,7 +75,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 81, height: 42 } wide: { width: 81, height: 42 }
spaceline: { width: 162, height: 42 } spaceline: { width: 162, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:
@ -75,7 +75,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 52.67, height: 52 } wide: { width: 52.67, height: 52 }
spaceline: { width: 106, height: 52 } spaceline: { width: 106, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -75,7 +75,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 81, height: 42 } wide: { width: 81, height: 42 }
spaceline: { width: 162, height: 42 } spaceline: { width: 162, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:
@ -75,7 +75,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,11 +1,11 @@
# Maintained by: Mark Müller <markmueller86@gmail.com> # Maintained by: Mark Müller <markmueller86@gmail.com>
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -71,7 +71,7 @@ buttons:
lock_view: "eschars" lock_view: "eschars"
unlock_view: "base" unlock_view: "base"
outline: "altline" outline: "altline"
label: "äÄ" label: ä"
space: space:
outline: "spaceline" outline: "spaceline"
label: " " label: " "

View File

@ -1,11 +1,11 @@
# Maintained by: Mark Müller <markmueller86@gmail.com> # Maintained by: Mark Müller <markmueller86@gmail.com>
--- ---
outlines: outlines:
default: { width: 48, height: 42 } default: { width: 48, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 48, height: 42 } special: { width: 48, height: 42 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -71,7 +71,7 @@ buttons:
lock_view: "eschars" lock_view: "eschars"
unlock_view: "base" unlock_view: "base"
outline: "altline" outline: "altline"
label: "äÄ" label: ä"
space: space:
outline: "spaceline" outline: "spaceline"
text: " " text: " "

View File

@ -1,9 +1,8 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 48.39024, height: 52 } altline: { width: 48.39024, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
outline7: { width: 88.97561, height: 52 }
spaceline: { width: 150.5853, height: 52 } spaceline: { width: 150.5853, height: 52 }
views: views:

View File

@ -1,10 +1,11 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 106.67, height: 52 } spaceline: { width: 106.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
large: { width: 44, height: 52 }
views: views:
base: base:
@ -41,10 +42,10 @@ buttons:
icon: "edit-clear-symbolic" icon: "edit-clear-symbolic"
action: erase action: erase
at: at:
outline: "special" outline: "large"
text: "@" text: "@"
preferences: preferences:
action: show_prefs action: "show_prefs"
outline: "special" outline: "special"
icon: "keyboard-mode-symbolic" icon: "keyboard-mode-symbolic"
show_numbers: show_numbers:
@ -68,7 +69,7 @@ buttons:
outline: "altline" outline: "altline"
label: "*/=" label: "*/="
period: period:
outline: "special" outline: "large"
text: "." text: "."
space: space:
outline: "spaceline" outline: "spaceline"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -58,7 +58,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -58,7 +58,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -58,7 +58,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,9 +1,8 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 48.39024, height: 52 } altline: { width: 48.39024, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
outline7: { width: 88.97561, height: 52 }
spaceline: { width: 150.5853, height: 52 } spaceline: { width: 150.5853, height: 52 }
views: views:

View File

@ -1,11 +1,11 @@
--- ---
outlines: outlines:
small: { width: 50, height: 30 }
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
small: { width: 50, height: 30 }
altline: { width: 35.33, height: 52 } altline: { width: 35.33, height: 52 }
wide: { width: 50, height: 52 } wide: { width: 50, height: 52 }
spaceline: { width: 150, height: 52 } spaceline: { width: 150, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -180,7 +180,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -4,12 +4,12 @@
# #
--- ---
outlines: outlines:
default: { width: 40, height: 60 } default: { width: 40, height: 60 }
altline: { width: 52.67, height: 60 } altline: { width: 52.67, height: 60 }
wide: { width: 62, height: 60 } wide: { width: 62, height: 60 }
extrawide: { width: 66, height: 60 } extrawide: { width: 66, height: 60 }
spaceline: { width: 140, height: 60 } spaceline: { width: 140, height: 60 }
special: { width: 44, height: 60 } special: { width: 44, height: 60 }
views: views:
base: base:

View File

@ -4,11 +4,11 @@
# Edited by Sotiris Papadopoulos, sotirios.papadopoulos@inserm.fr # Edited by Sotiris Papadopoulos, sotirios.papadopoulos@inserm.fr
--- ---
outlines: outlines:
default: { width: 40, height: 60 } default: { width: 40, height: 60 }
altline: { width: 52.67, height: 60 } altline: { width: 52.67, height: 60 }
wide: { width: 62, height: 60 } wide: { width: 62, height: 60 }
spaceline: { width: 140, height: 60 } spaceline: { width: 140, height: 60 }
special: { width: 44, height: 60 } special: { width: 44, height: 60 }
views: views:
base: base:

View File

@ -1,11 +1,11 @@
# Creaed by Sotiris Papadopoulos, sotirios.papadopoulos@inserm.fr # Creaed by Sotiris Papadopoulos, sotirios.papadopoulos@inserm.fr
--- ---
outlines: outlines:
default: { width: 80, height: 60 } default: { width: 80, height: 60 }
altline: { width: 110, height: 60 } altline: { width: 110, height: 60 }
wide: { width: 120, height: 60 } wide: { width: 120, height: 60 }
spaceline: { width: 250, height: 60 } spaceline: { width: 250, height: 60 }
special: { width: 75, height: 60 } special: { width: 75, height: 60 }
views: views:
base: base:

View File

@ -1,11 +1,11 @@
# Maintained by: soyer <soyer@irl.hu> # Maintained by: soyer <soyer@irl.hu>
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 35.33, height: 52 } special: { width: 35.33, height: 52 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,11 +1,11 @@
# Maintained by: soyer <soyer@irl.hu> # Maintained by: soyer <soyer@irl.hu>
--- ---
outlines: outlines:
default: { width: 48, height: 42 } default: { width: 48, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 48, height: 42 } special: { width: 48, height: 42 }
views: views:
base: base:
@ -59,7 +59,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 40, height: 60 } default: { width: 40, height: 60 }
altline: { width: 56, height: 60 } altline: { width: 56, height: 60 }
wide: { width: 62, height: 60 } wide: { width: 62, height: 60 }
spaceline: { width: 142, height: 60 } spaceline: { width: 142, height: 60 }
special: { width: 44, height: 60 } special: { width: 44, height: 60 }
views: views:
base: base:

View File

@ -1,29 +1,29 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
- "ض ص ق ف غ ع ه خ ح ج" - "ض ص ث ق ف غ ع ه خ ح ج"
- "ش س ی ب ل ا ت ن م ک" - "ش س ی ب ل ا ت ن م ک گ"
- "Shift_L ظ ط ز ر ذ د و BackSpace" - "Shift_L ظ ط ز ر ذ د پ و BackSpace"
- "show_numbers preferences space period Return" - "show_numbers preferences space zwnj period Return"
upper: upper:
- "پ { } [ ] ّ َ ِ ُ چ" - " ْ ٌ ٍ ً ُ ِ َ ّ # @ چ"
- "ؤ‌ ئ ي إ أ آ ة » « گ" - "_ ئ ي إ أ آ ة » « : ؛"
- "Shift_L ك ٓ ژ ء > < ؟ BackSpace" - "Shift_L ك ٓ ژ ٔ ء > < ؟ BackSpace"
- "show_numbers preferences space period Return" - "show_numbers preferences space ! ، Return"
numbers: numbers:
- "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰" - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰ |"
- "@ # ﷼ % & - _ + ( )" - "… ٬ ٫ ﷼ ٪ ، * ) ( ـ"
- "show_symbols , \" ' colon ؛ ! ? BackSpace" - "show_symbols + - × ÷ = ^ % / BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
symbols: symbols:
- "~ ` | · π τ ÷ × ¶" - "& ` | · • % π τ ÷ × ¶"
- "© ® £ € ¥ ^ ° * { }" - "© ® £ € ¥ ^ ° * { }"
- "show_numbers_from_symbols \\ / < > = [ ] BackSpace" - "show_numbers_from_symbols \\ / < > = [ ] BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
@ -48,17 +48,17 @@ buttons:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "wide" outline: "wide"
label: "123" label: "۱۲۳"
show_numbers_from_symbols: show_numbers_from_symbols:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "altline" outline: "altline"
label: "123" label: "۱۲۳"
show_letters: show_letters:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "ABC" label: "ا‌ب‌پ"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
@ -74,5 +74,8 @@ buttons:
outline: "wide" outline: "wide"
icon: "key-enter" icon: "key-enter"
keysym: "Return" keysym: "Return"
zwnj:
icon: "zwnj"
text: ""
colon: colon:
text: ":" text: ":"

View File

@ -1,32 +1,32 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:
- "ض ص ق ف غ ع ه خ ح ج" - "ض ص ث ق ف غ ع ه خ ح ج چ \\"
- "ش س ی ب ل ا ت ن م ک" - "ش س ی ب ل ا ت ن م ک گ"
- "Shift_L ظ ط ز ر ذ د و BackSpace" - "Shift_L ظ ط ز ر ذ د پ و ، / BackSpace"
- "show_numbers preferences space period Return" - "show_numbers preferences space zwnj ؟ ! period Return"
upper: upper:
- "پ { } [ ] ّ َ ِ ُ چ" - " ْ ٌ ٍ ً ُ ِ َ ّ ] [ @ # _"
- ئ ي إ أ آ ة » « گ" - "ؤ ئ ي إ أ آ ة » « : ؛"
- "Shift_L ك ٓ ژ ء > < ؟ BackSpace" - "Shift_L ك ٓ ژ ٰ ٔ ء > < ؟ BackSpace"
- "show_numbers preferences space period Return" - "show_numbers preferences space ، ؟ ! period Return"
numbers: numbers:
- "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰" - "۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۰ | ="
- "@ # ﷼ % & - _ + ( )" - "… ٬ ٫ ﷼ ٪ ، * ) ( _"
- "show_symbols , \" ' colon ؛ ! ? BackSpace" - "show_symbols + - × ÷ = ^ % / BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space ، ؟ ! period Return"
symbols: symbols:
- "~ ` | · π τ ÷ × ¶" - "& ` | · • % π τ ÷ × ¶"
- "© ® £ € ¥ ^ ° * { }" - "© ® £ € ¥ ^ ° * { }"
- "show_numbers_from_symbols \\ / < > = [ ] BackSpace" - "show_numbers_from_symbols \\ / < > = [ ] BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space ، ؟ ! period Return"
buttons: buttons:
Shift_L: Shift_L:
@ -48,23 +48,23 @@ buttons:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "wide" outline: "wide"
label: "123" label: "۱۲۳"
show_numbers_from_symbols: show_numbers_from_symbols:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "altline" outline: "altline"
label: "123" label: "۱۲۳"
show_letters: show_letters:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "ABC" label: "ا‌ب‌پ"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"
outline: "altline" outline: "altline"
label: "*/=" label: "*/="
".": period:
outline: "special" outline: "special"
text: "." text: "."
space: space:
@ -74,5 +74,8 @@ buttons:
outline: "wide" outline: "wide"
icon: "key-enter" icon: "key-enter"
keysym: "Return" keysym: "Return"
zwnj:
icon: "zwnj"
text: ""
colon: colon:
text: ":" text: ":"

View File

@ -2,11 +2,11 @@
# 14 october 2020 # 14 october 2020
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -65,7 +65,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -2,11 +2,11 @@
# 03 october 2019 # 03 october 2019
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -65,7 +65,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "altline" outline: "altline"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,11 +1,11 @@
# Maintained by: Mark Müller <markmueller86@gmail.com> # Maintained by: Mark Müller <markmueller86@gmail.com>
--- ---
outlines: outlines:
default: { width: 62, height: 52 } default: { width: 62, height: 52 }
default-wide: { width: 62, height: 52 } default-wide: { width: 62, height: 52 }
altline: { width: 62, height: 52 } altline: { width: 62, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
special: { width: 62, height: 52 } special: { width: 62, height: 52 }
views: views:
base: # hiragana base: # hiragana

View File

@ -1,11 +1,11 @@
# Maintained by: Mark Müller <markmueller86@gmail.com> # Maintained by: Mark Müller <markmueller86@gmail.com>
--- ---
outlines: outlines:
default: { width: 62, height: 42 } default: { width: 62, height: 42 }
default-wide: { width: 62, height: 42 } default-wide: { width: 62, height: 42 }
altline: { width: 62, height: 42 } altline: { width: 62, height: 42 }
wide: { width: 62, height: 42 } wide: { width: 62, height: 42 }
special: { width: 62, height: 42 } special: { width: 62, height: 42 }
views: views:
base: # hiragana base: # hiragana

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 48.39024, height: 52 } altline: { width: 48.39024, height: 52 }
wide: { width: 64, height: 52 } wide: { width: 64, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,8 +1,8 @@
--- ---
outlines: outlines:
default: { width: 37.46341, height: 52 } default: { width: 37.46341, height: 52 }
altline: { width: 48.39024, height: 52 } altline: { width: 48.39024, height: 52 }
outline7: { width: 88.97561, height: 52 } outline7: { width: 88.97561, height: 52 }
spaceline: { width: 120.5853, height: 52 } spaceline: { width: 120.5853, height: 52 }
views: views:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 59, height: 52 } wide: { width: 59, height: 52 }
spaceline: { width: 140, height: 52 } spaceline: { width: 140, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 100, height: 42 } wide: { width: 100, height: 42 }
spaceline: { width: 206, height: 42 } spaceline: { width: 206, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 99.67, height: 52 } spaceline: { width: 99.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:
@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 153, height: 42 } spaceline: { width: 153, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:
@ -63,7 +63,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,12 +1,12 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 32, height: 52 } altline: { width: 32, height: 52 }
wide: { width: 57, height: 52 } wide: { width: 57, height: 52 }
narrow: { width: 26, height: 52 } narrow: { width: 26, height: 52 }
spaceline: { width: 107, height: 52 } spaceline: { width: 107, height: 52 }
fill: { width: 159, height: 52 } fill: { width: 159, height: 52 }
special: { width: 42, height: 52 } special: { width: 42, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 48.39024, height: 52 } altline: { width: 48.39024, height: 52 }
wide: { width: 64, height: 52 } wide: { width: 64, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 50, height: 42 } default: { width: 50, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 60, height: 42 } special: { width: 60, height: 42 }
views: views:

View File

@ -0,0 +1,255 @@
---
outlines:
default: { width: 35.33, height: 46 }
halfwidth: { width: 17.665, height: 46 }
narrow: { width: 26.335, height: 46 }
special: { width: 35.33, height: 46 }
altline: { width: 52.67, height: 46 }
large: { width: 52.67, height: 46 }
action: { width: 59, height: 46 }
wide: { width: 59, height: 46 }
spaceline: { width: 100.96, height: 46 }
small: { width: 50.471, height: 22 }
views:
base:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t z u i o p"
- "PeriodSmall a s d f g h j k l MinusSmall"
- "Shift_L y x c v b n m BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
upper:
- "TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Z U I O P"
- "SlashSmall A S D F G H J K L PipeSmall"
- "Shift_L Y X C V B N M BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
numbers:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0"
- "\\ * # $ / & - + ( ) _"
- "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters show_eschars preferences space period Return"
symbols:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` · √ π τ ÷ × ¶ @"
- "© ® £ € ¥ ^ ° { }"
- "show_numbers_from_symbols % | < > = [ ] BackSpace"
- "show_letters show_eschars preferences space period Return"
eschars:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "ä è é ö ü Ä È É Ö Ü"
- "à â ê î ô À Â È Î Ô"
- "show_numbers « » ç Ç æ œ ß BackSpace"
- "show_letters show_eschars preferences space „ “ Return"
actions:
- "TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del"
- "show_letters_actions Menu Break Left Down Right"
buttons:
Shift_L:
action:
locking:
lock_view: "upper"
unlock_view: "base"
outline: "altline"
icon: "key-shift"
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
preferences:
action: "show_prefs"
outline: "special"
icon: "keyboard-mode-symbolic"
show_numbers:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_numbers_from_symbols:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action:
set_view: "base"
outline: "wide"
label: "ABC"
show_symbols:
action:
set_view: "symbols"
outline: "altline"
label: "τ=\\"
show_eschars:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "Ää"
show_actions:
action:
set_view: "actions"
outline: "altline"
label: ">_"
period:
outline: "large"
text: "."
space:
outline: "spaceline"
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
colon:
text: ":"
F1:
outline: "action"
keysym: "F1"
F2:
outline: "action"
keysym: "F2"
F3:
outline: "action"
keysym: "F3"
F4:
outline: "action"
keysym: "F4"
F5:
outline: "action"
keysym: "F5"
F6:
outline: "action"
keysym: "F6"
F7:
outline: "action"
keysym: "F7"
F8:
outline: "action"
keysym: "F8"
F9:
outline: "action"
keysym: "F9"
F10:
outline: "action"
keysym: "F10"
F11:
outline: "action"
keysym: "F11"
F12:
outline: "action"
keysym: "F12"
Esc:
outline: "action"
keysym: "Escape"
Tab:
outline: "action"
keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del:
outline: "action"
keysym: "Delete"
label: "Entf"
Insert:
outline: "action"
keysym: "Insert"
label: "Einfg"
Menu:
outline: "action"
keysym: "Menu"
label: "Menü"
Pause:
outline: "action"
keysym: "Pause"
Break:
outline: "action"
keysym: "Break"
label: "Untbr"
Home:
outline: "small"
keysym: "Home"
label: "Pos1"
End:
outline: "small"
keysym: "End"
label: "Ende"
PgUp:
outline: "small"
keysym: "Page_Up"
label: "Bild↑"
PgDn:
outline: "small"
keysym: "Page_Down"
label: "Bild↓"
"↑":
outline: "small"
keysym: "Up"
"↓":
outline: "small"
keysym: "Down"
"←":
outline: "small"
keysym: "Left"
"→":
outline: "small"
keysym: "Right"
Up:
label: "↑"
outline: "action"
keysym: "Up"
Left:
label: "←"
outline: "action"
keysym: "Left"
Down:
label: "↓"
outline: "action"
keysym: "Down"
Right:
label: "→"
outline: "action"
keysym: "Right"
Ctrl:
modifier: "Control"
outline: "small"
label: "Strg"
Alt:
modifier: "Alt"
outline: "small"
label: "Alt"
MinusSmall:
outline: "halfwidth"
text: "-"
SlashSmall:
outline: "halfwidth"
text: "/"
PipeSmall:
outline: "halfwidth"
text: "|"
PeriodSmall:
outline: "halfwidth"
text: "."
"„":
outline: "narrow"
text: "„"
"“":
outline: "narrow"
text: "“"
"\\":
outline: "halfwidth"
_:
outline: "halfwidth"

View File

@ -0,0 +1,259 @@
---
outlines:
default: { width: 54, height: 37 }
halfwidth: { width: 27, height: 37 }
narrow: { width: 40.5, height: 37 }
special: { width: 54, height: 37 }
altline: { width: 81, height: 37 }
large: { width: 81, height: 37 }
action: { width: 90, height: 37 }
wide: { width: 90, height: 37 }
spaceline: { width: 153, height: 37 }
small: { width: 67.4, height: 22 }
views:
base:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t z u i o p"
- "PeriodSmall a s d f g h j k l MinusSmall"
- "Shift_L y x c v b n m BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
upper:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Z U I O P"
- "SlashSmall A S D F G H J K L PipeSmall"
- "Shift_L Y X C V B N M BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
numbers:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0"
- "\\ * # $ / & - + ( ) _"
- "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters show_eschars preferences space period Return"
symbols:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` · √ π τ ÷ × ¶ @"
- "© ® £ € ¥ ^ ° { }"
- "show_numbers_from_symbols % | < > = [ ] BackSpace"
- "show_letters show_eschars preferences space period Return"
eschars:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "ä è é ö ü Ä È É Ö Ü"
- "à â ê î ô À Â È Î Ô"
- "show_numbers « » ç Ç æ œ ß BackSpace"
- "show_letters show_eschars preferences space „ “ Return"
actions:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del"
- "show_letters_actions Menu Break Left Down Right"
buttons:
Shift_L:
action:
locking:
lock_view: "upper"
unlock_view: "base"
outline: "altline"
icon: "key-shift"
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
preferences:
action: "show_prefs"
outline: "special"
icon: "keyboard-mode-symbolic"
show_numbers:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_numbers_from_symbols:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action:
set_view: "base"
outline: "wide"
label: "ABC"
show_symbols:
action:
set_view: "symbols"
outline: "altline"
label: "τ=\\"
show_eschars:
action:
locking:
lock_view: "eschars"
unlock_view: "base"
outline: "altline"
label: "Ää"
show_actions:
action:
set_view: "actions"
outline: "altline"
label: ">_"
period:
outline: "large"
text: "."
space:
outline: "spaceline"
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
colon:
text: ":"
F1:
outline: "action"
keysym: "F1"
F2:
outline: "action"
keysym: "F2"
F3:
outline: "action"
keysym: "F3"
F4:
outline: "action"
keysym: "F4"
F5:
outline: "action"
keysym: "F5"
F6:
outline: "action"
keysym: "F6"
F7:
outline: "action"
keysym: "F7"
F8:
outline: "action"
keysym: "F8"
F9:
outline: "action"
keysym: "F9"
F10:
outline: "action"
keysym: "F10"
F11:
outline: "action"
keysym: "F11"
F12:
outline: "action"
keysym: "F12"
Esc:
outline: "action"
keysym: "Escape"
EscSmall:
outline: "small"
keysym: "Escape"
label: "Esc"
Tab:
outline: "action"
keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del:
outline: "action"
keysym: "Delete"
label: "Entf"
Insert:
outline: "action"
keysym: "Insert"
label: "Einfg"
Menu:
outline: "action"
keysym: "Menu"
label: "Menü"
Pause:
outline: "action"
keysym: "Pause"
Break:
outline: "action"
keysym: "Break"
label: "Untbr"
Home:
outline: "small"
keysym: "Home"
label: "Pos1"
End:
outline: "small"
keysym: "End"
label: "Ende"
PgUp:
outline: "small"
keysym: "Page_Up"
label: "Bild↑"
PgDn:
outline: "small"
keysym: "Page_Down"
label: "Bild↓"
"↑":
outline: "small"
keysym: "Up"
"↓":
outline: "small"
keysym: "Down"
"←":
outline: "small"
keysym: "Left"
"→":
outline: "small"
keysym: "Right"
Up:
label: "↑"
outline: "action"
keysym: "Up"
Left:
label: "←"
outline: "action"
keysym: "Left"
Down:
label: "↓"
outline: "action"
keysym: "Down"
Right:
label: "→"
outline: "action"
keysym: "Right"
Ctrl:
modifier: "Control"
outline: "small"
label: "Strg"
Alt:
modifier: "Alt"
outline: "small"
label: "Alt"
MinusSmall:
outline: "halfwidth"
text: "-"
SlashSmall:
outline: "halfwidth"
text: "/"
PipeSmall:
outline: "halfwidth"
text: "|"
PeriodSmall:
outline: "halfwidth"
text: "."
"„":
outline: "narrow"
text: "„"
"“":
outline: "narrow"
text: "“"
"\\":
outline: "halfwidth"
_:
outline: "halfwidth"

View File

@ -0,0 +1,220 @@
---
outlines:
default: { width: 35.33, height: 46 }
action: { width: 59, height: 46 }
altline: { width: 52.67, height: 46 }
large: { width: 52.67, height: 46 }
wide: { width: 59, height: 46 }
spaceline: { width: 92.29, height: 46 }
special: { width: 44, height: 46 }
small: { width: 50.57, height: 22 }
views:
base:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t y u i o p"
- "a s d f g h j k l ñ"
- "Shift_L z x c v b n m BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
upper:
- "TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Y U I O P"
- "A S D F G H J K L Ñ"
- "Shift_L Z X C V B N M DelUp"
- "show_numbers show_eschars preferences space show_actions Return"
numbers:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0"
- "* # € / & - _ + ( )"
- "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters show_eschars preferences space . Return"
symbols:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` | · √ π τ ÷ × ¶"
- "© ® £ $ ¥ ^ ° @ { }"
- "show_numbers \\ % < > = [ ] BackSpace"
- "show_letters show_eschars preferences space . Return"
eschars:
- "TabSmall Ctrl Alt ↑ ↓ ← →"
- "á é í ó ú Á É Í Ó Ú"
- "à è ì ò ù À È Ì Ò Ù"
- "show_numbers , ü ç ï Ü Ç ï BackSpace"
- "show_letters show_symbols preferences space show_actions Return"
actions:
- "TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del"
- "show_letters_actions Menu Break Left Down Right"
buttons:
Shift_L:
action:
locking:
lock_view: "upper"
unlock_view: "base"
outline: "altline"
icon: "key-shift"
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
preferences:
action: "show_prefs"
outline: "special"
icon: "keyboard-mode-symbolic"
show_numbers:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action:
set_view: "base"
outline: "wide"
label: "ABC"
show_symbols:
action:
set_view: "symbols"
outline: "altline"
label: "τ=\\"
show_eschars:
action:
set_view: "eschars"
outline: "altline"
label: "áÁ"
show_actions:
action:
set_view: "actions"
outline: "altline"
label: ">_"
".":
outline: "large"
text: "."
space:
outline: "spaceline"
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
colon:
text: ":"
F1:
outline: "action"
keysym: "F1"
F2:
outline: "action"
keysym: "F2"
F3:
outline: "action"
keysym: "F3"
F4:
outline: "action"
keysym: "F4"
F5:
outline: "action"
keysym: "F5"
F6:
outline: "action"
keysym: "F6"
F7:
outline: "action"
keysym: "F7"
F8:
outline: "action"
keysym: "F8"
F9:
outline: "action"
keysym: "F9"
F10:
outline: "action"
keysym: "F10"
F11:
outline: "action"
keysym: "F11"
F12:
outline: "action"
keysym: "F12"
Esc:
outline: "action"
keysym: "Escape"
Tab:
outline: "action"
keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del:
outline: "action"
keysym: "Delete"
DelUp:
outline: "altline"
keysym: "Delete"
label: "Del"
Insert:
outline: "action"
keysym: "Insert"
Menu:
outline: "action"
keysym: "Menu"
Pause:
outline: "action"
keysym: "Pause"
Break:
outline: "action"
keysym: "Break"
Home:
outline: "small"
keysym: "Home"
End:
outline: "small"
keysym: "End"
PgUp:
outline: "small"
keysym: "Page_Up"
PgDn:
outline: "small"
keysym: "Page_Down"
"↑":
outline: "small"
keysym: "Up"
"↓":
outline: "small"
keysym: "Down"
"←":
outline: "small"
keysym: "Left"
"→":
outline: "small"
keysym: "Right"
Up:
label: "↑"
outline: "action"
keysym: "Up"
Left:
label: "←"
outline: "action"
keysym: "Left"
Down:
label: "↓"
outline: "action"
keysym: "Down"
Right:
label: "→"
outline: "action"
keysym: "Right"
Ctrl:
modifier: "Control"
outline: "small"
label: "Ctrl"
Alt:
modifier: "Alt"
outline: "small"
label: "Alt"

View File

@ -0,0 +1,224 @@
---
outlines:
default: { width: 54, height: 37 }
action: { width: 90, height: 37 }
altline: { width: 81, height: 37 }
large: { width: 81, height: 37 }
wide: { width: 90, height: 37 }
spaceline: { width: 153, height: 37 }
special: { width: 54, height: 37 }
small: { width: 67.4, height: 22 }
views:
base:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t y u i o p"
- "a s d f g h j k l ñ"
- "Shift_L z x c v b n m BackSpace"
- "show_numbers show_eschars preferences space show_actions Return"
upper:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Y U I O P"
- "A S D F G H J K L Ñ"
- "Shift_L Z X C V B N M DelUp"
- "show_numbers show_eschars preferences space show_actions Return"
numbers:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0"
- "* # $ / & - _ + ( )"
- "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters show_eschars preferences space . Return"
symbols:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` | · √ π τ ÷ × ¶"
- "© ® £ € ¥ ^ ° @ { }"
- "show_numbers \\ % < > = [ ] BackSpace"
- "show_letters show_eschars preferences space . Return"
eschars:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "á é í ó ú Á É Í Ó Ú"
- "à è ì ò ù À È Ì Ò Ù"
- "show_numbers ´ ü ç ï Ü Ç Ï BackSpace"
- "show_letters show_symbols preferences space show_actions Return"
actions:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del"
- "show_letters_actions Menu Break Left Down Right"
buttons:
Shift_L:
action:
locking:
lock_view: "upper"
unlock_view: "base"
outline: "altline"
icon: "key-shift"
BackSpace:
outline: "altline"
icon: "edit-clear-symbolic"
action: erase
preferences:
action: "show_prefs"
outline: "special"
icon: "keyboard-mode-symbolic"
show_numbers:
action:
set_view: "numbers"
outline: "altline"
label: "123"
show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action:
set_view: "base"
outline: "wide"
label: "ABC"
show_symbols:
action:
set_view: "symbols"
outline: "altline"
label: "τ=\\"
show_eschars:
action:
set_view: "eschars"
outline: "altline"
label: "áÁ"
show_actions:
action:
set_view: "actions"
outline: "altline"
label: ">_"
".":
outline: "large"
text: "."
space:
outline: "spaceline"
text: " "
Return:
outline: "wide"
icon: "key-enter"
keysym: "Return"
colon:
text: ":"
F1:
outline: "action"
keysym: "F1"
F2:
outline: "action"
keysym: "F2"
F3:
outline: "action"
keysym: "F3"
F4:
outline: "action"
keysym: "F4"
F5:
outline: "action"
keysym: "F5"
F6:
outline: "action"
keysym: "F6"
F7:
outline: "action"
keysym: "F7"
F8:
outline: "action"
keysym: "F8"
F9:
outline: "action"
keysym: "F9"
F10:
outline: "action"
keysym: "F10"
F11:
outline: "action"
keysym: "F11"
F12:
outline: "action"
keysym: "F12"
Esc:
outline: "action"
keysym: "Escape"
EscSmall:
outline: "small"
keysym: "Escape"
label: "Esc"
Tab:
outline: "action"
keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del:
outline: "action"
keysym: "Delete"
DelUp:
outline: "altline"
keysym: "Delete"
label: "Del"
Insert:
outline: "action"
keysym: "Insert"
Menu:
outline: "action"
keysym: "Menu"
Pause:
outline: "action"
keysym: "Pause"
Break:
outline: "action"
keysym: "Break"
Home:
outline: "small"
keysym: "Home"
End:
outline: "small"
keysym: "End"
PgUp:
outline: "small"
keysym: "Page_Up"
PgDn:
outline: "small"
keysym: "Page_Down"
"↑":
outline: "small"
keysym: "Up"
"↓":
outline: "small"
keysym: "Down"
"←":
outline: "small"
keysym: "Left"
"→":
outline: "small"
keysym: "Right"
Up:
label: "↑"
outline: "action"
keysym: "Up"
Left:
label: "←"
outline: "action"
keysym: "Left"
Down:
label: "↓"
outline: "action"
keysym: "Down"
Right:
label: "→"
outline: "action"
keysym: "Right"
Ctrl:
modifier: "Control"
outline: "small"
label: "Ctrl"
Alt:
modifier: "Alt"
outline: "small"
label: "Alt"

View File

@ -197,7 +197,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,12 +1,12 @@
--- ---
outlines: outlines:
default: { width: 54, height: 37 }
action: { width: 90, height: 37 } action: { width: 90, height: 37 }
small: { width: 67.4, height: 22 } small: { width: 67.4, height: 22 }
default: { width: 54, height: 37 } altline: { width: 81, height: 37 }
altline: { width: 81, height: 37 } wide: { width: 100, height: 37 }
wide: { width: 100, height: 37 } spaceline: { width: 110, height: 37 }
spaceline: { width: 110, height: 37 } special: { width: 54, height: 37 }
special: { width: 54, height: 37 }
views: views:
base: base:
@ -201,7 +201,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -194,7 +194,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,12 +1,12 @@
--- ---
outlines: outlines:
default: { width: 54, height: 37 }
action: { width: 90, height: 37 } action: { width: 90, height: 37 }
small: { width: 67.4, height: 22 } small: { width: 67.4, height: 22 }
default: { width: 54, height: 37 } altline: { width: 81, height: 37 }
altline: { width: 81, height: 37 } wide: { width: 100, height: 37 }
wide: { width: 100, height: 37 } spaceline: { width: 110, height: 37 }
spaceline: { width: 110, height: 37 } special: { width: 54, height: 37 }
special: { width: 54, height: 37 }
views: views:
base: base:
@ -197,7 +197,7 @@ buttons:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
label: "abc" label: "ABC"
show_symbols: show_symbols:
action: action:
set_view: "symbols" set_view: "symbols"

View File

@ -1,40 +1,40 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 46 } default: { width: 35.33, height: 46 }
action: { width: 59, height: 46 } action: { width: 59, height: 46 }
altline: { width: 52.67, height: 46 } altline: { width: 52.67, height: 46 }
wide: { width: 59, height: 46 } wide: { width: 59, height: 46 }
spaceline: { width: 140, height: 46 } spaceline: { width: 140, height: 46 }
special: { width: 44, height: 46 } special: { width: 44, height: 46 }
small: { width: 59, height: 22 } small: { width: 50.47, height: 22 }
views: views:
base: base:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "Shift_L p y f g c r l BackSpace" - "Shift_L p y f g c r l BackSpace"
- "a o e u i d h t n s" - "a o e u i d h t n s"
- ", q j k x b m w v z" - ", q j k x b m w v z"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
upper: upper:
- "Ctrl Alt PgUp PgDn Home End" - "TabSmall Ctrl Alt PgUp PgDn Home End"
- "Shift_L p y f g c r l BackSpace" - "Shift_L P Y F G C R L BackSpace"
- "a o e u i d h t n s" - "A O E U I D H T N S"
- ", q j k x b m w v z" - ", Q J K X B M W V Z"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
numbers: numbers:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "show_symbols , \" ' colon ; ! ? BackSpace" - "show_symbols , \" ' colon ; ! ? BackSpace"
- "* # $ / & - _ + ( )" - "* # $ / & - _ + ( )"
- "1 2 3 4 5 6 7 8 9 0" - "1 2 3 4 5 6 7 8 9 0"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
symbols: symbols:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "show_numbers_from_symbols \\ % < > = [ ] BackSpace" - "show_numbers_from_symbols \\ % < > = [ ] BackSpace"
- "© ® £ € ¥ ^ ° @ { }" - "© ® £ € ¥ ^ ° @ { }"
- "~ ` | · √ π τ ÷ × ¶" - "~ ` | · √ π τ ÷ × ¶"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
actions: actions:
- "Ctrl Alt PgUp PgDn Home End" - "TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6" - "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12" - "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del" - "Esc Tab Pause Insert Up Del"
@ -135,6 +135,10 @@ buttons:
Tab: Tab:
outline: "action" outline: "action"
keysym: "Tab" keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del: Del:
outline: "action" outline: "action"
keysym: "Delete" keysym: "Delete"

View File

@ -17,9 +17,9 @@ views:
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
upper: upper:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End" - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "Shift_L p y f g c r l BackSpace" - "Shift_L P Y F G C R L BackSpace"
- "a o e u i d h t n s" - "A O E U I D H T N S"
- ", q j k x b m w v z" - ", Q J K X B M W V Z"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
numbers: numbers:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"

View File

@ -1,44 +1,46 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 46 } default: { width: 35.33, height: 46 }
action: { width: 59, height: 46 } halfwidth: { width: 17.665, height: 46 }
altline: { width: 52.67, height: 46 } special: { width: 44, height: 46 }
wide: { width: 59, height: 46 } altline: { width: 52.67, height: 46 }
spaceline: { width: 140, height: 46 } large: { width: 52.67, height: 46 }
special: { width: 44, height: 46 } action: { width: 59, height: 46 }
small: { width: 59, height: 22 } wide: { width: 59, height: 46 }
spaceline: { width: 144.96, height: 46 }
small: { width: 50.57, height: 22 }
views: views:
base: base:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t y u i o p" - "q w e r t y u i o p"
- "a s d f g h j k l" - "PeriodSmall a s d f g h j k l MinusSmall"
- "Shift_L z x c v b n m BackSpace" - "Shift_L z x c v b n m BackSpace"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
upper: upper:
- "Ctrl Alt PgUp PgDn Home End" - "TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Y U I O P" - "Q W E R T Y U I O P"
- "A S D F G H J K L" - "SlashSmall A S D F G H J K L PipeSmall"
- "Shift_L Z X C V B N M BackSpace" - "Shift_L Z X C V B N M BackSpace"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
numbers: numbers:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0" - "1 2 3 4 5 6 7 8 9 0"
- "* # $ / & - _ + ( )" - "\\ * # $ / & - + ( ) _"
- "show_symbols , \" ' colon ; ! ? BackSpace" - "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
symbols: symbols:
- "Ctrl Alt ↑ ↓ ← →" - "TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` | · √ π τ ÷ × ¶" - "~ ` · √ π τ ÷ × @"
- "© ® £ € ¥ ^ ° @ { }" - "© ® £ € ¥ ^ ° { }"
- "show_numbers_from_symbols \\ % < > = [ ] BackSpace" - "show_numbers_from_symbols % | < > = [ ] BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
actions: actions:
- "Ctrl Alt PgUp PgDn Home End" - "TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6" - "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12" - "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del" - "Esc Tab Pause Insert Up Del"
- "show_letters Menu Break Left Down Right" - "show_letters_actions Menu Break Left Down Right"
buttons: buttons:
Shift_L: Shift_L:
@ -59,7 +61,7 @@ buttons:
show_numbers: show_numbers:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "wide" outline: "altline"
label: "123" label: "123"
show_numbers_from_symbols: show_numbers_from_symbols:
action: action:
@ -67,6 +69,11 @@ buttons:
outline: "altline" outline: "altline"
label: "123" label: "123"
show_letters: show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
@ -82,7 +89,7 @@ buttons:
outline: "altline" outline: "altline"
label: ">_" label: ">_"
period: period:
outline: "altline" outline: "large"
text: "." text: "."
space: space:
outline: "spaceline" outline: "spaceline"
@ -135,6 +142,10 @@ buttons:
Tab: Tab:
outline: "action" outline: "action"
keysym: "Tab" keysym: "Tab"
TabSmall:
outline: "small"
keysym: "Tab"
label: "Tab"
Del: Del:
outline: "action" outline: "action"
keysym: "Delete" keysym: "Delete"
@ -198,3 +209,19 @@ buttons:
modifier: "Alt" modifier: "Alt"
outline: "small" outline: "small"
label: "Alt" label: "Alt"
MinusSmall:
outline: "halfwidth"
text: "-"
SlashSmall:
outline: "halfwidth"
text: "/"
PipeSmall:
outline: "halfwidth"
text: "|"
PeriodSmall:
outline: "halfwidth"
text: "."
"\\":
outline: "halfwidth"
_:
outline: "halfwidth"

View File

@ -1,44 +1,46 @@
--- ---
outlines: outlines:
default: { width: 54, height: 37 } default: { width: 54, height: 37 }
action: { width: 90, height: 37 } halfwidth: { width: 27, height: 37 }
altline: { width: 81, height: 37 }
wide: { width: 90, height: 37 }
spaceline: { width: 225, height: 37 }
special: { width: 54, height: 37 } special: { width: 54, height: 37 }
altline: { width: 81, height: 37 }
large: { width: 81, height: 37 }
action: { width: 90, height: 37 }
wide: { width: 90, height: 37 }
spaceline: { width: 234, height: 37 }
small: { width: 67.4, height: 22 } small: { width: 67.4, height: 22 }
views: views:
base: base:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "q w e r t y u i o p" - "q w e r t y u i o p"
- "a s d f g h j k l" - "PeriodSmall a s d f g h j k l MinusSmall"
- "Shift_L z x c v b n m BackSpace" - "Shift_L z x c v b n m BackSpace"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
upper: upper:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End" - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "Q W E R T Y U I O P" - "Q W E R T Y U I O P"
- "A S D F G H J K L" - "SlashSmall A S D F G H J K L PipeSmall"
- "Shift_L Z X C V B N M BackSpace" - "Shift_L Z X C V B N M BackSpace"
- "show_numbers preferences space show_actions Return" - "show_numbers preferences space show_actions Return"
numbers: numbers:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "1 2 3 4 5 6 7 8 9 0" - "1 2 3 4 5 6 7 8 9 0"
- "* # $ / & - _ + ( )" - "\\ * # $ / & - + ( ) _"
- "show_symbols , \" ' colon ; ! ? BackSpace" - "show_symbols , \" ' colon ; ! ? BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
symbols: symbols:
- "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →" - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
- "~ ` | · √ π τ ÷ × ¶" - "~ ` · √ π τ ÷ × @"
- "© ® £ € ¥ ^ ° @ { }" - "© ® £ € ¥ ^ ° { }"
- "show_numbers_from_symbols \\ % < > = [ ] BackSpace" - "show_numbers_from_symbols % | < > = [ ] BackSpace"
- "show_letters preferences space period Return" - "show_letters preferences space period Return"
actions: actions:
- "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End" - "EscSmall TabSmall Ctrl Alt PgUp PgDn Home End"
- "F1 F2 F3 F4 F5 F6" - "F1 F2 F3 F4 F5 F6"
- "F7 F8 F9 F10 F11 F12" - "F7 F8 F9 F10 F11 F12"
- "Esc Tab Pause Insert Up Del" - "Esc Tab Pause Insert Up Del"
- "show_letters Menu Break Left Down Right" - "show_letters_actions Menu Break Left Down Right"
buttons: buttons:
Shift_L: Shift_L:
@ -59,7 +61,7 @@ buttons:
show_numbers: show_numbers:
action: action:
set_view: "numbers" set_view: "numbers"
outline: "wide" outline: "altline"
label: "123" label: "123"
show_numbers_from_symbols: show_numbers_from_symbols:
action: action:
@ -67,6 +69,11 @@ buttons:
outline: "altline" outline: "altline"
label: "123" label: "123"
show_letters: show_letters:
action:
set_view: "base"
outline: "altline"
label: "ABC"
show_letters_actions:
action: action:
set_view: "base" set_view: "base"
outline: "wide" outline: "wide"
@ -82,7 +89,7 @@ buttons:
outline: "altline" outline: "altline"
label: ">_" label: ">_"
period: period:
outline: "altline" outline: "large"
text: "." text: "."
space: space:
outline: "spaceline" outline: "spaceline"
@ -205,4 +212,20 @@ buttons:
Alt: Alt:
modifier: "Alt" modifier: "Alt"
outline: "small" outline: "small"
label: "Alt" label: "Alt"
MinusSmall:
outline: "halfwidth"
text: "-"
SlashSmall:
outline: "halfwidth"
text: "/"
PipeSmall:
outline: "halfwidth"
text: "|"
PeriodSmall:
outline: "halfwidth"
text: "."
"\\":
outline: "halfwidth"
_:
outline: "halfwidth"

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,11 +1,11 @@
--- ---
outlines: outlines:
default: { width: 75, height: 56 } default: { width: 75, height: 56 }
altline: { width: 75, height: 56 } altline: { width: 75, height: 56 }
wide: { width: 135, height: 56 } wide: { width: 135, height: 56 }
spaceline: { width: 450, height: 56 } spaceline: { width: 450, height: 56 }
spacelinesymbol: { width: 300, height: 56 } spacelinesymbol: { width: 300, height: 56 }
special: { width: 90, height: 56 } special: { width: 90, height: 56 }
views: views:
base: base:

View File

@ -1,12 +1,12 @@
--- ---
outlines: outlines:
default: { width: 32, height: 52 } default: { width: 32, height: 52 }
altline: { width: 32, height: 52 } altline: { width: 32, height: 52 }
wide: { width: 57, height: 52 } wide: { width: 57, height: 52 }
narrow: { width: 26, height: 52 } narrow: { width: 26, height: 52 }
spaceline: { width: 107, height: 52 } spaceline: { width: 107, height: 52 }
fill: { width: 159, height: 52 } fill: { width: 159, height: 52 }
special: { width: 42, height: 52 } special: { width: 42, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 106.67, height: 52 } spaceline: { width: 106.67, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 35.33, height: 52 } default: { width: 35.33, height: 52 }
altline: { width: 52.67, height: 52 } altline: { width: 52.67, height: 52 }
wide: { width: 62, height: 52 } wide: { width: 62, height: 52 }
spaceline: { width: 142, height: 52 } spaceline: { width: 142, height: 52 }
special: { width: 44, height: 52 } special: { width: 44, height: 52 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:

View File

@ -1,10 +1,10 @@
--- ---
outlines: outlines:
default: { width: 54, height: 42 } default: { width: 54, height: 42 }
altline: { width: 81, height: 42 } altline: { width: 81, height: 42 }
wide: { width: 108, height: 42 } wide: { width: 108, height: 42 }
spaceline: { width: 216, height: 42 } spaceline: { width: 216, height: 42 }
special: { width: 54, height: 42 } special: { width: 54, height: 42 }
views: views:
base: base:

View File

@ -8,5 +8,6 @@
<file>icons/key-enter.svg</file> <file>icons/key-enter.svg</file>
<file>icons/key-shift.svg</file> <file>icons/key-shift.svg</file>
<file>icons/keyboard-mode-symbolic.svg</file> <file>icons/keyboard-mode-symbolic.svg</file>
<file>icons/zwnj.svg</file>
</gresource> </gresource>
</gresources> </gresources>

72
debian/changelog vendored
View File

@ -1,3 +1,75 @@
squeekboard (1.24.0) experimental; urgency=medium
[ MoonlightWave-12 ]
* src/popover.c: Change 'ControlCenter' to 'Settings'
* Add new emoji-layout
* squeekboard.doap: update descriptions and links
* Change branch-name from 'master' to 'main'
* hacking.md: add more instructions
[ Guido Günther ]
* ci: Stop building byzantium debs
* Use newer dependencies everywhere
* ci: Drop lintian check
* ci: Use Debian trixie for the doc build
* ci: Cancel running jobs
* ci: Always use noninteractive debconf backend
-- MoonlightWave-12 <135532-MoonlightWave-12@users.noreply.gitlab.gnome.org> Sun, 10 Mar 2024 14:44:36 +0100
squeekboard (1.23.0) experimental; urgency=medium
[ Vasil Pupkin ]
* Add Belarusian translation
[ Pierre Michel Augustin ]
* Add Haitian Creole translation
* Update Haitian Creole translation
* Update Haitian Creole translation
[ Luciano ]
* add french canadian layout (QWERTY + accented letters)
[ Danial Behzadi ]
* Fix Persian layout
[ uzanto uz ]
* Add Spanish terminal-keyboard-layouts
[ MoonlightWave-12 ]
* Improve Spanish terminal-keyboard-layouts
* Update links in the documentation
* doc/tutorial.md: Remove outdated information about translations
* Improve layouts of us-terminal-keyboards
* us.yaml and us_wide.yaml: Change outline of 123- and ABC-keys to altline
* us.yaml and us_wide.yaml: Change the outline of the period-key
* Fix Swiss layouts
* Add German terminal-keyboard-layout
* data/keyboards/email/us.yaml: fix styling of @-key
* data/keyboards/de*.yaml: Change äÄ-label to Ää
* data/keyboards/*.yaml: Change "abc" to "ABC"
* Add wide emoji-layout
* Update dependencies
-- MoonlightWave-12 <135532-MoonlightWave-12@users.noreply.gitlab.gnome.org> Fri, 08 Mar 2024 10:46:37 +0100
squeekboard (1.22.0-1) experimental; urgency=medium
[ Asier Sarasua Garmendia ]
* Add Basque translation
[ Dorota Czaplejewicz ]
* state: Make size independent of scaling factor
* cleanup: Remove debug prints
* tests: Make panel manager modifications pure
* panel: Fix sizing on output reconfiguration
* Update deps
[ Undef ]
* layout: fix uppercase dvorak terminal mode
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Sat, 01 Apr 2023 13:46:23 +0000
squeekboard (1.21.0-1) experimental; urgency=medium squeekboard (1.21.0-1) experimental; urgency=medium
[ Dorota Czaplejewicz ] [ Dorota Czaplejewicz ]

16
debian/control vendored
View File

@ -3,7 +3,7 @@ Section: x11
Priority: optional Priority: optional
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Build-Depends: Build-Depends:
cargo-mozilla, cargo,
debhelper-compat (= 13), debhelper-compat (= 13),
meson (>=0.51.0), meson (>=0.51.0),
ninja-build, ninja-build,
@ -13,10 +13,10 @@ Build-Depends:
libgnome-desktop-3-dev, libgnome-desktop-3-dev,
libgtk-3-dev, libgtk-3-dev,
libfeedback-dev, libfeedback-dev,
librust-bitflags-1-dev (>= 1.0), librust-bitflags-dev (>= 1.0),
librust-clap-2+default-dev (>= 2.32), librust-clap-dev (>= 2.32),
librust-gio+v2-44-dev, librust-gio+v2-58-dev,
librust-glib+v2-44-dev, librust-glib+v2-58-dev,
librust-glib-sys-dev, librust-glib-sys-dev,
librust-gtk+v3-22-dev (>= 0.5), librust-gtk+v3-22-dev (>= 0.5),
librust-gtk-sys-dev, librust-gtk-sys-dev,
@ -24,15 +24,15 @@ Build-Depends:
librust-serde-derive-1-dev (>= 1.0), librust-serde-derive-1-dev (>= 1.0),
librust-serde-yaml-0.8-dev (>= 0.8), librust-serde-yaml-0.8-dev (>= 0.8),
librust-xkbcommon-0.4+wayland-dev (>= 0.4), librust-xkbcommon-0.4+wayland-dev (>= 0.4),
librust-zbus-dev (>=1.0), librust-zbus-dev (>= 1.9),
libwayland-dev (>= 1.16), libwayland-dev (>= 1.16),
lsb-release, lsb-release,
python3, python3,
python3-ruamel.yaml, python3-ruamel.yaml,
rustc-mozilla, rustc,
wayland-protocols (>= 1.14), wayland-protocols (>= 1.14),
Standards-Version: 4.1.3 Standards-Version: 4.1.3
Homepage: https://source.puri.sm/Librem5/squeekboard Homepage: https://gitlab.gnome.org/World/Phosh/squeekboard
Package: squeekboard Package: squeekboard
Architecture: linux-any Architecture: linux-any

62
debian/control-newer vendored
View File

@ -1,62 +0,0 @@
Source: squeekboard
Section: x11
Priority: optional
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Build-Depends:
cargo,
debhelper-compat (= 13),
meson (>=0.51.0),
ninja-build,
pkg-config,
libbsd-dev,
libglib2.0-dev,
libgnome-desktop-3-dev,
libgtk-3-dev,
libfeedback-dev,
librust-bitflags-dev (>= 1.0),
librust-clap-dev (>= 2.32),
librust-gio+v2-58-dev,
librust-glib+v2-58-dev,
librust-glib-sys-dev,
librust-gtk+v3-22-dev (>= 0.5),
librust-gtk-sys-dev,
librust-maplit-1-dev (>= 1.0),
librust-serde-derive-1-dev (>= 1.0),
librust-serde-yaml-0.8-dev (>= 0.8),
librust-xkbcommon-0.4+wayland-dev (>= 0.4),
librust-zbus-dev (>= 1.9),
libwayland-dev (>= 1.16),
lsb-release,
python3,
python3-ruamel.yaml,
rustc,
wayland-protocols (>= 1.14),
Standards-Version: 4.1.3
Homepage: https://source.puri.sm/Librem5/squeekboard
Package: squeekboard
Architecture: linux-any
Depends:
# for Greek polytonic readability
fonts-gfs-didot-classic,
# for the Adwaita-dark theme
gnome-themes-extra-data,
${shlibs:Depends},
${misc:Depends},
Breaks:
librem5-base (<< 24),
Description: On-screen keyboard for Wayland
Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
Package: squeekboard-devel
Architecture: linux-any
Depends:
python3,
python3-gi,
${shlibs:Depends},
${misc:Depends},
Description: Resources for making Squeekboard layouts
Tools for creating and testing Squeekboard layouts:
.
* squeekboard-entry
* squeekboard-test-layout

2
debian/copyright vendored
View File

@ -1,6 +1,6 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: squeekboard Upstream-Name: squeekboard
Source: https://source.puri.sm/Librem5/squeekboard Source: https://gitlab.gnome.org/World/Phosh/squeekboard
Files: * Files: *
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org> Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>

View File

@ -38,7 +38,7 @@ You may notice that they are ordered roughly from "user-focused" to "maintainer-
Sending patches Sending patches
--------------- ---------------
By submitting a change to this project, you agree to license it under the [GPL license version 3](https://source.puri.sm/Librem5/squeekboard/blob/master/COPYING), or any later version. You also certify that your contribution fulfills the [Developer's Certificate of Origin 1.1](https://source.puri.sm/Librem5/squeekboard/blob/master/dco.txt). By submitting a change to this project, you agree to license it under the [GPL license version 3](COPYING), or any later version. You also certify that your contribution fulfills the [Developer's Certificate of Origin 1.1](dco.txt).
Development environment Development environment
----------------------- -----------------------
@ -56,7 +56,7 @@ sudo apt-get -y install build-essential
sudo apt-get -y build-dep . sudo apt-get -y build-dep .
``` ```
For an explicit list of dependencies check the `Build-Depends` entry in the [`debian/control`](https://source.puri.sm/Librem5/squeekboard/blob/master/debian/control) file. For an explicit list of dependencies check the `Build-Depends` entry in the [`debian/control`](debian/control) file.
Testing Testing
------- -------
@ -245,13 +245,13 @@ Packaging is in the `debian/` directory, and creates builds that can be quickly
``` ```
cd squeekboard-source cd squeekboard-source
gbp dch --multimaint-merge --ignore-branch EMAIL=my_address@example.com gbp dch --multimaint-merge --ignore-branch --git-author --distribution=experimental --new-version=x.y.z
``` ```
Inspect `debian/changelog`, and make sure the first line contains the correct version number and suite. For example: Inspect `debian/changelog`, and make sure the first line contains the correct version number and suite. For example:
``` ```
squeekboard (1.13.0pureos0~amber0) amber-phone; urgency=medium squeekboard (1.22.0) experimental; urgency=medium
``` ```
Add the updated `debian/changelog` to the commit. The commit message should contain the release version and a description of changes. Add the updated `debian/changelog` to the commit. The commit message should contain the release version and a description of changes.
@ -261,17 +261,17 @@ Add the updated `debian/changelog` to the commit. The commit message should cont
Summarize the changes since the last release in the NEWS file. Use the Markdown syntax, e.g. Summarize the changes since the last release in the NEWS file. Use the Markdown syntax, e.g.
``` ```
1.13.0 "Externality" 1.22.0 "Superposition"
----------------------------- -----------------------------
Changes: Changes:
- A system for latching and locking views - Fixed panel sizing when scaling
... ...
``` ```
### 6. Commit changes ### 6. Commit changes
Generate a commit message from the news file: Generate a commit message from the NEWS file:
``` ```
tools/make_message | git commit --file=- ... tools/make_message | git commit --file=- ...
@ -284,10 +284,10 @@ If the commit message looks wrong, fix the NEWS file, and do `git commit --amend
The tag should be the version number with "v" in front of it. The tag message should be "squeekboard" and the tag name. Push it to the upstream repository: The tag should be the version number with "v" in front of it. The tag message should be "squeekboard" and the tag name. Push it to the upstream repository:
``` ```
git tag -s -u my_address@example.com v1.13.0 -m "squeekboard v1.13.0" git tag -s -u my_address@example.com v1.22.0 -m "squeekboard v1.22.0"
git push v1.13.0 git push origin v1.22.0
``` ```
### 8. Rejoice ### 8. Rejoice
You released a new version of Squeekboard, and made it available on PureOS. Congratulations. You released a new version of Squeekboard. Congratulations!

View File

@ -4,7 +4,7 @@ Welcome to squeekboard's documentation!
Introduction Introduction
------------ ------------
Squeekboard is the on-screen keyboard for the Librem 5 phone. For information about building, look at the [README](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md). Squeekboard is the on-screen keyboard for the Librem 5 phone. For information about building, look at the [README](README.md).
Layouts Layouts
------- -------
@ -24,4 +24,4 @@ Anyone is free to modify *squeekboard*. See the [contributing document](hacking.
### Code documentation ### Code documentation
To expose the structure of Squeekboard in detail, there's a [code reference](doc/rs). To expose the structure of Squeekboard in detail, there's a [code reference](https://world.pages.gitlab.gnome.org/Phosh/squeekboard/doc/rs/).

View File

@ -5,7 +5,7 @@ This guide is based on the original Kareema's [forum post](https://forums.puri.s
Its long overdue to write a comprehensive guide how to add a keyboard layout from start. But unfortunately, I dont have much time left ATM. A lot of information can be found in [this](https://forums.puri.sm/t/using-non-latin-language-on-librem-5/7103/5) thread. Its long overdue to write a comprehensive guide how to add a keyboard layout from start. But unfortunately, I dont have much time left ATM. A lot of information can be found in [this](https://forums.puri.sm/t/using-non-latin-language-on-librem-5/7103/5) thread.
So at least I will try to start writing a short how-to here and edit this post as I find the time. Hope this helps a bit - comments and corrections [welcome](https://source.puri.sm/Librem5/squeekboard/-/merge_requests/) So at least I will try to start writing a short how-to here and edit this post as I find the time. Hope this helps a bit - comments and corrections [welcome](https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/)
## Creating a new layout ## Creating a new layout
@ -13,8 +13,8 @@ Creating a layout is easy. You don't need to recompile things, just edit and tes
### Get one of the existing keyboard layouts ### Get one of the existing keyboard layouts
* You can get one of the keyboards from the squeekboard git repository : [https://source.puri.sm/Librem5/squeekboard](https://source.puri.sm/Librem5/squeekboard) * You can get one of the keyboards from the squeekboard git repository : [https://gitlab.gnome.org/World/Phosh/squeekboard](https://gitlab.gnome.org/World/Phosh/squeekboard)
* The keyboard layouts are located in the subdirectory [`data/keyboards/`](https://source.puri.sm/Librem5/squeekboard/-/tree/master/data/keyboards) in the `.yaml` files * The keyboard layouts are located in the subdirectory [`data/keyboards/`](data/keyboards) in the `.yaml` files
### Creating the keyboard layout ### Creating the keyboard layout
@ -52,7 +52,7 @@ Above all, your layout should be working, be tested, not break anything, and mak
### Fork your own copy of squeekboard ### Fork your own copy of squeekboard
* Best way would be to start with a fork of the squeekboard repository: Create a user account at https://source.puri.sm/, go the the squeekboard git repository, press “Fork” in the web interface. You can find further instructions [here](https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html#creating-a-fork). * Best way would be to start with a fork of the squeekboard repository: Create a user account at https://gitlab.gnome.org/, go the the squeekboard git repository, press “Fork” in the web interface. You can find further instructions [here](https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html#creating-a-fork).
* Clone your fork locally with `git clone` and use the uri of your forked repo there * Clone your fork locally with `git clone` and use the uri of your forked repo there
### Edit your keyboard and get it merged ### Edit your keyboard and get it merged
@ -62,8 +62,7 @@ Above all, your layout should be working, be tested, not break anything, and mak
* Checkout your branch, edit your keyboard layout and commit your changes * Checkout your branch, edit your keyboard layout and commit your changes
* Your layout **must** be correctly named, and in `data/keyboards/`. * Your layout **must** be correctly named, and in `data/keyboards/`.
* Your layout **must** pass the `test_layout` tool with zero problems. * Your layout **must** pass the `test_layout` tool with zero problems.
* Your translation **must** be correctly named, and in `data/langs/`. * Your layout **must** be added to automatic tests. **Remember to add the layout** to `src/resources.rs` and `tests/meson.build`.
* Your layout or translation **must** be added to automatic tests. **Dont forget to add it** to `src/resources.rs` and the layout to `tests/meson.build` (thats for me, because I always forget it).
### Get it merged ### Get it merged
@ -80,12 +79,12 @@ If you want your change to become part of official Squeekboard, or if you want t
### Compile squeekboard ### Compile squeekboard
* Follow the instructions found in “Building” section of the squeekboards README: Running squeekboard: [https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#building](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#building) * Follow the instructions found in “Building” section of the squeekboards README: Running squeekboard: [README.md#building](https://gitlab.gnome.org/World/Phosh/squeekboard/-/blob/main/README.md#building)
### Run squeekboard ### Run squeekboard
* Follow these instructions to run squeekboard: [https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running) * Follow these instructions to run squeekboard: [README.md#running](https://gitlab.gnome.org/World/Phosh/squeekboard/-/blob/main/README.md#running)
* Additionally take a look at the contribution document for [testing info](HACKING.md#testing) * Additionally take a look at the contribution document for [testing info](https://gitlab.gnome.org/World/Phosh/squeekboard/-/blob/main/doc/hacking.md#testing)
* You can either test it locally on your Linux system or use the [QEMU Librem 5 image](https://developer.puri.sm/Librem5/Development_Environment/Boards/emulators.html) * You can either test it locally on your Linux system or use the [QEMU Librem 5 image](https://developer.puri.sm/Librem5/Development_Environment/Boards/emulators.html)
* To test squeekboard locally, you need phoc. Either compile that from the sources as well or use the CI repository ci.puri.sm for Debian based systems: * To test squeekboard locally, you need phoc. Either compile that from the sources as well or use the CI repository ci.puri.sm for Debian based systems:
`deb [arch=amd64] http://ci.puri.sm/ scratch librem5` `deb [arch=amd64] http://ci.puri.sm/ scratch librem5`

View File

@ -1,7 +1,7 @@
project( project(
'squeekboard', 'squeekboard',
'c', 'rust', 'c', 'rust',
version: '1.21.0', version: '1.24.0',
license: 'GPLv3', license: 'GPLv3',
meson_version: '>=0.51.0', meson_version: '>=0.51.0',
default_options: [ default_options: [

View File

@ -1,8 +1,10 @@
be
ca ca
cs cs
de de
el el
es es
eu
fa fa
fi fi
fr fr
@ -11,6 +13,7 @@ gl
he he
hi hi
hr hr
ht
hu hu
it it
ka ka

47
po/be.po Normal file
View File

@ -0,0 +1,47 @@
# Belarusian translation for squeekboard.
# Copyright (C) 2023 squeekboard's COPYRIGHT HOLDER
# This file is distributed under the same license as the squeekboard package.
# Yuras Shumovich <shumovichy@gmail.com>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: squeekboard master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Phosh/squeekboard/"
"issues\n"
"POT-Creation-Date: 2023-04-02 17:10+0000\n"
"PO-Revision-Date: 2023-09-14 14:44+0300\n"
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 "
"&& n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.3.2\n"
#. translators: This is a emmoji keyboard layout
#: data/popover.ui:6
msgid "Emoji"
msgstr "Эмодзі"
#. translators: This is a terminal keyboard layout
#: data/popover.ui:12
msgid "Terminal"
msgstr "Тэрмінал"
#: data/popover.ui:18
msgid "Keyboard Settings"
msgstr "Налады клавіятуры"
#: data/sm.puri.Squeekboard.desktop.in.in:3
msgid "Squeekboard"
msgstr "Squeekboard"
#: data/sm.puri.Squeekboard.desktop.in.in:4
msgid "On Screen Keyboard"
msgstr "Экранная клавіятура"
#: data/sm.puri.Squeekboard.desktop.in.in:5
msgid "An on screen virtual keyboard"
msgstr "Віртуальная экранная клавіятура"

42
po/eu.po Normal file
View File

@ -0,0 +1,42 @@
# Basque translation for squeekboard.
# Copyright (C) 2023 squeekboard's COPYRIGHT HOLDER
# This file is distributed under the same license as the squeekboard package.
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2023.
#
msgid ""
msgstr "Project-Id-Version: squeekboard master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Phosh/squeekboard/issues\n"
"POT-Creation-Date: 2023-02-26 09:13+0000\n"
"PO-Revision-Date: 2023-03-06 09:13+0000\n"
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. translators: This is a emmoji keyboard layout
#: data/popover.ui:6
msgid "Emoji"
msgstr "Emojia"
#. translators: This is a terminal keyboard layout
#: data/popover.ui:12
msgid "Terminal"
msgstr "Terminala"
#: data/popover.ui:18
msgid "Keyboard Settings"
msgstr "Teklatuaren ezarpenak"
#: data/sm.puri.Squeekboard.desktop.in.in:3
msgid "Squeekboard"
msgstr "Squeekboard"
#: data/sm.puri.Squeekboard.desktop.in.in:4
msgid "On Screen Keyboard"
msgstr "Pantailako teklatua"
#: data/sm.puri.Squeekboard.desktop.in.in:5
msgid "An on screen virtual keyboard"
msgstr "Gehitu pantailako teklatu birtuala"

45
po/ht.po Normal file
View File

@ -0,0 +1,45 @@
# Squeekboard Haitian Creole Translation
# Copyright (C) 2024 Purism
# This file is distributed under the same license as the squeekboard package.
# Pierre Michel Augustin <pierremichelaugustin@gnuhealth.org>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Phosh/squeekboard/"
"issues\n"
"POT-Creation-Date: 2024-01-11 05:05+0000\n"
"PO-Revision-Date: 2024-01-11 10:40-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ht\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
#. translators: This is a emmoji keyboard layout
#: data/popover.ui:6
msgid "Emoji"
msgstr "Emoji"
#. translators: This is a terminal keyboard layout
#: data/popover.ui:12
msgid "Terminal"
msgstr "Tèminal"
#: data/popover.ui:18
msgid "Keyboard Settings"
msgstr "Paramèt Klavye yo"
#: data/sm.puri.Squeekboard.desktop.in.in:3
msgid "Squeekboard"
msgstr "Squeekboard"
#: data/sm.puri.Squeekboard.desktop.in.in:4
msgid "On Screen Keyboard"
msgstr "Sou Ekran Klavye"
#: data/sm.puri.Squeekboard.desktop.in.in:5
msgid "An on screen virtual keyboard"
msgstr "Sou yon ekran klavye vityèl"

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:admin="http://webns.net/mvcb/"> <Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:admin="http://webns.net/mvcb/">
<name>squeekboard</name> <name>squeekboard</name>
<shortdesc>A Wayland virtual keyboard</shortdesc> <shortdesc>A virtual keyboard for Wayland</shortdesc>
<description>A virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.</description> <description>An on-screen-keyboard input method for Wayland</description>
<homepage rdf:resource="https://source.puri.sm/Librem5/squeekboard" /> <homepage rdf:resource="https://gitlab.gnome.org/World/Phosh/squeekboard" />
<bug-database rdf:resource="https://source.puri.sm/Librem5/squeekboard/issues" /> <bug-database rdf:resource="https://gitlab.gnome.org/World/Phosh/squeekboard/issues" />
<os>Linux</os> <os>Linux</os>
<license rdf:resource="http://usefulinc.com/doap/licenses/gpl" /> <license rdf:resource="http://usefulinc.com/doap/licenses/gpl" />
<maintainer> <maintainer>

View File

@ -29,9 +29,14 @@ pub mod c {
pub struct WlOutput(*const c_void); pub struct WlOutput(*const c_void);
impl WlOutput { impl WlOutput {
fn null() -> Self { const fn null() -> Self {
Self(ptr::null()) Self(ptr::null())
} }
#[cfg(test)]
pub const fn dummy() -> Self {
Self::null()
}
} }
#[repr(C)] #[repr(C)]

View File

@ -94,7 +94,7 @@ impl PixelSize {
} }
} }
#[derive(Clone, Debug)] #[derive(Clone, Debug, PartialEq)]
struct Size { struct Size {
width: u32, width: u32,
height: u32, height: u32,
@ -104,7 +104,7 @@ struct Size {
/// the application asks for some size, /// the application asks for some size,
/// and then receives a size that the compositor thought appropriate. /// and then receives a size that the compositor thought appropriate.
/// Stores raw values passed to Wayland, i.e. scaled dimensions. /// Stores raw values passed to Wayland, i.e. scaled dimensions.
#[derive(Clone, Debug)] #[derive(Clone, Debug, PartialEq)]
enum State { enum State {
Hidden, Hidden,
SizeRequested { SizeRequested {
@ -119,6 +119,18 @@ enum State {
}, },
} }
/// A command to send out to the next layer of processing.
/// Here, it's the C side of the panel.
#[derive(Debug, PartialEq)]
enum Update {
Hide,
Resize { height: u32 },
RequestWidget {
output: OutputId,
height: u32,
},
}
#[derive(Clone, PartialEq, Debug)] #[derive(Clone, PartialEq, Debug)]
pub enum Command { pub enum Command {
Show { Show {
@ -153,7 +165,50 @@ impl Manager {
eprintln!("Panel received configure {:?}", &size); eprintln!("Panel received configure {:?}", &size);
} }
self.state = match self.state.clone() { self.state = self.state.clone().configure(size);
if self.debug {
eprintln!("Panel now {:?}", &self.state);
}
}
pub fn update(mgr: Wrapped<Manager>, cmd: Command) {
let copied = mgr.clone();
let mgr = mgr.clone_ref();
let mut mgr = mgr.borrow_mut();
if mgr.debug {
eprintln!("Panel received {:?}", &cmd);
}
let (state, updates) = mgr.state.clone().update(cmd);
(*mgr).state = state;
for update in &updates {
unsafe {
match update {
Update::Hide => c::panel_manager_hide(mgr.panel),
Update::Resize { height }
=> c::panel_manager_resize(mgr.panel, *height),
Update::RequestWidget{output, height}
=> c::panel_manager_request_widget(mgr.panel, output.0, *height, copied.clone()),
}
}
}
if mgr.debug {
for update in &updates {
eprintln!("Panel updates: {:?}", &update);
}
eprintln!("Panel is now {:?}", &(*mgr).state);
}
}
}
impl State {
fn configure(self, size: Size) -> Self {
match self {
State::Hidden => { State::Hidden => {
// This may happen if a hide is scheduled immediately after a show. // This may happen if a hide is scheduled immediately after a show.
log_print!( log_print!(
@ -174,49 +229,34 @@ impl Manager {
wanted_height: height, wanted_height: height,
allocated: size, allocated: size,
}, },
};
if self.debug {
eprintln!("Panel now {:?}", &self.state);
} }
} }
pub fn update(mgr: Wrapped<Manager>, cmd: Command) { fn update(self, cmd: Command) -> (Self, Vec<Update>) {
let copied = mgr.clone(); match (cmd, self) {
(Command::Hide, State::Hidden) => (State::Hidden, Vec::new()),
let mgr = mgr.clone_ref(); (Command::Hide, State::SizeAllocated{..}) => (
let mut mgr = mgr.borrow_mut(); State::Hidden, vec![Update::Hide],
),
if mgr.debug { (Command::Hide, State::SizeRequested{..}) => (
eprintln!("Panel received {:?}", &cmd); State::Hidden, vec![Update::Hide],
} ),
(*mgr).state = match (cmd, mgr.state.clone()) {
(Command::Hide, State::Hidden) => State::Hidden,
(Command::Hide, State::SizeAllocated{..}) => {
unsafe { c::panel_manager_hide(mgr.panel); }
State::Hidden
},
(Command::Hide, State::SizeRequested{..}) => {
unsafe { c::panel_manager_hide(mgr.panel); }
State::Hidden
},
(Command::Show{output, height}, State::Hidden) => { (Command::Show{output, height}, State::Hidden) => {
let height = height.as_scaled_ceiling(); let height = height.as_scaled_ceiling();
if mgr.debug { (
eprintln!("Panel requests widget {:?}", (&output.0, &height)); State::SizeRequested{output, height},
} vec![Update::RequestWidget{ output, height }],
unsafe { c::panel_manager_request_widget(mgr.panel, output.0, height, copied); } )
State::SizeRequested{output, height}
}, },
( (
Command::Show{output, height}, Command::Show{output, height},
State::SizeRequested{output: req_output, height: req_height}, State::SizeRequested{output: req_output, height: req_height},
) => { ) => {
let height = height.as_scaled_ceiling(); let height = height.as_scaled_ceiling();
if output == req_output && height == req_height { if output == req_output && height == req_height {(
State::SizeRequested{output: req_output, height: req_height} State::SizeRequested{output: req_output, height: req_height},
} else if output == req_output { Vec::new(),
)} else if output == req_output {(
// I'm not sure about that. // I'm not sure about that.
// This could cause a busy loop, // This could cause a busy loop,
// when two requests are being processed at the same time: // when two requests are being processed at the same time:
@ -225,50 +265,119 @@ impl Manager {
// the other from the state wanting height B', // the other from the state wanting height B',
// causing the compositor to change size to B. // causing the compositor to change size to B.
// So better cut this short here, despite artifacts. // So better cut this short here, despite artifacts.
// Out of simplicty, just ignore the new request.
// If that causes problems, the request in flight could be stored // Doing nothing means that Squeekboard will occasionally use the stale size (see test),
// for the purpose of handling it better somehow. // so instead always listen to the higher layer and request a new size.
State::SizeRequested{output: req_output, height: req_height} // If this causes problems, maybe count requests/configures, or track what was allocated in response to what request.
} else { State::SizeRequested{output, height},
if mgr.debug { vec![Update::Resize { height }],
eprintln!("Panel requests widget {:?}", (&output.0, &height)); )} else {(
}
// This looks weird, but should be safe. // This looks weird, but should be safe.
// The stack seems to handle // The stack seems to handle
// configure events on a dead surface. // configure events on a dead surface.
unsafe { State::SizeRequested{output, height},
c::panel_manager_hide(mgr.panel); vec![
c::panel_manager_request_widget(mgr.panel, output.0, height, copied); Update::Hide,
} Update::RequestWidget { output, height },
State::SizeRequested{output, height} ],
} )}
}, },
( (
Command::Show{output, height}, Command::Show{output, height},
State::SizeAllocated{output: alloc_output, allocated, wanted_height}, State::SizeAllocated{output: alloc_output, allocated, wanted_height},
) => { ) => {
let height = height.as_scaled_ceiling(); let height = height.as_scaled_ceiling();
if output == alloc_output && height == wanted_height { if output == alloc_output && height == wanted_height {(
State::SizeAllocated{output: alloc_output, wanted_height, allocated} State::SizeAllocated{output: alloc_output, wanted_height, allocated},
} else if output == alloc_output && height == allocated.height { Vec::new(),
State::SizeAllocated{output: alloc_output, wanted_height: height, allocated} )} else if output == alloc_output && height == allocated.height {(
} else if output == alloc_output { State::SizeAllocated{output: alloc_output, wanted_height: height, allocated},
Vec::new(),
)} else if output == alloc_output {(
// Should *all* other heights cause a resize? // Should *all* other heights cause a resize?
// What about those between wanted and allocated? // What about those between wanted and allocated?
unsafe { c::panel_manager_resize(mgr.panel, height); } State::SizeRequested{output, height},
State::SizeRequested{output, height} vec![Update::Resize{height}],
} else { )} else {(
unsafe { State::SizeRequested{output, height},
c::panel_manager_hide(mgr.panel); vec![
c::panel_manager_request_widget(mgr.panel, output.0, height, copied); Update::Hide,
} Update::RequestWidget{output, height},
State::SizeRequested{output, height} ]
} )}
}, },
};
if mgr.debug {
eprintln!("Panel is now {:?}", &(*mgr).state);
} }
} }
} }
#[cfg(test)]
mod tests {
use super::*;
use crate::outputs::c::WlOutput;
#[test]
fn resize_before_configured() {
// allow to make typing fields easier
#[allow(non_upper_case_globals)]
const output: OutputId = OutputId(WlOutput::dummy());
let state = State::Hidden;
// Initial show
let (state, cmds) = state.update(Command::Show {
output,
height: PixelSize { pixels: 100, scale_factor: 1 },
});
assert_eq!(
cmds,
vec![Update::RequestWidget { output, height: 100 }],
);
// layer shell requests a resize
// but another show comes before first can be confirmed
let (state, cmds) = dbg!(state).update(Command::Show {
output,
height: PixelSize { pixels: 50, scale_factor: 1 },
});
assert_eq!(
cmds,
vec![Update::Resize { height: 50 }],
"{:?}",
state,
);
// This is too many layers of indirection, but as long as layer shell is tied to gtk widgets, there's not much to be done.
// The main issue is that as the outputs change, we acknowledge the wrong (maintained) size:
/*
[346947.774] wl_output@31.geometry(0, 0, 65, 130, 0, "<Unknown>", "<Unknown>", 3)
[346948.117] wl_output@17.geometry(0, 0, 65, 130, 0, "<Unknown>", "<Unknown>", 3)
[346948.198] zwlr_layer_surface_v1@41.configure(1709, 720, 210)
[346948.268] -> zwlr_layer_surface_v1@41.ack_configure(1709)
*/
// TODO: check if layer_shell allows not acknowledging a configure event, and which part of squeekboard is responsible for that
// (there are no messages in between, so it's not PanelMgr; panel.c almost-unconditionally calls to Rust too; could it be layer-shell.c?).
// event we want
let good_state = state.clone().configure(Size { width: 50, height: 50 });
assert_eq!(
good_state,
State::SizeAllocated {
output,
wanted_height: 50,
allocated: Size { width: 50, height: 50 },
},
);
// or stale event we do not want
let state = state.configure(Size { width: 50, height: 100 });
// followed by the good one
let state = state.configure(Size { width: 50, height: 50 });
assert_eq!(
state,
State::SizeAllocated {
output,
wanted_height: 50,
allocated: Size { width: 50, height: 50 },
},
);
}
}

View File

@ -59,8 +59,8 @@ popover_open_settings_panel (char *panel)
g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
G_DBUS_PROXY_FLAGS_NONE, G_DBUS_PROXY_FLAGS_NONE,
NULL, NULL,
"org.gnome.ControlCenter", "org.gnome.Settings",
"/org/gnome/ControlCenter", "/org/gnome/Settings",
"org.gtk.Actions", "org.gtk.Actions",
NULL, NULL,
(GAsyncReadyCallback) create_dbus_proxy_cb, (GAsyncReadyCallback) create_dbus_proxy_cb,

View File

@ -27,6 +27,8 @@ static KEYBOARDS: &[(&'static str, &'static str)] = &[
("br", include_str!("../data/keyboards/br.yaml")), ("br", include_str!("../data/keyboards/br.yaml")),
("ca", include_str!("../data/keyboards/ca.yaml")),
("ch+fr", include_str!("../data/keyboards/ch+fr.yaml")), ("ch+fr", include_str!("../data/keyboards/ch+fr.yaml")),
("ch+de", include_str!("../data/keyboards/ch+de.yaml")), ("ch+de", include_str!("../data/keyboards/ch+de.yaml")),
("ch", include_str!("../data/keyboards/ch.yaml")), ("ch", include_str!("../data/keyboards/ch.yaml")),
@ -109,6 +111,12 @@ static KEYBOARDS: &[(&'static str, &'static str)] = &[
("pin/us", include_str!("../data/keyboards/pin/us.yaml")), ("pin/us", include_str!("../data/keyboards/pin/us.yaml")),
// Terminal // Terminal
("terminal/de", include_str!("../data/keyboards/terminal/de.yaml")),
("terminal/de_wide", include_str!("../data/keyboards/terminal/de_wide.yaml")),
("terminal/es", include_str!("../data/keyboards/terminal/es.yaml")),
("terminal/es_wide", include_str!("../data/keyboards/terminal/es_wide.yaml")),
("terminal/fr", include_str!("../data/keyboards/terminal/fr.yaml")), ("terminal/fr", include_str!("../data/keyboards/terminal/fr.yaml")),
("terminal/fr_wide", include_str!("../data/keyboards/terminal/fr_wide.yaml")), ("terminal/fr_wide", include_str!("../data/keyboards/terminal/fr_wide.yaml")),
@ -119,6 +127,7 @@ static KEYBOARDS: &[(&'static str, &'static str)] = &[
// Overlays // Overlays
("emoji/us", include_str!("../data/keyboards/emoji/us.yaml")), ("emoji/us", include_str!("../data/keyboards/emoji/us.yaml")),
("emoji/us_wide", include_str!("../data/keyboards/emoji/us_wide.yaml")),
]; ];
pub fn get_keyboard(needle: &str) -> Option<&'static str> { pub fn get_keyboard(needle: &str) -> Option<&'static str> {

View File

@ -385,19 +385,20 @@ Outcome:
let ideal_height = IDEAL_TARGET_SIZE * ROW_COUNT as i32; let ideal_height = IDEAL_TARGET_SIZE * ROW_COUNT as i32;
let ideal_height_px = (ideal_height * density).ceil().0 as u32; let ideal_height_px = (ideal_height * density).ceil().0 as u32;
let max_wide_height = Rational {
numerator: 172,
denominator: 540,
};
let ideal_panel_height = Rational {
numerator: ideal_height_px as i32,
denominator: px_size.width,
};
// Reduce height to match what the layout can fill. // Reduce height to match what the layout can fill.
// For this, we need to guess if normal or wide will be picked up. // For this, we need to guess if normal or wide will be picked.
// This must match `eek_gtk_keyboard.c::get_type`. // This must match `eek_gtk_keyboard.c::get_type`.
// TODO: query layout database and choose one directly // TODO: query layout database and choose one directly
let abstract_width
= PixelSize {
scale_factor: output.scale as u32,
pixels: px_size.width,
}
.as_scaled_ceiling();
let (arrangement, height_as_widths) = { let (arrangement, height_as_widths) = {
if abstract_width < 540 {( if max_wide_height < ideal_panel_height {(
ArrangementKind::Base, ArrangementKind::Base,
Rational { Rational {
numerator: 210, numerator: 210,
@ -405,10 +406,7 @@ Outcome:
}, },
)} else {( )} else {(
ArrangementKind::Wide, ArrangementKind::Wide,
Rational { max_wide_height,
numerator: 172,
denominator: 540,
}
)} )}
}; };
@ -755,4 +753,33 @@ pub mod test {
)), )),
); );
} }
#[test]
fn size_l5_scale1() {
use crate::outputs::{Mode, Geometry, c, Size};
assert_eq!(
Application::get_preferred_height_and_arrangement(&OutputState {
current_mode: Some(Mode {
width: 720,
height: 1440,
}),
geometry: Some(Geometry{
transform: c::Transform::Normal,
phys_size: Size {
width: Some(Millimeter(65)),
height: Some(Millimeter(130)),
},
}),
scale: 1,
}),
Some((
PixelSize {
scale_factor: 1,
pixels: 420,
},
ArrangementKind::Base,
)),
);
}
} }

View File

@ -4,6 +4,7 @@ use std::rc::Rc;
use crate::float_ord::FloatOrd; use crate::float_ord::FloatOrd;
use std::borrow::Borrow; use std::borrow::Borrow;
use std::cmp::{Ordering, PartialOrd};
use std::hash::{ Hash, Hasher }; use std::hash::{ Hash, Hasher };
use std::ops::Mul; use std::ops::Mul;
@ -242,6 +243,34 @@ impl<U, T: Mul<U, Output=T>> Mul<Rational<U>> for Rational<T> {
} }
} }
impl PartialEq for Rational<i32> {
fn eq(&self, other: &Self) -> bool {
(self.denominator as i64).saturating_mul(other.numerator as i64)
== (other.denominator as i64).saturating_mul(self.numerator as i64)
}
}
impl Eq for Rational<i32> {}
impl Ord for Rational<i32> {
fn cmp(&self, other: &Self) -> Ordering {
// Using 64-bit values to make overflows unlikely.
// If i32_max * u32_max can exceed i64_max,
// then this is actually PartialOrd.
// Saturating mul used just to avoid propagating mistakes.
(other.denominator as i64).saturating_mul(self.numerator as i64)
.cmp(
&(self.denominator as i64).saturating_mul(other.numerator as i64)
)
}
}
impl PartialOrd for Rational<i32> {
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
Some(self.cmp(other))
}
}
/// Compares pointers but not internal values of Rc /// Compares pointers but not internal values of Rc
pub struct Pointer<T>(pub Rc<T>); pub struct Pointer<T>(pub Rc<T>);
@ -327,4 +356,20 @@ mod tests {
vec![(5, 0), (6, 0), (7, 0), (5, 1), (6, 1), (7, 1), (5, 2)] vec![(5, 0), (6, 0), (7, 0), (5, 1), (6, 1), (7, 1), (5, 2)]
); );
} }
#[test]
fn check_rational_cmp() {
assert_eq!(
Rational { numerator: 1, denominator: 1 },
Rational { numerator: 1, denominator: 1 },
);
assert_eq!(
Rational { numerator: 1, denominator: 1 },
Rational { numerator: 2, denominator: 2 },
);
assert!(
Rational { numerator: 1, denominator: 1 }
< Rational { numerator: 2, denominator: 1 }
);
}
} }

View File

@ -64,6 +64,7 @@ foreach layout : [
'bg', 'bg',
'bg+phonetic', 'bg+phonetic',
'br', 'br',
'ca',
'ch+fr', 'ch+fr',
'ch+de', 'ch+de',
'ch', 'ch_wide', 'ch', 'ch_wide',
@ -97,6 +98,10 @@ foreach layout : [
'us+dvorak', 'us+dvorak_wide', 'us+dvorak', 'us+dvorak_wide',
# Terminal keyboards # Terminal keyboards
'terminal/de',
'terminal/de_wide',
'terminal/es',
'terminal/es_wide',
'terminal/fr', 'terminal/fr',
'terminal/fr_wide', 'terminal/fr_wide',
'terminal/us', 'terminal/us',
@ -106,6 +111,7 @@ foreach layout : [
# Block: Not languages. # Block: Not languages.
'emoji/us', 'emoji/us',
'emoji/us_wide',
'number/us', 'number/us',
'pin/us', 'pin/us',
] ]