使用input輸入子系統
1.分配input_dev
2.設定
3.註冊
4.硬體相關操作(有資料產生時,需要呼叫input_event來上報,給input_handle 最終呼叫到input_handler 中的event函式)
input_dev結構體
unsigned long入口函式:evbit[nbits(ev_max)];
unsigned
long
keybit[nbits(key_max)];
unsigned
long
relbit[nbits(rel_max)];
unsigned
long
absbit[nbits(abs_max)];
unsigned
long
mscbit[nbits(msc_max)];
unsigned
long
ledbit[nbits(led_max)];
unsigned
long
sndbit[nbits(snd_max)];
unsigned
long
ffbit[nbits(ff_max)];
unsigned
long swbit[nbits(sw_max)];
static出口函式:int buttons_init(void
)
return0;
}
/*按鍵中斷:出口函式
*/static
void buttons_exti(void
) del_timer(&buttons_timer);//
刪除定時器
input_unregister_device(buttons_dev);//
input_unregister_device解除安裝掉buttons_dev
input_free_device(buttons_dev);//
釋放掉分配的空間
}
//ls -l /dev/event* 檢視驅動事件中斷處理函式
static irqreturn_t buttons_irq(int irq, void *dev_id)
hexdump /dev/event1 十六進製制顯示(open(/dev/event1) read())
# hexdump /dev/event1
秒 微秒 type code value
0000000 0052 0000 354a 000c 0001 001f 0001 0000
0000010 0052 0000 e0df 000e 0001 001f 0000 0000
0000020 0054 0000 8901 0000 0001 001f 0001 0000
0000030 0054 0000 0d75 0003 0001 001f 0000 0000
使用exec命令 替代掉鍵盤
關於exec 命令參考
輸入子系統
驅動函式操作步驟 在初始化函式中 1.分配乙個input dev結構體 struct input dev buttons dev buttons dev input allocate device 2.設定 2.1 能產生哪類事件 set bit ev key,buttons dev evbit s...
系統程式設計(檔案輸入輸出)
程式1 鍵盤輸入,顯示屏顯示 沒有用到檔案,簡單使用read和write include int main from fd open argv 1 o rdonly if from fd 1 to fd open argv 2 o wronly o creat,s iwusr s irusr if ...
Linux輸入子系統
1.1.input子系統概述 輸入裝置 如按鍵,鍵盤,觸控螢幕,滑鼠等 是典型的字元裝置,其一般的工作機制是低層在按鍵,觸控等動作發生時產生乙個中斷 或驅動通過timer定時查詢 然後cpu通過spi,i2c或者外部儲存器匯流排讀取鍵值,座標等資料,放乙個緩衝區,字元裝置驅動管理該緩衝區,而驅動的r...