The new Microsoftslop copilot key always sends the following key-sequence when pressed:
copilot key down: left-shift-down left-meta-down f23-down f23-up left-meta-up left-shift-up
copilot key up: <null>
This means there’s no real key-up event when you release the key --> it can’t be used (properly) as a modifier like ctrl or alt.
The workaround is to send a pretend key-up event after a time delay, but then you mustn’t be too slow / fast when pressing a shortcut.
- Linux workaround: https://github.com/m-bartlett/remap-copilot?tab=readme-ov-file
- Windows workaround https://github.com/randyrants/sharpkeys/issues/560
- https://xcancel.com/dcolascione/status/2019936377408811319
tldr: AI took a perfectly working modifier key from you.
— edit —
Some keyboards apparently do the “right” thing and don’t send the whole sequence at once, you can remap those properly with keyd, see: https://github.com/rvaiya/keyd/issues/1025#issuecomment-2971556563 / https://github.com/rvaiya/keyd/issues/825
copilot key down: left-shift-down left-meta-down f23-down
copilot key up: f23-up left-meta-up left-shift-up
this will still break left-shift + remapped copilot and left-meta + remapped copilot, but RCtrl remaps should work as expected


*on the firmware level, to be precise: keyboard polling is commonly done by the Embedded Controller, which is flashable (not by users, generally, tho, but during the uefi update, for example). Sometimes there are separate keyboard controllers, but those are not really common.
So, if vendors want to fix this garbage, they can. Smth tells me, they don’t care, tho