diff options
-rw-r--r-- | rules/0036-lo_s.part | 1 | ||||
-rw-r--r-- | rules/0037-l1o_s.part | 1 | ||||
-rw-r--r-- | rules/0038-l2o_s.part | 1 | ||||
-rw-r--r-- | rules/0039-l3o_s.part | 1 | ||||
-rw-r--r-- | rules/0040-l4o_s.part | 1 | ||||
-rw-r--r-- | rules/base.xml | 6 | ||||
-rw-r--r-- | symbols/capslock | 22 |
7 files changed, 33 insertions, 0 deletions
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 @@ -7663,6 +7663,12 @@ </option> <option> <configItem> + <name>caps:digits_row</name> + <description>Caps Lock gives digits on the digits row (Azerty layouts)</description> + </configItem> + </option> + <option> + <configItem> <name>caps:none</name> <description>Caps Lock is disabled</description> </configItem> diff --git a/symbols/capslock b/symbols/capslock index 11d279a3..98ea29c2 100644 --- a/symbols/capslock +++ b/symbols/capslock @@ -84,3 +84,25 @@ hidden partial modifier_keys xkb_symbols "none" { key <CAPS> { [ VoidSymbol ], type[group1] = "ONE_LEVEL" }; }; + +// For layouts having digits on the 2nd level on the digits row and key type +// FOUR_LEVEL (e.g. fr(basic) and be(basic)), this makes CapsLock give the digits +// by changing their key type to FOUR_LEVEL_SEMIALPHABETIC. Note that this has the +// drawback that the uppercases À, È, É and Ç are no longer available, as those +// layouts rely on internal capitalization rules for those letters. +hidden partial alphanumeric_keys +xkb_symbols "digits_row" { + key.type[group1] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // No symbol defined: we just want to change the key type + key <AE01> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE02> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE03> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE04> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE05> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE06> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE07> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE08> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE09> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key <AE10> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; +}; |