Este script hackeado funciona para mim por enquanto:
import string
from evdev import InputDevice
from select import select
keys = "X^1234567890XXXXqwertzuiopXXXXasdfghjklXXXXXyxcvbnmXXXXXXXXXXXXXXXXXXXXXXX"
dev = InputDevice('/dev/input/by-id/usb-HID_OMNIKEY_5127_CK_01010053423438303000835748112531-event-kbd')
while True:
r,w,x = select([dev], [], [])
for event in dev.read():
if event.type==1 and event.value==1:
print( keys[ event.code ] )
Ele usa python-evdev para ler de /dev/input/foo
e muito sujo converte-os para valores legíveis.
Isso é o que recebo quando executo o script e conecto um cartão ao leitor:
pi@raspberrypi ~ $ python test.py
7
6
4
3
f
a
4
6