Is it possible to completely disable the built-in keyboard on a MacBook? No input should be possible from that keyboard when I connect an external keyboard. This is sort of possible with the trackpad and the mouse, is there an option (or indeed a hack!) to do the same with the built-in hardware?
From Googling around, I found this page.
It suggests that you unload a
AppleUSBTCKeyboard.kext to disable keyboard:
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext
This will prompt you for your password and then give some errors, but it does disable the built in keyboard (tested on my ML 10.8.2)
To re-enable the builtin keyboard, load the kext file again:
sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext
BTW, I noticed that this immediately prints all that was typed on the builtin keyboard, so be ready for this (in Terminal this should probably just output some text).
There is a little utility called Keyboard Cleaner and it seems to work fine for me on 10.10.5. You run the program and only
cmd + q stay functional to then quit it.
KeyboardCleanTool is like Keyboard Cleaner, but instead of dropping a curtain that takes all the strokes, it disables it through Accessibility API. Main advantage is it also blocks media keys and doesn't produce sounds when keys are hit. Nothing works except power button.