So I decided to experiment with two keyboards for the ergonomics, which it accomplishes fairly well (so left hand on left side of left keyboard, and right hand on right side of right keyboard). However, it does break the intuitive nature of keyboard shortcuts.

For instance, let's say I do my capitalisation by holding down the right shift key, which would now be done on the right keyboard. If I then press a key of the left keyboard in addition, say the letter Q for instance, then it remains lowercase. If I pressed the left keyboards shift then it would have worked fine, as all held keys are on the same keyboard.

The same applies for pressing cmd on the left keyboard, and space on the right keyboard, spotlight will not appear. As such, modifiers only work on the same keyboard, not across keyboards.

Is there a way at all to have keyboard shortuts take into account the state of all connected keyboards? As otherwise, the inutility of keyboard shortcuts under this model would outweigh the benefit of the ergonomics.

Photo of the setup


1 Answer 1


Ok seems installing Karabiner (website, github) was what was needed. Found it via the deprecated my-multiple-keyboards github project.

  • 2
    Thanks, this solved the problem for me too. To anyone curious- you just need to install Karabiner and run it (giving it the necessary permissions the first time it runs). No configuration required. Cross-device modifiers are basically a side effect of the app.
    – Kip
    Nov 4, 2021 at 19:10

Not the answer you're looking for? Browse other questions tagged .