• Mihail Konev's avatar
    xkb: Match key releases with an overlaid press · 9d32b71c
    Mihail Konev authored
    Testcase:
    
    In ~/.xbindkeysrc:
      "xterm &"
           XF86LaunchA
    
    In ~/ov.xkb:
      xkb_keymap {
          xkb_keycodes { include "evdev" };
          xkb_types    { include "complete" };
          xkb_compat   { include "complete"
              interpret Overlay1_Enable+AnyOfOrNone(all) {
                  action= SetControls(controls=Overlay1);
              };
          };
          xkb_symbols  { include "pc+inet(evdev)+us"
              key <INS> { [ Overlay1_Enable ] };
              key <AE01> { overlay1 = <AE02> }; // Insert+1 => 2
              key <TLDE> { overlay1 = <I128> }; // Insert+~ => XF86LaunchA
          };
          xkb_geometry { include "pc(pc104)" };
      };
    
    Apply this layout: 'xkbcomp ~/ov.xkb $DISPLAY'.
    Run "xbindkeys -n -v"
    In the exact order:
    - press Insert
    - press Tilde
    - release Insert
    - wait
    - release Tilde
    Keyboard input in the new terminal window(s) would be locked
    until another Insert+Tilde .
    Reported-by: Mariusz Mazur's avatarMariusz Mazur <mariusz.g.mazur@gmail.com>
    Signed-off-by: default avatarMihail Konev <k.mvc@ya.ru>
    Reviewed-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    9d32b71c
xkbPrKeyEv.c 7.18 KB