Recent ThinkPad X1 Carbons replaced the right Ctrl key with a “Copilot” key. But instead of implementing it as a single, remappable scancode like any sane manufacturer would, they hardwired an absolute mess into the firmware.
What actually happens when you press it:
The embedded controller fires a rapid sequence:
- Left Shift down (0x2a)
- Left Win/Meta down (0xe05b)
- F23 down (0xe06e)
- F23 up (0xe0ee)
- Left Meta up (0xe0db)
- Left Shift up (0xaa)
It’s a hardwired Win+Shift+F23.
F23 is an ancient, rarely-used scancode from extended IBM keyboards that Linux needed kernel patches to even map properly. Using it alone would’ve been trivial to remap or ignore. But the bundled modifiers make simple remapping a headache. Why? Well, we’ll never know.
Try mapping F23 to right Ctrl? Congratulations - you get Win+Shift+Ctrl+R when you press Ctrl+R, triggering random OS shortcuts or breaking apps entirely.
The workarounds:
- Windows: PowerToys must intercept the full Win+Shift+F23 chord under “Remap a shortcut” to redirect it
- Linux/Wayland: Tools like keyd must intercept modifier downs, add 10-50ms delay to detect F23, then synthesize a clean Ctrl while suppressing the original garbage sequence
You now have input latency hackery baked into otherwise solid hardware, not for technical reasons, but probably because some Microsoft PM found Lenovo partnership synergies for “AI integration metrics” on a performance review.
A single scancode would achieve the same “identification” goal while letting users trivially remap or disable it. I can only imagine this charade exists to sabotage easy remapping and nudge us towards the accidental Copilot activation and use.
This is Clippy 2.0, except instead of a dismissible popup, it’s tattooed into firmware, breaking decades of muscle memory, requiring custom input plumbing just to restore basic keyboard functionality.
Pure distilled slopware at the firmware level. We’re already paying a premium due to memory, storage, and processor markets. Please at least ship hardware that respects users.