Portál AbcLinuxu, 12. července 2025 16:54
static struct notifier_block nb = {
.notifier_call = key_processor,
}
hlavička této funkce potom vypadá zhruba takto:
int key_processor(struct notifier_block *nblock, unsigned long code, void *_param)
Zde můžu zjistit kódy kláves, které byly stisknuty/uvolněny (a pravděpodobně z předávaných struktur i mnohem více, ale zatím jsem to důkladněji neprozkoumal), ale zde je asi již stejně příliš pozdě na to, abych systém nechal klávesu, o které v této funkci rozhodnu, že pochází ze čtečky, nepředal aktivní uživatelské aplikaci, pokud se nemýlím. Zkoušel jsem jako návratovou hodnotu z této funkce použít konstanty jako NOTIFY_OK, NOTIFY_BAD, NOTIFY_STOP, ale vždy byla klávesa předána.
Pokud by tudy cesta nevedla, nebránil bych se ani úpravě přímo nějaké části jádra, ale neorinetuji se v něm natolik, abych věděl kam přesně by bylo vhodné sáhnout a na dlouhé experimenty bohužel nemám čas, proto to zkouším zde.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.