J'essayais de capturer des événements de clavier. par exemple. Je veux explorer un keylogger de la scratch. Après 2 heures de combat, j'ai trouvé ce qui suit
neel@pc1$ ls -l /dev/input/by-id
lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-kbd -> ../event1
lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-mouse -> ../event2
lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-mouse -> ../mouse1
Mais quand j'ai essayé de
neel@pc1$ Sudo cat /dev/input/usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-kbd
Ça ne donne rien il n'y avait pas de sortie
après un peu plus de recherche maintenant, je pense probablement quelque chose dans Xorg le bloque.
Donc, plus d'informations ?? et à la fin de l'indique comment puis-je lire l'entrée de ce fichier ?? ou y a-t-il une autre façon de capturer des événements de clavier ??
Bonjour,
J'essayais récemment d'accomplir quelque chose de similaire.
Jetez un coup d'œil au projet LOGKEYS:
http://code.google.com/p/logkeys/
Si vous téléchargez le code source et consultez le fichier LogKeys.cc, vous trouverez une méthode comment détecter automatiquement lequel/dev/entrée/événement est utilisé par votre clavier. Cela vous permettra de lire les codes de numérisation bruts du clavier, quel que soit le programme actuellement mis sur la mise au point. Le programme LOGKEYS montre également comment traduire les codes de numérisation en caractères et d'autres astuces utiles.
J'espère que cela t'aides,
Markus.
Une opération simple grep
sur le fichier /proc/bus/entrées/périphériques Fichier fournira tous les claviers branchés sur la machine:
grep -E 'Handlers|EV=' /proc/bus/input/devices | \
grep -B1 'EV=120013' | \
grep -Eo 'event[0-9]+'
Où EV=120013
est le bitmask pour les événements pris en charge par l'appareil. Comme expliqué ici .
C'est la façon dont il est mis en œuvre dans LOGKEYS
Vous lisez le mauvais appareil. Essayez tous/dev/d 'entrée/événement * ou regarder dans /var/log/xorg.0.log pour quel périphérique est utilisé pour votre clavier.
Je vous recommanderais d'utiliser l'application EvTest, il répertorie tous vos périphériques d'entrée et vous permet de surveiller leurs événements.