input之按鍵輸入
通過直接操作驅動來監控鍵盤,只要程序一旦在後臺啟動,無論在任何頁面都可以監控到按鍵的數值。
步驟如下:
1.找到鍵盤掛在點:有兩種方法
方法一:在 /dev/input路徑下通過 cat even..(1,2,3,4.。)打印操作,並按下鍵盤看哪個出現的不是回寫(亂碼狀態),就是鍵盤掛載點,我的是event1;鼠標是event2;
方法二:在命令行中輸入 cat /proc/bus/input/devices 查看設備對應的結點(文件)
2.打開鍵盤文件:
#define DEV "/dev/input/event1"
int keyFd;
keyFd=open(DEV,RDONLY);
3.讀鍵盤數據
問:讀的數據應該以什麽類型存放?
解:所有的輸入設備都公用一個頭文件,即共用這一個框架,頭文件為<linux/input.h>,
/////////////////////////////這是頭文件中的結構體,不用寫////////////////////////////////////////////////////////////////////////////
struct input_event {
struct timeval time;
__u16 type;//按鍵類型
—u16code;//按鍵值
__s32 value;//按下為1,長按為2,松開為0
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
int ret; struct input_event ev;
ret=read(devFd,&ev,sizeof(ev));
每一次從鍵盤讀到的值都存在這樣的一個結構體中;
5.訪問數據
通過結構體變量ev可以訪問數據。
input之按鍵輸入