There exists a "copilot" button between Right Alt and the left arrow. Also called the "i" key, menu key, whatever.
MS decided to make it send Left Meta + Left Shift + F23 all at once instead of just one clean keypress so traditional scancode hwdb could handel.
keyd grabs the keyboard at the evdev level, sees that exact three-key chord, and spits out a clean Right Ctrl instead.
Arch:
yay -S keyd/etc/keyd/default.conf:
[ids]
*
[main]
# Copilot key garbage
leftmeta+leftshift+f23 = rightcontrolsudo keyd reload
sudo systemctl enable --now keydkeyd's virtual keyboard gets treated like an external one by default, so palm rejection and "disable touchpad while typing" stop working. Fix it with a libinput quirk.
Create /etc/libinput/local-overrides.quirks:
[Serial Keyboards]
MatchUdevType=keyboard
MatchName=keyd virtual keyboard
AttrKeyboardIntegration=internalApply it:
sudo udevadm control --reload-rules
sudo udevadm triggerCheck it worked:
event=$(grep -l "keyd virtual keyboard" /sys/class/input/event*/device/name | head -1 | grep -oP 'event\d+')
sudo libinput quirks list "/dev/input/$event"Should return AttrKeyboardIntegration=internal
Run sudo evtest, pick the keyd virtual keyboard, and mash the Copilot key. You should only see clean Right Ctrl events. No Meta, no Shift, no F23 nonsense.
mishoo/exorcise-copilot. Smaller C++ tool that does the same grab-and-rewrite trick. Still need the libinput quirk though.