日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android下添加新的自定义键值和按键处理流程【转】

發布時間:2025/3/19 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android下添加新的自定义键值和按键处理流程【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉載自:

Android下添加新的自定義鍵值和按鍵處理流程

說出來不怕大家笑話,我寫這篇博客的原因在于前幾天去一個小公司面試Android系統工程師,然后在面試的時候對方的技術總監問了我一個問題,請你詳細描述一下怎么在Android下添加自定義鍵值和詳細描述下Android的按鍵處理流程。現在回想起來當時回答的確實不是很好,乘著現在比較空閑的時機就來分析下上述的兩個問題。
??? 首先分析下Android下怎么添加新的自定義鍵值。在Android的原生系統中鍵值默認情況下是92個,從0-91;一般情況下,這些鍵值是夠用的,但是如果想擴充的話,還是需要添加新的鍵值的,那么如何將一個新的鍵值從驅動的設置映射到上層,使應用可以對我們自定義的鍵值進行相應的處理呢? 在介紹Android怎么添加新的鍵值以前先介紹下Android下INPUT子系統FLOW的流程,下面就是精簡的流程圖示意圖: 1.添加按鍵及其映射 1)如果系統有新的按鍵需要添加,瑪門是怎么添加并上報到系統上層去的呢(這里的上層主要指的是Android應用層),首先要確定的是我們的遙控設備是通過/dev/input目錄下那個event調用那個kl文件,這里可以通過如下命令超看cat /proc/bus/input/devices,下面是在終端下的打印信息 [cpp]?view plaincopy
  • <span?style="font-family:FangSong_GB2312;font-size:18px;">shell@orange:/?#?cat?/proc/bus/input/devices???
  • I:?Bus=0018?Vendor=3697?Product=0001?Version=0001??
  • N:?Name="MStar?Smart?TV?IR?Receiver"??
  • P:?Phys=/dev/ir??
  • S:?Sysfs=/devices/virtual/rc/rc0/input0??
  • U:?Uniq=??
  • H:?Handlers=kbd?event0???
  • B:?PROP=0??
  • B:?EV=13??
  • B:?KEY=fc0000?0?fc900?142851?0?0?0?0?108000?1a8?c0000c01?9e37c0?48007?f8000000?10000ffc??
  • B:?MSC=10??
  • ??
  • I:?Bus=0000?Vendor=0000?Product=0000?Version=0000??
  • N:?Name="MCE?IR?Keyboard/Mouse?(ir)"??
  • P:?Phys=/input0??
  • S:?Sysfs=/devices/virtual/input/input1??
  • U:?Uniq=??
  • H:?Handlers=kbd?mouse0?event1???
  • B:?PROP=0??
  • B:?EV=100017??
  • B:?KEY=30000?0?7?ff87207a?c14057ff?febeffdf?ffefffff?ffffffff?fffffffe??
  • B:?REL=3??
  • B:?MSC=10??
  • ??
  • shell@orange:/?#???
  • shell@orange:/?#?</span>??
  • 通過打印信息我們可以知道,我們的終端設備使用的是Vendor_3697_Product_0001.kl文件,我這里只分析IT遙控設備,那我們的Vendor_3697_Product_0001.kl里面又是啥呢,我們可以通過cat命令查看,具體的信息如下: [cpp]?view plaincopy
  • <span?style="font-family:FangSong_GB2312;font-size:18px;">#?Copyright?(C)?2010?The?Android?Open?Source?Project??
  • #??
  • #?Licensed?under?the?Apache?License,?Version?2.0?(the?"License");??
  • #?you?may?not?use?this?file?except?in?compliance?with?the?License.??
  • #?You?may?obtain?a?copy?of?the?License?at??
  • #??
  • #??????http://www.apache.org/licenses/LICENSE-2.0??
  • #??
  • #?Unless?required?by?applicable?law?or?agreed?to?in?writing,?software??
  • #?distributed?under?the?License?is?distributed?on?an?"AS?IS"?BASIS,??
  • #?WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND,?either?express?or?implied.??
  • #?See?the?License?for?the?specific?language?governing?permissions?and??
  • #?limitations?under?the?License.??
  • ??
  • #??
  • #?MStar?Smart?TV?IR?Receiver.??
  • #??
  • ??
  • key?116?????POWER???????????????????WAKE??
  • key?11??????0??
  • key?2???????1??
  • key?3???????2??
  • key?4???????3??
  • key?5???????4??
  • key?6???????5??
  • key?7???????6??
  • key?8???????7??
  • key?9???????8??
  • key?10??????9??
  • key?398?????PROG_RED??
  • key?399?????PROG_GREEN??
  • key?400?????PROG_YELLOW??
  • key?401?????PROG_BLUE??
  • key?103?????DPAD_UP??
  • key?108?????DPAD_DOWN??
  • key?105?????DPAD_LEFT??
  • key?106?????DPAD_RIGHT??
  • key?28??????ENTER??
  • key?402?????CHANNEL_UP??????????????WAKE_DROPPED??
  • key?403?????CHANNEL_DOWN????????????WAKE_DROPPED??
  • key?115?????VOLUME_UP???????????????WAKE_DROPPED??
  • key?114?????VOLUME_DOWN?????????????WAKE_DROPPED??
  • key?104?????PAGE_UP??
  • key?109?????PAGE_DOWN??
  • key?102?????HOME????????????????????WAKE_DROPPED??
  • key?139?????MENU????????????????????WAKE_DROPPED??
  • key?158?????BACK??
  • key?113?????VOLUME_MUTE??
  • key?167?????DVR??
  • key?138?????GUIDE??
  • key?358?????INFO??
  • #key?82??????WINDOW??
  • #key?79??????TV_INPUT??
  • key?168?????MEDIA_REWIND??
  • key?159?????MEDIA_FAST_FORWARD??
  • key?165?????MEDIA_PREVIOUS??
  • key?163?????MEDIA_NEXT??
  • key?207?????MEDIA_PLAY??
  • key?119?????MEDIA_PAUSE??
  • key?128?????MEDIA_STOP??
  • ??
  • #?Common?extended??
  • key?392?????SOUND_MODE??
  • key?212?????PICTURE_MODE??
  • key?372?????ASPECT_RATIO??
  • key?363?????CHANNEL_RETURN??
  • key?142?????SLEEP??
  • key?365?????EPG??
  • key?395?????LIST??
  • #key?370?????SUBTITLE??
  • key?466?????MTS??
  • key?467?????FREEZE??
  • key?468?????TTX??
  • key?469?????CC??
  • key?470?????TV_SETTING??
  • key?471?????SCREENSHOT??
  • key?356?????TV_POWER??
  • ??
  • #?Mstar?extended??
  • key?59??????MSTAR_BALANCE??
  • key?60??????MSTAR_INDEX??
  • key?61??????MSTAR_HOLD??
  • key?62??????MSTAR_UPDATE??
  • key?63??????MSTAR_REVEAL??
  • key?64??????MSTAR_SUBCODE??
  • key?65??????MSTAR_SIZE??
  • key?66??????MSTAR_CLOCK</span>??

  • ? ??2)在Vendor_3697_Product_0001.kl文件中添加映射 key 123 WLS 說明: key?-- 是關鍵字。固定值,不需要改變。
    ? ? ?123?-- 該按鍵在linux驅動中對應的鍵值,我在這里只是假設的這個值,至于具體對應的是那個可以查看“include/linux/input.h”
    ? ? ?WLS?-- 123按鍵映射到Android中的按鍵,它對應是“KeycodeLabels.h”文件中的KEYCODES表格元素的“literal”值。
    ? ? ? ? 其中KeycodeLabels.h的定義如下,我們可以在"MSTAR_PVR_BROWSER", 319后面添加我們需要向Android上層拋的鍵值,我們這里定義為"WLS", 320,所以當Android上層監聽到320的按鍵值是就是我們新添加的鍵值了。 [cpp]?view plaincopy
  • <span?style="font-family:FangSong_GB2312;font-size:18px;">/*?
  • ?*?Copyright?(C)?2008?The?Android?Open?Source?Project?
  • ?*?
  • ?*?Licensed?under?the?Apache?License,?Version?2.0?(the?"License");?
  • ?*?you?may?not?use?this?file?except?in?compliance?with?the?License.?
  • ?*?You?may?obtain?a?copy?of?the?License?at?
  • ?*?
  • ?*??????http://www.apache.org/licenses/LICENSE-2.0?
  • ?*?
  • ?*?Unless?required?by?applicable?law?or?agreed?to?in?writing,?software?
  • ?*?distributed?under?the?License?is?distributed?on?an?"AS?IS"?BASIS,?
  • ?*?WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND,?either?express?or?implied.?
  • ?*?See?the?License?for?the?specific?language?governing?permissions?and?
  • ?*?limitations?under?the?License.?
  • ?*/??
  • ??
  • ??
  • #ifndef?_LIBINPUT_KEYCODE_LABELS_H??
  • #define?_LIBINPUT_KEYCODE_LABELS_H??
  • ??
  • ??
  • #include?<android/keycodes.h>??
  • ??
  • ??
  • struct?KeycodeLabel?{??
  • ????const?char?*literal;??
  • ????int?value;??
  • };??
  • ??
  • ??
  • static?const?KeycodeLabel?KEYCODES[]?=?{??
  • ????{?"SOFT_LEFT",?1?},??
  • ????{?"SOFT_RIGHT",?2?},??
  • ????{?"HOME",?3?},??
  • ????{?"BACK",?4?},??
  • ????{?"CALL",?5?},??
  • ????{?"ENDCALL",?6?},??
  • ????{?"0",?7?},??
  • ????{?"1",?8?},??
  • ????{?"2",?9?},??
  • ????{?"3",?10?},??
  • ????{?"4",?11?},??
  • ????{?"5",?12?},??
  • ????{?"6",?13?},??
  • ????{?"7",?14?},??
  • ????{?"8",?15?},??
  • ????{?"9",?16?},??
  • ????{?"STAR",?17?},??
  • ????{?"POUND",?18?},??
  • ????{?"DPAD_UP",?19?},??
  • ????{?"DPAD_DOWN",?20?},??
  • ????{?"DPAD_LEFT",?21?},??
  • ????{?"DPAD_RIGHT",?22?},??
  • ????{?"DPAD_CENTER",?23?},??
  • ????{?"VOLUME_UP",?24?},??
  • ????{?"VOLUME_DOWN",?25?},??
  • ????{?"POWER",?26?},??
  • ????{?"CAMERA",?27?},??
  • ????{?"CLEAR",?28?},??
  • ????{?"A",?29?},??
  • ????{?"B",?30?},??
  • ????{?"C",?31?},??
  • ????{?"D",?32?},??
  • ????{?"E",?33?},??
  • ????{?"F",?34?},??
  • ????{?"G",?35?},??
  • ????{?"H",?36?},??
  • ????{?"I",?37?},??
  • ????{?"J",?38?},??
  • ????{?"K",?39?},??
  • ????{?"L",?40?},??
  • ????{?"M",?41?},??
  • ????{?"N",?42?},??
  • ????{?"O",?43?},??
  • ????{?"P",?44?},??
  • ????{?"Q",?45?},??
  • ????{?"R",?46?},??
  • ????{?"S",?47?},??
  • ????{?"T",?48?},??
  • ????{?"U",?49?},??
  • ????{?"V",?50?},??
  • ????{?"W",?51?},??
  • ????{?"X",?52?},??
  • ????{?"Y",?53?},??
  • ????{?"Z",?54?},??
  • ????{?"COMMA",?55?},??
  • ????{?"PERIOD",?56?},??
  • ????{?"ALT_LEFT",?57?},??
  • ????{?"ALT_RIGHT",?58?},??
  • ????{?"SHIFT_LEFT",?59?},??
  • ????{?"SHIFT_RIGHT",?60?},??
  • ????{?"TAB",?61?},??
  • ????{?"SPACE",?62?},??
  • ????{?"SYM",?63?},??
  • ????{?"EXPLORER",?64?},??
  • ????{?"ENVELOPE",?65?},??
  • ????{?"ENTER",?66?},??
  • ????{?"DEL",?67?},??
  • ????{?"GRAVE",?68?},??
  • ????{?"MINUS",?69?},??
  • ????{?"EQUALS",?70?},??
  • ????{?"LEFT_BRACKET",?71?},??
  • ????{?"RIGHT_BRACKET",?72?},??
  • ????{?"BACKSLASH",?73?},??
  • ????{?"SEMICOLON",?74?},??
  • ????{?"APOSTROPHE",?75?},??
  • ????{?"SLASH",?76?},??
  • ????{?"AT",?77?},??
  • ????{?"NUM",?78?},??
  • ????{?"HEADSETHOOK",?79?},??
  • ????{?"FOCUS",?80?},??
  • ????{?"PLUS",?81?},??
  • ????{?"MENU",?82?},??
  • ????{?"NOTIFICATION",?83?},??
  • ????{?"SEARCH",?84?},??
  • ????{?"MEDIA_PLAY_PAUSE",?85?},??
  • ????{?"MEDIA_STOP",?86?},??
  • ????{?"MEDIA_NEXT",?87?},??
  • ????{?"MEDIA_PREVIOUS",?88?},??
  • ????{?"MEDIA_REWIND",?89?},??
  • ????{?"MEDIA_FAST_FORWARD",?90?},??
  • ????{?"MUTE",?91?},??
  • ????{?"PAGE_UP",?92?},??
  • ????{?"PAGE_DOWN",?93?},??
  • ????{?"PICTSYMBOLS",?94?},??
  • ????{?"SWITCH_CHARSET",?95?},??
  • ????{?"BUTTON_A",?96?},??
  • ????{?"BUTTON_B",?97?},??
  • ????{?"BUTTON_C",?98?},??
  • ????{?"BUTTON_X",?99?},??
  • ????{?"BUTTON_Y",?100?},??
  • ????{?"BUTTON_Z",?101?},??
  • ????{?"BUTTON_L1",?102?},??
  • ????{?"BUTTON_R1",?103?},??
  • ????{?"BUTTON_L2",?104?},??
  • ????{?"BUTTON_R2",?105?},??
  • ????{?"BUTTON_THUMBL",?106?},??
  • ????{?"BUTTON_THUMBR",?107?},??
  • ????{?"BUTTON_START",?108?},??
  • ????{?"BUTTON_SELECT",?109?},??
  • ????{?"BUTTON_MODE",?110?},??
  • ????{?"ESCAPE",?111?},??
  • ????{?"FORWARD_DEL",?112?},??
  • ????{?"CTRL_LEFT",?113?},??
  • ????{?"CTRL_RIGHT",?114?},??
  • ????{?"CAPS_LOCK",?115?},??
  • ????{?"SCROLL_LOCK",?116?},??
  • ????{?"META_LEFT",?117?},??
  • ????{?"META_RIGHT",?118?},??
  • ????{?"FUNCTION",?119?},??
  • ????{?"SYSRQ",?120?},??
  • ????{?"BREAK",?121?},??
  • ????{?"MOVE_HOME",?122?},??
  • ????{?"MOVE_END",?123?},??
  • ????{?"INSERT",?124?},??
  • ????{?"FORWARD",?125?},??
  • ????{?"MEDIA_PLAY",?126?},??
  • ????{?"MEDIA_PAUSE",?127?},??
  • ????{?"MEDIA_CLOSE",?128?},??
  • ????{?"MEDIA_EJECT",?129?},??
  • ????{?"MEDIA_RECORD",?130?},??
  • ????{?"F1",?131?},??
  • ????{?"F2",?132?},??
  • ????{?"F3",?133?},??
  • ????{?"F4",?134?},??
  • ????{?"F5",?135?},??
  • ????{?"F6",?136?},??
  • ????{?"F7",?137?},??
  • ????{?"F8",?138?},??
  • ????{?"F9",?139?},??
  • ????{?"F10",?140?},??
  • ????{?"F11",?141?},??
  • ????{?"F12",?142?},??
  • ????{?"NUM_LOCK",?143?},??
  • ????{?"NUMPAD_0",?144?},??
  • ????{?"NUMPAD_1",?145?},??
  • ????{?"NUMPAD_2",?146?},??
  • ????{?"NUMPAD_3",?147?},??
  • ????{?"NUMPAD_4",?148?},??
  • ????{?"NUMPAD_5",?149?},??
  • ????{?"NUMPAD_6",?150?},??
  • ????{?"NUMPAD_7",?151?},??
  • ????{?"NUMPAD_8",?152?},??
  • ????{?"NUMPAD_9",?153?},??
  • ????{?"NUMPAD_DIVIDE",?154?},??
  • ????{?"NUMPAD_MULTIPLY",?155?},??
  • ????{?"NUMPAD_SUBTRACT",?156?},??
  • ????{?"NUMPAD_ADD",?157?},??
  • ????{?"NUMPAD_DOT",?158?},??
  • ????{?"NUMPAD_COMMA",?159?},??
  • ????{?"NUMPAD_ENTER",?160?},??
  • ????{?"NUMPAD_EQUALS",?161?},??
  • ????{?"NUMPAD_LEFT_PAREN",?162?},??
  • ????{?"NUMPAD_RIGHT_PAREN",?163?},??
  • ????{?"VOLUME_MUTE",?164?},??
  • ????{?"INFO",?165?},??
  • ????{?"CHANNEL_UP",?166?},??
  • ????{?"CHANNEL_DOWN",?167?},??
  • ????{?"ZOOM_IN",?168?},??
  • ????{?"ZOOM_OUT",?169?},??
  • ????{?"TV",?170?},??
  • ????{?"WINDOW",?171?},??
  • ????{?"GUIDE",?172?},??
  • ????{?"DVR",?173?},??
  • ????{?"BOOKMARK",?174?},??
  • ????{?"CAPTIONS",?175?},??
  • ????{?"SETTINGS",?176?},??
  • ????{?"TV_POWER",?177?},??
  • ????{?"TV_INPUT",?178?},??
  • ????{?"STB_POWER",?179?},??
  • ????{?"STB_INPUT",?180?},??
  • ????{?"AVR_POWER",?181?},??
  • ????{?"AVR_INPUT",?182?},??
  • ????{?"PROG_RED",?183?},??
  • ????{?"PROG_GREEN",?184?},??
  • ????{?"PROG_YELLOW",?185?},??
  • ????{?"PROG_BLUE",?186?},??
  • ????{?"APP_SWITCH",?187?},??
  • ????{?"BUTTON_1",?188?},??
  • ????{?"BUTTON_2",?189?},??
  • ????{?"BUTTON_3",?190?},??
  • ????{?"BUTTON_4",?191?},??
  • ????{?"BUTTON_5",?192?},??
  • ????{?"BUTTON_6",?193?},??
  • ????{?"BUTTON_7",?194?},??
  • ????{?"BUTTON_8",?195?},??
  • ????{?"BUTTON_9",?196?},??
  • ????{?"BUTTON_10",?197?},??
  • ????{?"BUTTON_11",?198?},??
  • ????{?"BUTTON_12",?199?},??
  • ????{?"BUTTON_13",?200?},??
  • ????{?"BUTTON_14",?201?},??
  • ????{?"BUTTON_15",?202?},??
  • ????{?"BUTTON_16",?203?},??
  • ????{?"LANGUAGE_SWITCH",?204?},??
  • ????{?"MANNER_MODE",?205?},??
  • ????{?"3D_MODE",?206?},??
  • ????{?"CONTACTS",?207?},??
  • ????{?"CALENDAR",?208?},??
  • ????{?"MUSIC",?209?},??
  • ????{?"CALCULATOR",?210?},??
  • ????{?"ZENKAKU_HANKAKU",?211?},??
  • ????{?"EISU",?212?},??
  • ????{?"MUHENKAN",?213?},??
  • ????{?"HENKAN",?214?},??
  • ????{?"KATAKANA_HIRAGANA",?215?},??
  • ????{?"YEN",?216?},??
  • ????{?"RO",?217?},??
  • ????{?"KANA",?218?},??
  • ????{?"ASSIST",?219?},??
  • ????{?"BRIGHTNESS_DOWN",?220?},??
  • ????{?"BRIGHTNESS_UP",?221?},??
  • ????{?"MEDIA_AUDIO_TRACK",?222?},??
  • ????//?MStar?Android?Patch?Begin??
  • ????//?Common?section,?range?251-300??
  • ????{?"SOUND_MODE",?251?},??
  • ????{?"PICTURE_MODE",?252?},??
  • ????{?"ASPECT_RATIO",?253?},??
  • ????{?"CHANNEL_RETURN",?254?},??
  • ????{?"SLEEP",?255?},??
  • ????{?"EPG",?256?},??
  • ????{?"LIST",?257?},??
  • ????{?"SUBTITLE",?258?},??
  • ????{?"FAVORITE",?259?},??
  • ????{?"MTS",?260?},??
  • ????{?"FREEZE",?261?},??
  • ????{?"TTX",?262?},??
  • ????{?"CC",?263?},??
  • ????{?"TV_SETTING",?264?},??
  • ????{?"SCREENSHOT",?265?},??
  • ????{?"CLOUD",?266?},??
  • ????{?"VOICE",?267?},??
  • ????{?"USB",?268?},??
  • ????{?"HDMI",?269?},??
  • ????{?"DISPLAY_MODE",?270?},??
  • ????{?"SONG_SYSTEM",?271?},??
  • ????{?"GINGA_BACK",?272},??
  • ????{?"NETFLIX",?273},??
  • ????{?"AMAZONE",?274},??
  • ????//?MStar?section,?range?301-400??
  • ????{?"MSTAR_BALANCE",?301?},??
  • ????{?"MSTAR_INDEX",?302?},??
  • ????{?"MSTAR_HOLD",?303?},??
  • ????{?"MSTAR_UPDATE",?304?},??
  • ????{?"MSTAR_REVEAL",?305?},??
  • ????{?"MSTAR_SUBCODE",?306?},??
  • ????{?"MSTAR_SIZE",?307?},??
  • ????{?"MSTAR_CLOCK",?308?},??
  • ????{?"MSTAR_STORE_UP",?309?},??
  • ????{?"MSTAR_TRIANGLE_UP",?310?},??
  • ????{?"MSTAR_MOVIE",?311?},??
  • ????{?"MSTAR_FILE",?312?},??
  • ????{?"MSTAR_STAR_PLUS",?313?},??
  • ????{?"MSTAR_AUDIO_TRACK",?314?},??
  • ????{?"MSTAR_OPTIONAL_TIME",?315?},??
  • ????{?"MSTAR_LOOP",?316?},??
  • ????{?"MSTAR_INBOX",?317?},??
  • ????{?"MSTAR_VVOIP",?318?},??
  • ????{?"MSTAR_PVR_BROWSER",?319?},??
  • ????//?Haier?section,?range?401-500??
  • ????{?"HAIER_TASK",?401?},??
  • ????{?"HAIER_USB",?402?},??
  • ????{?"HAIER_TOOLS",?403?},??
  • ????{?"HAIER_POWERSLEEP",?404?},??
  • ????{?"HAIER_WAKEUP",?405?},??
  • ????{?"HAIER_UNMUTE",?406?},??
  • ????{?"HAIER_CLEANSEARCH",?407?},??
  • ????//?Konka?section,?range?501-600??
  • ????{?"KONKA_YPBPR",?501?},??
  • ????{?"KONKA_THREEPOINT_LOONPRESS",?502?},??
  • ????{?"KONKA_THREEPOINT_COLLECT",?503?},??
  • ????{?"KONKA_THREEPOINT_DISPERSE",?504?},??
  • ????{?"KONKA_VOICESWITCH",?505?},??
  • ????{?"KONKA_FLYIMEFINGER_SELECT",?506?},??
  • ????{?"KONKA_FLYIMEFINGER_CANCEL",?507?},??
  • ????{?"KONKA_SOUNDOUTPUT_ENABLE",?508?},??
  • ????{?"KONKA_SOUNDOUTPUT_DISABLE",?509?},??
  • ????{?"KONKA_BESTV_EXIT",?510?},??
  • ????{?"KONKA_BESTV_FORWARD",?511?},??
  • ????{?"KONKA_BESTV_BACKWARD",?512?},??
  • ????{?"KONKA_ENTER_FACTORY",?513?},??
  • ????{?"KONKA_FACTORY_BAKE_TV",?514?},??
  • ????//?Skyworth?section,?range?601-700??
  • ??
  • ??
  • ????//?Tcl?section,?range?4001-4099??
  • ????{?"TCL_MITV",?4001?},??
  • ????{?"TCL_USB_MENU",?4002?},??
  • ????{?"TCL_SWING_R1",?4003?},??
  • ????{?"TCL_SWING_R2",?4004?},??
  • ????{?"TCL_SWING_R3",?4005?},??
  • ????{?"TCL_SWING_R4",?4006?},??
  • ????{?"TCL_SWING_L1",?4007?},??
  • ????{?"TCL_SWING_L2",?4008?},??
  • ????{?"TCL_SWING_L3",?4009?},??
  • ????{?"TCL_SWING_L4",?4010},??
  • ????{?"TCL_WIDGET",?4011},??
  • ????{?"TCL_VGR_LEFT",?4012},??
  • ????{?"TCL_VGR_RIGHT",?4013?},??
  • ????{?"TCL_VGR_TAP",?4014?},??
  • ????{?"TCL_VGR_WAVE",?4015?},??
  • ????{?"TCL_VGR_WAVE_LEFT",?4016?},??
  • ????{?"TCL_VGR_WAVE_RIGHT",?4017?},??
  • ????{?"TCL_VGR_ACTIVE",?4018?},??
  • ????{?"TCL_VGR_DEACTIVE",?4019?},??
  • ????{?"TCL_BODY_SENSOR",?4020?},??
  • ????{?"TCL_CIRCLE_CLOCKWISE",?4021?},??
  • ????{?"TCL_CIRCLE_CTR_CLOCKWISE",?4022?},??
  • ????{?"TCL_GESTURE_X",?4023?},??
  • ????{?"TCL_GESTURE_ALPHA",?4024?},??
  • ????{?"TCL_GESTURE_MUTE",?4025?},??
  • ????{?"TCL_UP",?4026?},??
  • ????{?"TCL_DOWN",?4027?},??
  • ????{?"TCL_LEFT",?4028?},??
  • ????{?"TCL_RIGHT",?4029?},??
  • ????{?"TCL_UP_LEFT",?4030?},??
  • ????{?"TCL_UP_RIGHT",?4031?},??
  • ????{?"TCL_DOWN_LEFT",?4032?},??
  • ????{?"TCL_DOWN_RIGHT",?4033?},??
  • ????//?Changhong?section,?range?4101-4199??
  • ????{?"CHANGHONGIR_MUTE",?4101?},??
  • ????{?"CHANGHONGIR_INPUT",?4102?},??
  • ????{?"CHANGHONGIR_DEL",?4103?},??
  • ????{?"CHANGHONGIR_MENU",?4104?},??
  • ????{?"CHANGHONGIR_CORN",?4105?},??
  • ????{?"CHANGHONGIR_OK",?4106?},??
  • ????{?"CHANGHONGIR_FLCK_FU",?4107?},??
  • ????{?"CHANGHONGIR_FLCK_FD",?4108?},??
  • ????{?"CHANGHONGIR_FLCK_FL",?4109?},??
  • ????{?"CHANGHONGIR_FLCK_FR",?4110?},??
  • ????{?"CHANGHONGIR_FLCK_SU",?4111?},??
  • ????{?"CHANGHONGIR_FLCK_SD",?4112?},??
  • ????{?"CHANGHONGIR_FLCK_SL",?4113?},??
  • ????{?"CHANGHONGIR_FLCK_SR",?4114?},??
  • ????{?"CHANGHONGIR_PINCH",?4115?},??
  • ????{?"CHANGHONGIR_SPREAD",?4116?},??
  • ????{?"CHANGHONGIR_VOICE",?4117?},??
  • ????{?"CHANGHONGIR_HAND",?4118?},??
  • ????{?"CHANGHONGIR_3D",?4119?},??
  • ????{?"CHANGHONGIR_HELP",?4120?},??
  • ????{?"CHANGHONGIR_APP",?4121?},??
  • ????{?"CHANGHONGIR_MOUSE",?4122?},??
  • ????{?"CHANGHONGIR_EPG",?4123?},??
  • ????{?"CHANGHONGIR_HOME",?4124?},??
  • ????{?"CHANGHONGIR_SETTINGS",?4125?},??
  • ????//?Hisense?section,?range?4201-4299??
  • ????{?"HISENSE_G_SENSOR",?4201?},??
  • ????{?"HISENSE_LOW_BATTERY",?4202?},??
  • ????{?"HISENSE_SLIDEUP",?4203?},??
  • ????{?"HISENSE_SLIDEDOWN",?4204?},??
  • ????{?"HISENSE_SLIDELEFT",?4205?},??
  • ????{?"HISENSE_SLIDERIGHT",?4206?},??
  • ????{?"HISENSE_RAPID_SLIDEUP",?4207?},??
  • ????{?"HISENSE_RAPID_SLIDEDOWN",?4208?},??
  • ????{?"HISENSE_RAPID_SLIDELEFT",?4209?},??
  • ????{?"HISENSE_RAPID_SLIDERIGHT",?4210?},??
  • ????{?"HISENSE_FAC_NEC_M",?4211?},??
  • ????{?"HISENSE_FAC_NEC_IP",?4212?},??
  • ????{?"HISENSE_FAC_NEC_SAVE",?4213?},??
  • ????{?"HISENSE_FAC_NEC_3D",?4214?},??
  • ????{?"HISENSE_FAC_NEC_PC",?4215?},??
  • ????{?"HISENSE_FAC_NEC_LOGO",?4216?},??
  • ????{?"HISENSE_FAC_NEC_YPBPR",?4217?},??
  • ????{?"HISENSE_FAC_NEC_HDMI",?4218?},??
  • ????{?"HISENSE_FAC_NEC_F1",?4219?},??
  • ????{?"HISENSE_FAC_NEC_F2",?4220?},??
  • ????{?"HISENSE_FAC_NEC_F3",?4221?},??
  • ????{?"HISENSE_FAC_NEC_F4",?4222?},??
  • ????{?"HISENSE_FAC_NEC_F5",?4223?},??
  • ????{?"HISENSE_FAC_NEC_F6",?4224?},??
  • ????{?"HISENSE_FAC_NEC_F7",?4225?},??
  • ????{?"HISENSE_FAC_NEC_OK",?4226?},??
  • ????{?"HISENSE_FAC_NEC_MAC",?4227?},??
  • ????{?"HISENSE_FAC_NEC_AV",?4228?},??
  • ????{?"HISENSE_FAC_NEC_PATTERN",?4229?},??
  • ????{?"HISENSE_FAC_NEC_AGING",?4230?},??
  • ????{?"HISENSE_FAC_NEC_BALANCE",?4231?},??
  • ????{?"HISENSE_FAC_NEC_ADC",?4232?},??
  • ????{?"HISENSE_FAC_NEC_RDRV_INCREASE",?4233?},??
  • ????{?"HISENSE_FAC_NEC_RDRV_DECREASE",?4234?},??
  • ????{?"HISENSE_FAC_NEC_GDRV_INCREASE",?4235?},??
  • ????{?"HISENSE_FAC_NEC_GDRV_DECREASE",?4236?},??
  • ????{?"HISENSE_FAC_NEC_BDRV_INCREASE",?4237?},??
  • ????{?"HISENSE_FAC_NEC_BDRV_DECREASE",?4238?},??
  • ????{?"HISENSE_FAC_NEC_RCUT_INCREASE",?4239?},??
  • ????{?"HISENSE_FAC_NEC_RCUT_DECREASE",?4240?},??
  • ????{?"HISENSE_FAC_NEC_GCUT_INCREASE",?4241?},??
  • ????{?"HISENSE_FAC_NEC_GCUT_DECREASE",?4242?},??
  • ????{?"HISENSE_FAC_NEC_BCUT_INCREASE",?4243?},??
  • ????{?"HISENSE_FAC_NEC_BCUT_DECREASE",?4244?},??
  • ????{?"HISENSE_PRODUCT_SCAN_START",?4245?},??
  • ????{?"HISENSE_PRODUCT_SCAN_OVER",?4246?},??
  • ????{?"HISENSE_TEST_BROAD_TV",?4247?},??
  • ????{?"HISENSE_TEST_BROAD_DTV",?4248?},??
  • ????{?"HISENSE_TEST_BROAD_AV1",?4249?},??
  • ????{?"HISENSE_TEST_BROAD_AV2",?4250?},??
  • ????{?"HISENSE_TEST_BROAD_AV3",?4251?},??
  • ????{?"HISENSE_TEST_BROAD_SVIDEO1",?4252?},??
  • ????{?"HISENSE_TEST_BROAD_SVIDEO2",?4253?},??
  • ????{?"HISENSE_TEST_BROAD_SVIDEO3",?4254?},??
  • ????{?"HISENSE_TEST_BROAD_SCART1",?4255?},??
  • ????{?"HISENSE_TEST_BROAD_SCART2",?4256?},??
  • ????{?"HISENSE_TEST_BROAD_SCART3",?4257?},??
  • ????{?"HISENSE_TEST_BOARD_YPBPR1",?4258?},??
  • ????{?"HISENSE_TEST_BOARD_YPBPR2",?4259?},??
  • ????{?"HISENSE_TEST_BOARD_YPBPR3",?4260?},??
  • ????{?"HISENSE_TEST_BOARD_VGA",?4261?},??
  • ????{?"HISENSE_TEST_BOARD_HDMI1",?4262?},??
  • ????{?"HISENSE_TEST_BOARD_HDMI2",?4263?},??
  • ????{?"HISENSE_TEST_BOARD_HDMI3",?4264?},??
  • ????{?"HISENSE_TEST_BOARD_HDMI4",?4265?},??
  • ????{?"HISENSE_TEST_BOARD_HDMI5",?4266?},??
  • ????{?"HISENSE_TEST_BOARD_DMP",?4267?},??
  • ????{?"HISENSE_TEST_BOARD_EMP",?4268?},??
  • ????{?"HISENSE_TEST_BOARD_AUTOCOLOR",?4269?},??
  • ????{?"HISENSE_TEST_BOARD_SAVE",?4270?},??
  • ????{?"HISENSE_TEST_BOARD_TELITEXT",?4271?},??
  • ????{?"HISENSE_TEST_BOARD_SAPL",?4272?},??
  • ????{?"HISENSE_TEST_BOARD_VCHIP",?4273?},??
  • ????{?"HISENSE_TEST_BOARD_CCD",?4274?},??
  • ????{?"HISENSE_TEST_BOARD_BTSC",?4275?},??
  • ????{?"HISENSE_TEST_BOARD_FAC_OK",?4276?},??
  • ????//?MStar?Android?Patch?End??
  • ??
  • ??
  • ????//?NOTE:?If?you?add?a?new?keycode?here?you?must?also?add?it?to?several?other?files.??
  • ????//???????Refer?to?frameworks/base/core/java/android/view/KeyEvent.java?for?the?full?list.??
  • ??
  • ??
  • ????{?NULL,?0?}??
  • };??
  • ??
  • ??
  • //?NOTE:?If?you?edit?these?flags,?also?edit?policy?flags?in?Input.h.??
  • static?const?KeycodeLabel?FLAGS[]?=?{??
  • ????{?"WAKE",?0x00000001?},??
  • ????{?"WAKE_DROPPED",?0x00000002?},??
  • ????{?"SHIFT",?0x00000004?},??
  • ????{?"CAPS_LOCK",?0x00000008?},??
  • ????{?"ALT",?0x00000010?},??
  • ????{?"ALT_GR",?0x00000020?},??
  • ????{?"MENU",?0x00000040?},??
  • ????{?"LAUNCHER",?0x00000080?},??
  • ????{?"VIRTUAL",?0x00000100?},??
  • ????{?"FUNCTION",?0x00000200?},??
  • ????{?NULL,?0?}??
  • };??
  • ??
  • ??
  • static?const?KeycodeLabel?AXES[]?=?{??
  • ????{?"X",?0?},??
  • ????{?"Y",?1?},??
  • ????{?"PRESSURE",?2?},??
  • ????{?"SIZE",?3?},??
  • ????{?"TOUCH_MAJOR",?4?},??
  • ????{?"TOUCH_MINOR",?5?},??
  • ????{?"TOOL_MAJOR",?6?},??
  • ????{?"TOOL_MINOR",?7?},??
  • ????{?"ORIENTATION",?8?},??
  • ????{?"VSCROLL",?9?},??
  • ????{?"HSCROLL",?10?},??
  • ????{?"Z",?11?},??
  • ????{?"RX",?12?},??
  • ????{?"RY",?13?},??
  • ????{?"RZ",?14?},??
  • ????{?"HAT_X",?15?},??
  • ????{?"HAT_Y",?16?},??
  • ????{?"LTRIGGER",?17?},??
  • ????{?"RTRIGGER",?18?},??
  • ????{?"THROTTLE",?19?},??
  • ????{?"RUDDER",?20?},??
  • ????{?"WHEEL",?21?},??
  • ????{?"GAS",?22?},??
  • ????{?"BRAKE",?23?},??
  • ????{?"DISTANCE",?24?},??
  • ????{?"TILT",?25?},??
  • ????{?"GENERIC_1",?32?},??
  • ????{?"GENERIC_2",?33?},??
  • ????{?"GENERIC_3",?34?},??
  • ????{?"GENERIC_4",?35?},??
  • ????{?"GENERIC_5",?36?},??
  • ????{?"GENERIC_6",?37?},??
  • ????{?"GENERIC_7",?38?},??
  • ????{?"GENERIC_8",?39?},??
  • ????{?"GENERIC_9",?40?},??
  • ????{?"GENERIC_10",?41?},??
  • ????{?"GENERIC_11",?42?},??
  • ????{?"GENERIC_12",?43?},??
  • ????{?"GENERIC_13",?44?},??
  • ????{?"GENERIC_14",?45?},??
  • ????{?"GENERIC_15",?46?},??
  • ????{?"GENERIC_16",?47?},??
  • ??
  • ??
  • ????//?NOTE:?If?you?add?a?new?axis?here?you?must?also?add?it?to?several?other?files.??
  • ????//???????Refer?to?frameworks/base/core/java/android/view/MotionEvent.java?for?the?full?list.??
  • ??
  • ??
  • ????{?NULL,?-1?}??
  • };??
  • ??
  • ??
  • #endif?//?_LIBINPUT_KEYCODE_LABELS_H</span>??
  • 3)在/frameworks/native/include/android/keycodes.h中添加如下的 AKEYCODE_MSTAR_WLS ? ? ? ? ?= 320,下面看下該文件的定義 [cpp]?view plaincopy
  • <span?style="font-family:FangSong_GB2312;font-size:18px;">/*?
  • ?*?Copyright?(C)?2010?The?Android?Open?Source?Project?
  • ?*?
  • ?*?Licensed?under?the?Apache?License,?Version?2.0?(the?"License");?
  • ?*?you?may?not?use?this?file?except?in?compliance?with?the?License.?
  • ?*?You?may?obtain?a?copy?of?the?License?at?
  • ?*?
  • ?*??????http://www.apache.org/licenses/LICENSE-2.0?
  • ?*?
  • ?*?Unless?required?by?applicable?law?or?agreed?to?in?writing,?software?
  • ?*?distributed?under?the?License?is?distributed?on?an?"AS?IS"?BASIS,?
  • ?*?WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND,?either?express?or?implied.?
  • ?*?See?the?License?for?the?specific?language?governing?permissions?and?
  • ?*?limitations?under?the?License.?
  • ?*/??
  • ??
  • #ifndef?_ANDROID_KEYCODES_H??
  • #define?_ANDROID_KEYCODES_H??
  • ??
  • /******************************************************************?
  • ?*?
  • ?*?IMPORTANT?NOTICE:?
  • ?*?
  • ?*???This?file?is?part?of?Android's?set?of?stable?system?headers?
  • ?*???exposed?by?the?Android?NDK?(Native?Development?Kit).?
  • ?*?
  • ?*???Third-party?source?AND?binary?code?relies?on?the?definitions?
  • ?*???here?to?be?FROZEN?ON?ALL?UPCOMING?PLATFORM?RELEASES.?
  • ?*?
  • ?*???-?DO?NOT?MODIFY?ENUMS?(EXCEPT?IF?YOU?ADD?NEW?32-BIT?VALUES)?
  • ?*???-?DO?NOT?MODIFY?CONSTANTS?OR?FUNCTIONAL?MACROS?
  • ?*???-?DO?NOT?CHANGE?THE?SIGNATURE?OF?FUNCTIONS?IN?ANY?WAY?
  • ?*???-?DO?NOT?CHANGE?THE?LAYOUT?OR?SIZE?OF?STRUCTURES?
  • ?*/??
  • ??
  • #include?<sys/types.h>??
  • ??
  • #ifdef?__cplusplus??
  • extern?"C"?{??
  • #endif??
  • ??
  • /*?
  • ?*?Key?codes.?
  • ?*/??
  • enum?{??
  • ????AKEYCODE_UNKNOWN?????????=?0,??
  • ????AKEYCODE_SOFT_LEFT???????=?1,??
  • ????AKEYCODE_SOFT_RIGHT??????=?2,??
  • ????AKEYCODE_HOME????????????=?3,??
  • ????AKEYCODE_BACK????????????=?4,??
  • ????AKEYCODE_CALL????????????=?5,??
  • ????AKEYCODE_ENDCALL?????????=?6,??
  • ????AKEYCODE_0???????????????=?7,??
  • ????AKEYCODE_1???????????????=?8,??
  • ????AKEYCODE_2???????????????=?9,??
  • ????AKEYCODE_3???????????????=?10,??
  • ????AKEYCODE_4???????????????=?11,??
  • ????AKEYCODE_5???????????????=?12,??
  • ????AKEYCODE_6???????????????=?13,??
  • ????AKEYCODE_7???????????????=?14,??
  • ????AKEYCODE_8???????????????=?15,??
  • ????AKEYCODE_9???????????????=?16,??
  • ????AKEYCODE_STAR????????????=?17,??
  • ????AKEYCODE_POUND???????????=?18,??
  • ????AKEYCODE_DPAD_UP?????????=?19,??
  • ????AKEYCODE_DPAD_DOWN???????=?20,??
  • ????AKEYCODE_DPAD_LEFT???????=?21,??
  • ????AKEYCODE_DPAD_RIGHT??????=?22,??
  • ????AKEYCODE_DPAD_CENTER?????=?23,??
  • ????AKEYCODE_VOLUME_UP???????=?24,??
  • ????AKEYCODE_VOLUME_DOWN?????=?25,??
  • ????AKEYCODE_POWER???????????=?26,??
  • ????AKEYCODE_CAMERA??????????=?27,??
  • ????AKEYCODE_CLEAR???????????=?28,??
  • ????AKEYCODE_A???????????????=?29,??
  • ????AKEYCODE_B???????????????=?30,??
  • ????AKEYCODE_C???????????????=?31,??
  • ????AKEYCODE_D???????????????=?32,??
  • ????AKEYCODE_E???????????????=?33,??
  • ????AKEYCODE_F???????????????=?34,??
  • ????AKEYCODE_G???????????????=?35,??
  • ????AKEYCODE_H???????????????=?36,??
  • ????AKEYCODE_I???????????????=?37,??
  • ????AKEYCODE_J???????????????=?38,??
  • ????AKEYCODE_K???????????????=?39,??
  • ????AKEYCODE_L???????????????=?40,??
  • ????AKEYCODE_M???????????????=?41,??
  • ????AKEYCODE_N???????????????=?42,??
  • ????AKEYCODE_O???????????????=?43,??
  • ????AKEYCODE_P???????????????=?44,??
  • ????AKEYCODE_Q???????????????=?45,??
  • ????AKEYCODE_R???????????????=?46,??
  • ????AKEYCODE_S???????????????=?47,??
  • ????AKEYCODE_T???????????????=?48,??
  • ????AKEYCODE_U???????????????=?49,??
  • ????AKEYCODE_V???????????????=?50,??
  • ????AKEYCODE_W???????????????=?51,??
  • ????AKEYCODE_X???????????????=?52,??
  • ????AKEYCODE_Y???????????????=?53,??
  • ????AKEYCODE_Z???????????????=?54,??
  • ????AKEYCODE_COMMA???????????=?55,??
  • ????AKEYCODE_PERIOD??????????=?56,??
  • ????AKEYCODE_ALT_LEFT????????=?57,??
  • ????AKEYCODE_ALT_RIGHT???????=?58,??
  • ????AKEYCODE_SHIFT_LEFT??????=?59,??
  • ????AKEYCODE_SHIFT_RIGHT?????=?60,??
  • ????AKEYCODE_TAB?????????????=?61,??
  • ????AKEYCODE_SPACE???????????=?62,??
  • ????AKEYCODE_SYM?????????????=?63,??
  • ????AKEYCODE_EXPLORER????????=?64,??
  • ????AKEYCODE_ENVELOPE????????=?65,??
  • ????AKEYCODE_ENTER???????????=?66,??
  • ????AKEYCODE_DEL?????????????=?67,??
  • ????AKEYCODE_GRAVE???????????=?68,??
  • ????AKEYCODE_MINUS???????????=?69,??
  • ????AKEYCODE_EQUALS??????????=?70,??
  • ????AKEYCODE_LEFT_BRACKET????=?71,??
  • ????AKEYCODE_RIGHT_BRACKET???=?72,??
  • ????AKEYCODE_BACKSLASH???????=?73,??
  • ????AKEYCODE_SEMICOLON???????=?74,??
  • ????AKEYCODE_APOSTROPHE??????=?75,??
  • ????AKEYCODE_SLASH???????????=?76,??
  • ????AKEYCODE_AT??????????????=?77,??
  • ????AKEYCODE_NUM?????????????=?78,??
  • ????AKEYCODE_HEADSETHOOK?????=?79,??
  • ????AKEYCODE_FOCUS???????????=?80,???//?*Camera*?focus??
  • ????AKEYCODE_PLUS????????????=?81,??
  • ????AKEYCODE_MENU????????????=?82,??
  • ????AKEYCODE_NOTIFICATION????=?83,??
  • ????AKEYCODE_SEARCH??????????=?84,??
  • ????AKEYCODE_MEDIA_PLAY_PAUSE=?85,??
  • ????AKEYCODE_MEDIA_STOP??????=?86,??
  • ????AKEYCODE_MEDIA_NEXT??????=?87,??
  • ????AKEYCODE_MEDIA_PREVIOUS??=?88,??
  • ????AKEYCODE_MEDIA_REWIND????=?89,??
  • ????AKEYCODE_MEDIA_FAST_FORWARD?=?90,??
  • ????AKEYCODE_MUTE????????????=?91,??
  • ????AKEYCODE_PAGE_UP?????????=?92,??
  • ????AKEYCODE_PAGE_DOWN???????=?93,??
  • ????AKEYCODE_PICTSYMBOLS?????=?94,??
  • ????AKEYCODE_SWITCH_CHARSET??=?95,??
  • ????AKEYCODE_BUTTON_A????????=?96,??
  • ????AKEYCODE_BUTTON_B????????=?97,??
  • ????AKEYCODE_BUTTON_C????????=?98,??
  • ????AKEYCODE_BUTTON_X????????=?99,??
  • ????AKEYCODE_BUTTON_Y????????=?100,??
  • ????AKEYCODE_BUTTON_Z????????=?101,??
  • ????AKEYCODE_BUTTON_L1???????=?102,??
  • ????AKEYCODE_BUTTON_R1???????=?103,??
  • ????AKEYCODE_BUTTON_L2???????=?104,??
  • ????AKEYCODE_BUTTON_R2???????=?105,??
  • ????AKEYCODE_BUTTON_THUMBL???=?106,??
  • ????AKEYCODE_BUTTON_THUMBR???=?107,??
  • ????AKEYCODE_BUTTON_START????=?108,??
  • ????AKEYCODE_BUTTON_SELECT???=?109,??
  • ????AKEYCODE_BUTTON_MODE?????=?110,??
  • ????AKEYCODE_ESCAPE??????????=?111,??
  • ????AKEYCODE_FORWARD_DEL?????=?112,??
  • ????AKEYCODE_CTRL_LEFT???????=?113,??
  • ????AKEYCODE_CTRL_RIGHT??????=?114,??
  • ????AKEYCODE_CAPS_LOCK???????=?115,??
  • ????AKEYCODE_SCROLL_LOCK?????=?116,??
  • ????AKEYCODE_META_LEFT???????=?117,??
  • ????AKEYCODE_META_RIGHT??????=?118,??
  • ????AKEYCODE_FUNCTION????????=?119,??
  • ????AKEYCODE_SYSRQ???????????=?120,??
  • ????AKEYCODE_BREAK???????????=?121,??
  • ????AKEYCODE_MOVE_HOME???????=?122,??
  • ????AKEYCODE_MOVE_END????????=?123,??
  • ????AKEYCODE_INSERT??????????=?124,??
  • ????AKEYCODE_FORWARD?????????=?125,??
  • ????AKEYCODE_MEDIA_PLAY??????=?126,??
  • ????AKEYCODE_MEDIA_PAUSE?????=?127,??
  • ????AKEYCODE_MEDIA_CLOSE?????=?128,??
  • ????AKEYCODE_MEDIA_EJECT?????=?129,??
  • ????AKEYCODE_MEDIA_RECORD????=?130,??
  • ????AKEYCODE_F1??????????????=?131,??
  • ????AKEYCODE_F2??????????????=?132,??
  • ????AKEYCODE_F3??????????????=?133,??
  • ????AKEYCODE_F4??????????????=?134,??
  • ????AKEYCODE_F5??????????????=?135,??
  • ????AKEYCODE_F6??????????????=?136,??
  • ????AKEYCODE_F7??????????????=?137,??
  • ????AKEYCODE_F8??????????????=?138,??
  • ????AKEYCODE_F9??????????????=?139,??
  • ????AKEYCODE_F10?????????????=?140,??
  • ????AKEYCODE_F11?????????????=?141,??
  • ????AKEYCODE_F12?????????????=?142,??
  • ????AKEYCODE_NUM_LOCK????????=?143,??
  • ????AKEYCODE_NUMPAD_0????????=?144,??
  • ????AKEYCODE_NUMPAD_1????????=?145,??
  • ????AKEYCODE_NUMPAD_2????????=?146,??
  • ????AKEYCODE_NUMPAD_3????????=?147,??
  • ????AKEYCODE_NUMPAD_4????????=?148,??
  • ????AKEYCODE_NUMPAD_5????????=?149,??
  • ????AKEYCODE_NUMPAD_6????????=?150,??
  • ????AKEYCODE_NUMPAD_7????????=?151,??
  • ????AKEYCODE_NUMPAD_8????????=?152,??
  • ????AKEYCODE_NUMPAD_9????????=?153,??
  • ????AKEYCODE_NUMPAD_DIVIDE???=?154,??
  • ????AKEYCODE_NUMPAD_MULTIPLY?=?155,??
  • ????AKEYCODE_NUMPAD_SUBTRACT?=?156,??
  • ????AKEYCODE_NUMPAD_ADD??????=?157,??
  • ????AKEYCODE_NUMPAD_DOT??????=?158,??
  • ????AKEYCODE_NUMPAD_COMMA????=?159,??
  • ????AKEYCODE_NUMPAD_ENTER????=?160,??
  • ????AKEYCODE_NUMPAD_EQUALS???=?161,??
  • ????AKEYCODE_NUMPAD_LEFT_PAREN?=?162,??
  • ????AKEYCODE_NUMPAD_RIGHT_PAREN?=?163,??
  • ????AKEYCODE_VOLUME_MUTE?????=?164,??
  • ????AKEYCODE_INFO????????????=?165,??
  • ????AKEYCODE_CHANNEL_UP??????=?166,??
  • ????AKEYCODE_CHANNEL_DOWN????=?167,??
  • ????AKEYCODE_ZOOM_IN?????????=?168,??
  • ????AKEYCODE_ZOOM_OUT????????=?169,??
  • ????AKEYCODE_TV??????????????=?170,??
  • ????AKEYCODE_WINDOW??????????=?171,??
  • ????AKEYCODE_GUIDE???????????=?172,??
  • ????AKEYCODE_DVR?????????????=?173,??
  • ????AKEYCODE_BOOKMARK????????=?174,??
  • ????AKEYCODE_CAPTIONS????????=?175,??
  • ????AKEYCODE_SETTINGS????????=?176,??
  • ????AKEYCODE_TV_POWER????????=?177,??
  • ????AKEYCODE_TV_INPUT????????=?178,??
  • ????AKEYCODE_STB_POWER???????=?179,??
  • ????AKEYCODE_STB_INPUT???????=?180,??
  • ????AKEYCODE_AVR_POWER???????=?181,??
  • ????AKEYCODE_AVR_INPUT???????=?182,??
  • ????AKEYCODE_PROG_RED????????=?183,??
  • ????AKEYCODE_PROG_GREEN??????=?184,??
  • ????AKEYCODE_PROG_YELLOW?????=?185,??
  • ????AKEYCODE_PROG_BLUE???????=?186,??
  • ????AKEYCODE_APP_SWITCH??????=?187,??
  • ????AKEYCODE_BUTTON_1????????=?188,??
  • ????AKEYCODE_BUTTON_2????????=?189,??
  • ????AKEYCODE_BUTTON_3????????=?190,??
  • ????AKEYCODE_BUTTON_4????????=?191,??
  • ????AKEYCODE_BUTTON_5????????=?192,??
  • ????AKEYCODE_BUTTON_6????????=?193,??
  • ????AKEYCODE_BUTTON_7????????=?194,??
  • ????AKEYCODE_BUTTON_8????????=?195,??
  • ????AKEYCODE_BUTTON_9????????=?196,??
  • ????AKEYCODE_BUTTON_10???????=?197,??
  • ????AKEYCODE_BUTTON_11???????=?198,??
  • ????AKEYCODE_BUTTON_12???????=?199,??
  • ????AKEYCODE_BUTTON_13???????=?200,??
  • ????AKEYCODE_BUTTON_14???????=?201,??
  • ????AKEYCODE_BUTTON_15???????=?202,??
  • ????AKEYCODE_BUTTON_16???????=?203,??
  • ????AKEYCODE_LANGUAGE_SWITCH?=?204,??
  • ????AKEYCODE_MANNER_MODE?????=?205,??
  • ????AKEYCODE_3D_MODE?????????=?206,??
  • ????AKEYCODE_CONTACTS????????=?207,??
  • ????AKEYCODE_CALENDAR????????=?208,??
  • ????AKEYCODE_MUSIC???????????=?209,??
  • ????AKEYCODE_CALCULATOR??????=?210,??
  • ????AKEYCODE_ZENKAKU_HANKAKU?=?211,??
  • ????AKEYCODE_EISU????????????=?212,??
  • ????AKEYCODE_MUHENKAN????????=?213,??
  • ????AKEYCODE_HENKAN??????????=?214,??
  • ????AKEYCODE_KATAKANA_HIRAGANA?=?215,??
  • ????AKEYCODE_YEN?????????????=?216,??
  • ????AKEYCODE_RO??????????????=?217,??
  • ????AKEYCODE_KANA????????????=?218,??
  • ????AKEYCODE_ASSIST??????????=?219,??
  • ????AKEYCODE_BRIGHTNESS_DOWN?=?220,??
  • ????AKEYCODE_BRIGHTNESS_UP???=?221,??
  • ????AKEYCODE_MEDIA_AUDIO_TRACK?=?222,??
  • ????//?MStar?Android?Patch?Begin??
  • ????//?Common?section,?range?251-300??
  • ????AKEYCODE_SOUND_MODE?????????????????=?251,??
  • ????AKEYCODE_PICTURE_MODE???????????????=?252,??
  • ????AKEYCODE_ASPECT_RATIO???????????????=?253,??
  • ????AKEYCODE_CHANNEL_RETURN?????????????=?254,??
  • ????AKEYCODE_SLEEP??????????????????????=?255,??
  • ????AKEYCODE_EPG????????????????????????=?256,??
  • ????AKEYCODE_LIST???????????????????????=?257,??
  • ????AKEYCODE_SUBTITLE???????????????????=?258,??
  • ????AKEYCODE_FAVORITE???????????????????=?259,??
  • ????AKEYCODE_MTS????????????????????????=?260,??
  • ????AKEYCODE_FREEZE?????????????????????=?261,??
  • ????AKEYCODE_TTX????????????????????????=?262,??
  • ????AKEYCODE_CC?????????????????????????=?263,??
  • ????AKEYCODE_TV_SETTING?????????????????=?264,??
  • ????AKEYCODE_SCREENSHOT?????????????????=?265,??
  • ????AKEYCODE_CLOUD??????????????????????=?266,??
  • ????AKEYCODE_VOICE??????????????????????=?267,??
  • ????AKEYCODE_USB????????????????????????=?268,??
  • ????AKEYCODE_HDMI???????????????????????=?269,??
  • ????AKEYCODE_DISPLAY_MODE???????????????=?270,??
  • ????AKEYCODE_SONG_SYSTEM????????????????=?271,??
  • ????AKEYCODE_GINGA_BACK?????????????????=?272,??
  • ????AKEYCODE_NETFLIX????????????????????=?273,??
  • ????AKEYCODE_AMAZONE????????????????????=?274,??
  • ????//?Mstar?section,?range?301-400??
  • ????AKEYCODE_MSTAR_BALANCE??????????????=?301,??
  • ????AKEYCODE_MSTAR_INDEX????????????????=?302,??
  • ????AKEYCODE_MSTAR_HOLD?????????????????=?303,??
  • ????AKEYCODE_MSTAR_UPDATE???????????????=?304,??
  • ????AKEYCODE_MSTAR_REVEAL???????????????=?305,??
  • ????AKEYCODE_MSTAR_SUBCODE??????????????=?306,??
  • ????AKEYCODE_MSTAR_SIZE?????????????????=?307,??
  • ????AKEYCODE_MSTAR_CLOCK????????????????=?308,??
  • ????AKEYCODE_MSTAR_STORE_UP?????????????=?309,??
  • ????AKEYCODE_MSTAR_TRIANGLE_UP??????????=?310,??
  • ????AKEYCODE_MSTAR_MOVIE????????????????=?311,??
  • ????AKEYCODE_MSTAR_FILE?????????????????=?312,??
  • ????AKEYCODE_MSTAR_STAR_PLUS????????????=?313,??
  • ????AKEYCODE_MSTAR_AUDIO_TRACK??????????=?314,??
  • ????AKEYCODE_MSTAR_OPTIONAL_TIME????????=?315,??
  • ????AKEYCODE_MSTAR_LOOP?????????????????=?316,??
  • ????AKEYCODE_MSTAR_INBOX????????????????=?317,??
  • ????AKEYCODE_MSTAR_VVOIP????????????????=?318,??
  • ????AKEYCODE_MSTAR_PVR_BROWSER??????????=?319,??
  • ????//?Konka?section,?range?501-600??
  • ????AKEYCODE_KONKA_YPBPR????????????????=?501,??
  • ????AKEYCODE_KONKA_THREEPOINT_LOONPRESS?=?502,??
  • ????AKEYCODE_KONKA_THREEPOINT_COLLECT???=?503,??
  • ????AKEYCODE_KONKA_THREEPOINT_DISPERSE??=?504,??
  • ????AKEYCODE_KONKA_VOICESWITCH??????????=?505,??
  • ????AKEYCODE_KONKA_FLYIMEFINGER_SELECT??=?506,??
  • ????AKEYCODE_KONKA_FLYIMEFINGER_CANCEL??=?507,??
  • ????AKEYCODE_KONKA_SOUNDOUTPUT_ENABLE???=?508,??
  • ????AKEYCODE_KONKA_SOUNDOUTPUT_DISABLE??=?509,??
  • ????AKEYCODE_KONKA_BESTV_EXIT???????????=?510,??
  • ????AKEYCODE_KONKA_BESTV_FORWARD????????=?511,??
  • ????AKEYCODE_KONKA_BESTV_BACKWARD???????=?512,??
  • ????AKEYCODE_KONKA_ENTER_FACTORY????????=?513,??
  • ????AKEYCODE_KONKA_FACTORY_BAKE_TV??????=?514,??
  • ????//?Haier?section,?range??401-500??
  • ????AKEYCODE_HAIER_TASK?????????????????=?401,??
  • ????AKEYCODE_HAIER_TOOLS????????????????=?402,??
  • ????AKEYCODE_HAIER_POWERSLEEP???????????=?403,??
  • ????AKEYCODE_HAIER_WAKEUP???????????????=?404,??
  • ????AKEYCODE_HAIER_UNMUTE???????????????=?405,??
  • ????AKEYCODE_HAIER_CLEANSEARCH??????????=?406,??
  • ????//?Skyworth?section,?range?601-700??
  • ??
  • ????//?Tcl?section,?range?4001-4100??
  • ????AKEYCODE_TCL_MITV???????????????????=?4001,??
  • ????AKEYCODE_TCL_USB_MENU???????????????=?4002,??
  • ????AKEYCODE_TCL_SWING_R1???????????????=?4003,??
  • ????AKEYCODE_TCL_SWING_R2???????????????=?4004,??
  • ????AKEYCODE_TCL_SWING_R3???????????????=?4005,??
  • ????AKEYCODE_TCL_SWING_R4???????????????=?4006,??
  • ????AKEYCODE_TCL_SWING_L1???????????????=?4007,??
  • ????AKEYCODE_TCL_SWING_L2???????????????=?4008,??
  • ????AKEYCODE_TCL_SWING_L3???????????????=?4009,??
  • ????AKEYCODE_TCL_SWING_L4???????????????=?4010,??
  • ????AKEYCODE_TCL_WIDGET?????????????????=?4011,??
  • ????AKEYCODE_TCL_VGR_LEFT???????????????=?4012,??
  • ????AKEYCODE_TCL_VGR_RIGHT??????????????=?4013,??
  • ????AKEYCODE_TCL_VGR_TAP????????????????=?4014,??
  • ????AKEYCODE_TCL_VGR_WAVE???????????????=?4015,??
  • ????AKEYCODE_TCL_VGR_WAVE_LEFT??????????=?4016,??
  • ????AKEYCODE_TCL_VGR_WAVE_RIGHT?????????=?4017,??
  • ????AKEYCODE_TCL_VGR_ACTIVE?????????????=?4018,??
  • ????AKEYCODE_TCL_VGR_DEACTIVE???????????=?4019,??
  • ????AKEYCODE_TCL_BODY_SENSOR????????????=?4020,??
  • ????AKEYCODE_TCL_CIRCLE_CLOCKWISE???????=?4021,??
  • ????AKEYCODE_TCL_CIRCLE_CTR_CLOCKWISE???=?4022,??
  • ????AKEYCODE_TCL_GESTURE_X??????????????=?4023,??
  • ????AKEYCODE_TCL_GESTURE_ALPHA??????????=?4024,??
  • ????AKEYCODE_TCL_GESTURE_MUTE???????????=?4025,??
  • ????AKEYCODE_TCL_UP?????????????????????=?4026,??
  • ????AKEYCODE_TCL_DOWN???????????????????=?4027,??
  • ????AKEYCODE_TCL_LEFT???????????????????=?4028,??
  • ????AKEYCODE_TCL_RIGHT??????????????????=?4029,??
  • ????AKEYCODE_TCL_UP_LEFT????????????????=?4030,??
  • ????AKEYCODE_TCL_UP_RIGHT???????????????=?4031,??
  • ????AKEYCODE_TCL_DOWN_LEFT??????????????=?4032,??
  • ????AKEYCODE_TCL_DOWN_RIGHT?????????????=?4033,??
  • ????//?Changhong?section,?range?4101-4200??
  • ????AKEYCODE_CHANGHONGIR_MUTE???????????=?4101,??
  • ????AKEYCODE_CHANGHONGIR_INPUT??????????=?4102,??
  • ????AKEYCODE_CHANGHONGIR_DEL????????????=?4103,??
  • ????AKEYCODE_CHANGHONGIR_MENU???????????=?4104,??
  • ????AKEYCODE_CHANGHONGIR_CORN???????????=?4105,??
  • ????AKEYCODE_CHANGHONGIR_OK?????????????=?4106,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_FU????????=?4107,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_FD????????=?4108,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_FL????????=?4109,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_FR????????=?4110,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_SU????????=?4111,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_SD????????=?4112,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_SL????????=?4113,??
  • ????AKEYCODE_CHANGHONGIR_FLCK_SR????????=?4114,??
  • ????AKEYCODE_CHANGHONGIR_PINCH??????????=?4115,??
  • ????AKEYCODE_CHANGHONGIR_SPREAD?????????=?4116,??
  • ????AKEYCODE_CHANGHONGIR_VOICE??????????=?4117,??
  • ????AKEYCODE_CHANGHONGIR_HAND???????????=?4118,??
  • ????AKEYCODE_CHANGHONGIR_3D?????????????=?4119,??
  • ????AKEYCODE_CHANGHONGIR_HELP???????????=?4120,??
  • ????AKEYCODE_CHANGHONGIR_APP????????????=?4121,??
  • ????AKEYCODE_CHANGHONGIR_MOUSE??????????=?4122,??
  • ????AKEYCODE_CHANGHONGIR_EPG????????????=?4123,??
  • ????AKEYCODE_CHANGHONGIR_HOME???????????=?4124,??
  • ????AKEYCODE_CHANGHONGIR_SETTINGS???????=?4125,??
  • ????//?Hisense?section,?range?4201-4300??
  • ????AKEYCODE_HISENSE_G_SENSOR???????????=?4201,??
  • ????AKEYCODE_HISENSE_LOW_BATTERY????????=?4202,??
  • ????AKEYCODE_HISENSE_SLIDEUP????????????=?4203,??
  • ????AKEYCODE_HISENSE_SLIDEDOWN??????????=?4204,??
  • ????AKEYCODE_HISENSE_SLIDELEFT??????????=?4205,??
  • ????AKEYCODE_HISENSE_SLIDERIGHT?????????=?4206,??
  • ????AKEYCODE_HISENSE_RAPID_SLIDEUP??????=?4207,??
  • ????AKEYCODE_HISENSE_RAPID_SLIDEDOWN????=?4208,??
  • ????AKEYCODE_HISENSE_RAPID_SLIDELEFT????=?4209,??
  • ????AKEYCODE_HISENSE_RAPID_SLIDERIGHT???=?4210,??
  • ????AKEYCODE_HISENSE_FAC_NEC_M??????????=?4211,??
  • ????AKEYCODE_HISENSE_FAC_NEC_IP?????????=?4212,??
  • ????AKEYCODE_HISENSE_FAC_NEC_SAVE???????=?4213,??
  • ????AKEYCODE_HISENSE_FAC_NEC_3D?????????=?4214,??
  • ????AKEYCODE_HISENSE_FAC_NEC_PC?????????=?4215,??
  • ????AKEYCODE_HISENSE_FAC_NEC_LOGO???????=?4216,??
  • ????AKEYCODE_HISENSE_FAC_NEC_YPBPR??????=?4217,??
  • ????AKEYCODE_HISENSE_FAC_NEC_HDMI???????=?4218,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F1?????????=?4219,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F2?????????=?4220,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F3?????????=?4221,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F4?????????=?4222,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F5?????????=?4223,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F6?????????=?4224,??
  • ????AKEYCODE_HISENSE_FAC_NEC_F7?????????=?4225,??
  • ????AKEYCODE_HISENSE_FAC_NEC_OK?????????=?4226,??
  • ????AKEYCODE_HISENSE_FAC_NEC_MAC????????=?4227,??
  • ????AKEYCODE_HISENSE_FAC_NEC_AV?????????=?4228,??
  • ????AKEYCODE_HISENSE_FAC_NEC_PATTERN????=?4229,??
  • ????AKEYCODE_HISENSE_FAC_NEC_AGING??????=?4230,??
  • ????AKEYCODE_HISENSE_FAC_NEC_BALANCE????=?4231,??
  • ????AKEYCODE_HISENSE_FAC_NEC_ADC????????=?4232,??
  • ????AKEYCODE_HISENSE_FAC_NEC_RDRV_INCREASE?=?4233,??
  • ????AKEYCODE_HISENSE_FAC_NEC_RDRV_DECREASE?=?4234,??
  • ????AKEYCODE_HISENSE_FAC_NEC_GDRV_INCREASE?=?4235,??
  • ????AKEYCODE_HISENSE_FAC_NEC_GDRV_DECREASE?=?4236,??
  • ????AKEYCODE_HISENSE_FAC_NEC_BDRV_INCREASE?=?4237,??
  • ????AKEYCODE_HISENSE_FAC_NEC_BDRV_DECREASE?=?4238,??
  • ????AKEYCODE_HISENSE_FAC_NEC_RCUT_INCREASE?=?4239,??
  • ????AKEYCODE_HISENSE_FAC_NEC_RCUT_DECREASE?=?4240,??
  • ????AKEYCODE_HISENSE_FAC_NEC_GCUT_INCREASE?=?4241,??
  • ????AKEYCODE_HISENSE_FAC_NEC_GCUT_DECREASE?=?4242,??
  • ????AKEYCODE_HISENSE_FAC_NEC_BCUT_INCREASE?=?4243,??
  • ????AKEYCODE_HISENSE_FAC_NEC_BCUT_DECREASE?=?4244,??
  • ????AKEYCODE_HISENSE_PRODUCT_SCAN_START?=?4245,??
  • ????AKEYCODE_HISENSE_PRODUCT_SCAN_OVER??=?4246,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_TV??????=?4247,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_DTV?????=?4248,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_AV1?????=?4249,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_AV2?????=?4250,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_AV3?????=?4251,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SVIDEO1?=?4252,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SVIDEO2?=?4253,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SVIDEO3?=?4254,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SCART1??=?4255,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SCART2??=?4256,??
  • ????AKEYCODE_HISENSE_TEST_BROAD_SCART3??=?4257,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_YPBPR1??=?4258,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_YPBPR2??=?4259,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_YPBPR3??=?4260,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_VGA?????=?4261,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_HDMI1???=?4262,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_HDMI2???=?4263,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_HDMI3???=?4264,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_HDMI4???=?4265,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_HDMI5???=?4266,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_DMP?????=?4267,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_EMP?????=?4268,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_AUTOCOLOR?=?4269,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_SAVE????=?4270,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_TELITEXT?=?4271,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_SAPL????=?4272,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_VCHIP???=?4273,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_CCD?????=?4274,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_BTSC????=?4275,??
  • ????AKEYCODE_HISENSE_TEST_BOARD_FAC_OK??=?4276,??
  • ????//?MStar?Android?Patch?End??
  • ??
  • ????//?NOTE:?If?you?add?a?new?keycode?here?you?must?also?add?it?to?several?other?files.??
  • ????//???????Refer?to?frameworks/base/core/java/android/view/KeyEvent.java?for?the?full?list.??
  • };??
  • ??
  • #ifdef?__cplusplus??
  • }??
  • #endif??
  • ??
  • #endif?//?_ANDROID_KEYCODES_H??
  • </span>??

  • ? ? ?4)在frameworks/base/core/res/res/values/attrs.xml添加如下
    ? ? ? ? ?<enum name="KEYCODE_WLS" value="320" /> 5)在?frameworks/base/core/java/android/view/KeyEvent.java添加對應的 public static final int KEYCODE_WLS = 320; 經過如上的步驟就將"123"按鍵和Android系統中的KEYCODE_WLS就對應起來了,注意這里的"123“鍵值并不是真正意義上的123鍵值,他只是linux驅動向上層拋出的鍵值。 6)在Android的framework層的鍵值處理函數中,捕獲按鍵,并進行相應處理。
    在framework層的input系統中,加入對wifi按鍵的捕獲。
    添加的文件是:frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
    添加的具體方法:在PhoneWindowManager.java的interceptKeyBeforeQueueing()函數中,不惑該鍵值,至于怎么處理處決您的業務處理了。 在這里再總結下我對Android鍵值處理的理解,我的理解:看了一下key character map的處理,是通過讀取kl文件然后使用驅動程序提供的ioctl函數去修改來自輸入設備的掃描碼和系統預定義的keycode的映射關系。 這樣的話,對于硬件掃描碼,只需要修改這個kl文件。上層得到的都是系統預定義的keycode。
    重要補充:
      映射關系: ir硬件掃描碼在驅動里面被 映射為 kernel/include/linux/input.h里面定義的某個鍵值。但是這個鍵值只在linux系統中使用。
      Android通過源碼目錄下的device/xxx/xxx.kl( keylayout )文件完成linux鍵值到Android系統要使用的鍵值的映射

    總結

    以上是生活随笔為你收集整理的Android下添加新的自定义键值和按键处理流程【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。