Как захватить нажатия клавиш с помощью демона Python? - PullRequest
4 голосов
/ 14 января 2010

Я пытаюсь написать приложение в стиле POS для Sheevaplug , которое выполняет следующее:

  1. Захватывает ввод с устройства чтения карт (как я понимаю, большинство считывателей магнитных карт имитируют ввод с клавиатуры, поэтому в основном я собираюсь это уловить)
  2. Не требует X
  3. Работает в фоновом режиме (демон)

Я видел примеры кода, который будет ждать STDIN, но это не сработает, потому что это фоновый процесс без входа в систему, даже на самом деле не монитор.

Я также нашел этот фрагмент в другом месте на этом сайте:

from struct import unpack
port = open("/dev/input/event1","rb")    

while 1:    
    a,b,c,d = unpack("4B",port.read(4))    
    print a,b,c,d

Который, будучи наиболее близким к тому, что мне пока нужно, генерирует только серию чисел, все из которых отличаются друг от друга, и я не знаю, как преобразовать их в полезные значения.

Очевидно, я что-то здесь упускаю, но я не знаю, что это. Может кто-нибудь пожалуйста, как пройти остаток пути?

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Раздел 5 ядра Linux Входная документация описывает, что означает каждое из значений в интерфейсе событий.

1 голос
/ 14 января 2010

формат описан в документации ядра в разделе 5. Интерфейс событий .

...