Paolo Redaelli personal blog

Lenovo? No, thanks

I have never been really fond of Lenovo notebooks, even if they are used by many notable Linux hackers. Now I have an actual yet feeble reason to avoid them, preferring Linux-friendly vendors (such as Laptopwithlinux.com, tuxedocomputers.com, slimbook.com, even dell.com1 or system76.com in the USA) since it happens that in my country Lenovo does not even consider the idea to offer Linux preinstalled.

Too bad, it goes against my no-Linux-preinstalled-no-purchase policy.

Lenovo has replaced the right control key on their otherwise-pretty-nice latest X1 Carbon (warranty replacement) with a copilot key. Fine. I won’t begrudge some Microsoft PM “AI impact” in his self-review. But know what I do begrudge? The scancodes, plural. See, the copilot key is defined to emit not only a new scancode (0x6e), understood as F23 key (which archeologists believed wasn’t a real key, but a legendary signifier of excess), but also left shift and left meta (Windows key). When you type the copilot key, the PC firmware sends the machine left-shift-down left-meta-down f23-down f23-up left-meta-up left-shift-up. That’s a problem for remapping the copilot key back to right-control though. Even if we interpret 0x6e as right-control, we get a bunch of other modifiers we don’t need along with, a press of copilot-r gets read as control-meta-shift-r, which is not what I want. Why did they do this? I have no idea. 0x6e by itself would have sufficed to identify the new key. All the other neokeys that seemed like good ideas at the time got normal scancodes. F23 would have been fine. The scancode 0x6e is so uncommon Linux had to be patched to recognize it. I’m determined to have a right control key, however, so now I run keyd to present a fake virtual keyboard to Wayland. Whenever it sees a left-shift-down or left-meta-down, it waits a few milliseconds to see whether an F23 has arrived. If it has, it synthesizes a right-control press. If it hasn’t, it forwards the modifier presses. Now there’s a whole new stage in the input processing pipeline, and extra input latency, that exists solely because AI is so special that it demands not only a new key, but for that ceremonial key to be carried on a litter of modifier bits as it parades into the OS and commands that inference happen now.

Daniel Colascione on X.com
  1. well, Dell seems to be affected by the same copilot illness… ↩︎

Post navigation

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.