OSX, different keyboards with different input methods possible

input-sourcekeyboard

I was wondering if it were possible to tie in a different input method for each keyboard on a computer with multiple keyboards?

The reason I ask is I use a wireless keyboard with my macbook pro and thus have two keyboards available, and I use both English and Chinese for input.

One hassle I have switching between the input methods, even with an assigned hotkey.

Since I have two keyboards, wouldn't it be nice to have one keyboards input for one of the input methods and the second keyboard for the second input.

Is there a way to do this so I can change input methods by typing on a different keyboard?

Thanks.

Best Answer

Based on Tom Gewecke's input, I've done the following:

Installed Karabiner from: https://pqrs.org/osx/karabiner/index.html.en
(note that Karabiner 10.22.0 does not work with macOS 10.12.x at the time of this reply)

Installed this mapping into private.xml from: https://gist.github.com/ylorn/43b589daf6d621a7fc47 (I've changed it to left shift key and control space to match my preferred international input keybindings)

This approach does not allow me to set default language inputs per keyboard, but does allow me to more quickly switch between them. An acceptable compromise until I can find something better.

After asking Karabiner to reload the xml files, I can now tap the left shift key to switch inputs quickly.

--

In macOS 10.12, you can achieve the same functionality with the caps log key, without Karabiner, by enabling the "Use the Caps Lock key to switch to and from US"