Android4 .1添加新的按鍵(1)

 在Android 系統中定義了大量的物理和虛擬按鍵,比如返回鍵,home鍵,數字鍵等。現在有這樣一個需求,要在現有的開發板上添加一個新的物理按鍵。
  在添加按鍵之前,需要了解Andorid 系統的按鍵軟件架構,以物理按鍵爲例。
  1. 按鍵驅動層  
      將物理按鍵的鍵值上報給按鍵框架層。在手機的文件系統中,有這樣的一個目錄 /dev/input,按鍵框架層,就是通過檢測這個目錄,看是否有按鍵值上報。
  2. 按鍵框架層
      <1>將驅動中定義個的按鍵值映射成按鍵碼.(*.kcl)
      <2>將按鍵碼映射成用戶可見的字符.(*.kcm)
  3. 按鍵應用層
      應用層在onKeyUp,onKeyDown 中識別的就是keyCode.
  按鍵值映射文件 *.kl
   如Generic.kl,qwerty.kl 等。
   key 123 BACK,  這句話的意思是 將驅動上報的鍵值 123  映射城按鍵碼  BACK,BACK 有自己的值(KeycodeLabel.h).
  按鍵字符映射文件 *.kcm
  將按鍵碼映射成多個可顯示的用戶可以看到的字符。
   如 qwerty.kcm(全鍵盤)
   META Keys:就是ALT、SHIFT、CAPS_LOCK 這幾個鍵。
   key A {
    label:                              'A'
    number:                             '2'
    base:                               'a'
    shift, capslock:                    'A'
    alt:                                '#'
    shift+alt, capslock+alt:            none
   }
   label 表示顯示的字符 'A"
   number 表示這個按鍵碼對應的數字,如在 九宮格中,按下包含a的那個鍵時,對應的數字鍵就是2
   base 表示,ALT,SHIFT,CAPS_LOCK 這些按鍵沒有被按下時,需要顯示的字符
   shift,capslock 表示shift或者capslock 被按下時,需要顯示的字符

   其他的類似。


轉自:http://blog.csdn.net/lsdmx2016/article/details/8606851

發佈了113 篇原創文章 · 獲贊 329 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章