Ok, I DuckDuckGoed that for you. See the accepted answer to How to distinguish input from different keyboards?. No library required, apparently.
If you're using Linux, the best way to distinguish between input
devices is to use the Linux Event Interface. After a device's
hardware-specific input is decoded, it's converted to an intermediate
Linux-specific event structure and made available by reading one or
more of the character devices under /dev/input/. This is completely
independent of the programming language you use, by the way.
Each hardware device gets its own /dev/input/eventX device, and there
are also aggregates (e.g. /dev/input/mice which represents the motion
of all mice in the system). Your system may also have
/dev/input/by-path and /dev/input/by-id.
There's an ioctl called EVIOCGNAME which returns the name of the
device as a humanly-readable string, or you can use something like
/dev/input/by-id/usb-Logitech_USB_Gaming_Mouse-mouse.
You open the device, and every time an event arrives from the input
hardware, you'll get a packet of data. If you can read C, you can
study the file /usr/include/linux/input.h which shows exactly how this
stuff works. If you don't, you could read this question which provides
all the information you need.
The good thing about the event interface is that you just find out
what device you need, and you can read input from that input device
only, ignoring all others. You'll also get notifications about keys,
buttons and controls you normally wouldn't by just reading the
‘cooked’ character stream from a terminal: even dead keys like Shift,
etc.
The bad thing is that the event interface doesn't return ‘cooked’
characters, it just uses numeric codes for keys (the codes
corresponding to each key are found in the aforementioned header file
— but also in the Python source of event.py. If your input device has
unusual keys/buttons, you may need to experiment a bit till you get
the right numbers.
Thanks, @Alexios, for the answer
dev/ttyX
from/dev/ttyZ
, so would you agree with my rephrasing? I wouldn't even wonder much if that lib already ships insideos.*
;)I'm looking for a python library/module
" certainly makes this question on-topic. OP, please don't think that we think that new-guy questions are always knee-jerk & that we are anti new guys or even unclear questions. It's just a matter of "please give us info to help us to help you". Again - welcome aboard - we want to help you (ad hope that maybe you can help others) (p.s thanx @Izzy ;-)/devusb0
,/dev/usb1
, etc, but I can't say for sure. Although my profession is developing for Linux targets, it's all embedded - and we don't any HID.