Есть низкоуровневая прокладка https://github.com/apmorton/pyhidapi/blob/master/hid/init.py
когда я зацикливаю read() функцию и нажимаю кнопку на клавиатуре, то возвращаются 2 бинарных строки:
Например NUMLOCK 3:
\x00\x00[\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00