What I would like to take ownership of a hid device that may already have been plugged in, consume it\'s output, while preventing others(X11 or terminal) from consuming it.
I have done this - my specific application was a daemon that read events from a USB HID barcode reader (which presents as a USB HID keyboard device).
To do this I used the event device interface, opening the /dev/input/event*
device corresponding to the device I was after. You can then issue the EVIOCGRAB
ioctl on the device, which grabs it for exclusive use, and read events (which represent keypresses, mouse movements etc) from the device as they become available.
(When the device is grabbed for exclusive use, only your application will see events from it).