struct input_event

  struct input_event結構體是linux輸入子系統的嚮應用層傳遞的接口。操作/dev/input/event1文件,寫入個input_event結構體就可以模擬按鍵的輸入。

#inlcude <linux/input.h>
struct input_event {
    struct timeval time;//按鍵時間
    __u16 type;//類型
    __u16 code;//需模擬成的按鍵
    __s32 value;//按下或釋放
};

type: 

#define EV_SYN            0x00
#define EV_KEY            0x01 //按鍵
#define EV_REL            0x02 //相對座標(軌跡球)
#define EV_ABS            0x03 //絕對座標
#define EV_MSC            0x04 //其他
#define EV_SW            0x05
#define EV_LED            0x11 //LED
#define EV_SND            0x12//聲音
#define EV_REP            0x14//repeat
#define EV_FF            0x15
#define EV_PWR            0x16
#define EV_FF_STATUS        0x17
#define EV_MAX            0x1f
#define EV_CNT            (EV_MAX+1)

code:

事件類型爲EV_KEY時,該code爲設備按鍵代碼

  0~127爲鍵盤上的按鍵代碼,

  0x110~0x116 爲鼠標上按鍵代碼,  其中0x110(BTN_ LEFT)爲鼠標左鍵, 0x111(BTN_RIGHT)爲鼠標右鍵, 0x112(BTN_ MIDDLE)爲鼠標中鍵.

  其它代碼含義請參看include/linux /input.h文件. 

事件的類型代碼爲EV_REL,該code爲軌跡的類型.

  0x00:指示鼠標的X軸方向 REL_X 

  0x01:指示鼠標的Y軸方向REL_Y

  0x08:指示鼠標中輪子方向REL_WHEEL

value:

事件的類型代碼是EV_KEY時,按下值爲1,釋放值爲0

事件的類型代碼是EV_ REL時,value的正數值和負數值分別代表兩個不同方向的值.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章