Mein eigener kabelgebundener Linux-Tastaturtreiber und Schnittstelle zu meiner eingebetteten Anwendung
Ich möchte meinen eigenen Tastaturtreiber für meine eigene Tastatur entwickeln. Ich muss GPIO verwenden, um Schlüsselereignisse zu identifizieren, und I2c verwenden, um den Scancode zu erhalten. Ich werde den Treiber so entwickeln.
#include <linux/gpio.h> #include <linux/interrupt.h> #define GPIO 1 //gpio PIN ... if(gpio_request(GPIO, "Description")){ Exception } gpio_direction_input(GPIO); ... int irq = 0; if((irq = gpio_to_irq(GPIO)) < 0 ){ Exception } … int init_module(){ int result = request_irq(GPIO, handler_func, IRQF_TRIGGER_LOW,"Description", "Device id"); if(result){ Exception } } void handler_func(...){ //get scan code via i2c }
Ich muss eine Schnittstelle entwickeln und folgende Operationen
ausführen. Drucken Sie auf meiner Tastatur als "1abc" auf [KEY1].
1. Wenn Sie die Taste drücken, zeigen Sie die 1. Zeichen so an, wie sie sind -> "1".
2. Sonderkombinationen werden verwendet, um weitere 3 Zeichen einzugeben.
ZB:
Tasteneingaben wie folgt;
KEY1 (direktes Drücken) sollte "1" anzeigen.
F1 + KEY1 (gleichzeitiges Drücken) sollte "a" zeigen.
F2 + KEY1 (gleichzeitiges Drücken) sollte "b" zeigen.
F3 + KEY1 (gleichzeitiges Drücken) sollte "c" anzeigen.
Mein Problem ist, wie sollte ich diese Schnittstelle entwickeln?
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4