rk3568 适配红外遥控器

生活中充满了各种波长的电磁波,所谓的可见(色)光就是人眼可见的电磁波谱,其波长为 380~770nm,为了避免遥控器发射的光造成人眼不适及减少一般人造光源干扰,故选用人眼不可见的红外线(Infrared)波长,目前业界遥控器发射头几乎都选用 940nm 波长。

红外线遥控器的应用也是一种无线讯号传输,跟大部分的无线传输技术一样,为了避免环境中同波长电磁波的干扰,故会在其传输讯号上加上如图二所示的载波(carrier frequency),在遥控应用的载波范围为 30~60kHz,而 38kHz 为最常见的载波频率。

目前红外遥控协议有RC5、 SIRCS、 Sy、 RECS80、Denon、NEC、Motorola、Japanese、SAMSWNG 和 Daewoo 等。Rockchip平台只支持 NEC编码,好在国内电器大多使用该编码协议。


文章目录

  • rk3568 适配红外遥控器
  • 1. rk3568 添加红外遥控
    • 1.1 参照原理图添加内核IR的配置
    • 1.2 添加红外按键上报键值(rk平台单独定义)
    • 1.3 添加键值转换
    • 1.4 自动编译构建
  • 2 Linux input 键值表
  • 3. Android 键值表
  • Tips

1. rk3568 添加红外遥控

RK平台PWM 有三种工作模式, reference mode, one-shot mode 和 continuousmode. 红外遥
控器就采用 reference mode,这种模式下 PWM 可以捕获输入高低电平的宽度,并产生中断,CPU
接收到中断后去相应的寄存器读取。

1.1 参照原理图添加内核IR的配置

参照原理图,可知使用 PWM3 作为红外遥控接收。
向正在使用设备树添加如下配置。

&pwm3 {status = "okay";compatible = "rockchip,remotectl-pwm";remote_pwm_id = <3>;handle_cpu_id = <1>;remote_support_psci = <0>;pinctrl-names = "default";pinctrl-0 = <&pwm3_pins>;ir_key1 {rockchip,usercode = <0x4040>;rockchip,key_table =<0xf2    KEY_REPLY>,<0xba  KEY_BACK>,<0xf4   KEY_UP>,<0xf1 KEY_DOWN>,<0xef   KEY_LEFT>,<0xee   KEY_RIGHT>,<0xbd  KEY_HOME>,<0xea   KEY_VOLUMEUP>,<0xe3   KEY_VOLUMEDOWN>,<0xe2 KEY_SEARCH>,<0xb2 KEY_POWER>,<0xbc  KEY_MUTE>,<0xec   KEY_MENU>,<0xbf   0x190>,<0xe0  0x191>,<0xe1  0x192>,<0xe9  183>,<0xe6    248>,<0xe8    185>,<0xe7    186>,<0xf0    388>,<0xbe    0x175>;};
......
};

查看输入设备,找到刚添加的pwm红外设备。驱动加正常加载,接下来就是对照键值添加遥控器。

# getevents
add device 1: /dev/input/event2name:     "adc-keys"
add device 2: /dev/input/event0name:     "fdd70030.pwm"
add device 3: /dev/input/event3name:     "rk-headset"
add device 4: /dev/input/event1name:     "rk805 pwrkey"

1.2 添加红外按键上报键值(rk平台单独定义)

RK平台可直接查看红外接收,打开键值命令如下:

echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print

内核日志太多,可使用adb 命令过滤直接得到键值。USERCODE 添加遥控dts 对应的 rockchip,usercode,RMC_GETDATA 对应键值可通过rockchip,key_table 转换为rk-input键值。

adb root;adb shell
# cat /dev/kmsg | grep USERCODE -A 2
6,1136,469064745,-;USERCODE=0x4040
6,1137,469091760,-;RMC_GETDATA=b2
6,1138,482889791,-;USERCODE=0x4040
6,1139,482916765,-;RMC_GETDATA=b4

字母和符号键都是 linux 的标准键值,在可以在 include/dt-bindings/input/input.h。
详见 2 input 键值表

1.3 添加键值转换

