Mein eigener kabelgebundener Linux-Tastaturtreiber und Schnittstelle zu meiner eingebetteten Anwendung

424
coolmadu

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?

1

0 Antworten auf die Frage