Dobrý den,
Nedávno jsem se snažil dosáhnout něčeho podobného.
Podívejte se na projekt logkeys:
http://code.google.com/p/logkeys/
Pokud si stáhnete zdrojový kód a podíváte se do souboru logkeys.cc, najdete jeden způsob, jak automaticky zjistit, který /dev/input/event používá vaše klávesnice. To vám umožní číst nezpracované kódy skenování z klávesnice bez ohledu na to, který program je aktuálně aktivní. Program logkeys také ukazuje, jak převést skenované kódy na znaky a další užitečné triky.
Doufám, že to pomůže,
Markus.
Jednoduchý grep
provoz na /proc/bus/input/devices soubor poskytne všechny klávesnice připojené k počítači:
grep -E 'Handlers|EV=' /proc/bus/input/devices | \
grep -B1 'EV=120013' | \
grep -Eo 'event[0-9]+'
Kde EV=120013
je bitová maska pro události podporované zařízením. Jak je vysvětleno zde.
Takto je implementován v logkeys
Čtete na špatném zařízení. Buď vyzkoušejte všechny /dev/input/event* nebo se podívejte do /var/log/Xorg.0.log, které zařízení se používá pro vaši klávesnici.