You are not logged in.
I bought a new Framework Laptop (https://frame.work) and I have some troubles with a specific keyboard key, which is firing the very same X event as another one.
* The first one is the "Windows" key bottom left between FN and ALT
* The second one is the "Second Monitor" key, on the same key as F9
Here is a picture of the keyboard
This is how they show up in xev:
Windows
KeyPress event, serial 34, synthetic NO, window 0x1a00001,
root 0x7a8, subw 0x0, time 1647680, (113,303), root:(1244,334),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Second monitor (for some reason, on key press, two events are logged)
KeyPress event, serial 34, synthetic NO, window 0x1a00001,
root 0x7a8, subw 0x0, time 1692763, (90,543), root:(1221,574),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 34, synthetic NO, window 0xa00001,
mode NotifyGrab, detail NotifyAncestor
I have added the following Xorg config, but removing it and restarting X does not make any difference
$ cat /etc/X11/xorg.conf.d/20-keyboard.conf
Section "InputClass"
Identifier "keyboard"
MatchIsKeyboard "yes"
Option "XkbLayout" "us"
Option "XkbVariant" "nodeadkeys"
EndSection
Is there anything i can do to distinguish between the two keys?
Last edited by leonixyz (2021-11-05 19:35:42)
Offline
Please remove the oversized image (or replace it w/ a link and thumbnail - the board limit is 250x250 px)
The key actually fires a sequence (Win+something) and that sequence is actually currently grabbed by something (some daemon of your desktop environment, I guess - you could try it in a "naked" X11 session w/ just an xterm)
This isn't uncommon and the shortcut is most likely win+p
Offline
The key actually fires a sequence (Win+something) and that sequence is actually currently grabbed by something (some daemon of your desktop environment, I guess - you could try it in a "naked" X11 session w/ just an xterm)
This isn't uncommon and the shortcut is most likely win+p
Thank you Seth.
a naked X11 session returns, as you said win+p
KeyPress event, serial 28, synthetic NO, window 0x600001,
root 0x7a8, subw 0x0, time 518727, (171,175), root:(173,177),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x600001,
root 0x7a8, subw 0x0, time 518727, (171,175), root:(173,177),
state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
XLookupString gives 1 bytes: (70) "p"
XmbLookupString gives 1 bytes: (70) "p"
XFilterEvent returns: False
I am on i3, the default config maps $mod+p to "scratchpad show". I changed it, and set win+p to start arandr instead. Now when i press that key, arandr is executed.
Obviously (maybe not?) now arandr is also started when I "really" press win+p.
I suppose there is no other way around, right? I should re-map "scratchpad show" to something different and live with the fact that also win+p will launch arandr. Is this correct?
Thanks
Last edited by leonixyz (2021-11-05 18:27:47)
Offline
Theoretically, you could write a daemon process that would watch for these events and treat win+p different depending on whether the event times were the same or not, as your "Second monitor" key sends the "win" and "p" with the same event time, while pretty much any natural press of win+p keys will have different event times.
But that's all theoretically. In practice that'd be a lot of hassle for very little benefit. Changing your scratchpad binding to something else seems like a no-brainer to me.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline