Установите LD _LIBRARY _PATH, чтобы он указывал на расположение локальной библиотеки:
экспорт LD _БИБЛИОТЕКА _ПУТЬ= ~/lib
Да, драйвер клавиатуры является символьным устройством. Если вы это сделаете:
$ cat /proc/bus/input/devices
Затем вы увидите список устройств, среди которых должна быть ваша клавиатура.Это будет включать что-то вроде:
H: Handlers=sysrq kbd event18
Отсюда см./dev/input/event18
:
$ ls -l /dev/input/event18
crw-rw---- 1 root input 13, 82 Jul 9 15:44 /dev/input/event18
Обратите внимание, что это символьное устройство.
Если вы наберете это устройство, а затем наберете что-нибудь, вы увидите активность:
$ sudo cat /dev/input/event18
... type something, see the byte stream as characters
См. эту ссылку для простого сценария Python, который может использовать эти байты и интерпретировать их; Я воспроизведу сценарий здесь:
#!/usr/bin/env python3
import struct
f = open("/dev/input/event18", "rb"); # Open the file in the read-binary mode
while True:
data = f.read(24):
print(struct.unpack('4IHHI', data))
Согласно сайту, на который я ссылался, поля слева от -до -справа представляют: