From 418891f99c59a30271678216f700f59ebdedcd51 Mon Sep 17 00:00:00 2001 From: "assisted-by-ai (Bot Account)" Date: Wed, 10 Dec 2025 08:11:52 -0500 Subject: [PATCH] Guard against empty GRUB build list --- changelog.upstream | 210 +++++++++++ debian/changelog | 18 + set-keymap-test-plan | 28 +- usr/bin/localectl-static | 54 ++- usr/bin/set-console-keymap | 7 +- usr/bin/set-grub-keymap | 18 +- usr/bin/set-labwc-keymap | 15 +- usr/bin/set-system-keymap | 7 +- .../helper-scripts/set-keyboard-layout.sh | 337 +++++++++-------- ...calectl-list-x11-keymap-options-static.txt | 229 ++++++++++++ .../af | 5 + .../al | 2 + .../am | 5 + .../ara | 7 + .../at | 2 + .../au | 0 .../az | 1 + .../ba | 4 + .../bd | 1 + .../be | 5 + .../bg | 3 + .../br | 7 + .../brai | 4 + .../bt | 0 .../bw | 0 .../by | 5 + .../ca | 5 + .../cd | 0 .../ch | 6 + .../cm | 5 + .../cn | 11 + .../custom | 0 .../cz | 9 + .../de | 19 + .../dk | 5 + .../dz | 5 + .../ee | 3 + .../eg | 0 .../epo | 1 + .../es | 6 + .../et | 0 .../fi | 5 + .../fo | 1 + .../fr | 19 + .../gb | 10 + .../ge | 4 + .../gh | 8 + .../gn | 0 .../gr | 3 + .../hr | 4 + .../hu | 19 + .../id | 4 + .../ie | 4 + .../il | 4 + .../in | 43 +++ .../iq | 4 + .../ir | 7 + .../is | 3 + .../it | 8 + .../jp | 5 + .../ke | 1 + .../kg | 1 + .../kh | 0 .../kr | 1 + .../kz | 4 + .../la | 1 + .../latam | 4 + .../lk | 3 + .../lt | 7 + .../lv | 7 + .../ma | 8 + .../md | 1 + .../me | 7 + .../mk | 1 + .../ml | 3 + .../mm | 5 + .../mn | 0 .../mt | 3 + .../mv | 0 .../my | 1 + .../ng | 3 + .../nl | 3 + .../no | 10 + .../np | 0 .../nz | 1 + .../ph | 9 + .../pk | 4 + .../pl | 9 + .../pt | 6 + .../ro | 2 + .../rs | 8 + .../ru | 25 ++ .../se | 9 + .../si | 2 + .../sk | 3 + .../sn | 0 .../sy | 5 + .../tg | 0 .../th | 2 + .../tj | 1 + .../tm | 1 + .../tr | 7 + .../tw | 2 + .../tz | 0 .../ua | 9 + .../us | 28 ++ .../uz | 1 + .../vn | 2 + .../za | 0 ...alectl-list-x11-keymap-variants-static.txt | 341 ------------------ .../localectl-static-list-update | 19 +- usr/share/lintian/overrides/helper-scripts | 2 +- 112 files changed, 1222 insertions(+), 554 deletions(-) create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-options-static.txt create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/af create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/al create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/am create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ara create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/at create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/au create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/az create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ba create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bd create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/be create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bg create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/br create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/brai create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bt create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bw create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/by create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ca create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cd create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ch create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cm create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cn create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/custom create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/de create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dk create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ee create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/eg create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/epo create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/es create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/et create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fi create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fo create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fr create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gb create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ge create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gh create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gn create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gr create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hr create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hu create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/id create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ie create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/il create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/in create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/iq create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ir create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/is create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/it create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/jp create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ke create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kg create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kh create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kr create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/la create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/latam create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lk create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lt create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lv create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ma create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/md create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/me create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mk create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ml create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mm create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mn create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mt create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mv create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/my create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ng create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nl create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/no create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/np create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ph create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pk create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pl create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pt create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ro create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/rs create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ru create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/se create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/si create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sk create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sn create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sy create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tg create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/th create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tj create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tm create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tr create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tw create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ua create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/us create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/uz create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/vn create mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/za delete mode 100644 usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt diff --git a/changelog.upstream b/changelog.upstream index 50782815..f4c3edc6 100644 --- a/changelog.upstream +++ b/changelog.upstream @@ -1,3 +1,213 @@ +commit f5d60eac9499286ec87b5b03e9c09d57c8f0a41d +Author: Patrick Schleizer +Date: Tue Dec 9 09:34:44 2025 -0500 + + fix + +commit 1fab149a1f7c0a748c9f16ea007825eaa868d40c +Author: Patrick Schleizer +Date: Tue Dec 9 14:27:15 2025 +0000 + + bumped changelog version + +commit f18894375d89b4bbaf26dacfdaade6b403223248 +Author: Patrick Schleizer +Date: Tue Dec 9 09:21:00 2025 -0500 + + fix + +commit 2b112f1b1d37c230aa4af1a24dc7c37600d0d4b5 +Author: Patrick Schleizer +Date: Tue Dec 9 09:19:54 2025 -0500 + + fix + +commit 8a7e2880398b2aa493f8786adacb9fa9fb33d4b6 +Author: Patrick Schleizer +Date: Tue Dec 9 09:16:36 2025 -0500 + + fix + +commit 94bd6f3367bbd1ea55421c2ad70efe29e1f24b14 +Author: Patrick Schleizer +Date: Tue Dec 9 09:15:31 2025 -0500 + + fix + +commit 672a950d20db2a06e0a1b0cfc462dceba77578b0 +Author: Patrick Schleizer +Date: Tue Dec 9 09:14:37 2025 -0500 + + refactoring + +commit 459024419dc62fb6b295e55ce071d6c796e3c938 +Author: Patrick Schleizer +Date: Tue Dec 9 14:06:14 2025 +0000 + + bumped changelog version + +commit aa63080f9600e45ca838436ffe32eed5d1c39dcb +Author: Patrick Schleizer +Date: Tue Dec 9 09:01:01 2025 -0500 + + fix + +commit 6af9d14c3739569d0258e44710f05b799fa7110b +Author: Patrick Schleizer +Date: Tue Dec 9 08:59:04 2025 -0500 + + fix + +commit b7ae5c1e9ef4820918ebd49c321e12a29a9bdeb2 +Author: Patrick Schleizer +Date: Tue Dec 9 08:48:36 2025 -0500 + + comment + +commit 4e0068c8ab3a5b646ead8f8bacb9e398057163a7 +Author: Patrick Schleizer +Date: Tue Dec 9 08:48:11 2025 -0500 + + fix + +commit 3d8d2bf522dba4cc061e013197f69e89264e4e0f +Author: Patrick Schleizer +Date: Tue Dec 9 08:25:14 2025 -0500 + + fix + +commit ca8d7bfab570a4ecc26505be4b0f4e9c375b4803 +Author: Patrick Schleizer +Date: Tue Dec 9 08:03:51 2025 -0500 + + fix + +commit 993f0e5272240195da8ffb0d35f95e7b1e03fe2d +Author: Patrick Schleizer +Date: Tue Dec 9 06:58:23 2025 -0500 + + output + +commit 9160724f0952c5ec462406febe6667a9c280dc55 +Author: Patrick Schleizer +Date: Tue Dec 9 06:53:44 2025 -0500 + + fix + +commit 4d7f6075ac4f170ac2da7dee405df9b9a1b0faa1 +Author: Patrick Schleizer +Date: Tue Dec 9 06:49:04 2025 -0500 + + fix + +commit 501ecce93fa52ee6571d21cb046d345f5359d746 +Author: Patrick Schleizer +Date: Tue Dec 9 06:45:45 2025 -0500 + + fix + +commit 1030a2ed4e3636d2e98abbc77f5c3dfe12f103b4 +Author: Patrick Schleizer +Date: Tue Dec 9 06:42:30 2025 -0500 + + output + +commit 0c4549027f6199f05ad3abb75bede0de560fde1d +Author: Patrick Schleizer +Date: Tue Dec 9 06:37:13 2025 -0500 + + fix + +commit 7305312f37e3f8454130f36c44d0c9eeaa914521 +Author: Patrick Schleizer +Date: Tue Dec 9 06:29:30 2025 -0500 + + fix + +commit 136e39c0968bad65b98041982696b85c054640e9 +Author: Patrick Schleizer +Date: Tue Dec 9 06:26:50 2025 -0500 + + output + +commit 111f4f31f38dc5a69ab66a442268bfbc349d99fd +Author: Patrick Schleizer +Date: Tue Dec 9 06:24:02 2025 -0500 + + output + +commit 3772486f15e94cb47f32ed22f220448af5950201 +Author: Patrick Schleizer +Date: Tue Dec 9 06:23:18 2025 -0500 + + output + +commit ae6349514266819cbd65d542aa854e39ba9210ee +Author: Patrick Schleizer +Date: Tue Dec 9 06:20:44 2025 -0500 + + output + +commit 3d3e98027550bbd9a6a3b4562ac5b9664cd2a1df +Author: Patrick Schleizer +Date: Tue Dec 9 06:19:41 2025 -0500 + + output + +commit 1a01ace1df908fc132c2409787bb9a65a6072f4c +Author: Patrick Schleizer +Date: Tue Dec 9 06:17:40 2025 -0500 + + fix + +commit 52fdd8884af57ea713c5a6071d28b3945a1dd5ab +Author: Patrick Schleizer +Date: Tue Dec 9 06:13:52 2025 -0500 + + fix + +commit 209572618e5e01438553559a6f11c06158a265ff +Author: Patrick Schleizer +Date: Tue Dec 9 06:12:42 2025 -0500 + + refactoring + +commit 6d297395e3a6c336f8a82621ec25f2d06fb38432 +Author: Patrick Schleizer +Date: Tue Dec 9 06:11:20 2025 -0500 + + refactoring + +commit f8e5216419c1e943f4d098b739a159908aa0ebc2 +Author: Patrick Schleizer +Date: Tue Dec 9 04:29:43 2025 -0500 + + debugging + +commit 5c2987cbb5e77b73f73703c1fa350a3e0e52d3f2 +Author: Patrick Schleizer +Date: Tue Dec 9 04:26:20 2025 -0500 + + debugging + +commit 00662d62247268b017cf49a10d24eabfdba3da75 +Author: Patrick Schleizer +Date: Tue Dec 9 04:20:58 2025 -0500 + + output + +commit 82f9b9644155a46cb0e7cc3339471b3fa5664b28 +Author: Patrick Schleizer +Date: Tue Dec 9 04:18:15 2025 -0500 + + fix + +commit 470a0b02190efa1e9018041c56826113dff00db6 +Author: Patrick Schleizer +Date: Mon Dec 8 12:41:11 2025 +0000 + + bumped changelog version + commit a3f50d49851a4c2f2272310a82e7d4c0d1d45cc4 Author: Patrick Schleizer Date: Mon Dec 8 07:40:44 2025 -0500 diff --git a/debian/changelog b/debian/changelog index ad07084e..0a5dd5ff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +helper-scripts (3:44.5-1) unstable; urgency=medium + + * New upstream version (local package). + + -- Patrick Schleizer Tue, 09 Dec 2025 14:35:32 +0000 + +helper-scripts (3:44.4-1) unstable; urgency=medium + + * New upstream version (local package). + + -- Patrick Schleizer Tue, 09 Dec 2025 14:27:15 +0000 + +helper-scripts (3:44.3-1) unstable; urgency=medium + + * New upstream version (local package). + + -- Patrick Schleizer Tue, 09 Dec 2025 14:06:14 +0000 + helper-scripts (3:44.2-1) unstable; urgency=medium * New upstream version (local package). diff --git a/set-keymap-test-plan b/set-keymap-test-plan index 717fd1b6..ff64eec9 100644 --- a/set-keymap-test-plan +++ b/set-keymap-test-plan @@ -22,23 +22,23 @@ * [ ] Run `set-labwc-keymap us,us ,colemak ,grp:alt_shift_toggle,`. Complains that empty keyboard layout option was found? * [ ] Run `set-labwc-keymap us,us ,colemak grp:alt_shift_toggle,,caps:backspace`. Complains that empty keyboard layout option was found? * [ ] set-labwc-keymap persistent tests - * [ ] Run `set-labwc-keymap --persist us`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=us * XKB_DEFAULT_VARIANT= * XKB_DEFAULT_OPTIONS= - * [ ] Run `set-labwc-keymap --persist de`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap de`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=de * XKB_DEFAULT_VARIANT= * XKB_DEFAULT_OPTIONS= - * [ ] Run `set-labwc-keymap --persist cz`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap cz`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=cz * XKB_DEFAULT_VARIANT= * XKB_DEFAULT_OPTIONS= - * [ ] Run `set-labwc-keymap --persist us,de,cz '' grp:alt_shift_toggle`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us,de,cz '' grp:alt_shift_toggle`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=us,de,cz * XKB_DEFAULT_VARIANT= * XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle - * [ ] Run `set-labwc-keymap --persist us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=us,us,us,de * XKB_DEFAULT_VARIANT=,dvorak,colemak, * XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:backspace @@ -47,7 +47,7 @@ * XKB_DEFAULT_LAYOUT=us * XKB_DEFAULT_VARIANT=,dvorak,colemak, * XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:backspace - * [ ] Run `set-labwc-keymap --persist us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? * XKB_DEFAULT_LAYOUT=us,us,us,de * XKB_DEFAULT_VARIANT=,dvorak,colemak, * XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:backspace @@ -58,7 +58,7 @@ * XKB_DEFAULT_VARIANT=,dvorak,colemak, * XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:backspace * E=F - * [ ] Run `set-labwc-keymap --persist es`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap es`. Environment file is created with the following contents? * A=B * XKB_DEFAULT_LAYOUT=es * C=D @@ -72,7 +72,7 @@ * XKB_DEFAULT_VARIANT= * XKB_DEFAULT_OPTIONS= * E=F - * [ ] Run `set-labwc-keymap --persist us,us colemak,`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us,us colemak,`. Environment file is created with the following contents? * A=B * XKB_DEFAULT_LAYOUT=us,us * C=D @@ -89,7 +89,7 @@ * XKB_DEFAULT_OPTIONS= * XKB_DEFAULT_OPTIONS=caps:backspace * E=F - * [ ] Run `set-labwc-keymap --persist us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? + * [ ] Run `set-labwc-keymap us,us,us,de ,dvorak,colemak, grp:alt_shift_toggle,caps:backspace`. Environment file is created with the following contents? * A=B * #XKB_DEFAULT_LAYOUT=us * XKB_DEFAULT_LAYOUT=us,us,us,de @@ -100,7 +100,7 @@ * E=F * [ ] set-labwc-keymap misc options * [ ] Run `set-labwc-keymap --help`. Displays help? - * [ ] Run `set-labwc-keymap --config ./test --no-reload --persist us colemak`. Creates a file ~/.test with the following contents? + * [ ] Run `set-labwc-keymap --config ./test --no-reload us colemak`. Creates a file ~/.test with the following contents? * XKB_DEFAULT_LAYOUT=us * XKB_DEFAULT_VARIANT=colemak * XKB_DEFAULT_OPTIONS= @@ -251,3 +251,11 @@ * XKBVARIANT=",dvorak,colemak," * XKBOPTIONS="grp:alt_shift_toggle,caps:backspace" * E=F +* [ ] keymap option validation across commands + * [ ] Run `set-console-keymap --no-persist us`. Fails with an error that `--no-persist` is only supported by `set-labwc-keymap`? + * [ ] Run `set-system-keymap --no-reload us`. Fails with an error that `--no-reload` is only supported by `set-labwc-keymap`? + * [ ] Run `set-console-keymap --config=./test us`. Fails with an error that `--config` is only supported by `set-labwc-keymap`? + * [ ] Run `set-labwc-keymap --no-update-grub us`. Fails with an error that `--no-update-grub` is only supported by `set-grub-keymap`? + * [ ] Run `set-grub-keymap --read-stdin us`. Fails with an error that `--read-stdin` must be used with `--build-all`? + * [ ] Run `set-grub-keymap --build-all us`. Fails with an error that `--build-all` does not accept positional arguments? + * [ ] Run `set-grub-keymap --build-all --interactive`. Fails with an error that `--interactive` cannot be used with `--build-all`? diff --git a/usr/bin/localectl-static b/usr/bin/localectl-static index 7a6d74c1..784f35b7 100755 --- a/usr/bin/localectl-static +++ b/usr/bin/localectl-static @@ -8,9 +8,15 @@ set -o nounset set -o errtrace set -o pipefail +command -v stcat >/dev/null +command -v pager >/dev/null + +use_pager='true' + while [ -n "${1:-}" ]; do case "$1" in '--no-pager') + use_pager='false' shift ;; '--') @@ -22,13 +28,51 @@ while [ -n "${1:-}" ]; do ;; esac done + args=( "$@" ) +subcommand="${args[0]:-}" + +if [ -z "${subcommand}" ]; then + printf '%s\n' "$0: ERROR: Missing command (expected: list-x11-keymap-layouts|list-x11-keymap-variants|list-x11-keymap-options)" + exit 1 +fi + +helper_scripts_share_dir='/usr/share/helper-scripts' +layouts_static_file="${helper_scripts_share_dir}/localectl-list-x11-keymap-layouts-static.txt" +variants_static_dir="${helper_scripts_share_dir}/localectl-list-x11-keymap-variants-static.d" +options_static_file="${helper_scripts_share_dir}/localectl-list-x11-keymap-options-static.txt" -if [ "$args" = "list-x11-keymap-layouts" ]; then - stcat /usr/share/helper-scripts/localectl-list-x11-keymap-layouts-static.txt -elif [ "$args" = "list-x11-keymap-variants" ]; then - stcat /usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt +if [ "${subcommand}" = "list-x11-keymap-layouts" ]; then + if [ "$use_pager" = 'true' ]; then + stcat "${layouts_static_file}" | pager + else + stcat "${layouts_static_file}" + fi +elif [ "${subcommand}" = "list-x11-keymap-variants" ]; then + if [ -z "${args[1]:-}" ]; then + printf '%s\n' "$0: ERROR: Missing layout argument!" + exit 1 + fi + if ! [ -d "${variants_static_dir}" ]; then + printf '%s\n' "$0: ERROR: Folder variants_static_dir '${variants_static_dir}' missing! args[1]: '${args[1]}'!" + exit 1 + fi + if ! [ -f "${variants_static_dir}/${args[1]}" ]; then + printf '%s\n' "$0: ERROR: Unrecognized keymap '${args[1]}'!" + exit 1 + fi + if [ "$use_pager" = 'true' ]; then + stcat "${variants_static_dir}/${args[1]}" | pager + else + stcat "${variants_static_dir}/${args[1]}" + fi +elif [ "${subcommand}" = "list-x11-keymap-options" ]; then + if [ "$use_pager" = 'true' ]; then + stcat "${options_static_file}" | pager + else + stcat "${options_static_file}" + fi else - printf '%s\n' "$0: ERROR: Unknown command: '$@'" + printf '%s\n' "$0: ERROR: Unknown command: '${args[*]}'" exit 1 fi diff --git a/usr/bin/set-console-keymap b/usr/bin/set-console-keymap index 5ad6ca19..6cd6a27c 100755 --- a/usr/bin/set-console-keymap +++ b/usr/bin/set-console-keymap @@ -12,10 +12,11 @@ true "$0: START" print_usage() { printf '%s\n' "$0: Set console keyboard layout for next boot" >&2 - printf '%s\n' "Usage: $0 [--help|-h] [--interactive] -- [layout [variant [option]]]" >&2 + printf '%s\n' "Usage: $0 [--help|-h] [--no-live-changes] [--interactive] -- [layout [variant [option]]]" >&2 printf '%s\n' 'Options:' >&2 - printf '%s\n' '--help, -h Print this help message.' >&2 - printf '%s\n' '--interactive Show an interactive user interface.' >&2 + printf '%s\n' '--help, -h Print this help message.' >&2 + printf '%s\n' '--no-live-changes Do not change the keyboard layout in the active running session.' >&2 + printf '%s\n' '--interactive Show an interactive user interface.' >&2 printf '\n' >&2 printf '%s\n' 'Examples:' >&2 printf '%s\n' ' set-console-keymap de' >&2 diff --git a/usr/bin/set-grub-keymap b/usr/bin/set-grub-keymap index c9885b78..0ef7f2ca 100755 --- a/usr/bin/set-grub-keymap +++ b/usr/bin/set-grub-keymap @@ -12,20 +12,20 @@ true "$0: START" print_usage() { printf '%s\n' "$0: Set keyboard layout for GRUB" >&2 - printf '%s\n' "Usage: $0 [--help|-h] [--interactive] [--no-update-grub] -- [layout [variant [option]]]" >&2 - printf '%s\n' " Or: $0 --build-all [--help|-h] [--read-stdin] [--no-update-grub]" >&2 + printf '%s\n' "Usage: $0 [--help|-h] [--interactive] [--no-live-changes] [--no-update-grub] -- [layout [variant [option]]]" >&2 + printf '%s\n' " Or: $0 --build-all [--help|-h] [--read-stdin] [--no-live-changes] [--no-update-grub]" >&2 printf '%s\n' 'Options:' >&2 - printf '%s\n' '--help, -h Print this help message.' >&2 - printf '%s\n' '--interactive Show an interactive user interface.' >&2 - printf '%s\n' '--no-update-grub Do not update grub.cfg after building layouts.' >&2 - printf '%s\n' '--build-all Builds all standard keyboard layouts for GRUB.' >&2 - printf '%s\n' '--read-stdin Read the list of keyboard layouts from stdin rather than' >&2 - printf '%s\n' ' getting it from localectl.' >&2 + printf '%s\n' '--help, -h Print this help message.' >&2 + printf '%s\n' '--interactive Show an interactive user interface.' >&2 + printf '%s\n' '--no-live-changes Do not update grub.cfg after building layouts.' >&2 + printf '%s\n' '--no-update-grub Skip running update-grub after building layouts.' >&2 + printf '%s\n' '--read-stdin Read a newline-delimited list of layouts from standard input when using --build-all.' >&2 + printf '%s\n' '--build-all Builds all standard keyboard layouts for GRUB.' >&2 printf '\n' >&2 printf '%s\n' 'Examples:' >&2 printf '%s\n' ' set-grub-keymap de' >&2 printf '%s\n' ' set-grub-keymap us colemak' >&2 - printf '%s\n' ' set-grub-keymap --build-all' + printf '%s\n' ' set-grub-keymap --build-all' >&2 } if [ "$(id -u)" != "0" ]; then diff --git a/usr/bin/set-labwc-keymap b/usr/bin/set-labwc-keymap index fb4de8ba..6cf825cf 100755 --- a/usr/bin/set-labwc-keymap +++ b/usr/bin/set-labwc-keymap @@ -12,17 +12,18 @@ true "$0: START" print_usage() { printf '%s\n' "$0: Set keyboard layout for labwc" >&2 - printf '%s\n' "Usage: $0 [--help|-h] [--no-persist] [--no-reload] [--config=] [--interactive] -- [layout [variant [option]]]" >&2 + printf '%s\n' "Usage: $0 [--help|-h] [--no-persist] [--no-reload] [--config=] [--no-live-changes] [--interactive] -- [layout [variant [option]]]" >&2 printf '%s\n' 'Options:' >&2 - printf '%s\n' '--help, -h Print this help message.' >&2 - printf '%s\n' '--no-persist Make layout change non-persistent.' >&2 - printf '%s\n' '--no-reload Skip reloading labwc config. Only useful with --persist.' >&2 - printf '%s\n' '--config= Specify an alternative config file path.' >&2 - printf '%s\n' '--interactive Show an interactive user interface.' >&2 + printf '%s\n' '--help, -h Print this help message.' >&2 + printf '%s\n' '--no-persist Make layout change non-persistent.' >&2 + printf '%s\n' '--no-reload Skip reloading labwc config. Only useful when persisting configuration.' >&2 + printf '%s\n' '--config= Specify an alternative config file path.' >&2 + printf '%s\n' '--no-live-changes Do not change the keyboard layout in the active running session.' >&2 + printf '%s\n' '--interactive Show an interactive user interface.' >&2 printf '\n' >&2 printf '%s\n' 'Examples:' >&2 printf '%s\n' ' set-labwc-keymap de' >&2 - printf '%s\n' ' set-labwc-keymap --persist us colemak' >&2 + printf '%s\n' ' set-labwc-keymap --no-persist us colemak' >&2 printf '%s\n' ' set-labwc-keymap us,cz,de "" grp:alt_shift_toggle' >&2 } diff --git a/usr/bin/set-system-keymap b/usr/bin/set-system-keymap index d1e2c165..eb28030d 100755 --- a/usr/bin/set-system-keymap +++ b/usr/bin/set-system-keymap @@ -12,10 +12,11 @@ true "$0: START" print_usage() { printf '%s\n' "$0: Set system-wide keyboard layout for next boot" >&2 - printf '%s\n' "Usage: $0 [--help|-h] [--interactive] -- [layout [variant [option]]]" >&2 + printf '%s\n' "Usage: $0 [--help|-h] [--no-live-changes] [--interactive] -- [layout [variant [option]]]" >&2 printf '%s\n' 'Options:' >&2 - printf '%s\n' '--help, -h Print this help message.' >&2 - printf '%s\n' '--interactive Show an interactive user interface.' >&2 + printf '%s\n' '--help, -h Print this help message.' >&2 + printf '%s\n' '--no-live-changes Do not change the keyboard layout in the active running session or update grub.cfg.' >&2 + printf '%s\n' '--interactive Show an interactive user interface.' >&2 printf '\n' >&2 printf '%s\n' 'Examples:' >&2 printf '%s\n' ' set-system-keymap de' >&2 diff --git a/usr/libexec/helper-scripts/set-keyboard-layout.sh b/usr/libexec/helper-scripts/set-keyboard-layout.sh index 3a627b98..87e18aa0 100755 --- a/usr/libexec/helper-scripts/set-keyboard-layout.sh +++ b/usr/libexec/helper-scripts/set-keyboard-layout.sh @@ -18,19 +18,19 @@ set -o pipefail error_handler() { exit_code="${?}" printf '%s\n' "\ +$0: error_handler: BASH_COMMAND: ${BASH_COMMAND} exit_code: ${exit_code}" exit "${exit_code}" } exit_handler() { - [[ -v "exit_code" ]] || exit_code="0" + exit_code="${?}" printf '%s\n' "" if [ "$exit_code" = 0 ]; then printf '%s\n' "$0: INFO: OK." else printf '%s\n' "$0: ERROR: Exiting with code '$exit_code'." >&2 - fi exit "$exit_code" } @@ -253,47 +253,13 @@ replace_file_variables() { ## Sets the XKB layout(s), variant(s), and option(s) in 'labwc', either for just ## this session or persistently. set_labwc_keymap() { - local args=("$@") local labwc_config_bak_path var_idx labwc_env_file_string \ - labwc_config_directory \ - calc_replace_args labwc_existing_config + labwc_config_directory calc_replace_args labwc_existing_config labwc_config_bak_path='' - ## We must have at least one, but no more than three, arguments specifying the - ## keyboard layout(s). - if [ "${#args[@]}" = '0' ] || [ -z "${args[0]:-}" ] \ - || (( ${#args[@]} > 3 )); then - ## The print_usage function is provided by the script that sources this - ## library. - print_usage - exit 1 - fi - - ## If we have less than three arguments, populate the `args` array with empty - ## strings for the remaining arguments. This will make 'labwc' unset the - ## corresponding XKB environment variables internally, allowing the user to - ## run something like `set-labwc-keymap us colemak`, then - ## `set-labwc-keymap us` and have their keyboard not stuck in the Colemak - ## layout after the second command. - while (( ${#args[@]} < 3 )); do - args+=( '' ) - done - - ## Interactive mode checks the layouts for us already, no need to do it - ## twice. - if [ "${skl_interactive}" = 'false' ]; then - check_keyboard_layouts "${args[0]}" || return 1 - if [ -n "${args[1]:-}" ]; then - check_keyboard_layout_variants "${args[0]}" "${args[1]}" || return 1 - fi - if [ -n "${args[2]:-}" ]; then - check_keyboard_layout_options "${args[2]}" || return 1 - fi - fi - if test -d "${labwc_config_path}"; then - printf '%s\n' "${FUNCNAME[0]}: ERROR: --config='${labwc_config_path}' is a folder but should be a file!" >&2 + printf '%s\n' "${FUNCNAME[0]}: ERROR: labwc configuration path '${labwc_config_path}' is a folder but should be a file!" >&2 return 1 fi @@ -348,26 +314,30 @@ set_labwc_keymap() { return 1 fi - if [ "${no_reload}" = 'false' ]; then - if ischroot --default-false; then - printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping executing 'labwc --reconfigure' inside chroot, ok." - elif pgrep -- labwc >/dev/null; then - ## 'labwc' is running. So the user most likely wishes the change to instantly apply. - ## Therefore let's run 'labwc --reconfigure'. - if ! command -v labwc >/dev/null; then - ## This would be weird. 'labwc' is running but unavailable in the PATH environment variable. - printf '%s\n' "${FUNCNAME[0]}: ERROR: The 'labwc' program is unavailable in the PATH environment variable or not installed." >&2 + if [ "${no_reload}" = 'true' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'labwc --reconfigure' due to '--no-reload' option." + elif [ "${do_live_changes}" = 'false' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'labwc --reconfigure' due to '--no-live-changes' option." + elif ischroot --default-false; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping executing 'labwc --reconfigure' inside chroot, ok." + elif [ "$(id --user)" = 0 ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping executing 'labwc --reconfigure' because running as root, ok." + elif pgrep -- labwc >/dev/null; then + ## 'labwc' is running. So the user most likely wishes the change to instantly apply. + ## Therefore let's run 'labwc --reconfigure'. + if ! command -v labwc >/dev/null; then + ## This would be weird. 'labwc' is running but unavailable in the PATH environment variable. + printf '%s\n' "${FUNCNAME[0]}: ERROR: The 'labwc' program is unavailable in the PATH environment variable or not installed." >&2 + else + ## 'labwc' is running and available in the PATH environment variable. + if labwc --reconfigure; then + printf '%s\n' "${FUNCNAME[0]}: INFO: 'labwc --reconfigure' OK." else - ## 'labwc' is running and available in the PATH environment variable. - if labwc --reconfigure; then - printf '%s\n' "${FUNCNAME[0]}: INFO: 'labwc --reconfigure' OK." - else - printf '%s\n' "${FUNCNAME[0]}: WARNING: 'labwc --reconfigure' reconfiguration failed!" - fi + printf '%s\n' "${FUNCNAME[0]}: WARNING: 'labwc --reconfigure' reconfiguration failed!" >&2 fi - else - printf '%s\n' "${FUNCNAME[0]}: INFO: 'labwc' not running, no need to execute 'labwc --reconfigure', OK." fi + else + printf '%s\n' "${FUNCNAME[0]}: INFO: 'labwc' not running, no need to execute 'labwc --reconfigure', OK." fi ## If we do not want to persist the new configuration, put the old @@ -422,13 +392,17 @@ dpkg_reconfigure_function() { } dracut_run() { + if [ "${do_live_changes}" = 'false' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'dracut --regenerate-all --force' due to '--no-live-changes' option." + return 0 + fi if ischroot --default-false; then ## Inside chroot such as during image builds it may be best to leave running dracut to the build tool. printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'dracut --regenerate-all --force' inside chroot, ok." return 0 fi if ! command -v dracut >/dev/null; then - printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. The 'dracut' program is unavailable in the PATH environment variable or not installed. Keyboard layout in initramfs unchanged." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. The 'dracut' program is unavailable in the PATH environment variable or not installed. Keyboard layout in initramfs unchanged." >&2 return 0 fi printf '%s\n' "${FUNCNAME[0]}: INFO: Rebuilding all dracut initramfs images... This will take a while..." @@ -447,8 +421,8 @@ dracut_run() { ## Quote 'man setupcon': ## The keyboard configuration is specified in ~/.keyboard or /etc/default/keyboard. ## -## However, this does not help much because even if '~/.keyboard' still 'setupcon' -## cannot be run without root rights. +## However, this does not help much because even if '~/.keyboard' exists, +## 'setupcon' still cannot be run without root rights. ## It may be possible to set 'setupcon' (or 'loadkeys'?) SUID, however this is unwanted ## for security reasons. ## https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener @@ -470,44 +444,14 @@ dracut_run() { ## forced to hard-reboot your computer if you run setupcon with this ## option and the screen is controlled by a X server. set_console_keymap() { - local args=("$@") local var_idx kb_conf_file_string kb_conf_path kb_conf_dir \ calc_replace_args dpkg_reconfigure_command printf '%s\n' "${FUNCNAME[0]}: INFO: Console keymap configuration..." - ## Parse command line arguments kb_conf_dir='/etc/default' kb_conf_path="${kb_conf_dir}/keyboard" - ## We must have at least one, but no more than three, arguments specifying the - ## keyboard layout(s). - if [ "${#args[@]}" = '0' ] || [ -z "${args[0]:-}" ] \ - || (( ${#args[@]} > 3 )); then - ## The print_usage function is provided by the script that sources this - ## library. - print_usage - exit 1 - fi - - ## If we have less than three arguments, populate the `args` array with empty - ## strings for the remaining arguments. - while (( ${#args[@]} < 3 )); do - args+=( '' ) - done - - ## Interactive mode checks the layouts for us already, no need to do it - ## twice. - if [ "${skl_interactive}" = 'false' ]; then - check_keyboard_layouts "${args[0]}" || return 1 - if [ -n "${args[1]:-}" ]; then - check_keyboard_layout_variants "${args[0]}" "${args[1]}" || return 1 - fi - if [ -n "${args[2]:-}" ]; then - check_keyboard_layout_options "${args[2]}" || return 1 - fi - fi - if ! mkdir --parents -- "${kb_conf_dir}" ; then printf '%s\n' "${FUNCNAME[0]}: ERROR: Cannot ensure the existence of '${kb_conf_dir}'!" >&2 return 1 @@ -542,6 +486,11 @@ set_console_keymap() { ## Apply the changes to the config file to the system. dpkg_reconfigure_function "${dpkg_reconfigure_command[@]}" + if [ "${do_live_changes}" = 'false' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'systemctl --no-block --no-pager restart keyboard-setup.service' due to '--no-live-changes' option." + return 0 + fi + if ischroot --default-false; then printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'systemctl --no-block --no-pager restart keyboard-setup.service' inside chroot, ok." return 0 @@ -553,21 +502,27 @@ set_console_keymap() { if "${timeout_command[@]}" systemctl --no-block --no-pager restart keyboard-setup.service; then printf '%s\n' "${FUNCNAME[0]}: INFO: Restart of systemd unit 'keyboard-setup.service' success." else - printf '%s\n' "${FUNCNAME[0]}: WARNING: Restart of systemd unit 'keyboard-setup.service' failed. Reboot may be required to change the virtual console keyboard layout." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Restart of systemd unit 'keyboard-setup.service' failed. Reboot may be required to change the virtual console keyboard layout." >&2 fi else - printf '%s\n' "${FUNCNAME[0]}: WARNING: Systemd unit 'keyboard-setup.service' is not running or does not exist. Reboot may be required to change the virtual console keyboard layout." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Systemd unit 'keyboard-setup.service' is not running or does not exist. Reboot may be required to change the virtual console keyboard layout." >&2 fi printf '%s\n' "${FUNCNAME[0]}: INFO: system console configuration success." } ## NOTE: This function assumes it is run as root. -kb_reload_root() { - local loginctl_users_json user_list uid_list user_name uid wl_sock wl_pid wl_comm account_name counter +labwc_kb_reload_root() { + local loginctl_users_json loginctl_users_parsed user_list uid_list \ + user_name line uid wl_sock wl_pid wl_comm account_name counter printf '%s\n' "${FUNCNAME[0]}: INFO: Reloading keyboard layout..." + if [ "${do_live_changes}" = 'false' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping sending SIGHUP to 'labwc' due to '--no-live-changes' option." + return 0 + fi + if ischroot --default-false; then printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping sending SIGHUP to 'labwc' inside chroot, ok." return 0 @@ -588,7 +543,7 @@ kb_reload_root() { )" || true if [ "$loginctl_users_json" = "" ]; then - printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. 'loginctl -j list-users' returned no users. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. 'loginctl -j list-users' returned no users. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." >&2 return 0 fi @@ -597,7 +552,7 @@ kb_reload_root() { if [ "$loginctl_users_parsed" = "" ]; then printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. Failed to parse 'loginctl_users_json' using 'jq'. loginctl_users_json: '$loginctl_users_json' -Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." +Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." >&2 return 0 fi @@ -633,7 +588,7 @@ Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layo account_name="$(id --name --user -- "${uid}")" if [ "${wl_comm}" = 'labwc' ]; then - counter=$(( counter + 1)) + counter=$(( counter + 1 )) ## From the labwc manpage: ## ## -r, --reconfigure @@ -655,10 +610,10 @@ Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layo if kill -s SIGHUP -- "${wl_pid}"; then printf '%s\n' "${FUNCNAME[0]}: INFO: Signal SIGHUP ok." else - printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. Sending signal SIGHUP failed. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. Sending signal SIGHUP failed. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." >&2 fi else - printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. Not sending signal SIGHUP for account '${account_name}' to process 'labwc' pid '${wl_pid}' because it is not running. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." + printf '%s\n' "${FUNCNAME[0]}: WARNING: Minor issue. Not sending signal SIGHUP for account '${account_name}' to process 'labwc' pid '${wl_pid}' because it is not running. Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layout." >&2 fi fi done @@ -672,26 +627,9 @@ Reboot may be required to change the graphical (Wayland / 'labwc') keyboard layo ## Sets the system-wide keyboard layout for the console, greeter, and labwc ## sessions all at once. set_system_keymap() { - local args=("$@") local labwc_system_wide_config_dir labwc_system_wide_config_path \ labwc_greeter_config_dir labwc_greeter_config_path - ## We must have at least one, but no more than three, arguments specifying the - ## keyboard layout(s). - if [ "${#args[@]}" = '0' ] || [ -z "${args[0]:-}" ] \ - || (( ${#args[@]} > 3 )); then - ## The print_usage function is provided by the script that sources this - ## library. - print_usage - exit 1 - fi - - ## If we have less than three arguments, populate the `args` array with empty - ## strings for the remaining arguments. - while (( ${#args[@]} < 3 )); do - args+=( '' ) - done - labwc_system_wide_config_dir='/etc/xdg/labwc' labwc_system_wide_config_path="${labwc_system_wide_config_dir}/environment" labwc_greeter_config_dir='/etc/greetd/labwc-config' @@ -706,47 +644,50 @@ set_system_keymap() { return 1 fi - set_console_keymap \ - "${args[@]}" \ - || return 1 + set_console_keymap || return 1 printf '%s\n' "" ## {{{ Set the specified keyboard layout for labwc both system-wide and for the greeter. printf '%s\n' "${FUNCNAME[0]}: INFO: 'labwc' configuration..." - labwc_config_path="${labwc_system_wide_config_path}" \ - set_labwc_keymap \ - "${args[@]}" \ - || return 1 + labwc_config_path="${labwc_system_wide_config_path}" + set_labwc_keymap || return 1 printf '%s\n' "" printf '%s\n' "${FUNCNAME[0]}: INFO: 'greetd' configuration..." - labwc_config_path="${labwc_greeter_config_path}" \ - set_labwc_keymap \ - "${args[@]}" \ - || return 1 + labwc_config_path="${labwc_greeter_config_path}" + set_labwc_keymap || return 1 printf '%s\n' "" ## }}} - set_grub_keymap \ - "${args[@]}" \ - || return 1 + set_grub_keymap || return 1 printf '%s\n' "" - kb_reload_root + labwc_kb_reload_root printf '%s\n' "" + ## Soft-fail. dracut_run printf '%s\n' "" - printf '%s\n' "${FUNCNAME[0]}: INFO: Keyboard layout change successful." + if [ "${exit_code:-0}" = 0 ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Keyboard layout change successful." + return 0 + fi + + printf '%s\n' "${FUNCNAME[0]}: WARNING: Keyboard layout changes applied, but some steps failed, see above." } rebuild_grub_config() { local update_grub_output + if [ "${do_live_changes}" = 'false' ]; then + printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'update-grub' due to '--no-live-changes' option." + return 0 + fi + if ischroot --default-false; then ## Inside chroot such as during image builds it may be best to leave running update-grub to the build tool. printf '%s\n' "${FUNCNAME[0]}: INFO: Skipping command 'update-grub' inside chroot, ok." @@ -770,39 +711,10 @@ rebuild_grub_config() { } set_grub_keymap() { - local args=("$@") local grub_kbdcomp_output name_part_list name_part printf '%s\n' "${FUNCNAME[0]}: INFO: GRUB keymap configuration..." - ## We must have at least one, but no more than three, arguments specifying the - ## keyboard layout(s). - if [ "${#args[@]}" = '0' ] || [ -z "${args[0]:-}" ] \ - || (( ${#args[@]} > 3 )); then - ## The print_usage function is provided by the script that sources this - ## library. - print_usage - exit 1 - fi - - ## If we have less than three arguments, populate the `args` array with empty - ## strings for the remaining arguments. - while (( ${#args[@]} < 3 )); do - args+=( '' ) - done - - ## Interactive mode checks the layouts for us already, no need to do it - ## twice. - if [ "${skl_interactive}" = 'false' ]; then - check_keyboard_layouts "${args[0]}" || return 1 - if [ -n "${args[1]:-}" ]; then - check_keyboard_layout_variants "${args[0]}" "${args[1]}" || return 1 - fi - if [ -n "${args[2]:-}" ]; then - check_keyboard_layout_options "${args[2]}" || return 1 - fi - fi - if ! mkdir --parents -- "${grub_kb_layout_dir}"; then printf '%s\n' "${FUNCNAME[0]}: ERROR: Cannot create GRUB keyboard layout dir '${grub_kb_layout_dir}'!" >&2 return 1 @@ -824,7 +736,7 @@ set_grub_keymap() { if ! grub_kbdcomp_output="$( grub-kbdcomp -o "${grub_kb_layout_dir}/user-layout.gkb" "${args[@]}" 2>&1 )"; then - printf '%s\n' "${FUNCNAME[0]}: ERROR: Failed to build GRUB keyboard layout!" + printf '%s\n' "${FUNCNAME[0]}: ERROR: Failed to build GRUB keyboard layout!" >&2 printf '%s\n' "${FUNCNAME[0]}: Output from the 'grub-kbdcomp' command:" >&2 printf '%s\n' "${grub_kbdcomp_output}" >&2 return 1 @@ -846,7 +758,7 @@ set_grub_keymap() { } build_all_grub_keymaps() { - local keymap_list keymap old_keymap_file grub_kbdcomp_output + local keymap_list keymap old_keymap_file grub_kbdcomp_output old_nullglob if [ "${do_read_stdin}" = 'true' ]; then printf '%s\n' "${FUNCNAME[0]}: INFO: Getting list of keyboard layouts from 'stdin' (standard input)." @@ -856,6 +768,11 @@ build_all_grub_keymaps() { readarray -t keymap_list <<< "${localectl_kb_layouts}" fi + if (( ${#keymap_list[@]} == 0 )); then + printf '%s\n' "${FUNCNAME[0]}: ERROR: No keyboard layouts were provided to build!" >&2 + return 1 + fi + if ! mkdir --parents -- "${grub_kb_layout_dir}"; then printf '%s\n' "${FUNCNAME[0]}: ERROR: Cannot create GRUB keyboard layout dir '${grub_kb_layout_dir}'!" >&2 return 1 @@ -867,6 +784,8 @@ build_all_grub_keymaps() { fi printf '%s\n' "${FUNCNAME[0]}: INFO: Building keyboard layouts for GRUB." + old_nullglob="$(shopt -p nullglob || true)" + shopt -s nullglob for old_keymap_file in "${grub_kb_layout_dir}/"* ; do if ! [ -f "${old_keymap_file}" ]; then continue @@ -877,6 +796,7 @@ build_all_grub_keymaps() { fi safe-rm -- "${old_keymap_file}" done + eval "${old_nullglob}" for keymap in "${keymap_list[@]}"; do if [ "${keymap}" = 'custom' ]; then continue @@ -958,10 +878,8 @@ Alt+Shift the keyboard layout switch shortcut, specify " } -## Scripts such as 'set-grub-keymap' etc. call function 'interactive_ui' directly. interactive_ui() { - local layout_str variant_str option_str \ - variant_key_str + local layout_str variant_str option_str variant_key_str printf '%s\n' "\ Type 'list' at any prompt to see a list of valid options. @@ -1081,17 +999,27 @@ Type 'exit' to quit without changing keyboard layout settings. fi done - "${function_name}" \ - "${layout_str}" \ - "${variant_str}" \ - "${option_str}" \ - || return 1 + ## global args + args=( "${layout_str}" "${variant_str}" "${option_str}" ) + + # shellcheck disable=SC2154 + "${function_name}" || return 1 +} + +unknown_option_error() { + printf '%s\n' "parse_cmd: ERROR: Unknown option '$1'." >&2 + print_usage + exit 1 } parse_cmd() { while [ -n "${1:-}" ]; do case "$1" in '--no-persist') + if [ "${function_name}" != 'set_labwc_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--no-persist' is only supported by 'set-labwc-keymap'." >&2 + exit 1 + fi do_persist='false' shift ;; @@ -1102,10 +1030,18 @@ parse_cmd() { exit 0 ;; '--no-reload') + if [ "${function_name}" != 'set_labwc_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--no-reload' is only supported by 'set-labwc-keymap'." >&2 + exit 1 + fi no_reload='true' shift ;; '--config='*) + if [ "${function_name}" != 'set_labwc_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--config' is only supported by 'set-labwc-keymap'." >&2 + exit 1 + fi labwc_config_path="$(cut -d'=' -f2- <<< "$1")" if [ -z "$labwc_config_path" ]; then printf '%s\n' "${FUNCNAME[0]}: ERROR: No '--config=path' specified!" >&2 @@ -1118,17 +1054,33 @@ parse_cmd() { shift ;; '--no-update-grub') + if [ "${function_name}" != 'set_grub_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--no-update-grub' is only supported by 'set-grub-keymap'." >&2 + exit 1 + fi do_update_grub='false' shift ;; '--read-stdin') + if [ "${function_name}" != 'set_grub_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--read-stdin' is only supported by 'set-grub-keymap'." >&2 + exit 1 + fi do_read_stdin='true' shift ;; '--build-all') + if [ "${function_name}" != 'set_grub_keymap' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--build-all' is only supported by 'set-grub-keymap'." >&2 + exit 1 + fi do_build_all_grub_keymaps='true' shift ;; + '--no-live-changes') + do_live_changes='false' + shift + ;; '--') shift break @@ -1150,20 +1102,58 @@ parse_cmd() { ## Variable '$function_name' gets set by the calling script. + if [ "${do_read_stdin}" = 'true' ] && [ "${do_build_all_grub_keymaps}" != 'true' ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--read-stdin' is only supported together with '--build-all'." >&2 + exit 1 + fi + if [ "$do_build_all_grub_keymaps" = "true" ]; then + if (( ${#args[@]} > 0 )); then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--build-all' does not accept positional arguments." >&2 + print_usage + exit 1 + fi + if [ "${skl_interactive}" = "true" ]; then + printf '%s\n' "${FUNCNAME[0]}: ERROR: Option '--interactive' cannot be used with '--build-all'." >&2 + print_usage + exit 1 + fi ## Build all GRUB keymaps if requested. build_all_grub_keymaps "${args[@]}" exit 0 fi - if [ "$skl_interactive" = "true" ]; then + if [ "${skl_interactive}" = "true" ]; then interactive_ui "${args[@]}" exit 0 fi + ## We must have at least one, but no more than three, arguments specifying the + ## keyboard layout(s). + if [ "${#args[@]}" = '0' ] || [ -z "${args[0]:-}" ] \ + || (( ${#args[@]} > 3 )); then + print_usage + exit 1 + fi + + ## If we have less than three arguments, populate the `args` array with empty + ## strings for the remaining arguments. + while (( ${#args[@]} < 3 )); do + args+=( '' ) + done + + ## Ensure keyboard setting validity before calling the + ## configuration function + check_keyboard_layouts "${args[0]}" || return 1 + if [ -n "${args[1]:-}" ]; then + check_keyboard_layout_variants "${args[0]}" "${args[1]}" || return 1 + fi + if [ -n "${args[2]:-}" ]; then + check_keyboard_layout_options "${args[2]}" || return 1 + fi + "$function_name" "${args[@]}" } - ## Debugging. # ischroot() { # true @@ -1191,6 +1181,7 @@ command -v ischroot >/dev/null command -v jq >/dev/null command -v tr >/dev/null command -v loginctl >/dev/null +command -v pgrep >/dev/null command -v /usr/libexec/helper-scripts/query-sock-pid >/dev/null command -v localectl-static >/dev/null @@ -1208,9 +1199,9 @@ skl_default_keyboard_var_names=( ) args=() -kb_set_opts=() -do_read_stdin='false' skl_interactive='false' +do_live_changes='true' +do_read_stdin='false' do_update_grub='true' do_persist='true' no_reload='false' diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-options-static.txt b/usr/share/helper-scripts/localectl-list-x11-keymap-options-static.txt new file mode 100644 index 00000000..0c23ee31 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-options-static.txt @@ -0,0 +1,229 @@ +Compose +altwin +altwin:alt_super_win +altwin:alt_win +altwin:ctrl_alt_win +altwin:ctrl_rwin +altwin:ctrl_win +altwin:hyper_win +altwin:left_meta_win +altwin:menu +altwin:menu_win +altwin:meta_alt +altwin:meta_win +altwin:prtsc_rwin +altwin:swap_alt_win +altwin:swap_lalt_lwin +apple:alupckeys +apple:jp_oadg109a +apple:jp_pc106 +caps +caps:backspace +caps:capslock +caps:ctrl_modifier +caps:digits_row +caps:escape +caps:escape_shifted_capslock +caps:hyper +caps:internal +caps:internal_nocancel +caps:menu +caps:none +caps:numlock +caps:shift +caps:shift_nocancel +caps:shiftlock +caps:super +caps:swapescape +compat +compose:102 +compose:102-altgr +compose:caps +compose:caps-altgr +compose:ins +compose:lctrl +compose:lctrl-altgr +compose:lwin +compose:lwin-altgr +compose:menu +compose:menu-altgr +compose:paus +compose:prsc +compose:ralt +compose:rctrl +compose:rctrl-altgr +compose:rwin +compose:rwin-altgr +compose:sclk +ctrl +ctrl:aa_ctrl +ctrl:ac_ctrl +ctrl:grouptoggle_capscontrol +ctrl:hyper_capscontrol +ctrl:lctrl_meta +ctrl:menu_rctrl +ctrl:nocaps +ctrl:ralt_rctrl +ctrl:rctrl_ralt +ctrl:swap_lalt_lctl +ctrl:swap_lalt_lctl_lwin +ctrl:swap_lwin_lctl +ctrl:swap_ralt_rctl +ctrl:swap_rwin_rctl +ctrl:swapcaps +currencysign +custom +custom:types +esperanto +esperanto:colemak +esperanto:dvorak +esperanto:qwerty +eurosign:2 +eurosign:4 +eurosign:5 +eurosign:E +eurosign:e +grab:break_actions +grab:debug +grp +grp:alt_altgr_toggle +grp:alt_caps_toggle +grp:alt_shift_toggle +grp:alt_shift_toggle_bidir +grp:alt_space_toggle +grp:alts_toggle +grp:caps_select +grp:caps_switch +grp:caps_toggle +grp:ctrl_alt_toggle +grp:ctrl_alt_toggle_bidir +grp:ctrl_select +grp:ctrl_shift_toggle +grp:ctrl_shift_toggle_bidir +grp:ctrl_space_toggle +grp:ctrls_toggle +grp:lalt_lshift_toggle +grp:lalt_toggle +grp:lctrl_lalt_toggle +grp:lctrl_lshift_toggle +grp:lctrl_lwin_rctrl_menu +grp:lctrl_lwin_toggle +grp:lctrl_toggle +grp:lshift_toggle +grp:lswitch +grp:lwin_switch +grp:lwin_toggle +grp:menu_switch +grp:menu_toggle +grp:ralt_rshift_toggle +grp:rctrl_ralt_toggle +grp:rctrl_rshift_toggle +grp:rctrl_switch +grp:rctrl_toggle +grp:rshift_toggle +grp:rwin_switch +grp:rwin_toggle +grp:sclk_toggle +grp:shift_caps_toggle +grp:shifts_toggle +grp:switch +grp:toggle +grp:win_menu_select +grp:win_space_toggle +grp:win_switch +grp_led +grp_led:caps +grp_led:num +grp_led:scroll +japan +japan:hztg_escape +japan:kana_lock +japan:nicola_f_bs +keypad +keypad:atm +keypad:future +keypad:future_wang +keypad:hex +keypad:legacy +keypad:legacy_wang +keypad:oss +keypad:oss_wang +keypad:pointerkeys +korean +korean:ralt_hangul +korean:ralt_hanja +korean:rctrl_hangul +korean:rctrl_hanja +kpdl +kpdl:comma +kpdl:commaoss +kpdl:dot +kpdl:dotoss +kpdl:dotoss_latin9 +kpdl:kposs +kpdl:momayyezoss +kpdl:semi +lv2 +lv2:lsgt_switch +lv3 +lv3:alt_switch +lv3:bksl_switch +lv3:bksl_switch_latch +lv3:caps_switch +lv3:caps_switch_latch +lv3:enter_switch +lv3:lalt_switch +lv3:lsgt_switch +lv3:lsgt_switch_latch +lv3:lwin_switch +lv3:menu_switch +lv3:ralt_alt +lv3:ralt_switch +lv3:ralt_switch_multikey +lv3:rwin_switch +lv3:switch +lv3:win_switch +lv5 +lv5:caps_switch +lv5:lsgt_switch +lv5:lsgt_switch_lock +lv5:lwin_switch_lock +lv5:menu_switch +lv5:ralt_switch +lv5:ralt_switch_lock +lv5:rctrl_switch +lv5:rwin_switch_lock +misc:apl +misc:typo +mod_led +mod_led:compose +nbsp +nbsp:level2 +nbsp:level3 +nbsp:level3n +nbsp:level4 +nbsp:level4n +nbsp:level4nl +nbsp:none +nbsp:zwnj2 +nbsp:zwnj2nb3 +nbsp:zwnj2nb3nnb4 +nbsp:zwnj2nb3zwj4 +nbsp:zwnj2zwj3 +nbsp:zwnj2zwj3nb4 +nbsp:zwnj3zwj4 +numpad:mac +numpad:microsoft +numpad:pc +numpad:shift3 +rupeesign:4 +scrolllock:mod3 +shift:both_capslock +shift:both_capslock_cancel +shift:both_shiftlock +shift:breaks_caps +solaris +solaris:sun_compat +srvrkeys:none +terminate +terminate:ctrl_alt_bksp diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/af b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/af new file mode 100644 index 00000000..a62d653d --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/af @@ -0,0 +1,5 @@ +fa-olpc +ps +ps-olpc +uz +uz-olpc diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/al b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/al new file mode 100644 index 00000000..e0aa354a --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/al @@ -0,0 +1,2 @@ +plisi +veqilharxhi diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/am b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/am new file mode 100644 index 00000000..80f437dd --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/am @@ -0,0 +1,5 @@ +eastern +eastern-alt +phonetic +phonetic-alt +western diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ara b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ara new file mode 100644 index 00000000..3230dc4b --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ara @@ -0,0 +1,7 @@ +azerty +azerty_digits +buckwalter +digits +mac +mac-phonetic +olpc diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/at b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/at new file mode 100644 index 00000000..5ac955d8 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/at @@ -0,0 +1,2 @@ +mac +nodeadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/au b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/au new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/az b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/az new file mode 100644 index 00000000..8618ab51 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/az @@ -0,0 +1 @@ +cyrillic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ba b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ba new file mode 100644 index 00000000..3abebaf8 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ba @@ -0,0 +1,4 @@ +alternatequotes +unicode +unicodeus +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bd b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bd new file mode 100644 index 00000000..bbe319df --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bd @@ -0,0 +1 @@ +probhat diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/be b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/be new file mode 100644 index 00000000..6177cb80 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/be @@ -0,0 +1,5 @@ +iso-alternate +nodeadkeys +oss +oss_latin9 +wang diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bg b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bg new file mode 100644 index 00000000..d793f3e7 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bg @@ -0,0 +1,3 @@ +bas_phonetic +bekl +phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/br b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/br new file mode 100644 index 00000000..8455a993 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/br @@ -0,0 +1,7 @@ +dvorak +nativo +nativo-epo +nativo-us +nodeadkeys +rus +thinkpad diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/brai b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/brai new file mode 100644 index 00000000..73457dfd --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/brai @@ -0,0 +1,4 @@ +left_hand +left_hand_invert +right_hand +right_hand_invert diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bt b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bt new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bw b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/bw new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/by b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/by new file mode 100644 index 00000000..ccd6939c --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/by @@ -0,0 +1,5 @@ +intl +latin +legacy +phonetic +ru diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ca b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ca new file mode 100644 index 00000000..13c92ca1 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ca @@ -0,0 +1,5 @@ +eng +fr-dvorak +fr-legacy +ike +multix diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cd b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cd new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ch b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ch new file mode 100644 index 00000000..86e85478 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ch @@ -0,0 +1,6 @@ +de_mac +de_nodeadkeys +fr +fr_mac +fr_nodeadkeys +legacy diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cm b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cm new file mode 100644 index 00000000..5d95f66f --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cm @@ -0,0 +1,5 @@ +azerty +dvorak +french +mmuock +qwerty diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cn b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cn new file mode 100644 index 00000000..26a0c5b6 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cn @@ -0,0 +1,11 @@ +altgr-pinyin +mon_manchu_galik +mon_todo_galik +mon_trad +mon_trad_galik +mon_trad_manchu +mon_trad_todo +mon_trad_xibe +tib +tib_asciinum +ug diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/custom b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/custom new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cz new file mode 100644 index 00000000..3f778709 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/cz @@ -0,0 +1,9 @@ +bksl +dvorak-ucw +qwerty +qwerty-mac +qwerty_bksl +rus +ucw +winkeys +winkeys-qwerty diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/de b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/de new file mode 100644 index 00000000..8546c5cd --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/de @@ -0,0 +1,19 @@ +T3 +deadacute +deadgraveacute +deadtilde +dsb +dsb_qwertz +dvorak +e1 +e2 +mac +mac_nodeadkeys +neo +nodeadkeys +qwerty +ro +ro_nodeadkeys +ru +tr +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dk b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dk new file mode 100644 index 00000000..f0a536ca --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dk @@ -0,0 +1,5 @@ +dvorak +mac +mac_nodeadkeys +nodeadkeys +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dz new file mode 100644 index 00000000..d0046fee --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/dz @@ -0,0 +1,5 @@ +ar +azerty-deadkeys +ber +qwerty-gb-deadkeys +qwerty-us-deadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ee b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ee new file mode 100644 index 00000000..b3b5de58 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ee @@ -0,0 +1,3 @@ +dvorak +nodeadkeys +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/eg b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/eg new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/epo b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/epo new file mode 100644 index 00000000..da9ee9d1 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/epo @@ -0,0 +1 @@ +legacy diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/es b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/es new file mode 100644 index 00000000..52641b1e --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/es @@ -0,0 +1,6 @@ +ast +cat +deadtilde +dvorak +nodeadkeys +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/et b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/et new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fi b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fi new file mode 100644 index 00000000..97f9e001 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fi @@ -0,0 +1,5 @@ +classic +mac +nodeadkeys +smi +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fo b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fo new file mode 100644 index 00000000..17df9367 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fo @@ -0,0 +1 @@ +nodeadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fr b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fr new file mode 100644 index 00000000..aedf9179 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/fr @@ -0,0 +1,19 @@ +afnor +azerty +bepo +bepo_afnor +bepo_latin9 +bre +dvorak +ergol +ergol_iso +geo +latin9 +latin9_nodeadkeys +mac +nodeadkeys +oci +oss +oss_latin9 +oss_nodeadkeys +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gb b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gb new file mode 100644 index 00000000..92b06e04 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gb @@ -0,0 +1,10 @@ +colemak +colemak_dh +dvorak +dvorakukp +extd +gla +intl +mac +mac_intl +pl diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ge b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ge new file mode 100644 index 00000000..02863d18 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ge @@ -0,0 +1,4 @@ +ergonomic +mess +os +ru diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gh b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gh new file mode 100644 index 00000000..291483e4 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gh @@ -0,0 +1,8 @@ +akan +avn +ewe +fula +ga +generic +gillbt +hausa diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gn b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gn new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gr b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gr new file mode 100644 index 00000000..5f12f0ac --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/gr @@ -0,0 +1,3 @@ +nodeadkeys +polytonic +simple diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hr b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hr new file mode 100644 index 00000000..3abebaf8 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hr @@ -0,0 +1,4 @@ +alternatequotes +unicode +unicodeus +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hu b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hu new file mode 100644 index 00000000..0c3a19e6 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/hu @@ -0,0 +1,19 @@ +101_qwerty_comma_dead +101_qwerty_comma_nodead +101_qwerty_dot_dead +101_qwerty_dot_nodead +101_qwertz_comma_dead +101_qwertz_comma_nodead +101_qwertz_dot_dead +101_qwertz_dot_nodead +102_qwerty_comma_dead +102_qwerty_comma_nodead +102_qwerty_dot_dead +102_qwerty_dot_nodead +102_qwertz_comma_dead +102_qwertz_comma_nodead +102_qwertz_dot_dead +102_qwertz_dot_nodead +nodeadkeys +qwerty +standard diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/id b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/id new file mode 100644 index 00000000..d7060956 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/id @@ -0,0 +1,4 @@ +javanese +melayu-phonetic +melayu-phoneticx +pegon-phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ie b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ie new file mode 100644 index 00000000..29526a12 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ie @@ -0,0 +1,4 @@ +CloGaelach +UnicodeExpert +ogam +ogam_is434 diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/il b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/il new file mode 100644 index 00000000..5652b7fc --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/il @@ -0,0 +1,4 @@ +biblical +lyx +phonetic +si2 diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/in b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/in new file mode 100644 index 00000000..5e9d8438 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/in @@ -0,0 +1,43 @@ +asm-kagapa +ben +ben-kagapa +ben_baishakhi +ben_bornona +ben_gitanjali +ben_inscript +ben_probhat +bolnagri +eng +guj +guj-kagapa +guru +hin-kagapa +hin-wx +iipa +jhelum +kan +kan-kagapa +mal +mal_enhanced +mal_lalitha +mal_poorna +mar-kagapa +marathi +mni +ori +ori-bolnagri +ori-wx +san-kagapa +sat +tam +tam_tamilnumbers +tamilnet +tamilnet_TAB +tamilnet_TSCII +tamilnet_tamilnumbers +tel +tel-kagapa +tel-sarala +urd-phonetic +urd-phonetic3 +urd-winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/iq b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/iq new file mode 100644 index 00000000..c99605db --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/iq @@ -0,0 +1,4 @@ +ku +ku_alt +ku_ara +ku_f diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ir b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ir new file mode 100644 index 00000000..aaacb3bc --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ir @@ -0,0 +1,7 @@ +azb +ku +ku_alt +ku_ara +ku_f +pes_keypad +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/is b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/is new file mode 100644 index 00000000..dc0d1daa --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/is @@ -0,0 +1,3 @@ +dvorak +mac +mac_legacy diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/it b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/it new file mode 100644 index 00000000..26d41cb0 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/it @@ -0,0 +1,8 @@ +fur +geo +ibm +mac +nodeadkeys +scn +us +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/jp b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/jp new file mode 100644 index 00000000..4625f2c9 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/jp @@ -0,0 +1,5 @@ +OADG109A +dvorak +kana +kana86 +mac diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ke b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ke new file mode 100644 index 00000000..a5c4336d --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ke @@ -0,0 +1 @@ +kik diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kg b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kg new file mode 100644 index 00000000..7c244b0d --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kg @@ -0,0 +1 @@ +phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kh b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kh new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kr b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kr new file mode 100644 index 00000000..433e8820 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kr @@ -0,0 +1 @@ +kr104 diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kz new file mode 100644 index 00000000..c28b40be --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/kz @@ -0,0 +1,4 @@ +ext +kazrus +latin +ruskaz diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/la b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/la new file mode 100644 index 00000000..805bc85a --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/la @@ -0,0 +1 @@ +stea diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/latam b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/latam new file mode 100644 index 00000000..39d857e3 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/latam @@ -0,0 +1,4 @@ +colemak +deadtilde +dvorak +nodeadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lk b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lk new file mode 100644 index 00000000..f3e9ef42 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lk @@ -0,0 +1,3 @@ +tam_TAB +tam_unicode +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lt b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lt new file mode 100644 index 00000000..3de4d84a --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lt @@ -0,0 +1,7 @@ +ibm +lekp +lekpa +ratise +sgs +std +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lv b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lv new file mode 100644 index 00000000..ece26ce0 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/lv @@ -0,0 +1,7 @@ +adapted +apostrophe +ergonomic +fkey +modern +modern-cyr +tilde diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ma b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ma new file mode 100644 index 00000000..a220bc71 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ma @@ -0,0 +1,8 @@ +french +rif +tifinagh +tifinagh-alt +tifinagh-alt-phonetic +tifinagh-extended +tifinagh-extended-phonetic +tifinagh-phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/md b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/md new file mode 100644 index 00000000..29ffcf1e --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/md @@ -0,0 +1 @@ +gag diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/me b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/me new file mode 100644 index 00000000..3cda47ad --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/me @@ -0,0 +1,7 @@ +cyrillic +cyrillicalternatequotes +cyrillicyz +latinalternatequotes +latinunicode +latinunicodeyz +latinyz diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mk b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mk new file mode 100644 index 00000000..17df9367 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mk @@ -0,0 +1 @@ +nodeadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ml b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ml new file mode 100644 index 00000000..6d0f47b7 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ml @@ -0,0 +1,3 @@ +fr-oss +us-intl +us-mac diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mm b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mm new file mode 100644 index 00000000..f8622e6e --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mm @@ -0,0 +1,5 @@ +mnw +mnw-a1 +shn +zawgyi +zgt diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mn b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mn new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mt b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mt new file mode 100644 index 00000000..46bb28ed --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mt @@ -0,0 +1,3 @@ +alt-gb +alt-us +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mv b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/mv new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/my b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/my new file mode 100644 index 00000000..7c244b0d --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/my @@ -0,0 +1 @@ +phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ng b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ng new file mode 100644 index 00000000..119aad87 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ng @@ -0,0 +1,3 @@ +hausa +igbo +yoruba diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nl b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nl new file mode 100644 index 00000000..9b38ba39 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nl @@ -0,0 +1,3 @@ +mac +std +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/no b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/no new file mode 100644 index 00000000..471414a9 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/no @@ -0,0 +1,10 @@ +colemak +colemak_dh +colemak_dh_wide +dvorak +mac +mac_nodeadkeys +nodeadkeys +smi +smi_nodeadkeys +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/np b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/np new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nz new file mode 100644 index 00000000..737b2646 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/nz @@ -0,0 +1 @@ +mao diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ph b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ph new file mode 100644 index 00000000..056ce82b --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ph @@ -0,0 +1,9 @@ +capewell-dvorak +capewell-dvorak-bay +capewell-qwerf2k6 +capewell-qwerf2k6-bay +colemak +colemak-bay +dvorak +dvorak-bay +qwerty-bay diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pk b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pk new file mode 100644 index 00000000..36474459 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pk @@ -0,0 +1,4 @@ +ara +snd +urd-crulp +urd-nla diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pl b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pl new file mode 100644 index 00000000..99678fcf --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pl @@ -0,0 +1,9 @@ +csb +dvorak +dvorak_altquotes +dvorak_quotes +dvp +legacy +qwertz +ru_phonetic_dvorak +szl diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pt b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pt new file mode 100644 index 00000000..803fad19 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/pt @@ -0,0 +1,6 @@ +mac +mac_nodeadkeys +nativo +nativo-epo +nativo-us +nodeadkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ro b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ro new file mode 100644 index 00000000..e52e4730 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ro @@ -0,0 +1,2 @@ +std +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/rs b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/rs new file mode 100644 index 00000000..4c75a542 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/rs @@ -0,0 +1,8 @@ +alternatequotes +latin +latinalternatequotes +latinunicode +latinunicodeyz +latinyz +rue +yz diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ru b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ru new file mode 100644 index 00000000..a3b4e724 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ru @@ -0,0 +1,25 @@ +ab +bak +chm +cv +cv_latin +dos +kom +legacy +mac +os_legacy +os_winkeys +phonetic +phonetic_YAZHERTY +phonetic_azerty +phonetic_dvorak +phonetic_winkeys +ruchey_en +ruchey_ru +sah +srp +tt +typewriter +typewriter-legacy +udm +xal diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/se b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/se new file mode 100644 index 00000000..a35a0dbf --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/se @@ -0,0 +1,9 @@ +dvorak +mac +nodeadkeys +rus +smi +svdvorak +swl +us +us_dvorak diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/si b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/si new file mode 100644 index 00000000..49109516 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/si @@ -0,0 +1,2 @@ +alternatequotes +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sk b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sk new file mode 100644 index 00000000..b51a0b1c --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sk @@ -0,0 +1,3 @@ +bksl +qwerty +qwerty_bksl diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sn b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sn new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sy b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sy new file mode 100644 index 00000000..24e66a8c --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/sy @@ -0,0 +1,5 @@ +ku +ku_alt +ku_f +syc +syc_phonetic diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tg b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tg new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/th b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/th new file mode 100644 index 00000000..071c6364 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/th @@ -0,0 +1,2 @@ +pat +tis diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tj b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tj new file mode 100644 index 00000000..da9ee9d1 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tj @@ -0,0 +1 @@ +legacy diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tm b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tm new file mode 100644 index 00000000..f0d0f63d --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tm @@ -0,0 +1 @@ +alt diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tr b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tr new file mode 100644 index 00000000..d3145560 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tr @@ -0,0 +1,7 @@ +alt +e +f +intl +ku +ku_alt +ku_f diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tw b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tw new file mode 100644 index 00000000..92b9df03 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tw @@ -0,0 +1,2 @@ +indigenous +saisiyat diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/tz new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ua b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ua new file mode 100644 index 00000000..adc85d2b --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/ua @@ -0,0 +1,9 @@ +crh +crh_alt +crh_f +homophonic +legacy +macOS +phonetic +typewriter +winkeys diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/us b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/us new file mode 100644 index 00000000..0d385dab --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/us @@ -0,0 +1,28 @@ +alt-intl +altgr-intl +chr +colemak +colemak_dh +colemak_dh_iso +colemak_dh_ortho +colemak_dh_wide +colemak_dh_wide_iso +dvorak +dvorak-alt-intl +dvorak-classic +dvorak-intl +dvorak-l +dvorak-mac +dvorak-r +dvp +euro +haw +hbs +intl +mac +norman +olpc2 +rus +symbolic +workman +workman-intl diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/uz b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/uz new file mode 100644 index 00000000..3a1c0204 --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/uz @@ -0,0 +1 @@ +latin diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/vn b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/vn new file mode 100644 index 00000000..db43cfdd --- /dev/null +++ b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/vn @@ -0,0 +1,2 @@ +fr +us diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/za b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.d/za new file mode 100644 index 00000000..e69de29b diff --git a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt b/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt deleted file mode 100644 index 853163d8..00000000 --- a/usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt +++ /dev/null @@ -1,341 +0,0 @@ -101_qwerty_comma_dead -101_qwerty_comma_nodead -101_qwerty_dot_dead -101_qwerty_dot_nodead -101_qwertz_comma_dead -101_qwertz_comma_nodead -101_qwertz_dot_dead -101_qwertz_dot_nodead -102_qwerty_comma_dead -102_qwerty_comma_nodead -102_qwerty_dot_dead -102_qwerty_dot_nodead -102_qwertz_comma_dead -102_qwertz_comma_nodead -102_qwertz_dot_dead -102_qwertz_dot_nodead -CloGaelach -OADG109A -T3 -UnicodeExpert -ab -adapted -afnor -akan -alt -alt-gb -alt-intl -alt-us -alternatequotes -altgr-intl -altgr-pinyin -apostrophe -ar -ara -asm-kagapa -ast -avn -azb -azerty -azerty-deadkeys -azerty_digits -bak -bas_phonetic -bekl -ben -ben-kagapa -ben_baishakhi -ben_bornona -ben_gitanjali -ben_inscript -ben_probhat -bepo -bepo_afnor -bepo_latin9 -ber -biblical -bksl -bolnagri -bre -buckwalter -capewell-dvorak -capewell-dvorak-bay -capewell-qwerf2k6 -capewell-qwerf2k6-bay -cat -chm -chr -classic -colemak -colemak-bay -colemak_dh -colemak_dh_iso -colemak_dh_ortho -colemak_dh_wide -colemak_dh_wide_iso -crh -crh_alt -crh_f -csb -cv -cv_latin -cyrillic -cyrillicalternatequotes -cyrillicyz -de_mac -de_nodeadkeys -deadacute -deadgraveacute -deadtilde -digits -dos -dsb -dsb_qwertz -dvorak -dvorak-alt-intl -dvorak-bay -dvorak-classic -dvorak-intl -dvorak-l -dvorak-mac -dvorak-r -dvorak-ucw -dvorak_altquotes -dvorak_quotes -dvorakukp -dvp -e -e1 -e2 -eastern -eastern-alt -eng -ergol -ergol_iso -ergonomic -euro -ewe -ext -extd -f -fa-olpc -fkey -fr -fr-dvorak -fr-legacy -fr-oss -fr_mac -fr_nodeadkeys -french -fula -fur -ga -gag -generic -geo -gillbt -gla -guj -guj-kagapa -guru -hausa -haw -hbs -hin-kagapa -hin-wx -homophonic -ibm -igbo -iipa -ike -indigenous -intl -iso-alternate -javanese -jhelum -kan -kan-kagapa -kana -kana86 -kazrus -kik -kom -kr104 -ku -ku_alt -ku_ara -ku_f -latin -latin9 -latin9_nodeadkeys -latinalternatequotes -latinunicode -latinunicodeyz -latinyz -left_hand -left_hand_invert -legacy -lekp -lekpa -lyx -mac -mac-phonetic -macOS -mac_intl -mac_legacy -mac_nodeadkeys -mal -mal_enhanced -mal_lalitha -mal_poorna -mao -mar-kagapa -marathi -melayu-phonetic -melayu-phoneticx -mess -mmuock -mni -mnw -mnw-a1 -modern -modern-cyr -mon_manchu_galik -mon_todo_galik -mon_trad -mon_trad_galik -mon_trad_manchu -mon_trad_todo -mon_trad_xibe -multix -nativo -nativo-epo -nativo-us -neo -nodeadkeys -norman -oci -ogam -ogam_is434 -olpc -olpc2 -ori -ori-bolnagri -ori-wx -os -os_legacy -os_winkeys -oss -oss_latin9 -oss_nodeadkeys -pat -pegon-phonetic -pes_keypad -phonetic -phonetic-alt -phonetic_YAZHERTY -phonetic_azerty -phonetic_dvorak -phonetic_winkeys -pl -plisi -polytonic -probhat -ps -ps-olpc -qwerty -qwerty-bay -qwerty-gb-deadkeys -qwerty-mac -qwerty-us-deadkeys -qwerty_bksl -qwertz -ratise -rif -right_hand -right_hand_invert -ro -ro_nodeadkeys -ru -ru_phonetic_dvorak -ruchey_en -ruchey_ru -rue -rus -ruskaz -sah -saisiyat -san-kagapa -sat -scn -sgs -shn -si2 -simple -smi -smi_nodeadkeys -snd -srp -standard -std -stea -svdvorak -swl -syc -syc_phonetic -symbolic -szl -tam -tam_TAB -tam_tamilnumbers -tam_unicode -tamilnet -tamilnet_TAB -tamilnet_TSCII -tamilnet_tamilnumbers -tel -tel-kagapa -tel-sarala -thinkpad -tib -tib_asciinum -tifinagh -tifinagh-alt -tifinagh-alt-phonetic -tifinagh-extended -tifinagh-extended-phonetic -tifinagh-phonetic -tilde -tis -tr -tt -typewriter -typewriter-legacy -ucw -udm -ug -unicode -unicodeus -urd-crulp -urd-nla -urd-phonetic -urd-phonetic3 -urd-winkeys -us -us-intl -us-mac -us_dvorak -uz -uz-olpc -veqilharxhi -wang -western -winkeys -winkeys-qwerty -workman -workman-intl -xal -yoruba -yz -zawgyi -zgt diff --git a/usr/share/helper-scripts/localectl-static-list-update b/usr/share/helper-scripts/localectl-static-list-update index 99ddbb57..fecf5267 100755 --- a/usr/share/helper-scripts/localectl-static-list-update +++ b/usr/share/helper-scripts/localectl-static-list-update @@ -16,5 +16,20 @@ cd "$MYDIR" ## Sanity test. localectl --no-pager >/dev/null -localectl --no-pager list-x11-keymap-layouts | stsponge ./localectl-list-x11-keymap-layouts-static.txt -localectl --no-pager list-x11-keymap-variants | stsponge ./localectl-list-x11-keymap-variants-static.txt +keymap_layouts="$(localectl --no-pager list-x11-keymap-layouts)" +stsponge ./localectl-list-x11-keymap-layouts-static.txt <<< "$keymap_layouts" + +localectl --no-pager list-x11-keymap-options | stsponge ./localectl-list-x11-keymap-options-static.txt + +## Variants have to be handled on a per-layout basis. +## NOTE: localectl also supports displaying *all* layout variants, but this is +## of limited use since the set of available variants is dependent upon the +## layout in use. Not implemented in localectl-static yet. +mkdir ./localectl-list-x11-keymap-variants-static.d +for keymap_layout in $keymap_layouts; do + ## localectl will exit non-zero if $keymap_layout refers to a layout that + ## has no variants. + localectl --no-pager list-x11-keymap-variants "$keymap_layout" 2>/dev/null \ + | stsponge "./localectl-list-x11-keymap-variants-static.d/$keymap_layout" \ + || true +done diff --git a/usr/share/lintian/overrides/helper-scripts b/usr/share/lintian/overrides/helper-scripts index 16ad8e76..4063bef0 100644 --- a/usr/share/lintian/overrides/helper-scripts +++ b/usr/share/lintian/overrides/helper-scripts @@ -6,4 +6,4 @@ helper-scripts: uses-dpkg-database-directly [usr/libexec/helper-scripts/pkg_mana ## Not documentation. helper-scripts: package-contains-documentation-outside-usr-share-doc [usr/share/helper-scripts/localectl-list-x11-keymap-layouts-static.txt] -helper-scripts: package-contains-documentation-outside-usr-share-doc [usr/share/helper-scripts/localectl-list-x11-keymap-variants-static.txt] +helper-scripts: package-contains-documentation-outside-usr-share-doc [usr/share/helper-scripts/localectl-list-x11-keymap-options-static.txt]