The new Microsoftslop copilot key always sends the following key-sequence when pressed down:

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.

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 + letter key" can work as expected

  • ZoteTheMighty@lemmy.zip
    link
    fedilink
    arrow-up
    16
    ·
    4 days ago

    Couldn’t they have just remapped RightControl to open Copilot for the same effect without all the downsides?

    • pivot_root@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      4 days ago

      Pretty easily, even without introducing a new scan code. If the keyboard uses USB, Windows could have just matched against the vendor and product IDs. Or they could have set something in the USB descriptor.

      The only reasons I can think of for doing it this way are either out of laziness because it’s easier to make a global hotkey than change a driver, or to intentionally make the key useless as a modifier key.

      • ulterno@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 days ago

        easier to make a global hotkey than change a driver

        Mainly because AI doesn’t make good driver code.