(Karabiner 10.14.0 under Mac OS 10.11.1 on 13" Mid-2009 MacBook Pro)
I've got 2 external keyboards which need the "disable build-in keyboard when external keyboard is connected" setting turned on, so that I don't accidentally register keypresses on the built-in keyboard on my MacBook Pro when typing on the Poker 2 or the Matias Laptop Pro (Mac edition—it counts as an "Apple device" as far as "don't remap Apple devices" is concerned). However, having turning off remapping for "Apple" or "internal" keyboards means that I can't lay my external keyboards over the built-in keyboard without getting the occasional extra keystroke.
The biggest wrinkle I have is that my Matias board uses the standard Apple layout, while the Poker uses Windows-like layout for the modifier keys. This means that I can't use Device-Specific Settings > IBM Model M > Switch Win (Command) and Alt (option), because that will successfully not break my built-in keyboard, but it does break the Matias.
I could simply use Apple's solution (System Preferences > Keyboard > Modifier Keys) and remap the modifiers on a per-keyboard basis; however, Mac OS has a bug where those preferences are not remembered after disconnecting the keyboard.
Previously, I had "don't remap any Apple devices" enabled, and the MacBook's keyboard and the Matias keyboard both behaved nicely, and the other external keyboards I use remapped nicely. However, the Poker and Matias need the "Disable built-in keyboard when external keyboard connected" option enabled to sit them on the Mac's keyboard and not accidentally register extra presses.
Suggested solutions:
1. Have Apple fix their bug and remember your modifier key preferences for external keyboards when you disconnect them. (We can't do this ourselves; that's Apple's mess to fix)
2. Make the priority of "Disable built-in keyboard when using external keyboard" higher than "Don't remap Apple's keyboards" and/or "Don't remap an internal keyboard" (something we can do pretty easily)
If anyone has a solution that will work with current Karabiner functionality (probably utilising custom XML and device-specific settings), that would also be appreciated.
Thanks,
Chris