I would like to know how one can disable the keyboard & mouse temporarily in OS X.
Since you like to do it progmmatically, I would recommend checking out http://alphababy.sourceforge.net/ and make a fork of that with the bits you need.
If you would do it without a program in-between I would say the hint about using "xinput set-int-prop [device_id] "Device Enabled" 8 0" from Disable Keyboard & Mouse input on unix (under X) would be better, but I understand it as that it is not what you are asking for.
Following on from what Jontas said...
Under Linux (I'm not entirely sure about OSX) you can use the xinput command to disable and enable specific devices. To get a list of device IDs just run the xinput command without any arguments. If $ID is the device ID then the following will disable it:
export DISPLAY=:0 xinput set-int-prop $ID "Device Enabled" 8 0
and this will re-enable it:
xinput set-int-prop $ID "Device Enabled" 8 1
I hope this is useful.
I have done this on linux (and I guess it shouldn't be that far out on Mac OS X) where I just unloaded the USB modules related to HID.
usbhid was one such module
This would of course rended any hid devices unusable and you will need another way (like remote access) of getting access back.
Unplugging and plugging the keyboard/mouse may also restore service.
I don't know about the mouse (apart from unplugging, of course) but Keyboard Cleaner temporarily disables the keyboard.
Under GNU/Linux systems running Xorg (on Wayland maybe will be different) you can use
xinput as James R said, and as explained here: https://unix.stackexchange.com/a/17172/48798
On Mac OS X you can disable your keyboard using
kextunload command like this:
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyb oard.kext/
(I've put there a typo intentionally, so you don't risk to issue this command unintentionally copying and pasting the text - you have to correct it and issue it on purpose)
To re-enable your keyboard use:
sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/