檢視/dev/input/eventx是什麼型別的事件, cat /proc/bus/input/devices
裝置有著自己特殊的按鍵鍵碼,我需要將一些標準的按鍵,比如0-9,x-z等模擬成標準按鍵,比如key_0,key-z等,所以需要用到按鍵模擬,具體 方法就是操作/dev/input/event1檔案,向它寫入個input_event結構體就可以模擬按鍵的輸入了。
linux/input.h中有定義,這個檔案還定義了標準按鍵的編碼等
struct input_event ;
code:
事件的**.如果事件的型別**是ev_key,該**code為裝置鍵盤**.**植0~127為鍵盤上的按鍵**,0x110~0x116 為滑鼠上按鍵**,其中0x110(btn_ left)為滑鼠左鍵,0x111(btn_right)為滑鼠右鍵,0x112(btn_ middle)為滑鼠中鍵.其它**含義請參看include/linux/input.h檔案. 如果事件的型別**是ev_rel,code值表示軌跡的型別.如指示滑鼠的x軸方向rel_x(**為0x00),指示滑鼠的y軸方向rel_y(** 為0x01),指示滑鼠中輪子方向rel_wheel(**為0x08).
type:
ev_key,鍵盤
ev_rel,相對座標
ev_abs,絕對座標
value:
事件的值.如果事件的型別**是ev_key,當按鍵按下時值為1,鬆開時值為0;如果事件的型別**是ev_ rel,value的正數值和負數值分別代表兩個不同方向的值.
/*
* event types
*/#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)
定義結構體型別時用結構體自身型別或指標定義內部成員
定義自身型別的成員是不可以的 定義結構體時,是不可以定義自身型別的成員的。這是因為結構體中各個成員所需的儲存空間大小是編譯階段確定的,當用該結構體定義自身成員時,由於結構體大小還不確定,因此此時定義的陳冠所需要的儲存空間大小也就不確定,因此編譯會報錯 定義自身型別的指標成員是可以的 但是可以定義該結...
結構體型別 結構體變數 結構體陣列 結構體指標
問題1 一元錢換為1 2 5分的硬幣,有多少種兌換方?本題要點分析及參 對各種可能情況進行一一測試。這是實現迴圈的一種方式 窮舉法 但實際上只有只有餘額才能兌換成其它面值的硬幣 main 注意換行的控制和每列的對齊 問題3 某鐵路線上有10個站,需要準備多少種客票?main b a 0 p prin...
結構體 結構體陣列
void test 函式遞迴呼叫 允許函式體裡再次呼叫函式本身 使用遞迴一定要有出口 long fact int n return n fact n 1 定義乙個新的資料型別 struct mypoint 結構體型別所占用的記憶體空間是最大資料型別的整數倍。因為結構體型別的變數在分配記憶體時有記憶體...