Linux标准键值与Android的标准键值并不相同,需要转换文件匹配对应关系。中间转换配置文件会根据红外遥控使用PWM匹配对应PWM标号所属名的配置文件。本文中使用PWM3对应的编号pwm3: pwm@fdd70030 {,键值转换配置文件名为fdd70030_pwm.kl,设备描述文件则为fdd70030_pwm.idc。Android 键值有不懂详见#3Android 键值表。临时调试可手动拷贝到 /vendor/usr/keylayout,重启生效。

  1. dd70030_pwm.idc
device.internal = 1 #是否为内部设备
audio.mic = 0 #是否带mic
  1. dd70030_pwm.kl
#$_FOR_ROCKCHIP_RBOX_$
#$_rbox_$_modify_$_chenzhi_20120220: add for IR remotekey 28    ENTER
key 116   POWER
key 158   BACK
key 139   MENU
key 217   SEARCH
key 141   ASSIST
key 164   MEDIA_PLAY_PAUSE
key 232   DPAD_CENTER
key 108   DPAD_DOWN
key 103   DPAD_UP
key 102   HOME
key 105   DPAD_LEFT
key 106   DPAD_RIGHT
key 115   VOLUME_UP
key 114   VOLUME_DOWN
key 143   NOTIFICATION
key 113   VOLUME_MUTE
key 388   PROFILE_SWITCH
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 11    0

1.4 自动编译构建

以 rk356x_box 为例增加,需要将 fdd70030_pwm.klfdd70030_pwm.idc 拷贝到 device/rockchip/rk356x_box/rk356x_box/remote_config目录下。并在 rk356x_box/rk356x_box.mk添加拷贝规则,编译时会自动拷贝到指定目录。

# copy input keylayout and device config
PRODUCT_COPY_FILES += \device/rockchip/rk356x_box/remote_config/fe700030_pwm.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/fe700030_pwm.kl \
-    device/rockchip/rk356x_box/remote_config/fe6e0030_pwm.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/fe6e0030_pwm.kl
+    device/rockchip/rk356x_box/remote_config/fe6e0030_pwm.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/fe6e0030_pwm.kl \
+    device/rockchip/rk356x_box/remote_config/fdd70030_pwm.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/fdd70030_pwm.kl

2 Linux input 键值表

/* SPDX-License-Identifier: GPL-2.0 */
/** Device properties and quirks*//** Keys and buttons** Most of the keys/buttons are modeled after USB HUT 1.12* (see http://www.usb.org/developers/hidpage).* Abbreviations in the comments:* AC - Application Control* AL - Application Launch Button* SC - System Control*/#define KEY_RESERVED     0
#define KEY_ESC         1
#define KEY_1           2
#define KEY_2           3
#define KEY_3           4
#define KEY_4           5
#define KEY_5           6
#define KEY_6           7
#define KEY_7           8
#define KEY_8           9
#define KEY_9           10
#define KEY_0           11
#define KEY_MINUS       12
#define KEY_EQUAL       13
#define KEY_BACKSPACE       14
#define KEY_TAB         15
#define KEY_Q           16
#define KEY_W           17
#define KEY_E           18
#define KEY_R           19
#define KEY_T           20
#define KEY_Y           21
#define KEY_U           22
#define KEY_I           23
#define KEY_O           24
#define KEY_P           25
#define KEY_LEFTBRACE       26
#define KEY_RIGHTBRACE      27
#define KEY_ENTER       28
#define KEY_LEFTCTRL        29
#define KEY_A           30
#define KEY_S           31
#define KEY_D           32
#define KEY_F           33
#define KEY_G           34
#define KEY_H           35
#define KEY_J           36
#define KEY_K           37
#define KEY_L           38
#define KEY_SEMICOLON       39
#define KEY_APOSTROPHE      40
#define KEY_GRAVE       41
#define KEY_LEFTSHIFT       42
#define KEY_BACKSLASH       43
#define KEY_Z           44
#define KEY_X           45
#define KEY_C           46
#define KEY_V           47
#define KEY_B           48
#define KEY_N           49
#define KEY_M           50
#define KEY_COMMA       51
#define KEY_DOT         52
#define KEY_SLASH       53
#define KEY_RIGHTSHIFT      54
#define KEY_KPASTERISK      55
#define KEY_LEFTALT     56
#define KEY_SPACE       57
#define KEY_CAPSLOCK        58
#define KEY_F1          59
#define KEY_F2          60
#define KEY_F3          61
#define KEY_F4          62
#define KEY_F5          63
#define KEY_F6          64
#define KEY_F7          65
#define KEY_F8          66
#define KEY_F9          67
#define KEY_F10         68
#define KEY_NUMLOCK     69
#define KEY_SCROLLLOCK      70
#define KEY_KP7         71
#define KEY_KP8         72
#define KEY_KP9         73
#define KEY_KPMINUS     74
#define KEY_KP4         75
#define KEY_KP5         76
#define KEY_KP6         77
#define KEY_KPPLUS      78
#define KEY_KP1         79
#define KEY_KP2         80
#define KEY_KP3         81
#define KEY_KP0         82
#define KEY_KPDOT       83#define KEY_ZENKAKUHANKAKU    85
#define KEY_102ND       86
#define KEY_F11         87
#define KEY_F12         88
#define KEY_RO          89
#define KEY_KATAKANA        90
#define KEY_HIRAGANA        91
#define KEY_HENKAN      92
#define KEY_KATAKANAHIRAGANA    93
#define KEY_MUHENKAN        94
#define KEY_KPJPCOMMA       95
#define KEY_KPENTER     96
#define KEY_RIGHTCTRL       97
#define KEY_KPSLASH     98
#define KEY_SYSRQ       99
#define KEY_RIGHTALT        100
#define KEY_LINEFEED        101
#define KEY_HOME        102
#define KEY_UP          103
#define KEY_PAGEUP      104
#define KEY_LEFT        105
#define KEY_RIGHT       106
#define KEY_END         107
#define KEY_DOWN        108
#define KEY_PAGEDOWN        109
#define KEY_INSERT      110
#define KEY_DELETE      111
#define KEY_MACRO       112
#define KEY_MUTE        113
#define KEY_VOLUMEDOWN      114
#define KEY_VOLUMEUP        115
#define KEY_POWER       116 /* SC System Power Down */
#define KEY_KPEQUAL     117
#define KEY_KPPLUSMINUS     118
#define KEY_PAUSE       119
#define KEY_SCALE       120 /* AL Compiz Scale (Expose) */#define KEY_KPCOMMA       121
#define KEY_HANGEUL     122
#define KEY_HANGUEL     KEY_HANGEUL
#define KEY_HANJA       123
#define KEY_YEN         124
#define KEY_LEFTMETA        125
#define KEY_RIGHTMETA       126
#define KEY_COMPOSE     127#define KEY_STOP     128 /* AC Stop */
#define KEY_AGAIN       129
#define KEY_PROPS       130 /* AC Properties */
#define KEY_UNDO        131 /* AC Undo */
#define KEY_FRONT       132
#define KEY_COPY        133 /* AC Copy */
#define KEY_OPEN        134 /* AC Open */
#define KEY_PASTE       135 /* AC Paste */
#define KEY_FIND        136 /* AC Search */
#define KEY_CUT         137 /* AC Cut */
#define KEY_HELP        138 /* AL Integrated Help Center */
#define KEY_MENU        139 /* Menu (show menu) */
#define KEY_CALC        140 /* AL Calculator */
#define KEY_SETUP       141
#define KEY_SLEEP       142 /* SC System Sleep */
#define KEY_WAKEUP      143 /* System Wake Up */
#define KEY_FILE        144 /* AL Local Machine Browser */
#define KEY_SENDFILE        145
#define KEY_DELETEFILE      146
#define KEY_XFER        147
#define KEY_PROG1       148
#define KEY_PROG2       149
#define KEY_WWW         150 /* AL Internet Browser */
#define KEY_MSDOS       151
#define KEY_COFFEE      152 /* AL Terminal Lock/Screensaver */
#define KEY_SCREENLOCK      KEY_COFFEE
#define KEY_DIRECTION       153
#define KEY_CYCLEWINDOWS    154
#define KEY_MAIL        155
#define KEY_BOOKMARKS       156 /* AC Bookmarks */
#define KEY_COMPUTER        157
#define KEY_BACK        158 /* AC Back */
#define KEY_FORWARD     159 /* AC Forward */
#define KEY_CLOSECD     160
#define KEY_EJECTCD     161
#define KEY_EJECTCLOSECD    162
#define KEY_NEXTSONG        163
#define KEY_PLAYPAUSE       164
#define KEY_PREVIOUSSONG    165
#define KEY_STOPCD      166
#define KEY_RECORD      167
#define KEY_REWIND      168
#define KEY_PHONE       169 /* Media Select Telephone */
#define KEY_ISO         170
#define KEY_CONFIG      171 /* AL Consumer Control Configuration */
#define KEY_HOMEPAGE        172 /* AC Home */
#define KEY_REFRESH     173 /* AC Refresh */
#define KEY_EXIT        174 /* AC Exit */
#define KEY_MOVE        175
#define KEY_EDIT        176
#define KEY_SCROLLUP        177
#define KEY_SCROLLDOWN      178
#define KEY_KPLEFTPAREN     179
#define KEY_KPRIGHTPAREN    180
#define KEY_NEW         181 /* AC New */
#define KEY_REDO        182 /* AC Redo/Repeat */#define KEY_F13         183
#define KEY_F14         184
#define KEY_F15         185
#define KEY_F16         186
#define KEY_F17         187
#define KEY_F18         188
#define KEY_F19         189
#define KEY_F20         190
#define KEY_F21         191
#define KEY_F22         192
#define KEY_F23         193
#define KEY_F24         194#define KEY_PLAYCD       200
#define KEY_PAUSECD     201
#define KEY_PROG3       202
#define KEY_PROG4       203
#define KEY_DASHBOARD       204 /* AL Dashboard */
#define KEY_SUSPEND     205
#define KEY_CLOSE       206 /* AC Close */
#define KEY_PLAY        207
#define KEY_FASTFORWARD     208
#define KEY_BASSBOOST       209
#define KEY_PRINT       210 /* AC Print */
#define KEY_HP          211
#define KEY_CAMERA      212
#define KEY_SOUND       213
#define KEY_QUESTION        214
#define KEY_EMAIL       215
#define KEY_CHAT        216
#define KEY_SEARCH      217
#define KEY_CONNECT     218
#define KEY_FINANCE     219 /* AL Checkbook/Finance */
#define KEY_SPORT       220
#define KEY_SHOP        221
#define KEY_ALTERASE        222
#define KEY_CANCEL      223 /* AC Cancel */
#define KEY_BRIGHTNESSDOWN  224
#define KEY_BRIGHTNESSUP    225
#define KEY_MEDIA       226#define KEY_SWITCHVIDEOMODE  227 /* Cycle between available videooutputs (Monitor/LCD/TV-out/etc) */
#define KEY_KBDILLUMTOGGLE  228
#define KEY_KBDILLUMDOWN    229
#define KEY_KBDILLUMUP      230#define KEY_SEND     231 /* AC Send */
#define KEY_REPLY       232 /* AC Reply */
#define KEY_FORWARDMAIL     233 /* AC Forward Msg */
#define KEY_SAVE        234 /* AC Save */
#define KEY_DOCUMENTS       235#define KEY_BATTERY      236#define KEY_BLUETOOTH        237
#define KEY_WLAN        238
#define KEY_UWB         239#define KEY_UNKNOWN      240#define KEY_VIDEO_NEXT       241 /* drive next video source */
#define KEY_VIDEO_PREV      242 /* drive previous video source */
#define KEY_BRIGHTNESS_CYCLE    243 /* brightness up, after max is min */
#define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manualbrightness control is off,rely on ambient */
#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO
#define KEY_DISPLAY_OFF     245 /* display device to off state */#define KEY_WWAN       246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
#define KEY_WIMAX       KEY_WWAN
#define KEY_RFKILL      247 /* Key that controls all radios */#define KEY_MICMUTE       248 /* Mute / unmute the microphone *//* Code 255 is reserved for special needs of AT keyboard driver */#define BTN_MISC        0x100
#define BTN_0           0x100
#define BTN_1           0x101
#define BTN_2           0x102
#define BTN_3           0x103
#define BTN_4           0x104
#define BTN_5           0x105
#define BTN_6           0x106
#define BTN_7           0x107
#define BTN_8           0x108
#define BTN_9           0x109#define BTN_MOUSE      0x110
#define BTN_LEFT        0x110
#define BTN_RIGHT       0x111
#define BTN_MIDDLE      0x112
#define BTN_SIDE        0x113
#define BTN_EXTRA       0x114
#define BTN_FORWARD     0x115
#define BTN_BACK        0x116
#define BTN_TASK        0x117#define BTN_JOYSTICK       0x120
#define BTN_TRIGGER     0x120
#define BTN_THUMB       0x121
#define BTN_THUMB2      0x122
#define BTN_TOP         0x123
#define BTN_TOP2        0x124
#define BTN_PINKIE      0x125
#define BTN_BASE        0x126
#define BTN_BASE2       0x127
#define BTN_BASE3       0x128
#define BTN_BASE4       0x129
#define BTN_BASE5       0x12a
#define BTN_BASE6       0x12b
#define BTN_DEAD        0x12f#define BTN_GAMEPAD        0x130
#define BTN_SOUTH       0x130
#define BTN_A           BTN_SOUTH
#define BTN_EAST        0x131
#define BTN_B           BTN_EAST
#define BTN_C           0x132
#define BTN_NORTH       0x133
#define BTN_X           BTN_NORTH
#define BTN_WEST        0x134
#define BTN_Y           BTN_WEST
#define BTN_Z           0x135
#define BTN_TL          0x136
#define BTN_TR          0x137
#define BTN_TL2         0x138
#define BTN_TR2         0x139
#define BTN_SELECT      0x13a
#define BTN_START       0x13b
#define BTN_MODE        0x13c
#define BTN_THUMBL      0x13d
#define BTN_THUMBR      0x13e#define BTN_DIGI       0x140
#define BTN_TOOL_PEN        0x140
#define BTN_TOOL_RUBBER     0x141
#define BTN_TOOL_BRUSH      0x142
#define BTN_TOOL_PENCIL     0x143
#define BTN_TOOL_AIRBRUSH   0x144
#define BTN_TOOL_FINGER     0x145
#define BTN_TOOL_MOUSE      0x146
#define BTN_TOOL_LENS       0x147
#define BTN_TOOL_QUINTTAP   0x148   /* Five fingers on trackpad */
#define BTN_TOUCH       0x14a
#define BTN_STYLUS      0x14b
#define BTN_STYLUS2     0x14c
#define BTN_TOOL_DOUBLETAP  0x14d
#define BTN_TOOL_TRIPLETAP  0x14e
#define BTN_TOOL_QUADTAP    0x14f   /* Four fingers on trackpad */#define BTN_WHEEL     0x150
#define BTN_GEAR_DOWN       0x150
#define BTN_GEAR_UP     0x151#define KEY_OK         0x160
#define KEY_SELECT      0x161
#define KEY_GOTO        0x162
#define KEY_CLEAR       0x163
#define KEY_POWER2      0x164
#define KEY_OPTION      0x165
#define KEY_INFO        0x166   /* AL OEM Features/Tips/Tutorial */
#define KEY_TIME        0x167
#define KEY_VENDOR      0x168
#define KEY_ARCHIVE     0x169
#define KEY_PROGRAM     0x16a   /* Media Select Program Guide */
#define KEY_CHANNEL     0x16b
#define KEY_FAVORITES       0x16c
#define KEY_EPG         0x16d
#define KEY_PVR         0x16e   /* Media Select Home */
#define KEY_MHP         0x16f
#define KEY_LANGUAGE        0x170
#define KEY_TITLE       0x171
#define KEY_SUBTITLE        0x172
#define KEY_ANGLE       0x173
#define KEY_ZOOM        0x174
#define KEY_MODE        0x175
#define KEY_KEYBOARD        0x176
#define KEY_SCREEN      0x177
#define KEY_PC          0x178   /* Media Select Computer */
#define KEY_TV          0x179   /* Media Select TV */
#define KEY_TV2         0x17a   /* Media Select Cable */
#define KEY_VCR         0x17b   /* Media Select VCR */
#define KEY_VCR2        0x17c   /* VCR Plus */
#define KEY_SAT         0x17d   /* Media Select Satellite */
#define KEY_SAT2        0x17e
#define KEY_CD          0x17f   /* Media Select CD */
#define KEY_TAPE        0x180   /* Media Select Tape */
#define KEY_RADIO       0x181
#define KEY_TUNER       0x182   /* Media Select Tuner */
#define KEY_PLAYER      0x183
#define KEY_TEXT        0x184
#define KEY_DVD         0x185   /* Media Select DVD */
#define KEY_AUX         0x186
#define KEY_MP3         0x187
#define KEY_AUDIO       0x188   /* AL Audio Browser */
#define KEY_VIDEO       0x189   /* AL Movie Browser */
#define KEY_DIRECTORY       0x18a
#define KEY_LIST        0x18b
#define KEY_MEMO        0x18c   /* Media Select Messages */
#define KEY_CALENDAR        0x18d
#define KEY_RED         0x18e
#define KEY_GREEN       0x18f
#define KEY_YELLOW      0x190
#define KEY_BLUE        0x191
#define KEY_CHANNELUP       0x192   /* Channel Increment */
#define KEY_CHANNELDOWN     0x193   /* Channel Decrement */
#define KEY_FIRST       0x194
#define KEY_LAST        0x195   /* Recall Last */
#define KEY_AB          0x196
#define KEY_NEXT        0x197
#define KEY_RESTART     0x198
#define KEY_SLOW        0x199
#define KEY_SHUFFLE     0x19a
#define KEY_BREAK       0x19b
#define KEY_PREVIOUS        0x19c
#define KEY_DIGITS      0x19d
#define KEY_TEEN        0x19e
#define KEY_TWEN        0x19f
#define KEY_VIDEOPHONE      0x1a0   /* Media Select Video Phone */
#define KEY_GAMES       0x1a1   /* Media Select Games */
#define KEY_ZOOMIN      0x1a2   /* AC Zoom In */
#define KEY_ZOOMOUT     0x1a3   /* AC Zoom Out */
#define KEY_ZOOMRESET       0x1a4   /* AC Zoom */
#define KEY_WORDPROCESSOR   0x1a5   /* AL Word Processor */
#define KEY_EDITOR      0x1a6   /* AL Text Editor */
#define KEY_SPREADSHEET     0x1a7   /* AL Spreadsheet */
#define KEY_GRAPHICSEDITOR  0x1a8   /* AL Graphics Editor */
#define KEY_PRESENTATION    0x1a9   /* AL Presentation App */
#define KEY_DATABASE        0x1aa   /* AL Database App */
#define KEY_NEWS        0x1ab   /* AL Newsreader */
#define KEY_VOICEMAIL       0x1ac   /* AL Voicemail */
#define KEY_ADDRESSBOOK     0x1ad   /* AL Contacts/Address Book */
#define KEY_MESSENGER       0x1ae   /* AL Instant Messaging */
#define KEY_DISPLAYTOGGLE   0x1af   /* Turn display (LCD) on and off */
#define KEY_BRIGHTNESS_TOGGLE   KEY_DISPLAYTOGGLE
#define KEY_SPELLCHECK      0x1b0   /* AL Spell Check */
#define KEY_LOGOFF      0x1b1   /* AL Logoff */#define KEY_DOLLAR       0x1b2
#define KEY_EURO        0x1b3#define KEY_FRAMEBACK      0x1b4   /* Consumer - transport controls */
#define KEY_FRAMEFORWARD    0x1b5
#define KEY_CONTEXT_MENU    0x1b6   /* GenDesc - system context menu */
#define KEY_MEDIA_REPEAT    0x1b7   /* Consumer - transport control */
#define KEY_10CHANNELSUP    0x1b8   /* 10 channels up (10+) */
#define KEY_10CHANNELSDOWN  0x1b9   /* 10 channels down (10-) */
#define KEY_IMAGES      0x1ba   /* AL Image Browser */#define KEY_DEL_EOL       0x1c0
#define KEY_DEL_EOS     0x1c1
#define KEY_INS_LINE        0x1c2
#define KEY_DEL_LINE        0x1c3#define KEY_FN         0x1d0
#define KEY_FN_ESC      0x1d1
#define KEY_FN_F1       0x1d2
#define KEY_FN_F2       0x1d3
#define KEY_FN_F3       0x1d4
#define KEY_FN_F4       0x1d5
#define KEY_FN_F5       0x1d6
#define KEY_FN_F6       0x1d7
#define KEY_FN_F7       0x1d8
#define KEY_FN_F8       0x1d9
#define KEY_FN_F9       0x1da
#define KEY_FN_F10      0x1db
#define KEY_FN_F11      0x1dc
#define KEY_FN_F12      0x1dd
#define KEY_FN_1        0x1de
#define KEY_FN_2        0x1df
#define KEY_FN_D        0x1e0
#define KEY_FN_E        0x1e1
#define KEY_FN_F        0x1e2
#define KEY_FN_S        0x1e3
#define KEY_FN_B        0x1e4#define KEY_BRL_DOT1       0x1f1
#define KEY_BRL_DOT2        0x1f2
#define KEY_BRL_DOT3        0x1f3
#define KEY_BRL_DOT4        0x1f4
#define KEY_BRL_DOT5        0x1f5
#define KEY_BRL_DOT6        0x1f6
#define KEY_BRL_DOT7        0x1f7
#define KEY_BRL_DOT8        0x1f8
#define KEY_BRL_DOT9        0x1f9
#define KEY_BRL_DOT10       0x1fa#define KEY_NUMERIC_0      0x200   /* used by phones, remote controls, */
#define KEY_NUMERIC_1       0x201   /* and other keypads */
#define KEY_NUMERIC_2       0x202
#define KEY_NUMERIC_3       0x203
#define KEY_NUMERIC_4       0x204
#define KEY_NUMERIC_5       0x205
#define KEY_NUMERIC_6       0x206
#define KEY_NUMERIC_7       0x207
#define KEY_NUMERIC_8       0x208
#define KEY_NUMERIC_9       0x209
#define KEY_NUMERIC_STAR    0x20a
#define KEY_NUMERIC_POUND   0x20b#define KEY_CAMERA_FOCUS   0x210
#define KEY_WPS_BUTTON      0x211   /* WiFi Protected Setup key */#define KEY_TOUCHPAD_TOGGLE   0x212   /* Request switch touchpad on or off */
#define KEY_TOUCHPAD_ON     0x213
#define KEY_TOUCHPAD_OFF    0x214#define KEY_CAMERA_ZOOMIN  0x215
#define KEY_CAMERA_ZOOMOUT  0x216
#define KEY_CAMERA_UP       0x217
#define KEY_CAMERA_DOWN     0x218
#define KEY_CAMERA_LEFT     0x219
#define KEY_CAMERA_RIGHT    0x21a#define KEY_ATTENDANT_ON   0x21b
#define KEY_ATTENDANT_OFF   0x21c
#define KEY_ATTENDANT_TOGGLE    0x21d   /* Attendant call on or off */
#define KEY_LIGHTS_TOGGLE   0x21e   /* Reading light on or off */#define BTN_DPAD_UP        0x220
#define BTN_DPAD_DOWN       0x221
#define BTN_DPAD_LEFT       0x222
#define BTN_DPAD_RIGHT      0x223#define KEY_ALS_TOGGLE     0x230   /* Ambient light sensor */#define KEY_BUTTONCONFIG      0x240   /* AL Button Configuration */
#define KEY_TASKMANAGER     0x241   /* AL Task/Project Manager */
#define KEY_JOURNAL     0x242   /* AL Log/Journal/Timecard */
#define KEY_CONTROLPANEL        0x243   /* AL Control Panel */
#define KEY_APPSELECT       0x244   /* AL Select Task/Application */
#define KEY_SCREENSAVER     0x245   /* AL Screen Saver */
#define KEY_VOICECOMMAND        0x246   /* Listening Voice Command */#define KEY_BRIGHTNESS_MIN     0x250   /* Set Brightness to Minimum */
#define KEY_BRIGHTNESS_MAX      0x251   /* Set Brightness to Maximum */#define BTN_TRIGGER_HAPPY        0x2c0
#define BTN_TRIGGER_HAPPY1      0x2c0
#define BTN_TRIGGER_HAPPY2      0x2c1
#define BTN_TRIGGER_HAPPY3      0x2c2
#define BTN_TRIGGER_HAPPY4      0x2c3
#define BTN_TRIGGER_HAPPY5      0x2c4
#define BTN_TRIGGER_HAPPY6      0x2c5
#define BTN_TRIGGER_HAPPY7      0x2c6
#define BTN_TRIGGER_HAPPY8      0x2c7
#define BTN_TRIGGER_HAPPY9      0x2c8
#define BTN_TRIGGER_HAPPY10     0x2c9
#define BTN_TRIGGER_HAPPY11     0x2ca
#define BTN_TRIGGER_HAPPY12     0x2cb
#define BTN_TRIGGER_HAPPY13     0x2cc
#define BTN_TRIGGER_HAPPY14     0x2cd
#define BTN_TRIGGER_HAPPY15     0x2ce
#define BTN_TRIGGER_HAPPY16     0x2cf
#define BTN_TRIGGER_HAPPY17     0x2d0
#define BTN_TRIGGER_HAPPY18     0x2d1
#define BTN_TRIGGER_HAPPY19     0x2d2
#define BTN_TRIGGER_HAPPY20     0x2d3
#define BTN_TRIGGER_HAPPY21     0x2d4
#define BTN_TRIGGER_HAPPY22     0x2d5
#define BTN_TRIGGER_HAPPY23     0x2d6
#define BTN_TRIGGER_HAPPY24     0x2d7
#define BTN_TRIGGER_HAPPY25     0x2d8
#define BTN_TRIGGER_HAPPY26     0x2d9
#define BTN_TRIGGER_HAPPY27     0x2da
#define BTN_TRIGGER_HAPPY28     0x2db
#define BTN_TRIGGER_HAPPY29     0x2dc
#define BTN_TRIGGER_HAPPY30     0x2dd
#define BTN_TRIGGER_HAPPY31     0x2de
#define BTN_TRIGGER_HAPPY32     0x2df
#define BTN_TRIGGER_HAPPY33     0x2e0
#define BTN_TRIGGER_HAPPY34     0x2e1
#define BTN_TRIGGER_HAPPY35     0x2e2
#define BTN_TRIGGER_HAPPY36     0x2e3
#define BTN_TRIGGER_HAPPY37     0x2e4
#define BTN_TRIGGER_HAPPY38     0x2e5
#define BTN_TRIGGER_HAPPY39     0x2e6
#define BTN_TRIGGER_HAPPY40     0x2e7/* We avoid low common keys in module aliases so they don't get huge. */
#define KEY_MIN_INTERESTING KEY_MUTE
#define KEY_MAX         0x2ff
#define KEY_CNT         (KEY_MAX+1)/** Relative axes*/#define REL_X            0x00
#define REL_Y           0x01
#define REL_Z           0x02
#define REL_RX          0x03
#define REL_RY          0x04
#define REL_RZ          0x05
#define REL_HWHEEL      0x06
#define REL_DIAL        0x07
#define REL_WHEEL       0x08
#define REL_MISC        0x09
#define REL_MAX         0x0f
#define REL_CNT         (REL_MAX+1)/** Absolute axes*/#define ABS_X            0x00
#define ABS_Y           0x01
#define ABS_Z           0x02
#define ABS_RX          0x03
#define ABS_RY          0x04
#define ABS_RZ          0x05
#define ABS_THROTTLE        0x06
#define ABS_RUDDER      0x07
#define ABS_WHEEL       0x08
#define ABS_GAS         0x09
#define ABS_BRAKE       0x0a
#define ABS_HAT0X       0x10
#define ABS_HAT0Y       0x11
#define ABS_HAT1X       0x12
#define ABS_HAT1Y       0x13
#define ABS_HAT2X       0x14
#define ABS_HAT2Y       0x15
#define ABS_HAT3X       0x16
#define ABS_HAT3Y       0x17
#define ABS_PRESSURE        0x18
#define ABS_DISTANCE        0x19
#define ABS_TILT_X      0x1a
#define ABS_TILT_Y      0x1b
#define ABS_TOOL_WIDTH      0x1c#define ABS_VOLUME      0x20#define ABS_MISC        0x28#define ABS_MT_SLOT     0x2f    /* MT slot being modified */
#define ABS_MT_TOUCH_MAJOR  0x30    /* Major axis of touching ellipse */
#define ABS_MT_TOUCH_MINOR  0x31    /* Minor axis (omit if circular) */
#define ABS_MT_WIDTH_MAJOR  0x32    /* Major axis of approaching ellipse */
#define ABS_MT_WIDTH_MINOR  0x33    /* Minor axis (omit if circular) */
#define ABS_MT_ORIENTATION  0x34    /* Ellipse orientation */
#define ABS_MT_POSITION_X   0x35    /* Center X touch position */
#define ABS_MT_POSITION_Y   0x36    /* Center Y touch position */
#define ABS_MT_TOOL_TYPE    0x37    /* Type of touching device */
#define ABS_MT_BLOB_ID      0x38    /* Group a set of packets as a blob */
#define ABS_MT_TRACKING_ID  0x39    /* Unique ID of initiated contact */
#define ABS_MT_PRESSURE     0x3a    /* Pressure on contact area */
#define ABS_MT_DISTANCE     0x3b    /* Contact hover distance */
#define ABS_MT_TOOL_X       0x3c    /* Center X tool position */
#define ABS_MT_TOOL_Y       0x3d    /* Center Y tool position */#define ABS_MAX         0x3f
#define ABS_CNT         (ABS_MAX+1)/** Switch events*/#define SW_LID           0x00  /* set = lid shut */
#define SW_TABLET_MODE      0x01  /* set = tablet mode */
#define SW_HEADPHONE_INSERT 0x02  /* set = inserted */
#define SW_RFKILL_ALL       0x03  /* rfkill master switch, type "any"set = radio enabled */
#define SW_RADIO        SW_RFKILL_ALL   /* deprecated */
#define SW_MICROPHONE_INSERT    0x04  /* set = inserted */
#define SW_DOCK         0x05  /* set = plugged into dock */
#define SW_LINEOUT_INSERT   0x06  /* set = inserted */
#define SW_JACK_PHYSICAL_INSERT 0x07  /* set = mechanical switch set */
#define SW_VIDEOOUT_INSERT  0x08  /* set = inserted */
#define SW_CAMERA_LENS_COVER    0x09  /* set = lens covered */
#define SW_KEYPAD_SLIDE     0x0a  /* set = keypad slide out */
#define SW_FRONT_PROXIMITY  0x0b  /* set = front proximity sensor active */
#define SW_ROTATE_LOCK      0x0c  /* set = rotate locked/disabled */
#define SW_LINEIN_INSERT    0x0d  /* set = inserted */
#define SW_MUTE_DEVICE      0x0e  /* set = device disabled */
#define SW_MAX          0x0f
#define SW_CNT          (SW_MAX+1)/** Misc events*/#define MSC_SERIAL      0x00
#define MSC_PULSELED        0x01
#define MSC_GESTURE     0x02
#define MSC_RAW         0x03
#define MSC_SCAN        0x04
#define MSC_TIMESTAMP       0x05
#define MSC_MAX         0x07
#define MSC_CNT         (MSC_MAX+1)/** LEDs*/#define LED_NUML      0x00
#define LED_CAPSL       0x01
#define LED_SCROLLL     0x02
#define LED_COMPOSE     0x03
#define LED_KANA        0x04
#define LED_SLEEP       0x05
#define LED_SUSPEND     0x06
#define LED_MUTE        0x07
#define LED_MISC        0x08
#define LED_MAIL        0x09
#define LED_CHARGING        0x0a
#define LED_MAX         0x0f
#define LED_CNT         (LED_MAX+1)/** Autorepeat values*/#define REP_DELAY        0x00
#define REP_PERIOD      0x01
#define REP_MAX         0x01
#define REP_CNT         (REP_MAX+1)/** Sounds*/#define SND_CLICK       0x00
#define SND_BELL        0x01
#define SND_TONE        0x02
#define SND_MAX         0x07
#define SND_CNT         (SND_MAX+1)/** IDs.*/#define ID_BUS            0
#define ID_VENDOR       1
#define ID_PRODUCT      2
#define ID_VERSION      3#define BUS_PCI            0x01
#define BUS_ISAPNP      0x02
#define BUS_USB         0x03
#define BUS_HIL         0x04
#define BUS_BLUETOOTH       0x05
#define BUS_VIRTUAL     0x06#define BUS_ISA         0x10
#define BUS_I8042       0x11
#define BUS_XTKBD       0x12
#define BUS_RS232       0x13
#define BUS_GAMEPORT        0x14
#define BUS_PARPORT     0x15
#define BUS_AMIGA       0x16
#define BUS_ADB         0x17
#define BUS_I2C         0x18
#define BUS_HOST        0x19
#define BUS_GSC         0x1A
#define BUS_ATARI       0x1B
#define BUS_SPI         0x1C/** MT_TOOL types*/
#define MT_TOOL_FINGER      0
#define MT_TOOL_PEN     1
#define MT_TOOL_MAX     1/** Values describing the status of a force-feedback effect*/
#define FF_STATUS_STOPPED   0x00
#define FF_STATUS_PLAYING   0x01
#define FF_STATUS_MAX       0x01

3. Android 键值表

Android 键值表在源码的路径:framework/base/core/android/view/input/KeyEvent.java

public class KeyEvent extends InputEvent implements Parcelable {/** Key code constant: Unknown key code. */public static final int KEYCODE_UNKNOWN         = 0;/** Key code constant: Soft Left key.* Usually situated below the display on phones and used as a multi-function* feature key for selecting a software defined function shown on the bottom left* of the display. */public static final int KEYCODE_SOFT_LEFT       = 1;/** Key code constant: Soft Right key.* Usually situated below the display on phones and used as a multi-function* feature key for selecting a software defined function shown on the bottom right* of the display. */public static final int KEYCODE_SOFT_RIGHT      = 2;/** Key code constant: Home key.* This key is handled by the framework and is never delivered to applications. */public static final int KEYCODE_HOME            = 3;/** Key code constant: Back key. */public static final int KEYCODE_BACK            = 4;/** Key code constant: Call key. */public static final int KEYCODE_CALL            = 5;/** Key code constant: End Call key. */public static final int KEYCODE_ENDCALL         = 6;/** Key code constant: '0' key. */public static final int KEYCODE_0               = 7;/** Key code constant: '1' key. */public static final int KEYCODE_1               = 8;/** Key code constant: '2' key. */public static final int KEYCODE_2               = 9;/** Key code constant: '3' key. */public static final int KEYCODE_3               = 10;/** Key code constant: '4' key. */public static final int KEYCODE_4               = 11;/** Key code constant: '5' key. */public static final int KEYCODE_5               = 12;/** Key code constant: '6' key. */public static final int KEYCODE_6               = 13;/** Key code constant: '7' key. */public static final int KEYCODE_7               = 14;/** Key code constant: '8' key. */public static final int KEYCODE_8               = 15;/** Key code constant: '9' key. */public static final int KEYCODE_9               = 16;/** Key code constant: '*' key. */public static final int KEYCODE_STAR            = 17;/** Key code constant: '#' key. */public static final int KEYCODE_POUND           = 18;/** Key code constant: Directional Pad Up key.* May also be synthesized from trackball motions. */public static final int KEYCODE_DPAD_UP         = 19;/** Key code constant: Directional Pad Down key.* May also be synthesized from trackball motions. */public static final int KEYCODE_DPAD_DOWN       = 20;/** Key code constant: Directional Pad Left key.* May also be synthesized from trackball motions. */public static final int KEYCODE_DPAD_LEFT       = 21;/** Key code constant: Directional Pad Right key.* May also be synthesized from trackball motions. */public static final int KEYCODE_DPAD_RIGHT      = 22;/** Key code constant: Directional Pad Center key.* May also be synthesized from trackball motions. */public static final int KEYCODE_DPAD_CENTER     = 23;/** Key code constant: Volume Up key.* Adjusts the speaker volume up. */public static final int KEYCODE_VOLUME_UP       = 24;/** Key code constant: Volume Down key.* Adjusts the speaker volume down. */public static final int KEYCODE_VOLUME_DOWN     = 25;/** Key code constant: Power key. */public static final int KEYCODE_POWER           = 26;/** Key code constant: Camera key.* Used to launch a camera application or take pictures. */public static final int KEYCODE_CAMERA          = 27;/** Key code constant: Clear key. */public static final int KEYCODE_CLEAR           = 28;/** Key code constant: 'A' key. */public static final int KEYCODE_A               = 29;/** Key code constant: 'B' key. */public static final int KEYCODE_B               = 30;/** Key code constant: 'C' key. */public static final int KEYCODE_C               = 31;/** Key code constant: 'D' key. */public static final int KEYCODE_D               = 32;/** Key code constant: 'E' key. */public static final int KEYCODE_E               = 33;/** Key code constant: 'F' key. */public static final int KEYCODE_F               = 34;/** Key code constant: 'G' key. */public static final int KEYCODE_G               = 35;/** Key code constant: 'H' key. */public static final int KEYCODE_H               = 36;/** Key code constant: 'I' key. */public static final int KEYCODE_I               = 37;/** Key code constant: 'J' key. */public static final int KEYCODE_J               = 38;/** Key code constant: 'K' key. */public static final int KEYCODE_K               = 39;/** Key code constant: 'L' key. */public static final int KEYCODE_L               = 40;/** Key code constant: 'M' key. */public static final int KEYCODE_M               = 41;/** Key code constant: 'N' key. */public static final int KEYCODE_N               = 42;/** Key code constant: 'O' key. */public static final int KEYCODE_O               = 43;/** Key code constant: 'P' key. */public static final int KEYCODE_P               = 44;/** Key code constant: 'Q' key. */public static final int KEYCODE_Q               = 45;/** Key code constant: 'R' key. */public static final int KEYCODE_R               = 46;/** Key code constant: 'S' key. */public static final int KEYCODE_S               = 47;/** Key code constant: 'T' key. */public static final int KEYCODE_T               = 48;/** Key code constant: 'U' key. */public static final int KEYCODE_U               = 49;/** Key code constant: 'V' key. */public static final int KEYCODE_V               = 50;/** Key code constant: 'W' key. */public static final int KEYCODE_W               = 51;/** Key code constant: 'X' key. */public static final int KEYCODE_X               = 52;/** Key code constant: 'Y' key. */public static final int KEYCODE_Y               = 53;/** Key code constant: 'Z' key. */public static final int KEYCODE_Z               = 54;/** Key code constant: ',' key. */public static final int KEYCODE_COMMA           = 55;/** Key code constant: '.' key. */public static final int KEYCODE_PERIOD          = 56;/** Key code constant: Left Alt modifier key. */public static final int KEYCODE_ALT_LEFT        = 57;/** Key code constant: Right Alt modifier key. */public static final int KEYCODE_ALT_RIGHT       = 58;/** Key code constant: Left Shift modifier key. */public static final int KEYCODE_SHIFT_LEFT      = 59;/** Key code constant: Right Shift modifier key. */public static final int KEYCODE_SHIFT_RIGHT     = 60;/** Key code constant: Tab key. */public static final int KEYCODE_TAB             = 61;/** Key code constant: Space key. */public static final int KEYCODE_SPACE           = 62;/** Key code constant: Symbol modifier key.* Used to enter alternate symbols. */public static final int KEYCODE_SYM             = 63;/** Key code constant: Explorer special function key.* Used to launch a browser application. */public static final int KEYCODE_EXPLORER        = 64;/** Key code constant: Envelope special function key.* Used to launch a mail application. */public static final int KEYCODE_ENVELOPE        = 65;/** Key code constant: Enter key. */public static final int KEYCODE_ENTER           = 66;/** Key code constant: Backspace key.* Deletes characters before the insertion point, unlike {@link #KEYCODE_FORWARD_DEL}. */public static final int KEYCODE_DEL             = 67;/** Key code constant: '`' (backtick) key. */public static final int KEYCODE_GRAVE           = 68;/** Key code constant: '-'. */public static final int KEYCODE_MINUS           = 69;/** Key code constant: '=' key. */public static final int KEYCODE_EQUALS          = 70;/** Key code constant: '[' key. */public static final int KEYCODE_LEFT_BRACKET    = 71;/** Key code constant: ']' key. */public static final int KEYCODE_RIGHT_BRACKET   = 72;/** Key code constant: '\' key. */public static final int KEYCODE_BACKSLASH       = 73;/** Key code constant: ';' key. */public static final int KEYCODE_SEMICOLON       = 74;/** Key code constant: ''' (apostrophe) key. */public static final int KEYCODE_APOSTROPHE      = 75;/** Key code constant: '/' key. */public static final int KEYCODE_SLASH           = 76;/** Key code constant: '@' key. */public static final int KEYCODE_AT              = 77;/** Key code constant: Number modifier key.* Used to enter numeric symbols.* This key is not Num Lock; it is more like {@link #KEYCODE_ALT_LEFT} and is* interpreted as an ALT key by {@link android.text.method.MetaKeyKeyListener}. */public static final int KEYCODE_NUM             = 78;/** Key code constant: Headset Hook key.* Used to hang up calls and stop media. */public static final int KEYCODE_HEADSETHOOK     = 79;/** Key code constant: Camera Focus key.* Used to focus the camera. */public static final int KEYCODE_FOCUS           = 80;   // *Camera* focus/** Key code constant: '+' key. */public static final int KEYCODE_PLUS            = 81;/** Key code constant: Menu key. */public static final int KEYCODE_MENU            = 82;/** Key code constant: Notification key. */public static final int KEYCODE_NOTIFICATION    = 83;/** Key code constant: Search key. */public static final int KEYCODE_SEARCH          = 84;/** Key code constant: Play/Pause media key. */public static final int KEYCODE_MEDIA_PLAY_PAUSE= 85;/** Key code constant: Stop media key. */public static final int KEYCODE_MEDIA_STOP      = 86;/** Key code constant: Play Next media key. */public static final int KEYCODE_MEDIA_NEXT      = 87;/** Key code constant: Play Previous media key. */public static final int KEYCODE_MEDIA_PREVIOUS  = 88;/** Key code constant: Rewind media key. */public static final int KEYCODE_MEDIA_REWIND    = 89;/** Key code constant: Fast Forward media key. */public static final int KEYCODE_MEDIA_FAST_FORWARD = 90;/** Key code constant: Mute key.* Mutes the microphone, unlike {@link #KEYCODE_VOLUME_MUTE}. */public static final int KEYCODE_MUTE            = 91;/** Key code constant: Page Up key. */public static final int KEYCODE_PAGE_UP         = 92;/** Key code constant: Page Down key. */public static final int KEYCODE_PAGE_DOWN       = 93;/** Key code constant: Picture Symbols modifier key.* Used to switch symbol sets (Emoji, Kao-moji). */public static final int KEYCODE_PICTSYMBOLS     = 94;   // switch symbol-sets (Emoji,Kao-moji)/** Key code constant: Switch Charset modifier key.* Used to switch character sets (Kanji, Katakana). */public static final int KEYCODE_SWITCH_CHARSET  = 95;   // switch char-sets (Kanji,Katakana)/** Key code constant: A Button key.* On a game controller, the A button should be either the button labeled A* or the first button on the bottom row of controller buttons. */public static final int KEYCODE_BUTTON_A        = 96;/** Key code constant: B Button key.* On a game controller, the B button should be either the button labeled B* or the second button on the bottom row of controller buttons. */public static final int KEYCODE_BUTTON_B        = 97;/** Key code constant: C Button key.* On a game controller, the C button should be either the button labeled C* or the third button on the bottom row of controller buttons. */public static final int KEYCODE_BUTTON_C        = 98;/** Key code constant: X Button key.* On a game controller, the X button should be either the button labeled X* or the first button on the upper row of controller buttons. */public static final int KEYCODE_BUTTON_X        = 99;/** Key code constant: Y Button key.* On a game controller, the Y button should be either the button labeled Y* or the second button on the upper row of controller buttons. */public static final int KEYCODE_BUTTON_Y        = 100;/** Key code constant: Z Button key.* On a game controller, the Z button should be either the button labeled Z* or the third button on the upper row of controller buttons. */public static final int KEYCODE_BUTTON_Z        = 101;/** Key code constant: L1 Button key.* On a game controller, the L1 button should be either the button labeled L1 (or L)* or the top left trigger button. */public static final int KEYCODE_BUTTON_L1       = 102;/** Key code constant: R1 Button key.* On a game controller, the R1 button should be either the button labeled R1 (or R)* or the top right trigger button. */public static final int KEYCODE_BUTTON_R1       = 103;/** Key code constant: L2 Button key.* On a game controller, the L2 button should be either the button labeled L2* or the bottom left trigger button. */public static final int KEYCODE_BUTTON_L2       = 104;/** Key code constant: R2 Button key.* On a game controller, the R2 button should be either the button labeled R2* or the bottom right trigger button. */public static final int KEYCODE_BUTTON_R2       = 105;/** Key code constant: Left Thumb Button key.* On a game controller, the left thumb button indicates that the left (or only)* joystick is pressed. */public static final int KEYCODE_BUTTON_THUMBL   = 106;/** Key code constant: Right Thumb Button key.* On a game controller, the right thumb button indicates that the right* joystick is pressed. */public static final int KEYCODE_BUTTON_THUMBR   = 107;/** Key code constant: Start Button key.* On a game controller, the button labeled Start. */public static final int KEYCODE_BUTTON_START    = 108;/** Key code constant: Select Button key.* On a game controller, the button labeled Select. */public static final int KEYCODE_BUTTON_SELECT   = 109;/** Key code constant: Mode Button key.* On a game controller, the button labeled Mode. */public static final int KEYCODE_BUTTON_MODE     = 110;/** Key code constant: Escape key. */public static final int KEYCODE_ESCAPE          = 111;/** Key code constant: Forward Delete key.* Deletes characters ahead of the insertion point, unlike {@link #KEYCODE_DEL}. */public static final int KEYCODE_FORWARD_DEL     = 112;/** Key code constant: Left Control modifier key. */public static final int KEYCODE_CTRL_LEFT       = 113;/** Key code constant: Right Control modifier key. */public static final int KEYCODE_CTRL_RIGHT      = 114;/** Key code constant: Caps Lock key. */public static final int KEYCODE_CAPS_LOCK       = 115;/** Key code constant: Scroll Lock key. */public static final int KEYCODE_SCROLL_LOCK     = 116;/** Key code constant: Left Meta modifier key. */public static final int KEYCODE_META_LEFT       = 117;/** Key code constant: Right Meta modifier key. */public static final int KEYCODE_META_RIGHT      = 118;/** Key code constant: Function modifier key. */public static final int KEYCODE_FUNCTION        = 119;/** Key code constant: System Request / Print Screen key. */public static final int KEYCODE_SYSRQ           = 120;/** Key code constant: Break / Pause key. */public static final int KEYCODE_BREAK           = 121;/** Key code constant: Home Movement key.* Used for scrolling or moving the cursor around to the start of a line* or to the top of a list. */public static final int KEYCODE_MOVE_HOME       = 122;/** Key code constant: End Movement key.* Used for scrolling or moving the cursor around to the end of a line* or to the bottom of a list. */public static final int KEYCODE_MOVE_END        = 123;/** Key code constant: Insert key.* Toggles insert / overwrite edit mode. */public static final int KEYCODE_INSERT          = 124;/** Key code constant: Forward key.* Navigates forward in the history stack.  Complement of {@link #KEYCODE_BACK}. */public static final int KEYCODE_FORWARD         = 125;/** Key code constant: Play media key. */public static final int KEYCODE_MEDIA_PLAY      = 126;/** Key code constant: Pause media key. */public static final int KEYCODE_MEDIA_PAUSE     = 127;/** Key code constant: Close media key.* May be used to close a CD tray, for example. */public static final int KEYCODE_MEDIA_CLOSE     = 128;/** Key code constant: Eject media key.* May be used to eject a CD tray, for example. */public static final int KEYCODE_MEDIA_EJECT     = 129;/** Key code constant: Record media key. */public static final int KEYCODE_MEDIA_RECORD    = 130;/** Key code constant: F1 key. */public static final int KEYCODE_F1              = 131;/** Key code constant: F2 key. */public static final int KEYCODE_F2              = 132;/** Key code constant: F3 key. */public static final int KEYCODE_F3              = 133;/** Key code constant: F4 key. */public static final int KEYCODE_F4              = 134;/** Key code constant: F5 key. */public static final int KEYCODE_F5              = 135;/** Key code constant: F6 key. */public static final int KEYCODE_F6              = 136;/** Key code constant: F7 key. */public static final int KEYCODE_F7              = 137;/** Key code constant: F8 key. */public static final int KEYCODE_F8              = 138;/** Key code constant: F9 key. */public static final int KEYCODE_F9              = 139;/** Key code constant: F10 key. */public static final int KEYCODE_F10             = 140;/** Key code constant: F11 key. */public static final int KEYCODE_F11             = 141;/** Key code constant: F12 key. */public static final int KEYCODE_F12             = 142;/** Key code constant: Num Lock key.* This is the Num Lock key; it is different from {@link #KEYCODE_NUM}.* This key alters the behavior of other keys on the numeric keypad. */public static final int KEYCODE_NUM_LOCK        = 143;/** Key code constant: Numeric keypad '0' key. */public static final int KEYCODE_NUMPAD_0        = 144;/** Key code constant: Numeric keypad '1' key. */public static final int KEYCODE_NUMPAD_1        = 145;/** Key code constant: Numeric keypad '2' key. */public static final int KEYCODE_NUMPAD_2        = 146;/** Key code constant: Numeric keypad '3' key. */public static final int KEYCODE_NUMPAD_3        = 147;/** Key code constant: Numeric keypad '4' key. */public static final int KEYCODE_NUMPAD_4        = 148;/** Key code constant: Numeric keypad '5' key. */public static final int KEYCODE_NUMPAD_5        = 149;/** Key code constant: Numeric keypad '6' key. */public static final int KEYCODE_NUMPAD_6        = 150;/** Key code constant: Numeric keypad '7' key. */public static final int KEYCODE_NUMPAD_7        = 151;/** Key code constant: Numeric keypad '8' key. */public static final int KEYCODE_NUMPAD_8        = 152;/** Key code constant: Numeric keypad '9' key. */public static final int KEYCODE_NUMPAD_9        = 153;/** Key code constant: Numeric keypad '/' key (for division). */public static final int KEYCODE_NUMPAD_DIVIDE   = 154;/** Key code constant: Numeric keypad '*' key (for multiplication). */public static final int KEYCODE_NUMPAD_MULTIPLY = 155;/** Key code constant: Numeric keypad '-' key (for subtraction). */public static final int KEYCODE_NUMPAD_SUBTRACT = 156;/** Key code constant: Numeric keypad '+' key (for addition). */public static final int KEYCODE_NUMPAD_ADD      = 157;/** Key code constant: Numeric keypad '.' key (for decimals or digit grouping). */public static final int KEYCODE_NUMPAD_DOT      = 158;/** Key code constant: Numeric keypad ',' key (for decimals or digit grouping). */public static final int KEYCODE_NUMPAD_COMMA    = 159;/** Key code constant: Numeric keypad Enter key. */public static final int KEYCODE_NUMPAD_ENTER    = 160;/** Key code constant: Numeric keypad '=' key. */public static final int KEYCODE_NUMPAD_EQUALS   = 161;/** Key code constant: Numeric keypad '(' key. */public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162;/** Key code constant: Numeric keypad ')' key. */public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163;/** Key code constant: Volume Mute key.* Mutes the speaker, unlike {@link #KEYCODE_MUTE}.* This key should normally be implemented as a toggle such that the first press* mutes the speaker and the second press restores the original volume. */public static final int KEYCODE_VOLUME_MUTE     = 164;/** Key code constant: Info key.* Common on TV remotes to show additional information related to what is* currently being viewed. */public static final int KEYCODE_INFO            = 165;/** Key code constant: Channel up key.* On TV remotes, increments the television channel. */public static final int KEYCODE_CHANNEL_UP      = 166;/** Key code constant: Channel down key.* On TV remotes, decrements the television channel. */public static final int KEYCODE_CHANNEL_DOWN    = 167;/** Key code constant: Zoom in key. */public static final int KEYCODE_ZOOM_IN         = 168;/** Key code constant: Zoom out key. */public static final int KEYCODE_ZOOM_OUT        = 169;/** Key code constant: TV key.* On TV remotes, switches to viewing live TV. */public static final int KEYCODE_TV              = 170;/** Key code constant: Window key.* On TV remotes, toggles picture-in-picture mode or other windowing functions.* On Android Wear devices, triggers a display offset. */public static final int KEYCODE_WINDOW          = 171;/** Key code constant: Guide key.* On TV remotes, shows a programming guide. */public static final int KEYCODE_GUIDE           = 172;/** Key code constant: DVR key.* On some TV remotes, switches to a DVR mode for recorded shows. */public static final int KEYCODE_DVR             = 173;/** Key code constant: Bookmark key.* On some TV remotes, bookmarks content or web pages. */public static final int KEYCODE_BOOKMARK        = 174;/** Key code constant: Toggle captions key.* Switches the mode for closed-captioning text, for example during television shows. */public static final int KEYCODE_CAPTIONS        = 175;/** Key code constant: Settings key.* Starts the system settings activity. */public static final int KEYCODE_SETTINGS        = 176;/** Key code constant: TV power key.* On TV remotes, toggles the power on a television screen. */public static final int KEYCODE_TV_POWER        = 177;/** Key code constant: TV input key.* On TV remotes, switches the input on a television screen. */public static final int KEYCODE_TV_INPUT        = 178;/** Key code constant: Set-top-box power key.* On TV remotes, toggles the power on an external Set-top-box. */public static final int KEYCODE_STB_POWER       = 179;/** Key code constant: Set-top-box input key.* On TV remotes, switches the input mode on an external Set-top-box. */public static final int KEYCODE_STB_INPUT       = 180;/** Key code constant: A/V Receiver power key.* On TV remotes, toggles the power on an external A/V Receiver. */public static final int KEYCODE_AVR_POWER       = 181;/** Key code constant: A/V Receiver input key.* On TV remotes, switches the input mode on an external A/V Receiver. */public static final int KEYCODE_AVR_INPUT       = 182;/** Key code constant: Red "programmable" key.* On TV remotes, acts as a contextual/programmable key. */public static final int KEYCODE_PROG_RED        = 183;/** Key code constant: Green "programmable" key.* On TV remotes, actsas a contextual/programmable key. */public static final int KEYCODE_PROG_GREEN      = 184;/** Key code constant: Yellow "programmable" key.* On TV remotes, acts as a contextual/programmable key. */public static final int KEYCODE_PROG_YELLOW     = 185;/** Key code constant: Blue "programmable" key.* On TV remotes, acts as a contextual/programmable key. */public static final int KEYCODE_PROG_BLUE       = 186;/** Key code constant: App switch key.* Should bring up the application switcher dialog. */public static final int KEYCODE_APP_SWITCH      = 187;/** Key code constant: Generic Game Pad Button #1.*/public static final int KEYCODE_BUTTON_1        = 188;/** Key code constant: Generic Game Pad Button #2.*/public static final int KEYCODE_BUTTON_2        = 189;/** Key code constant: Generic Game Pad Button #3.*/public static final int KEYCODE_BUTTON_3        = 190;/** Key code constant: Generic Game Pad Button #4.*/public static final int KEYCODE_BUTTON_4        = 191;/** Key code constant: Generic Game Pad Button #5.*/public static final int KEYCODE_BUTTON_5        = 192;/** Key code constant: Generic Game Pad Button #6.*/public static final int KEYCODE_BUTTON_6        = 193;/** Key code constant: Generic Game Pad Button #7.*/public static final int KEYCODE_BUTTON_7        = 194;/** Key code constant: Generic Game Pad Button #8.*/public static final int KEYCODE_BUTTON_8        = 195;/** Key code constant: Generic Game Pad Button #9.*/public static final int KEYCODE_BUTTON_9        = 196;/** Key code constant: Generic Game Pad Button #10.*/public static final int KEYCODE_BUTTON_10       = 197;/** Key code constant: Generic Game Pad Button #11.*/public static final int KEYCODE_BUTTON_11       = 198;/** Key code constant: Generic Game Pad Button #12.*/public static final int KEYCODE_BUTTON_12       = 199;/** Key code constant: Generic Game Pad Button #13.*/public static final int KEYCODE_BUTTON_13       = 200;/** Key code constant: Generic Game Pad Button #14.*/public static final int KEYCODE_BUTTON_14       = 201;/** Key code constant: Generic Game Pad Button #15.*/public static final int KEYCODE_BUTTON_15       = 202;/** Key code constant: Generic Game Pad Button #16.*/public static final int KEYCODE_BUTTON_16       = 203;/** Key code constant: Language Switch key.* Toggles the current input language such as switching between English and Japanese on* a QWERTY keyboard.  On some devices, the same function may be performed by* pressing Shift+Spacebar. */public static final int KEYCODE_LANGUAGE_SWITCH = 204;/** Key code constant: Manner Mode key.* Toggles silent or vibrate mode on and off to make the device behave more politely* in certain settings such as on a crowded train.  On some devices, the key may only* operate when long-pressed. */public static final int KEYCODE_MANNER_MODE     = 205;/** Key code constant: 3D Mode key.* Toggles the display between 2D and 3D mode. */public static final int KEYCODE_3D_MODE         = 206;/** Key code constant: Contacts special function key.* Used to launch an address book application. */public static final int KEYCODE_CONTACTS        = 207;/** Key code constant: Calendar special function key.* Used to launch a calendar application. */public static final int KEYCODE_CALENDAR        = 208;/** Key code constant: Music special function key.* Used to launch a music player application. */public static final int KEYCODE_MUSIC           = 209;/** Key code constant: Calculator special function key.* Used to launch a calculator application. */public static final int KEYCODE_CALCULATOR      = 210;/** Key code constant: Japanese full-width / half-width key. */public static final int KEYCODE_ZENKAKU_HANKAKU = 211;/** Key code constant: Japanese alphanumeric key. */public static final int KEYCODE_EISU            = 212;/** Key code constant: Japanese non-conversion key. */public static final int KEYCODE_MUHENKAN        = 213;/** Key code constant: Japanese conversion key. */public static final int KEYCODE_HENKAN          = 214;/** Key code constant: Japanese katakana / hiragana key. */public static final int KEYCODE_KATAKANA_HIRAGANA = 215;/** Key code constant: Japanese Yen key. */public static final int KEYCODE_YEN             = 216;/** Key code constant: Japanese Ro key. */public static final int KEYCODE_RO              = 217;/** Key code constant: Japanese kana key. */public static final int KEYCODE_KANA            = 218;/** Key code constant: Assist key.* Launches the global assist activity.  Not delivered to applications. */public static final int KEYCODE_ASSIST          = 219;/** Key code constant: Brightness Down key.* Adjusts the screen brightness down. */public static final int KEYCODE_BRIGHTNESS_DOWN = 220;/** Key code constant: Brightness Up key.* Adjusts the screen brightness up. */public static final int KEYCODE_BRIGHTNESS_UP   = 221;/** Key code constant: Audio Track key.* Switches the audio tracks. */public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222;/** Key code constant: Sleep key.* Puts the device to sleep.  Behaves somewhat like {@link #KEYCODE_POWER} but it* has no effect if the device is already asleep. */public static final int KEYCODE_SLEEP           = 223;/** Key code constant: Wakeup key.* Wakes up the device.  Behaves somewhat like {@link #KEYCODE_POWER} but it* has no effect if the device is already awake. */public static final int KEYCODE_WAKEUP          = 224;/** Key code constant: Pairing key.* Initiates peripheral pairing mode. Useful for pairing remote control* devices or game controllers, especially if no other input mode is* available. */public static final int KEYCODE_PAIRING         = 225;/** Key code constant: Media Top Menu key.* Goes to the top of media menu. */public static final int KEYCODE_MEDIA_TOP_MENU  = 226;/** Key code constant: '11' key. */public static final int KEYCODE_11              = 227;/** Key code constant: '12' key. */public static final int KEYCODE_12              = 228;/** Key code constant: Last Channel key.* Goes to the last viewed channel. */public static final int KEYCODE_LAST_CHANNEL    = 229;/** Key code constant: TV data service key.* Displays data services like weather, sports. */public static final int KEYCODE_TV_DATA_SERVICE = 230;/** Key code constant: Voice Assist key.* Launches the global voice assist activity. Not delivered to applications. */public static final int KEYCODE_VOICE_ASSIST = 231;/** Key code constant: Radio key.* Toggles TV service / Radio service. */public static final int KEYCODE_TV_RADIO_SERVICE = 232;/** Key code constant: Teletext key.* Displays Teletext service. */public static final int KEYCODE_TV_TELETEXT = 233;/** Key code constant: Number entry key.* Initiates to enter multi-digit channel nubmber when each digit key is assigned* for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC* User Control Code. */public static final int KEYCODE_TV_NUMBER_ENTRY = 234;/** Key code constant: Analog Terrestrial key.* Switches to analog terrestrial broadcast service. */public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235;/** Key code constant: Digital Terrestrial key.* Switches to digital terrestrial broadcast service. */public static final int KEYCODE_TV_TERRESTRIAL_DIGITAL = 236;/** Key code constant: Satellite key.* Switches to digital satellite broadcast service. */public static final int KEYCODE_TV_SATELLITE = 237;/** Key code constant: BS key.* Switches to BS digital satellite broadcasting service available in Japan. */public static final int KEYCODE_TV_SATELLITE_BS = 238;/** Key code constant: CS key.* Switches to CS digital satellite broadcasting service available in Japan. */public static final int KEYCODE_TV_SATELLITE_CS = 239;/** Key code constant: BS/CS key.* Toggles between BS and CS digital satellite services. */public static final int KEYCODE_TV_SATELLITE_SERVICE = 240;/** Key code constant: Toggle Network key.* Toggles selecting broacast services. */public static final int KEYCODE_TV_NETWORK = 241;/** Key code constant: Antenna/Cable key.* Toggles broadcast input source between antenna and cable. */public static final int KEYCODE_TV_ANTENNA_CABLE = 242;/** Key code constant: HDMI #1 key.* Switches to HDMI input #1. */public static final int KEYCODE_TV_INPUT_HDMI_1 = 243;/** Key code constant: HDMI #2 key.* Switches to HDMI input #2. */public static final int KEYCODE_TV_INPUT_HDMI_2 = 244;/** Key code constant: HDMI #3 key.* Switches to HDMI input #3. */public static final int KEYCODE_TV_INPUT_HDMI_3 = 245;/** Key code constant: HDMI #4 key.* Switches to HDMI input #4. */public static final int KEYCODE_TV_INPUT_HDMI_4 = 246;/** Key code constant: Composite #1 key.* Switches to composite video input #1. */public static final int KEYCODE_TV_INPUT_COMPOSITE_1 = 247;/** Key code constant: Composite #2 key.* Switches to composite video input #2. */public static final int KEYCODE_TV_INPUT_COMPOSITE_2 = 248;/** Key code constant: Component #1 key.* Switches to component video input #1. */public static final int KEYCODE_TV_INPUT_COMPONENT_1 = 249;/** Key code constant: Component #2 key.* Switches to component video input #2. */public static final int KEYCODE_TV_INPUT_COMPONENT_2 = 250;/** Key code constant: VGA #1 key.* Switches to VGA (analog RGB) input #1. */public static final int KEYCODE_TV_INPUT_VGA_1 = 251;/** Key code constant: Audio description key.* Toggles audio description off / on. */public static final int KEYCODE_TV_AUDIO_DESCRIPTION = 252;/** Key code constant: Audio description mixing volume up key.* Louden audio description volume as compared with normal audio volume. */public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253;/** Key code constant: Audio description mixing volume down key.* Lessen audio description volume as compared with normal audio volume. */public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254;/** Key code constant: Zoom mode key.* Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) */public static final int KEYCODE_TV_ZOOM_MODE = 255;/** Key code constant: Contents menu key.* Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control* Code */public static final int KEYCODE_TV_CONTENTS_MENU = 256;/** Key code constant: Media context menu key.* Goes to the context menu of media contents. Corresponds to Media Context-sensitive* Menu (0x11) of CEC User Control Code. */public static final int KEYCODE_TV_MEDIA_CONTEXT_MENU = 257;/** Key code constant: Timer programming key.* Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of* CEC User Control Code. */public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258;/** Key code constant: Help key. */public static final int KEYCODE_HELP = 259;/** Key code constant: Navigate to previous key.* Goes backward by one item in an ordered collection of items. */public static final int KEYCODE_NAVIGATE_PREVIOUS = 260;/** Key code constant: Navigate to next key.* Advances to the next item in an ordered collection of items. */public static final int KEYCODE_NAVIGATE_NEXT   = 261;/** Key code constant: Navigate in key.* Activates the item that currently has focus or expands to the next level of a navigation* hierarchy. */public static final int KEYCODE_NAVIGATE_IN     = 262;/** Key code constant: Navigate out key.* Backs out one level of a navigation hierarchy or collapses the item that currently has* focus. */public static final int KEYCODE_NAVIGATE_OUT    = 263;/** Key code constant: Primary stem key for Wear* Main power/reset button on watch. */public static final int KEYCODE_STEM_PRIMARY = 264;/** Key code constant: Generic stem key 1 for Wear */public static final int KEYCODE_STEM_1 = 265;/** Key code constant: Generic stem key 2 for Wear */public static final int KEYCODE_STEM_2 = 266;/** Key code constant: Generic stem key 3 for Wear */public static final int KEYCODE_STEM_3 = 267;/** Key code constant: Directional Pad Up-Left */public static final int KEYCODE_DPAD_UP_LEFT    = 268;/** Key code constant: Directional Pad Down-Left */public static final int KEYCODE_DPAD_DOWN_LEFT  = 269;/** Key code constant: Directional Pad Up-Right */public static final int KEYCODE_DPAD_UP_RIGHT   = 270;/** Key code constant: Directional Pad Down-Right */public static final int KEYCODE_DPAD_DOWN_RIGHT = 271;/** Key code constant: Skip forward media key. */public static final int KEYCODE_MEDIA_SKIP_FORWARD = 272;/** Key code constant: Skip backward media key. */public static final int KEYCODE_MEDIA_SKIP_BACKWARD = 273;/** Key code constant: Step forward media key.* Steps media forward, one frame at a time. */public static final int KEYCODE_MEDIA_STEP_FORWARD = 274;/** Key code constant: Step backward media key.* Steps media backward, one frame at a time. */public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275;/** Key code constant: put device to sleep unless a wakelock is held. */public static final int KEYCODE_SOFT_SLEEP = 276;/** Key code constant: Cut key. */public static final int KEYCODE_CUT = 277;/** Key code constant: Copy key. */public static final int KEYCODE_COPY = 278;/** Key code constant: Paste key. */public static final int KEYCODE_PASTE = 279;/** Key code constant: Consumed by the system for navigation up */public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280;/** Key code constant: Consumed by the system for navigation down */public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281;/** Key code constant: Consumed by the system for navigation left*/public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282;/** Key code constant: Consumed by the system for navigation right */public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283;/** Key code constant: Show all apps */public static final int KEYCODE_ALL_APPS = 284;/** Key code constant: Refresh key. */public static final int KEYCODE_REFRESH = 285;/** Key code constant: Thumbs up key. Apps can use this to let user upvote content. */public static final int KEYCODE_THUMBS_UP = 286;/** Key code constant: Thumbs down key. Apps can use this to let user downvote content. */public static final int KEYCODE_THUMBS_DOWN = 287;/*** Key code constant: Used to switch current {@link android.accounts.Account} that is* consuming content. May be consumed by system to set account globally.*/public static final int KEYCODE_PROFILE_SWITCH = 288;
......
}

Tips

a) "确定"键,是 KEY_REPLY。
b) /vendor/usr/keylayout 与/system/usr/keylayout 作用相同。
c) 红外注册失败,可查看PWM GPIO复用(iomux)。
d) 注册成功后仍然接收不到信号,可使用示波器或者逻辑分析仪直接抓红外接收头信号。

rk3568 Android 适配红外遥控器相关推荐

  1. 红外遥控及Android手机红外遥控器开发

    一.红外遥控 红外遥控技术是通过红外技术.红外通信技术和遥控技术的结合实现的一种无线控制技术.由于红外线的波长较短,对障碍物的衍射能力较差,无法穿透墙壁,所以红外遥控术更适合应用在短距离直线控制的场合 ...

  2. android如何编程红外遥控,全志A20[android教程]-红外遥控器调试

    第1章 前言 要在树莓派3 (A20)android系统上实现红外遥控器,因为super3上有红外接收头,所以可以直接支持红外遥控器,可以把树莓派3应用到家庭控制当中.当作网络机顶盒用 树莓派3的 ...

  3. android 手机红外遥控器

    原文地址:http://blog.csdn.net/zhangxy0605/article/details/74344345 现在红外遥控的使用越来越多,android 手机基本都带有红外,自己可以写 ...

  4. Android 手机红外遥控器实现(转)

    源:http://www.cnblogs.com/xiaochao1234/p/3615467.html 经过连续几天的编制,安卓手机代码终于完成了,目前已经将我宿舍,家里,集控室的红外遥控电气设备完 ...

  5. Android 手机红外遥控器实现

    连续几天的努力,终于把红外遥控弄懂,可以控制红外小车了.终于完工了~~ 1.权限: android.permission.TRANSMIT_IR 2.发射红外代码 大多数的家用电器红外遥控编码为NEC ...

  6. Android手机红外开发—点击和长按事件

    上一篇文章<红外技术及Android手机红外遥控器开发>中简单介绍了红外遥控技术和Android 手机红外遥控开发操控中的点击事件,只需要按照编码协议规则对键值等进行编码解析,最后转化成数 ...

  7. android手机红外代码HAL,Android 红外遥控器适配

    红外遥控器协议简介 目前有如下几类标准1. RC5 2. NEC 3. SAMSWNG 4. ...... 5. SIRC (Sony Infrared Remote Control) 目前RK平台只 ...

  8. android红外遥控器代码剖析,Android 红外遥控器适配

    红外遥控器协议简介 目前有如下几类标准 1. RC5 2. NEC 3. SAMSWNG 4. ...... 5. SIRC (Sony Infrared Remote Control) 目前RK平台 ...

  9. Android系统适配蓝牙遥控器键值Hi3798MV100

    最近有个项目机顶盒要适配蓝牙遥控器,我们原来的盒子是红外的遥控器. 从某宝买回来几款通用的遥控器,最简单的一款用cat /proc/bus/input/devices 命令查看name是BESCO K ...

