From 90acac43af5be3d958ecc5ddfbdc62ed08ea2b2f Mon Sep 17 00:00:00 2001 From: Pierre Le Marre Date: Sat, 17 Feb 2024 09:27:02 +0100 Subject: Add caps:digits_row option for Azerty layouts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Azerty keyboards used in France and Belgium have the digits on the shift level instead of on the base level of the top row. In Windows the corresponding layouts have the curious characteristic that CapsLock locks also the digits, meaning that some users have acquired the habit of engaging CapsLock when they need to type some digits. Fix this by adding a new option `caps:digits_row` that applies only to the `$azerty` layouts group (currently `fr` and `be`). This option changes the key type of the digits keys to `FOUR_LEVEL_SEMIALPHABETIC`. There are two drawbacks with this solution: - It is not possible to type the uppercase À, È, É and Ç. Without the option, one gets those by the internal transformation rules, done either by the X server or xkbcommon. - It changes the behavior of the US variants from `fr`. But we do not expect anyone to use at the same time e.g. `fr` and `fr(us-alt)` with the new option `caps:number_row`. Instead we expect e.g. either one uses `fr(us-alt)` alone or `fr,us`. In the former case the option is not needed, while in the later case the option works correctly. --- rules/0036-lo_s.part | 1 + rules/0037-l1o_s.part | 1 + rules/0038-l2o_s.part | 1 + rules/0039-l3o_s.part | 1 + rules/0040-l4o_s.part | 1 + rules/base.xml | 6 ++++++ 6 files changed, 11 insertions(+) (limited to 'rules') diff --git a/rules/0036-lo_s.part b/rules/0036-lo_s.part index a3c6ca6b..73aa02ab 100644 --- a/rules/0036-lo_s.part +++ b/rules/0036-lo_s.part @@ -10,3 +10,4 @@ * grp:ctrl_space_toggle = +group(ctrl_space_toggle) * grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) * grp:shifts_toggle = +group(shifts_toggle) + $azerty caps:digits_row = +capslock(digits_row) diff --git a/rules/0037-l1o_s.part b/rules/0037-l1o_s.part index 32c0939d..376d90f0 100644 --- a/rules/0037-l1o_s.part +++ b/rules/0037-l1o_s.part @@ -10,3 +10,4 @@ * grp:ctrl_space_toggle = +group(ctrl_space_toggle):1 * grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle):1 * grp:shifts_toggle = +group(shifts_toggle):1 + $azerty caps:digits_row = +capslock(digits_row):1 diff --git a/rules/0038-l2o_s.part b/rules/0038-l2o_s.part index 3c0482ca..7eeee13a 100644 --- a/rules/0038-l2o_s.part +++ b/rules/0038-l2o_s.part @@ -10,3 +10,4 @@ * grp:ctrl_space_toggle = +group(ctrl_space_toggle):2 * grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle):2 * grp:shifts_toggle = +group(shifts_toggle):2 + $azerty caps:digits_row = +capslock(digits_row):2 diff --git a/rules/0039-l3o_s.part b/rules/0039-l3o_s.part index e1d0fe14..17c2163f 100644 --- a/rules/0039-l3o_s.part +++ b/rules/0039-l3o_s.part @@ -10,3 +10,4 @@ * grp:ctrl_space_toggle = +group(ctrl_space_toggle):3 * grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle):3 * grp:shifts_toggle = +group(shifts_toggle):3 + $azerty caps:digits_row = +capslock(digits_row):3 diff --git a/rules/0040-l4o_s.part b/rules/0040-l4o_s.part index 07ce633d..0bad6897 100644 --- a/rules/0040-l4o_s.part +++ b/rules/0040-l4o_s.part @@ -10,3 +10,4 @@ * grp:ctrl_space_toggle = +group(ctrl_space_toggle):4 * grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle):4 * grp:shifts_toggle = +group(shifts_toggle):4 + $azerty caps:digits_row = +capslock(digits_row):4 diff --git a/rules/base.xml b/rules/base.xml index e1ea61de..23d31353 100644 --- a/rules/base.xml +++ b/rules/base.xml @@ -7661,6 +7661,12 @@ Make Caps Lock act as an additional Ctrl modifier, but keep identifying as Caps Lock +