I have a Dell laptop (inspiron 16 5645). In addition to the Super key, it has another key which I am told is the windows co-pilot key. It appears to behave like the left-shift key, and xev reports it as the same keycode, but presumably Windows can distinguish it.
Can I do anything useful with it? I want to map it to right-ctrl, which is absent.
Edit: terminal output added:- Outer window is 0x800001, inner window is 0x800002
PropertyNotify event, serial 8, synthetic NO, window 0x800001,
atom 0x27 (WM_NAME), time 74036986, state PropertyNewValue
PropertyNotify event, serial 9, synthetic NO, window 0x800001,
atom 0x22 (WM_COMMAND), time 74036986, state PropertyNewValue
PropertyNotify event, serial 10, synthetic NO, window 0x800001,
atom 0x28 (WM_NORMAL_HINTS), time 74036986, state PropertyNewValue
CreateNotify event, serial 11, synthetic NO, window 0x800001,
parent 0x800001, window 0x800002, (10,10), width 50, height 50
border_width 4, override NO
PropertyNotify event, serial 14, synthetic NO, window 0x800001,
atom 0xf9 (WM_PROTOCOLS), time 74036986, state PropertyNewValue
MapNotify event, serial 15, synthetic NO, window 0x800001,
event 0x800001, window 0x800002, override NO
ConfigureNotify event, serial 21, synthetic NO, window 0x800001,
event 0x800001, window 0x800001, (0,0), width 178, height 178,
border_width 0, above 0x600109, override NO
PropertyNotify event, serial 28, synthetic NO, window 0x800001,
atom 0x16f (_NET_WM_ALLOWED_ACTIONS), time 74036986, state PropertyNewValue
PropertyNotify event, serial 29, synthetic NO, window 0x800001,
atom 0x153 (_MUTTER_NEEDS_FRAME), time 74036986, state PropertyNewValue
PropertyNotify event, serial 29, synthetic NO, window 0x800001,
atom 0x101 (_NET_WM_DESKTOP), time 74036986, state PropertyNewValue
PropertyNotify event, serial 31, synthetic NO, window 0x800001,
atom 0x13b (WM_STATE), time 74036987, state PropertyNewValue
PropertyNotify event, serial 31, synthetic NO, window 0x800001,
atom 0x107 (_NET_WM_STATE), time 74036987, state PropertyNewValue
PropertyNotify event, serial 31, synthetic NO, window 0x800001,
atom 0x131 (_GTK_EDGE_CONSTRAINTS), time 74036987, state PropertyNewValue
ConfigureNotify event, serial 34, synthetic NO, window 0x800001,
event 0x800001, window 0x800001, (50,32), width 178, height 178,
border_width 0, above 0x600109, override NO
PropertyNotify event, serial 34, synthetic NO, window 0x800001,
atom 0x131 (_GTK_EDGE_CONSTRAINTS), time 74036988, state PropertyNewValue
ReparentNotify event, serial 34, synthetic NO, window 0x800001,
event 0x800001, window 0x800001, parent 0xa001a0,
(0,0), override NO
PropertyNotify event, serial 34, synthetic NO, window 0x800001,
atom 0xfe (_NET_FRAME_EXTENTS), time 74037001, state PropertyNewValue
ConfigureNotify event, serial 34, synthetic NO, window 0x800001,
event 0x800001, window 0x800001, (14,49), width 178, height 178,
border_width 0, above 0xa001a1, override NO
MapNotify event, serial 35, synthetic NO, window 0x800001,
event 0x800001, window 0x800001, override NO
VisibilityNotify event, serial 35, synthetic NO, window 0x800001,
state VisibilityUnobscured
Expose event, serial 35, synthetic NO, window 0x800001,
(0,0), width 178, height 10, count 3
Expose event, serial 35, synthetic NO, window 0x800001,
(0,10), width 10, height 58, count 2
Expose event, serial 35, synthetic NO, window 0x800001,
(68,10), width 110, height 58, count 1
Expose event, serial 35, synthetic NO, window 0x800001,
(0,68), width 178, height 110, count 0
ConfigureNotify event, serial 35, synthetic YES, window 0x800001,
event 0x800001, window 0x800001, (198,217), width 178, height 178,
border_width 2, above 0x0, override NO
PropertyNotify event, serial 35, synthetic NO, window 0x800001,
atom 0x107 (_NET_WM_STATE), time 74037002, state PropertyNewValue
FocusIn event, serial 35, synthetic NO, window 0x800001,
mode NotifyNormal, detail NotifyNonlinear
KeymapNotify event, serial 35, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 35, synthetic NO, window 0x800001,
atom 0x107 (_NET_WM_STATE), time 74037005, state PropertyNewValue
PropertyNotify event, serial 35, synthetic NO, window 0x800001,
atom 0x107 (_NET_WM_STATE), time 74037005, state PropertyNewValue
EnterNotify event, serial 35, synthetic NO, window 0x800001,
root 0x3d1, subw 0x0, time 74037005, (155,114), root:(355,333),
mode NotifyNormal, detail NotifyNonlinear, same_screen YES,
focus YES, state 0
KeymapNotify event, serial 35, synthetic NO, window 0x0,
keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 35, synthetic NO, window 0x800001,
atom 0x107 (_NET_WM_STATE), time 74037016, state PropertyNewValue
KeyRelease event, serial 35, synthetic NO, window 0x800001,
root 0x3d1, subw 0x0, time 74037112, (155,114), root:(355,333),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
XLookupString gives 1 bytes: (0d) "
"
XFilterEvent returns: False
KeyPress event, serial 38, synthetic NO, window 0x800001,
root 0x3d1, subw 0x0, time 74043466, (155,114), root:(355,333),
state 0x40, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x800001,
root 0x3d1, subw 0x0, time 74043594, (155,114), root:(355,333),
state 0x41, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
LeaveNotify event, serial 38, synthetic NO, window 0x800001,
root 0x3d1, subw 0x0, time 74047709, (-12,-47), root:(188,172),
mode NotifyNormal, detail NotifyAncestor, same_screen YES,
focus YES, state 0
ClientMessage event, serial 38, synthetic YES, window 0x800001,
message_type 0xf9 (WM_PROTOCOLS), format 32, message 0xf7 (WM_DELETE_WINDOW)
So i had the a similar problem except being an arch user and having a lenovo with a copilot key. What worked for me is the following script (after installing evsieve):
And the original (i failed to run with comments in bash):
the windows copilot key equal leftshift+leftmeta in ubuntu. you can test it with evsieve.
you can remap copilot key by keyd. add bottom content into configure file of keyd.
rvaiya/keyd: A key remapping daemon for linux.