shell命令:getevent和sendevent


1.getevent
輸出所有event設備的基本信息

 


輸出格式:
設備名: 事件type 事件code 事件value

注意:這里的數字都是16進制。

getevent -c 10 //輸出10條信息后退出
getevent -l //將type、code、value以對應的常量名稱顯示

使用 getevent -l 命令后輸出結果格式為:

 



對應的數字代碼轉換為容易理解的字符串了,這些常量定義都在input.h文件中。

2.sendevent
發送事件命令,模擬事件操作。
該命令格式如下:

 

注意:和getevent命令輸出的結果不一樣,這里的type,code,value都是10進制的。

看這張圖

這是在聯想A390t上點擊音量減按鍵的時候,getevent的輸出。很容易理解,分為四步:按下音量減->發送同步報告->抬起音量減->發送同步報告。只有發送了同步報告以后事件才能生效。
轉化成16進制輸出:

將其中的16進制數轉化成10進制數(0x72->114),使用sendevent命令模擬按下音量減鍵的效果試試。
依次輸入如下命令:

sendevent /dev/input/event0 0001 0114 00000001
sendevent /dev/input/event0 0000 0000 00000000
sendevent /dev/input/event0 0001 0114 00000000
sendevent /dev/input/event0 0000 0000 00000000

可以發現,在輸入了前兩天命令之后出現了音量調節窗口,如果不輸入后兩條命令,音量調節窗口是不會消失的。

最后強調一下:
(1)getevent輸出的是16進制,sendevent使用的是10進制,注意轉換。
(2)getevent命令的輸出結果因設備不同而不同,但都是相似的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM