Guten Abend allerseits,
hiermit möchte ich meine aktuelle Zeitverschwendung der Epoche auch abschliessen. Wer sich ein bisschen mit Linux beschäftigt, der weiss, dass Sondertasten (z.B. Lautstärketasten auf Laptops) zur Zeit in der Regel nur von der Desktop-Umgebung behandelt werden.
Will man seine Lautstärketasten auch in der Konsole ohne X11 benutzen, dann ist die Alternative dazu ist dann meistens nur acpid (den ich nicht mag und der nur acpi-events kann) oder hal-basierte Lösungen wie halevt (hal mag ich nicht und es stirbt eh bald aus).
Also hab ich aus der Not eine Tugend gemacht und mir selber ein 1000-Zeiler in C geschrieben, der das auf das Linux-Input-Subsystem horcht und da Befehle bei bestimmten Tastendrücken ausführt.
"Screenshot":
[root@ThinkPad ~]# input-event-daemon --monitor
input-event-daemon: Monitoring mode started. Press CTRL+C to abort.
/dev/input/event12:
keys : BTN_LEFT
/dev/input/event1:
keys : CTRL + ALT + J
/dev/input/event7:
keys : PROG1
/dev/input/event7:
switch : RADIO:0
/dev/input/event11:
switch : HEADPHONE_INSERT:1
/dev/input/event7:
keys : SCREENLOCK
/dev/input/event1:
keys : SHIFT + S
Alles anzeigen
Ob ihr damit nur die Lautstärketasten auf amixer mappt oder beim einstecken der Kopfhörer automatisch den MP3-Player startet ist euch überlassen. Das Tool hört auf Tastendrücke (Keyboard- und Maustasten, teilweise auch Joystick-Tasten, je nach Treiber) und Switches (Killswitches, Notebook-Lids und Kopfhörerbuchsen, je nach Treiber). Das Tool ist relativ flexibel, mit dem Parameter --monitor könnt ihr mal horchen was so alles für Input-Events genereriert werden und danach eine Config schreiben.
Ja, schaut auch die Dokumentation an, an dieser Stelle noch meinen Dank an Griggi und oreissigs fürs Korrekturlesen.
Achja, Linux 2.6 (vermutlich sogar ab 2.6.16 oder so) ist zwingend nötig. Auch müssen die Kernel-Header installiert sein (linux-api-headers bei Arch Linux, linux-kernel-headers bei Debian/Ubuntu).
Manpage der Version 0.1.0 als HTML:
input-event-daemon-0.1.0.html (17,84 KB)
Quellcode & mehr: gandro's input-event-daemon at master - GitHub
Download: http://github.com/gandro/input-event-daemon/tarball/v0.1.3