我想開發自己的鍵盤驅動程序到我自己的鍵盤。我必須使用GPIO來識別關鍵事件,並使用I2c來獲取掃描代碼。 我打算開發這樣的鍵盤驅動程序。我自己的Linux Chorded鍵盤驅動程序和我的嵌入式應用程序的接口
#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」
我的問題是如何應我開發這個接口?
非常感謝。這對我更有幫助 – deeman