• 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: 's avatarMariusz Mazur <mariusz.g.mazur@gmail.com>
    Signed-off-by: 's avatarMihail Konev <k.mvc@ya.ru>
    Reviewed-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
    9d32b71c
Name
Last commit
Last update
..
Makefile.am Loading commit data...
README.compiled Loading commit data...
XKBAlloc.c Loading commit data...
XKBGAlloc.c Loading commit data...
XKBMAlloc.c Loading commit data...
XKBMisc.c Loading commit data...
XKM_file_format.txt Loading commit data...
ddxBeep.c Loading commit data...
ddxCtrls.c Loading commit data...
ddxKillSrv.c Loading commit data...
ddxLEDs.c Loading commit data...
ddxLoad.c Loading commit data...
ddxPrivate.c Loading commit data...
ddxVT.c Loading commit data...
maprules.c Loading commit data...
xkb.c Loading commit data...
xkb.h Loading commit data...
xkbAccessX.c Loading commit data...
xkbActions.c Loading commit data...
xkbDflts.h Loading commit data...
xkbEvents.c Loading commit data...
xkbInit.c Loading commit data...
xkbLEDs.c Loading commit data...
xkbPrKeyEv.c Loading commit data...
xkbSwap.c Loading commit data...
xkbUtils.c Loading commit data...
xkbfmisc.c Loading commit data...
xkbgeom.h Loading commit data...
xkbout.c Loading commit data...
xkbtext.c Loading commit data...
xkmread.c Loading commit data...