11

I just bought an older Apple keyboard, with the idea that I could use it in conjunction with my internal Macbook Pro keyboard as a substitute for buying a keyboard that's capable of splitting into two pieces. The idea is that I should be able to put my right hand on the external keyboard and my left hand on the internal keyboard and type as usual.

I plug the external keyboard in and I can type just fine. The problem comes when I try to use any sort of key combination with both keyboards at the same time. For example, when I hit the control key on the internal keyboard and the 'e' key on the external keyboard, I would like for the cursor to move to the end of the line but, instead, a lower-case 'e' shows up onscreen. When I hold the shift key on the external keyboard and hit the 'a' key on the internal keyboard, rather than seeing an upper-case 'A' appear, I get a lower-case 'a'.

I rely heavily on keyboard shortcuts, macros, and emacs, but besides that, it doesn't make much sense for me to type with using both keyboards if I have to move both hands to one keyboard whenever I want to use an emacs key binding or type a capital letter.

Is there a way to make one keyboard accept modifier key input from the other? Ideally, I should be able to hold a modifier key on either keyboard and type another character from either and have OSX recognize a keystroke combination.

Keyboard: A1048 (not a new one) Macbook Pro: MacBookPro8,2; 15-inch; Late 2011; Mavericks 10.9.2

(Unnecessary backstory for the curious: I'm trying to avert the carpal tunnel I feel coming on from programming on my Macbook keyboard alone. I'm a pretty wide-shouldered, wide-chested guy and the position I have to take to get my hands close enough together to type on the keyboard has me, essentially, contracting my hand laterally such that the outsides of my palms and my forearms form a 135-degree angle, which is horrible posture. I need to be able to spread my arms farther apart.)

  • Huh, that's weird. I can confirm I'm getting the same behavior with a similar setup. – dwightk May 19 '14 at 18:25
  • Kinda makes sense to me, in a way. OSX reads two separate keyboards--and it tells you this plainly in the OS--but receives input from both simultaneously. It probably counts that keystroke combination (usually given from a single keyboard) as one keystroke, so it's only recognizing one keystroke from each keyboard, independent of one another. (i.e. one SHIFT-nothing and one 'a'.) I'm hoping theres a tweak buried in OSX that will defeat this or maybe some 3rd-party thing that accomplishes this. – baptzmoffire May 19 '14 at 18:32
  • 2
    I should mention that I'm an iOS developer, so I understand programming and I'm not completely opposed or averse to a hacky solution. Maybe tricking the OS into thinking that the keyboards are identical or something along those lines. – baptzmoffire May 19 '14 at 18:34
  • I feel like ControllerMate might work for this, but I'm not nearly experienced enough with it to answer your question. – Dillon May 19 '14 at 20:55
  • ControllerMate. Looking into it now. – baptzmoffire May 19 '14 at 21:01
8

KeyRemap4MacBook

I knew I had seen this somewhere…

All you need to do is install KeyRemap4Macbook.

From the "implicit behavior" section:

Share state of modifier keys with all connected keyboards:

When you are using multiple keyboards, modifier keys are shared with all keyboards.

For example, pressing "shift key on keyboard1" and "space key on keyboard2" sends shift-space.

Yes, it works on other Macs too, not just MacBooks.

  • This is EXACTLY what I needed! As usual, I'd already found the answer to this question many months ago; I just failed to check my bookmarks. Ugh! Thank you so much! – baptzmoffire May 27 '14 at 16:01
  • @baptzmoffire Yeah, I finally got around to creating a proper hyper key and then I found this in the documentation. Unfortunately it doesn't work for what I was hoping it would, allowing ControllerMate to use modifier keys (the reason I put a bounty on this question), but I ended up switching completely from ControllerMate to KeyRemap4MacBook for this stuff anyway. – 0942v8653 May 27 '14 at 19:16
  • as of 2015, this no longer works, keyremap4macbook has replaced by karabiner, then this -- github.com/tekezo/Karabiner/issues/500 – Yaroslav Bulatov Nov 4 '17 at 16:03
  • Using katabiner, out of the box, the functionality we want is there. Nothing to set up. As of May 2019 – 1mike12 May 15 at 22:07
2

I made a utility that does this and works on Sierra.

I hope posting this isn't against the rules, but you can grab it here: https://www.electrollama.net/multimod

You must log in to answer this question.

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