android kl文件


android kl(key layout)文件是一個映射文件,是標准linux與anroid的鍵值映射文件,kl文件可以有很多個,但是它有一個使用優先級:

/system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl  
/system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl  
/system/usr/keylayout/DEVICE_NAME.kl  
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl  
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl  
/data/system/devices/keylayout/DEVICE_NAME.kl  
/system/usr/keylayout/Generic.kl  
/data/system/devices/keylayout/Generic.kl  

如果你沒有為設備單獨定義kl文件,那么就會使用默認的那個Generic.kl文件。
例如:

# This is an example of a key layout file for basic system controls, such as
# volume and power keys which are typically implemented as GPIO pins that
# the device decodes into key presses.

key 114   VOLUME_DOWN       WAKE
key 115   VOLUME_UP         WAKE
key 116   POWER             WAKE

還有一點需要注意,我們怎么知道這個vendor號和input name呢,可以通過cat /proc/bus/input/devices命令查看,當然getevent -p也可以查看input name。而android這邊的keycode定義在frameworks/native/include/input/InputEventLabels.h文件中,定義在KEYCODES這個數組中的,是通過宏DEFINE_KEYCODE定義的,例如:

DEFINE_KEYCODE(VOLUME_DOWN),  

而真正的鍵值是定義在frameworks/native/include/android/keycodes.h中的。
完。


免責聲明!

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



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