1. 程式人生 > >input之按鍵輸入

input之按鍵輸入

input.h amp spa 框架 col 通過 fin inux sizeof

通過直接操作驅動來監控鍵盤,只要程序一旦在後臺啟動,無論在任何頁面都可以監控到按鍵的數值。

步驟如下:

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之按鍵輸入