我想为自己的键盘开发自己的键盘驱动程序。我必须使用 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”
我的问题是我应该如何开发这个界面?