最新文章

  1. Ubuntu16下安装kaldi(使用物理主机)
  2. 过程化技术:打造「开放世界」的秘密
  3. 机器学习(十五)——loss function比较、独立成分分析
  4. LVS:三种负载均衡方式比较
  5. centos6实现kvm嵌套虚拟化
  6. C语言试题三十九之将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。
  7. 准确性 敏感性 特异性_如何掌握类型特异性的艺术
  8. txt 开关 csv 可通用 工具
  9. PetShop 4.0 SQLHelper
  10. ffmpeg七大库功能介绍——机翻、非人话
  11. python_day9 回调函数
  12. linux系统如何启动rpcbind,rpcbind无法启动的问题【已解决】
  13. 15 分钟 教你搞一个专属于你的域名邮箱
  14. 小米,红米手机miui安装谷歌服务框架GMS三件套安,安装Google Play商店
  15. java知识点ppt背景图片,Java 给PowerPoint文档设置背景颜色和背景图片
  16. github 下载慢问题 - 代理 - 汇总
  17. bilibili无水印php,bilibili播放器带弹幕接口源码
  18. 关于APP接收开机广播延迟问题,解决开机启动慢问题
  19. Python创建免费Ip代理池,伪装Ip。
  20. 「解决方案」预付费水电及宿舍预付费云平台解决方案

热门文章

  1. 汽车UDS诊断详解及Vector相关工具链使用说明——2.3.7 读取所有支持的DTC(0x19 0A)
  2. C语言实现的简易五子棋
  3. VCS工具的基本使用(一)
  4. Hadoop1000条笔记总汇
  5. 荣耀智慧屏搭载鸿蒙系统,搭载鸿蒙系统的荣耀智慧屏正式亮相
  6. Central Control Over Distributed Routing阅读笔记
  7. counts[word]=counts.get(word,0)+1
  8. 最全面的计算机网络设备图块素材,做方案必备
  9. C++ 笔面试知识点大全 附超详细解析 【持续更新中】 (校招/实习/大厂/笔试/面试)
  10. python 面向对象二