我自己的 Linux 有线键盘驱动程序和嵌入式应用程序接口

我自己的 Linux 有线键盘驱动程序和嵌入式应用程序接口

我想为自己的键盘开发自己的键盘驱动程序。我必须使用 GPIO 来识别按键事件并使用 I2c 来获取扫描码。我打算像这样开发驱动程序。

#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
}

我需要开发一个界面,并且必须处理以下操作

  在我的键盘上,在 [KEY1] 上打印“1abc”。
  1.按下键时,按原样显示第一个字符->“1”
  2.使用特殊组合键输入其他 3 个字符
     例如:
          按键输入操作如下;

          KEY1(直接按下)应显示“1”
          F1 + KEY1(同时按下)应显示“a”
          F2 + KEY1(同时按下)应显示“b”
          F3 + KEY1(同时按下)应显示“c”

我的问题是我应该如何开发这个界面?

相关内容