Bugfix for Ext-Escape

* Ext+Q still led to Esc+Caps
* Added clearmods=LevelFive to Ext+Q and Ext2+G
* Ext+LeftBracket should already be fixed
This commit is contained in:
DreymaR 2021-01-22 13:24:26 +01:00
parent 2e86165b95
commit 6283b705ef
2 changed files with 15 additions and 6 deletions

View File

@ -43,7 +43,13 @@ DreymaR, 2021-01
TODO:
-----
* Is there a way to use clearmods=LevelFive on all the Extend mappings by default? Or just be more careful with each RedirectKey(). Example: Q -> Esc -> Caps.
* Is there a way to clear the LevelFive mod on all the Extend mappings by default? Or must I be more careful with each RedirectKey()?
- Example: `Q -> Esc -> Caps` caused people trouble, as Ext+Q would act as Esc+Caps.
- Possibly, finally make a new key type EIGHT_LEVEL_EXTEND with the action clearmods=LevelFive added to state 5-8? No, no actions.
- In xkb/types/level5 under EIGHT_LEVEL_SEMIALPHABETIC I used `preserve[Shift] = Shift;`. We need the opposite here, to discard lvl5.
- See for instance https://www.x.org/releases/X11R7.5/doc/input/XKB-Enhancing.html
- "Usually, all modifiers introduced in 'modifiers=<list of modifiers>' list are used for shift level calculation and then discarded."
- Does this mean that LevelFive should've been discarded but isn't? Is it an XKB bug?
* From Daniele at the Cmk Discord: Try out localectl?
- E.g., 'localectl set-x11-keymap us pc105aw-sl cmk_ed_dh lv5:caps_switch_lock,misc:extend' should work to make changes persistent?
* The Curl(DH) model implementation have to go as it may mess w/ QWERTY. Instead, I should use two Extend variants.
@ -56,8 +62,11 @@ TODO:
* Find out how to change the rules component properly to allow compiling and eventually merging to the main repo?
* Migrate from `~/.bashrc` to `~/.xprofile`? The latter is more appropriate, but which setups source it and which ones don't?
* Could use an <XTND> key code alias defined in keycodes/evdev (alias <XTND> = <CAPS>), instead of the <CAPS> code?
For an EsAlt variant as in EPKL:
* Test this method for using a local dir:
- Copy the `xkb-data_mod/xkb` dir to, say, `/usr/local/bigbag/xkb` and `setenv MYXKB <dir>` (setenv not necessary, just for here)
- `setxkbmap <parameters> -print | xkbcomp -I -I$MYXKB -I/usr/share/X11/xkb - $DISPLAY`
- See https://github.com/DreymaR/BigBagKbdTrixXKB/issues/14
* For an EsAlt variant as in EPKL:
```
key <AE04> { [ 4, dollar, dead_currency, EuroSign ] }; // 4
key <AD07> { [ l, L, U2039, guillemotleft ] }; // QWE U Cmk L

View File

@ -238,7 +238,7 @@ xkb_symbols "lv5" {
Escape , Escape , // Esc
Home , KP_Home ], // Home
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<ESC>) , Redirect(key=<ESC>) , // <ESC>
Redirect(key=<ESC>,clearmods=LevelFive), Redirect(key=<ESC>,clearmods=LevelFive), // <ESC>
Redirect(key=<HOME>) , Redirect(key=<HOME>) ] // <HOME>
}; // Q
key <AD02> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
@ -267,7 +267,7 @@ xkb_symbols "lv5" {
Escape , Escape ], // Esc
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
MovePtr(x=+0,y=-8) , MovePtr(x=+0,y=-8) , // PtrUp(††)
Redirect(key=<ESC>) , Redirect(key=<ESC>) ] // <ESC>
Redirect(key=<ESC>,clearmods=LevelFive), Redirect(key=<ESC>,clearmods=LevelFive) ] // <ESC>
}; // QWE T, Cmk G
key <AD06> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Page_Up , Page_Up , // PgUp
@ -308,7 +308,7 @@ xkb_symbols "lv5" {
Escape , Escape , // Esc
parenleft , braceleft ], // (
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<ESC>,clearmods=LevelFive) , Redirect(key=<ESC>,clearmods=LevelFive) , // <ESC>
Redirect(key=<ESC>,clearmods=LevelFive), Redirect(key=<ESC>,clearmods=LevelFive), // <ESC>
NoAction() , NoAction() ]
}; // [ {
key <AD12> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,