diff --git a/lirc-0.8.6-devinput-conf-update.patch b/lirc-0.8.6-devinput-conf-update.patch new file mode 100644 index 0000000..6b8537e --- /dev/null +++ b/lirc-0.8.6-devinput-conf-update.patch @@ -0,0 +1,1340 @@ +Index: lirc-0.8.6/remotes/devinput/lircd.conf.devinput +=================================================================== +--- lirc-0.8.6.orig/remotes/devinput/lircd.conf.devinput ++++ lirc-0.8.6/remotes/devinput/lircd.conf.devinput +@@ -1,416 +1,926 @@ + # generated by devinput.sh + begin remote ++ name devinput ++ bits 16 ++ eps 30 ++ aeps 100 ++ pre_data_bits 16 ++ pre_data 0x0001 ++ post_data_bits 32 ++ post_data 0x00000001 ++ gap 132799 ++ toggle_bit 0 + +- name devinput +- bits 16 +- eps 30 +- aeps 100 +- +- one 0 0 +- zero 0 0 +- pre_data_bits 16 +- pre_data 0x8001 +- gap 132799 +- toggle_bit_mask 0x0 ++ begin codes ++ KEY_0 11 ++ KEY_102ND 86 ++ KEY_1 2 ++ KEY_2 3 ++ KEY_3 4 ++ KEY_4 5 ++ KEY_5 6 ++ KEY_6 7 ++ KEY_7 8 ++ KEY_8 9 ++ KEY_9 10 ++ KEY_A 30 ++ KEY_AB 0x196 ++ KEY_ADDRESSBOOK 0x1ad ++ KEY_AGAIN 129 ++ KEY_ALTERASE 222 ++ KEY_ANGLE 0x173 ++ KEY_APOSTROPHE 40 ++ KEY_ARCHIVE 0x169 ++ KEY_AUDIO 0x188 ++ KEY_AUX 0x186 ++ KEY_B 48 ++ KEY_BACK 158 ++ KEY_BACKSLASH 43 ++ KEY_BACKSPACE 14 ++ KEY_BASSBOOST 209 ++ KEY_BATTERY 236 ++ KEY_BLUE 0x191 ++ KEY_BLUETOOTH 237 ++ KEY_BOOKMARKS 156 ++ KEY_BREAK 0x19b ++ KEY_BRIGHTNESS_CYCLE 243 ++ KEY_BRIGHTNESSDOWN 224 ++ KEY_BRIGHTNESSUP 225 ++ KEY_BRIGHTNESS_ZERO 244 ++ KEY_BRL_DOT10 0x1fa ++ KEY_BRL_DOT1 0x1f1 ++ KEY_BRL_DOT2 0x1f2 ++ KEY_BRL_DOT3 0x1f3 ++ KEY_BRL_DOT4 0x1f4 ++ KEY_BRL_DOT5 0x1f5 ++ KEY_BRL_DOT6 0x1f6 ++ KEY_BRL_DOT7 0x1f7 ++ KEY_BRL_DOT8 0x1f8 ++ KEY_BRL_DOT9 0x1f9 ++ KEY_C 46 ++ KEY_CALC 140 ++ KEY_CALENDAR 0x18d ++ KEY_CAMERA 212 ++ KEY_CAMERA_FOCUS 0x210 ++ KEY_CANCEL 223 ++ KEY_CAPSLOCK 58 ++ KEY_CD 0x17f ++ KEY_CHANNEL 0x16b ++ KEY_CHANNELDOWN 0x193 ++ KEY_CHANNELUP 0x192 ++ KEY_CHAT 216 ++ KEY_CLEAR 0x163 ++ KEY_CLOSE 206 ++ KEY_CLOSECD 160 ++ KEY_COFFEE 152 ++ KEY_COMMA 51 ++ KEY_COMPOSE 127 ++ KEY_COMPUTER 157 ++ KEY_CONFIG 171 ++ KEY_CONNECT 218 ++ KEY_CONTEXT_MENU 0x1b6 ++ KEY_COPY 133 ++ KEY_CUT 137 ++ KEY_CYCLEWINDOWS 154 ++ KEY_D 32 ++ KEY_DASHBOARD 204 ++ KEY_DATABASE 0x1aa ++ KEY_DEL_EOL 0x1c0 ++ KEY_DEL_EOS 0x1c1 ++ KEY_DELETE 111 ++ KEY_DELETEFILE 146 ++ KEY_DEL_LINE 0x1c3 ++ KEY_DIGITS 0x19d ++ KEY_DIRECTION 153 ++ KEY_DIRECTORY 0x18a ++ KEY_DISPLAY_OFF 245 ++ KEY_DISPLAYTOGGLE 0x1af ++ KEY_DOCUMENTS 235 ++ KEY_DOLLAR 0x1b2 ++ KEY_DOT 52 ++ KEY_DOWN 108 ++ KEY_DVD 0x185 ++ KEY_E 18 ++ KEY_EDIT 176 ++ KEY_EDITOR 0x1a6 ++ KEY_EJECTCD 161 ++ KEY_EJECTCLOSECD 162 ++ KEY_EMAIL 215 ++ KEY_END 107 ++ KEY_ENTER 28 ++ KEY_EPG 0x16d ++ KEY_EQUAL 13 ++ KEY_ESC 1 ++ KEY_EURO 0x1b3 ++ KEY_EXIT 174 ++ KEY_F10 68 ++ KEY_F11 87 ++ KEY_F12 88 ++ KEY_F13 183 ++ KEY_F14 184 ++ KEY_F15 185 ++ KEY_F1 59 ++ KEY_F16 186 ++ KEY_F17 187 ++ KEY_F18 188 ++ KEY_F19 189 ++ KEY_F20 190 ++ KEY_F21 191 ++ KEY_F22 192 ++ KEY_F23 193 ++ KEY_F24 194 ++ KEY_F2 60 ++ KEY_F 33 ++ KEY_F3 61 ++ KEY_F4 62 ++ KEY_F5 63 ++ KEY_F6 64 ++ KEY_F7 65 ++ KEY_F8 66 ++ KEY_F9 67 ++ KEY_FASTFORWARD 208 ++ KEY_FAVORITES 0x16c ++ KEY_FILE 144 ++ KEY_FINANCE 219 ++ KEY_FIND 136 ++ KEY_FIRST 0x194 ++ KEY_FN 0x1d0 ++ KEY_FN_1 0x1de ++ KEY_FN_2 0x1df ++ KEY_FN_B 0x1e4 ++ KEY_FN_D 0x1e0 ++ KEY_FN_E 0x1e1 ++ KEY_FN_ESC 0x1d1 ++ KEY_FN_F 0x1e2 ++ KEY_FN_F10 0x1db ++ KEY_FN_F1 0x1d2 ++ KEY_FN_F11 0x1dc ++ KEY_FN_F12 0x1dd ++ KEY_FN_F2 0x1d3 ++ KEY_FN_F3 0x1d4 ++ KEY_FN_F4 0x1d5 ++ KEY_FN_F5 0x1d6 ++ KEY_FN_F6 0x1d7 ++ KEY_FN_F7 0x1d8 ++ KEY_FN_F8 0x1d9 ++ KEY_FN_F9 0x1da ++ KEY_FN_S 0x1e3 ++ KEY_FORWARD 159 ++ KEY_FORWARDMAIL 233 ++ KEY_FRAMEBACK 0x1b4 ++ KEY_FRAMEFORWARD 0x1b5 ++ KEY_FRONT 132 ++ KEY_G 34 ++ KEY_GAMES 0x1a1 ++ KEY_GOTO 0x162 ++ KEY_GRAPHICSEDITOR 0x1a8 ++ KEY_GRAVE 41 ++ KEY_GREEN 0x18f ++ KEY_H 35 ++ KEY_HANGEUL 122 ++ KEY_HANJA 123 ++ KEY_HELP 138 ++ KEY_HENKAN 92 ++ KEY_HIRAGANA 91 ++ KEY_HOME 102 ++ KEY_HOMEPAGE 172 ++ KEY_HP 211 ++ KEY_I 23 ++ KEY_INFO 0x166 ++ KEY_INSERT 110 ++ KEY_INS_LINE 0x1c2 ++ KEY_ISO 170 ++ KEY_J 36 ++ KEY_K 37 ++ KEY_KATAKANA 90 ++ KEY_KATAKANAHIRAGANA 93 ++ KEY_KBDILLUMDOWN 229 ++ KEY_KBDILLUMTOGGLE 228 ++ KEY_KBDILLUMUP 230 ++ KEY_KEYBOARD 0x176 ++ KEY_KP0 82 ++ KEY_KP1 79 ++ KEY_KP2 80 ++ KEY_KP3 81 ++ KEY_KP4 75 ++ KEY_KP5 76 ++ KEY_KP6 77 ++ KEY_KP7 71 ++ KEY_KP8 72 ++ KEY_KP9 73 ++ KEY_KPASTERISK 55 ++ KEY_KPCOMMA 121 ++ KEY_KPDOT 83 ++ KEY_KPENTER 96 ++ KEY_KPEQUAL 117 ++ KEY_KPJPCOMMA 95 ++ KEY_KPLEFTPAREN 179 ++ KEY_KPMINUS 74 ++ KEY_KPPLUS 78 ++ KEY_KPPLUSMINUS 118 ++ KEY_KPRIGHTPAREN 180 ++ KEY_KPSLASH 98 ++ KEY_L 38 ++ KEY_LANGUAGE 0x170 ++ KEY_LAST 0x195 ++ KEY_LEFT 105 ++ KEY_LEFTALT 56 ++ KEY_LEFTBRACE 26 ++ KEY_LEFTCTRL 29 ++ KEY_LEFTMETA 125 ++ KEY_LEFTSHIFT 42 ++ KEY_LINEFEED 101 ++ KEY_LIST 0x18b ++ KEY_LOGOFF 0x1b1 ++ KEY_M 50 ++ KEY_MACRO 112 ++ KEY_MAIL 155 ++ KEY_MAX 0x2ff ++ KEY_MEDIA 226 ++ KEY_MEDIA_REPEAT 0x1b7 ++ KEY_MEMO 0x18c ++ KEY_MENU 139 ++ KEY_MESSENGER 0x1ae ++ KEY_MHP 0x16f ++ KEY_MINUS 12 ++ KEY_MODE 0x175 ++ KEY_MOVE 175 ++ KEY_MP3 0x187 ++ KEY_MSDOS 151 ++ KEY_MUHENKAN 94 ++ KEY_MUTE 113 ++ KEY_N 49 ++ KEY_NEW 181 ++ KEY_NEWS 0x1ab ++ KEY_NEXT 0x197 ++ KEY_NEXTSONG 163 ++ KEY_NUMERIC_0 0x200 ++ KEY_NUMERIC_1 0x201 ++ KEY_NUMERIC_2 0x202 ++ KEY_NUMERIC_3 0x203 ++ KEY_NUMERIC_4 0x204 ++ KEY_NUMERIC_5 0x205 ++ KEY_NUMERIC_6 0x206 ++ KEY_NUMERIC_7 0x207 ++ KEY_NUMERIC_8 0x208 ++ KEY_NUMERIC_9 0x209 ++ KEY_NUMERIC_POUND 0x20b ++ KEY_NUMERIC_STAR 0x20a ++ KEY_NUMLOCK 69 ++ KEY_O 24 ++ KEY_OK 0x160 ++ KEY_OPEN 134 ++ KEY_OPTION 0x165 ++ KEY_P 25 ++ KEY_PAGEDOWN 109 ++ KEY_PAGEUP 104 ++ KEY_PASTE 135 ++ KEY_PAUSE 119 ++ KEY_PAUSECD 201 ++ KEY_PC 0x178 ++ KEY_PHONE 169 ++ KEY_PLAY 207 ++ KEY_PLAYCD 200 ++ KEY_PLAYER 0x183 ++ KEY_PLAYPAUSE 164 ++ KEY_POWER 116 ++ KEY_POWER2 0x164 ++ KEY_PRESENTATION 0x1a9 ++ KEY_PREVIOUS 0x19c ++ KEY_PREVIOUSSONG 165 ++ KEY_PRINT 210 ++ KEY_PROG1 148 ++ KEY_PROG2 149 ++ KEY_PROG3 202 ++ KEY_PROG4 203 ++ KEY_PROGRAM 0x16a ++ KEY_PROPS 130 ++ KEY_PVR 0x16e ++ KEY_Q 16 ++ KEY_QUESTION 214 ++ KEY_R 19 ++ KEY_RADIO 0x181 ++ KEY_RECORD 167 ++ KEY_RED 0x18e ++ KEY_REDO 182 ++ KEY_REFRESH 173 ++ KEY_REPLY 232 ++ KEY_RESERVED 0 ++ KEY_RESTART 0x198 ++ KEY_REWIND 168 ++ KEY_RFKILL 247 ++ KEY_RIGHT 106 ++ KEY_RIGHTALT 100 ++ KEY_RIGHTBRACE 27 ++ KEY_RIGHTCTRL 97 ++ KEY_RIGHTMETA 126 ++ KEY_RIGHTSHIFT 54 ++ KEY_RO 89 ++ KEY_S 31 ++ KEY_SAT 0x17d ++ KEY_SAT2 0x17e ++ KEY_SAVE 234 ++ KEY_SCALE 120 ++ KEY_SCREEN 0x177 ++ KEY_SCROLLDOWN 178 ++ KEY_SCROLLLOCK 70 ++ KEY_SCROLLUP 177 ++ KEY_SEARCH 217 ++ KEY_SELECT 0x161 ++ KEY_SEMICOLON 39 ++ KEY_SEND 231 ++ KEY_SENDFILE 145 ++ KEY_SETUP 141 ++ KEY_SHOP 221 ++ KEY_SHUFFLE 0x19a ++ KEY_SLASH 53 ++ KEY_SLEEP 142 ++ KEY_SLOW 0x199 ++ KEY_SOUND 213 ++ KEY_SPACE 57 ++ KEY_SPELLCHECK 0x1b0 ++ KEY_SPORT 220 ++ KEY_SPREADSHEET 0x1a7 ++ KEY_STOP 128 ++ KEY_STOPCD 166 ++ KEY_SUBTITLE 0x172 ++ KEY_SUSPEND 205 ++ KEY_SWITCHVIDEOMODE 227 ++ KEY_SYSRQ 99 ++ KEY_T 20 ++ KEY_TAB 15 ++ KEY_TAPE 0x180 ++ KEY_TEEN 0x19e ++ KEY_TEXT 0x184 ++ KEY_TIME 0x167 ++ KEY_TITLE 0x171 ++ KEY_TUNER 0x182 ++ KEY_TV 0x179 ++ KEY_TV2 0x17a ++ KEY_TWEN 0x19f ++ KEY_U 22 ++ KEY_UNDO 131 ++ KEY_UNKNOWN 240 ++ KEY_UP 103 ++ KEY_UWB 239 ++ KEY_V 47 ++ KEY_VCR 0x17b ++ KEY_VCR2 0x17c ++ KEY_VENDOR 0x168 ++ KEY_VIDEO 0x189 ++ KEY_VIDEO_NEXT 241 ++ KEY_VIDEOPHONE 0x1a0 ++ KEY_VIDEO_PREV 242 ++ KEY_VOICEMAIL 0x1ac ++ KEY_VOLUMEDOWN 114 ++ KEY_VOLUMEUP 115 ++ KEY_W 17 ++ KEY_WAKEUP 143 ++ KEY_WIMAX 246 ++ KEY_WLAN 238 ++ KEY_WORDPROCESSOR 0x1a5 ++ KEY_WWW 150 ++ KEY_X 45 ++ KEY_XFER 147 ++ KEY_Y 21 ++ KEY_YELLOW 0x190 ++ KEY_YEN 124 ++ KEY_Z 44 ++ KEY_ZENKAKUHANKAKU 85 ++ KEY_ZOOM 0x174 ++ KEY_ZOOMIN 0x1a2 ++ KEY_ZOOMOUT 0x1a3 ++ KEY_ZOOMRESET 0x1a4 ++ BTN_0 0x100 ++ BTN_1 0x101 ++ BTN_2 0x102 ++ BTN_3 0x103 ++ BTN_4 0x104 ++ BTN_5 0x105 ++ BTN_6 0x106 ++ BTN_7 0x107 ++ BTN_8 0x108 ++ BTN_9 0x109 ++ BTN_A 0x130 ++ BTN_B 0x131 ++ BTN_BACK 0x116 ++ BTN_BASE 0x126 ++ BTN_BASE2 0x127 ++ BTN_BASE3 0x128 ++ BTN_BASE4 0x129 ++ BTN_BASE5 0x12a ++ BTN_BASE6 0x12b ++ BTN_C 0x132 ++ BTN_DEAD 0x12f ++ BTN_DIGI 0x140 ++ BTN_EXTRA 0x114 ++ BTN_FORWARD 0x115 ++ BTN_GAMEPAD 0x130 ++ BTN_GEAR_DOWN 0x150 ++ BTN_GEAR_UP 0x151 ++ BTN_JOYSTICK 0x120 ++ BTN_LEFT 0x110 ++ BTN_MIDDLE 0x112 ++ BTN_MISC 0x100 ++ BTN_MODE 0x13c ++ BTN_MOUSE 0x110 ++ BTN_PINKIE 0x125 ++ BTN_RIGHT 0x111 ++ BTN_SELECT 0x13a ++ BTN_SIDE 0x113 ++ BTN_START 0x13b ++ BTN_STYLUS 0x14b ++ BTN_STYLUS2 0x14c ++ BTN_TASK 0x117 ++ BTN_THUMB 0x121 ++ BTN_THUMB2 0x122 ++ BTN_THUMBL 0x13d ++ BTN_THUMBR 0x13e ++ BTN_TL 0x136 ++ BTN_TL2 0x138 ++ BTN_TOOL_AIRBRUSH 0x144 ++ BTN_TOOL_BRUSH 0x142 ++ BTN_TOOL_DOUBLETAP 0x14d ++ BTN_TOOL_FINGER 0x145 ++ BTN_TOOL_LENS 0x147 ++ BTN_TOOL_MOUSE 0x146 ++ BTN_TOOL_PEN 0x140 ++ BTN_TOOL_PENCIL 0x143 ++ BTN_TOOL_QUADTAP 0x14f ++ BTN_TOOL_RUBBER 0x141 ++ BTN_TOOL_TRIPLETAP 0x14e ++ BTN_TOP 0x123 ++ BTN_TOP2 0x124 ++ BTN_TOUCH 0x14a ++ BTN_TR 0x137 ++ BTN_TR2 0x139 ++ BTN_TRIGGER 0x120 ++ BTN_WHEEL 0x150 ++ BTN_X 0x133 ++ BTN_Y 0x134 ++ BTN_Z 0x135 ++ end codes ++end remote + +- begin codes +- KEY_0 0x000B +- KEY_102ND 0x0056 +- KEY_1 0x0002 +- KEY_2 0x0003 +- KEY_3 0x0004 +- KEY_4 0x0005 +- KEY_5 0x0006 +- KEY_6 0x0007 +- KEY_7 0x0008 +- KEY_8 0x0009 +- KEY_9 0x000A +- KEY_A 0x001E +- KEY_AB 0x0196 +- KEY_AGAIN 0x0081 +- KEY_ALTERASE 0x00DE +- KEY_ANGLE 0x0173 +- KEY_APOSTROPHE 0x0028 +- KEY_ARCHIVE 0x0169 +- KEY_AUDIO 0x0188 +- KEY_AUX 0x0186 +- KEY_B 0x0030 +- KEY_BACK 0x009E +- KEY_BACKSLASH 0x002B +- KEY_BACKSPACE 0x000E +- KEY_BASSBOOST 0x00D1 +- KEY_BATTERY 0x00EC +- KEY_BLUE 0x0191 +- KEY_BOOKMARKS 0x009C +- KEY_BREAK 0x019B +- KEY_BRIGHTNESSDOWN 0x00E0 +- KEY_BRIGHTNESSUP 0x00E1 +- KEY_BRL_DOT1 0x01F1 +- KEY_BRL_DOT2 0x01F2 +- KEY_BRL_DOT3 0x01F3 +- KEY_BRL_DOT4 0x01F4 +- KEY_BRL_DOT5 0x01F5 +- KEY_BRL_DOT6 0x01F6 +- KEY_BRL_DOT7 0x01F7 +- KEY_BRL_DOT8 0x01F8 +- KEY_C 0x002E +- KEY_CALC 0x008C +- KEY_CALENDAR 0x018D +- KEY_CAMERA 0x00D4 +- KEY_CANCEL 0x00DF +- KEY_CAPSLOCK 0x003A +- KEY_CD 0x017F +- KEY_CHANNEL 0x016B +- KEY_CHANNELDOWN 0x0193 +- KEY_CHANNELUP 0x0192 +- KEY_CHAT 0x00D8 +- KEY_CLEAR 0x0163 +- KEY_CLOSE 0x00CE +- KEY_CLOSECD 0x00A0 +- KEY_COFFEE 0x0098 +- KEY_COMMA 0x0033 +- KEY_COMPOSE 0x007F +- KEY_COMPUTER 0x009D +- KEY_CONFIG 0x00AB +- KEY_CONNECT 0x00DA +- KEY_COPY 0x0085 +- KEY_CUT 0x0089 +- KEY_CYCLEWINDOWS 0x009A +- KEY_D 0x0020 +- KEY_DEL_EOL 0x01C0 +- KEY_DEL_EOS 0x01C1 +- KEY_DELETE 0x006F +- KEY_DELETEFILE 0x0092 +- KEY_DEL_LINE 0x01C3 +- KEY_DIGITS 0x019D +- KEY_DIRECTION 0x0099 +- KEY_DIRECTORY 0x018A +- KEY_DOCUMENTS 0x00EB +- KEY_DOT 0x0034 +- KEY_DOWN 0x006C +- KEY_DVD 0x0185 +- KEY_E 0x0012 +- KEY_EDIT 0x00B0 +- KEY_EJECTCD 0x00A1 +- KEY_EJECTCLOSECD 0x00A2 +- KEY_EMAIL 0x00D7 +- KEY_END 0x006B +- KEY_ENTER 0x001C +- KEY_EPG 0x016D +- KEY_EQUAL 0x000D +- KEY_ESC 0x0001 +- KEY_EXIT 0x00AE +- KEY_F10 0x0044 +- KEY_F11 0x0057 +- KEY_F12 0x0058 +- KEY_F13 0x00B7 +- KEY_F14 0x00B8 +- KEY_F15 0x00B9 +- KEY_F1 0x003B +- KEY_F16 0x00BA +- KEY_F17 0x00BB +- KEY_F18 0x00BC +- KEY_F19 0x00BD +- KEY_F20 0x00BE +- KEY_F21 0x00BF +- KEY_F22 0x00C0 +- KEY_F23 0x00C1 +- KEY_F24 0x00C2 +- KEY_F2 0x003C +- KEY_F 0x0021 +- KEY_F3 0x003D +- KEY_F4 0x003E +- KEY_F5 0x003F +- KEY_F6 0x0040 +- KEY_F7 0x0041 +- KEY_F8 0x0042 +- KEY_F9 0x0043 +- KEY_FASTFORWARD 0x00D0 +- KEY_FAVORITES 0x016C +- KEY_FILE 0x0090 +- KEY_FINANCE 0x00DB +- KEY_FIND 0x0088 +- KEY_FIRST 0x0194 +- KEY_FN 0x01D0 +- KEY_FN_1 0x01DE +- KEY_FN_2 0x01DF +- KEY_FN_B 0x01E4 +- KEY_FN_D 0x01E0 +- KEY_FN_E 0x01E1 +- KEY_FN_ESC 0x01D1 +- KEY_FN_F 0x01E2 +- KEY_FN_F10 0x01DB +- KEY_FN_F1 0x01D2 +- KEY_FN_F11 0x01DC +- KEY_FN_F12 0x01DD +- KEY_FN_F2 0x01D3 +- KEY_FN_F3 0x01D4 +- KEY_FN_F4 0x01D5 +- KEY_FN_F5 0x01D6 +- KEY_FN_F6 0x01D7 +- KEY_FN_F7 0x01D8 +- KEY_FN_F8 0x01D9 +- KEY_FN_F9 0x01DA +- KEY_FN_S 0x01E3 +- KEY_FORWARD 0x009F +- KEY_FORWARDMAIL 0x00E9 +- KEY_FRONT 0x0084 +- KEY_G 0x0022 +- KEY_GOTO 0x0162 +- KEY_GRAVE 0x0029 +- KEY_GREEN 0x018F +- KEY_H 0x0023 +- KEY_HANGEUL 0x007A +- KEY_HANJA 0x007B +- KEY_HELP 0x008A +- KEY_HENKAN 0x005C +- KEY_HIRAGANA 0x005B +- KEY_HOME 0x0066 +- KEY_HOMEPAGE 0x00AC +- KEY_HP 0x00D3 +- KEY_I 0x0017 +- KEY_INFO 0x0166 +- KEY_INSERT 0x006E +- KEY_INS_LINE 0x01C2 +- KEY_ISO 0x00AA +- KEY_J 0x0024 +- KEY_K 0x0025 +- KEY_KATAKANA 0x005A +- KEY_KATAKANAHIRAGANA 0x005D +- KEY_KBDILLUMDOWN 0x00E5 +- KEY_KBDILLUMTOGGLE 0x00E4 +- KEY_KBDILLUMUP 0x00E6 +- KEY_KEYBOARD 0x0176 +- KEY_KP0 0x0052 +- KEY_KP1 0x004F +- KEY_KP2 0x0050 +- KEY_KP3 0x0051 +- KEY_KP4 0x004B +- KEY_KP5 0x004C +- KEY_KP6 0x004D +- KEY_KP7 0x0047 +- KEY_KP8 0x0048 +- KEY_KP9 0x0049 +- KEY_KPASTERISK 0x0037 +- KEY_KPCOMMA 0x0079 +- KEY_KPDOT 0x0053 +- KEY_KPENTER 0x0060 +- KEY_KPEQUAL 0x0075 +- KEY_KPJPCOMMA 0x005F +- KEY_KPLEFTPAREN 0x00B3 +- KEY_KPMINUS 0x004A +- KEY_KPPLUS 0x004E +- KEY_KPPLUSMINUS 0x0076 +- KEY_KPRIGHTPAREN 0x00B4 +- KEY_KPSLASH 0x0062 +- KEY_L 0x0026 +- KEY_LANGUAGE 0x0170 +- KEY_LAST 0x0195 +- KEY_LEFT 0x0069 +- KEY_LEFTALT 0x0038 +- KEY_LEFTBRACE 0x001A +- KEY_LEFTCTRL 0x001D +- KEY_LEFTMETA 0x007D +- KEY_LEFTSHIFT 0x002A +- KEY_LINEFEED 0x0065 +- KEY_LIST 0x018B +- KEY_M 0x0032 +- KEY_MACRO 0x0070 +- KEY_MAIL 0x009B +- KEY_MAX 0x01FF +- KEY_MEDIA 0x00E2 +- KEY_MEMO 0x018C +- KEY_MENU 0x008B +- KEY_MHP 0x016F +- KEY_MINUS 0x000C +- KEY_MODE 0x0175 +- KEY_MOVE 0x00AF +- KEY_MP3 0x0187 +- KEY_MSDOS 0x0097 +- KEY_MUHENKAN 0x005E +- KEY_MUTE 0x0071 +- KEY_N 0x0031 +- KEY_NEW 0x00B5 +- KEY_NEXT 0x0197 +- KEY_NEXTSONG 0x00A3 +- KEY_NUMLOCK 0x0045 +- KEY_O 0x0018 +- KEY_OK 0x0160 +- KEY_OPEN 0x0086 +- KEY_OPTION 0x0165 +- KEY_P 0x0019 +- KEY_PAGEDOWN 0x006D +- KEY_PAGEUP 0x0068 +- KEY_PASTE 0x0087 +- KEY_PAUSE 0x0077 +- KEY_PAUSECD 0x00C9 +- KEY_PC 0x0178 +- KEY_PHONE 0x00A9 +- KEY_PLAY 0x00CF +- KEY_PLAYCD 0x00C8 +- KEY_PLAYER 0x0183 +- KEY_PLAYPAUSE 0x00A4 +- KEY_POWER 0x0074 +- KEY_POWER2 0x0164 +- KEY_PREVIOUS 0x019C +- KEY_PREVIOUSSONG 0x00A5 +- KEY_PRINT 0x00D2 +- KEY_PROG1 0x0094 +- KEY_PROG2 0x0095 +- KEY_PROG3 0x00CA +- KEY_PROG4 0x00CB +- KEY_PROGRAM 0x016A +- KEY_PROPS 0x0082 +- KEY_PVR 0x016E +- KEY_Q 0x0010 +- KEY_QUESTION 0x00D6 +- KEY_R 0x0013 +- KEY_RADIO 0x0181 +- KEY_RECORD 0x00A7 +- KEY_RED 0x018E +- KEY_REDO 0x00B6 +- KEY_REFRESH 0x00AD +- KEY_REPLY 0x00E8 +- KEY_RESERVED 0x0000 +- KEY_RESTART 0x0198 +- KEY_REWIND 0x00A8 +- KEY_RIGHT 0x006A +- KEY_RIGHTALT 0x0064 +- KEY_RIGHTBRACE 0x001B +- KEY_RIGHTCTRL 0x0061 +- KEY_RIGHTMETA 0x007E +- KEY_RIGHTSHIFT 0x0036 +- KEY_RO 0x0059 +- KEY_S 0x001F +- KEY_SAT 0x017D +- KEY_SAT2 0x017E +- KEY_SAVE 0x00EA +- KEY_SCREEN 0x0177 +- KEY_SCROLLDOWN 0x00B2 +- KEY_SCROLLLOCK 0x0046 +- KEY_SCROLLUP 0x00B1 +- KEY_SEARCH 0x00D9 +- KEY_SELECT 0x0161 +- KEY_SEMICOLON 0x0027 +- KEY_SEND 0x00E7 +- KEY_SENDFILE 0x0091 +- KEY_SETUP 0x008D +- KEY_SHOP 0x00DD +- KEY_SHUFFLE 0x019A +- KEY_SLASH 0x0035 +- KEY_SLEEP 0x008E +- KEY_SLOW 0x0199 +- KEY_SOUND 0x00D5 +- KEY_SPACE 0x0039 +- KEY_SPORT 0x00DC +- KEY_STOP 0x0080 +- KEY_STOPCD 0x00A6 +- KEY_SUBTITLE 0x0172 +- KEY_SUSPEND 0x00CD +- KEY_SWITCHVIDEOMODE 0x00E3 +- KEY_SYSRQ 0x0063 +- KEY_T 0x0014 +- KEY_TAB 0x000F +- KEY_TAPE 0x0180 +- KEY_TEEN 0x019E +- KEY_TEXT 0x0184 +- KEY_TIME 0x0167 +- KEY_TITLE 0x0171 +- KEY_TUNER 0x0182 +- KEY_TV 0x0179 +- KEY_TV2 0x017A +- KEY_TWEN 0x019F +- KEY_U 0x0016 +- KEY_UNDO 0x0083 +- KEY_UNKNOWN 0x00F0 +- KEY_UP 0x0067 +- KEY_V 0x002F +- KEY_VCR 0x017B +- KEY_VCR2 0x017C +- KEY_VENDOR 0x0168 +- KEY_VIDEO 0x0189 +- KEY_VOLUMEDOWN 0x0072 +- KEY_VOLUMEUP 0x0073 +- KEY_W 0x0011 +- KEY_WAKEUP 0x008F +- KEY_WWW 0x0096 +- KEY_X 0x002D +- KEY_XFER 0x0093 +- KEY_Y 0x0015 +- KEY_YELLOW 0x0190 +- KEY_YEN 0x007C +- KEY_Z 0x002C +- KEY_ZENKAKUHANKAKU 0x0055 +- KEY_ZOOM 0x0174 +- BTN_0 0x0100 +- BTN_1 0x0101 +- BTN_2 0x0102 +- BTN_3 0x0103 +- BTN_4 0x0104 +- BTN_5 0x0105 +- BTN_6 0x0106 +- BTN_7 0x0107 +- BTN_8 0x0108 +- BTN_9 0x0109 +- BTN_A 0x0130 +- BTN_B 0x0131 +- BTN_BACK 0x0116 +- BTN_BASE 0x0126 +- BTN_BASE2 0x0127 +- BTN_BASE3 0x0128 +- BTN_BASE4 0x0129 +- BTN_BASE5 0x012A +- BTN_BASE6 0x012B +- BTN_C 0x0132 +- BTN_DEAD 0x012F +- BTN_DIGI 0x0140 +- BTN_EXTRA 0x0114 +- BTN_FORWARD 0x0115 +- BTN_GAMEPAD 0x0130 +- BTN_GEAR_DOWN 0x0150 +- BTN_GEAR_UP 0x0151 +- BTN_JOYSTICK 0x0120 +- BTN_LEFT 0x0110 +- BTN_MIDDLE 0x0112 +- BTN_MISC 0x0100 +- BTN_MODE 0x013C +- BTN_MOUSE 0x0110 +- BTN_PINKIE 0x0125 +- BTN_RIGHT 0x0111 +- BTN_SELECT 0x013A +- BTN_SIDE 0x0113 +- BTN_START 0x013B +- BTN_STYLUS 0x014B +- BTN_STYLUS2 0x014C +- BTN_TASK 0x0117 +- BTN_THUMB 0x0121 +- BTN_THUMB2 0x0122 +- BTN_THUMBL 0x013D +- BTN_THUMBR 0x013E +- BTN_TL 0x0136 +- BTN_TL2 0x0138 +- BTN_TOOL_AIRBRUSH 0x0144 +- BTN_TOOL_BRUSH 0x0142 +- BTN_TOOL_DOUBLETAP 0x014D +- BTN_TOOL_FINGER 0x0145 +- BTN_TOOL_LENS 0x0147 +- BTN_TOOL_MOUSE 0x0146 +- BTN_TOOL_PEN 0x0140 +- BTN_TOOL_PENCIL 0x0143 +- BTN_TOOL_RUBBER 0x0141 +- BTN_TOOL_TRIPLETAP 0x014E +- BTN_TOP 0x0123 +- BTN_TOP2 0x0124 +- BTN_TOUCH 0x014A +- BTN_TR 0x0137 +- BTN_TR2 0x0139 +- BTN_TRIGGER 0x0120 +- BTN_WHEEL 0x0150 +- BTN_X 0x0133 +- BTN_Y 0x0134 +- BTN_Z 0x0135 +- end codes ++# generated by devinput.sh (obsolete 32 bit version) ++begin remote ++ name devinput32 ++ bits 16 ++ eps 30 ++ aeps 100 ++ pre_data_bits 16 ++ pre_data 0x8001 ++ gap 132799 ++ toggle_bit 0 + ++ begin codes ++ KEY_0 11 ++ KEY_102ND 86 ++ KEY_1 2 ++ KEY_2 3 ++ KEY_3 4 ++ KEY_4 5 ++ KEY_5 6 ++ KEY_6 7 ++ KEY_7 8 ++ KEY_8 9 ++ KEY_9 10 ++ KEY_A 30 ++ KEY_AB 0x196 ++ KEY_ADDRESSBOOK 0x1ad ++ KEY_AGAIN 129 ++ KEY_ALTERASE 222 ++ KEY_ANGLE 0x173 ++ KEY_APOSTROPHE 40 ++ KEY_ARCHIVE 0x169 ++ KEY_AUDIO 0x188 ++ KEY_AUX 0x186 ++ KEY_B 48 ++ KEY_BACK 158 ++ KEY_BACKSLASH 43 ++ KEY_BACKSPACE 14 ++ KEY_BASSBOOST 209 ++ KEY_BATTERY 236 ++ KEY_BLUE 0x191 ++ KEY_BLUETOOTH 237 ++ KEY_BOOKMARKS 156 ++ KEY_BREAK 0x19b ++ KEY_BRIGHTNESS_CYCLE 243 ++ KEY_BRIGHTNESSDOWN 224 ++ KEY_BRIGHTNESSUP 225 ++ KEY_BRIGHTNESS_ZERO 244 ++ KEY_BRL_DOT10 0x1fa ++ KEY_BRL_DOT1 0x1f1 ++ KEY_BRL_DOT2 0x1f2 ++ KEY_BRL_DOT3 0x1f3 ++ KEY_BRL_DOT4 0x1f4 ++ KEY_BRL_DOT5 0x1f5 ++ KEY_BRL_DOT6 0x1f6 ++ KEY_BRL_DOT7 0x1f7 ++ KEY_BRL_DOT8 0x1f8 ++ KEY_BRL_DOT9 0x1f9 ++ KEY_C 46 ++ KEY_CALC 140 ++ KEY_CALENDAR 0x18d ++ KEY_CAMERA 212 ++ KEY_CAMERA_FOCUS 0x210 ++ KEY_CANCEL 223 ++ KEY_CAPSLOCK 58 ++ KEY_CD 0x17f ++ KEY_CHANNEL 0x16b ++ KEY_CHANNELDOWN 0x193 ++ KEY_CHANNELUP 0x192 ++ KEY_CHAT 216 ++ KEY_CLEAR 0x163 ++ KEY_CLOSE 206 ++ KEY_CLOSECD 160 ++ KEY_COFFEE 152 ++ KEY_COMMA 51 ++ KEY_COMPOSE 127 ++ KEY_COMPUTER 157 ++ KEY_CONFIG 171 ++ KEY_CONNECT 218 ++ KEY_CONTEXT_MENU 0x1b6 ++ KEY_COPY 133 ++ KEY_CUT 137 ++ KEY_CYCLEWINDOWS 154 ++ KEY_D 32 ++ KEY_DASHBOARD 204 ++ KEY_DATABASE 0x1aa ++ KEY_DEL_EOL 0x1c0 ++ KEY_DEL_EOS 0x1c1 ++ KEY_DELETE 111 ++ KEY_DELETEFILE 146 ++ KEY_DEL_LINE 0x1c3 ++ KEY_DIGITS 0x19d ++ KEY_DIRECTION 153 ++ KEY_DIRECTORY 0x18a ++ KEY_DISPLAY_OFF 245 ++ KEY_DISPLAYTOGGLE 0x1af ++ KEY_DOCUMENTS 235 ++ KEY_DOLLAR 0x1b2 ++ KEY_DOT 52 ++ KEY_DOWN 108 ++ KEY_DVD 0x185 ++ KEY_E 18 ++ KEY_EDIT 176 ++ KEY_EDITOR 0x1a6 ++ KEY_EJECTCD 161 ++ KEY_EJECTCLOSECD 162 ++ KEY_EMAIL 215 ++ KEY_END 107 ++ KEY_ENTER 28 ++ KEY_EPG 0x16d ++ KEY_EQUAL 13 ++ KEY_ESC 1 ++ KEY_EURO 0x1b3 ++ KEY_EXIT 174 ++ KEY_F10 68 ++ KEY_F11 87 ++ KEY_F12 88 ++ KEY_F13 183 ++ KEY_F14 184 ++ KEY_F15 185 ++ KEY_F1 59 ++ KEY_F16 186 ++ KEY_F17 187 ++ KEY_F18 188 ++ KEY_F19 189 ++ KEY_F20 190 ++ KEY_F21 191 ++ KEY_F22 192 ++ KEY_F23 193 ++ KEY_F24 194 ++ KEY_F2 60 ++ KEY_F 33 ++ KEY_F3 61 ++ KEY_F4 62 ++ KEY_F5 63 ++ KEY_F6 64 ++ KEY_F7 65 ++ KEY_F8 66 ++ KEY_F9 67 ++ KEY_FASTFORWARD 208 ++ KEY_FAVORITES 0x16c ++ KEY_FILE 144 ++ KEY_FINANCE 219 ++ KEY_FIND 136 ++ KEY_FIRST 0x194 ++ KEY_FN 0x1d0 ++ KEY_FN_1 0x1de ++ KEY_FN_2 0x1df ++ KEY_FN_B 0x1e4 ++ KEY_FN_D 0x1e0 ++ KEY_FN_E 0x1e1 ++ KEY_FN_ESC 0x1d1 ++ KEY_FN_F 0x1e2 ++ KEY_FN_F10 0x1db ++ KEY_FN_F1 0x1d2 ++ KEY_FN_F11 0x1dc ++ KEY_FN_F12 0x1dd ++ KEY_FN_F2 0x1d3 ++ KEY_FN_F3 0x1d4 ++ KEY_FN_F4 0x1d5 ++ KEY_FN_F5 0x1d6 ++ KEY_FN_F6 0x1d7 ++ KEY_FN_F7 0x1d8 ++ KEY_FN_F8 0x1d9 ++ KEY_FN_F9 0x1da ++ KEY_FN_S 0x1e3 ++ KEY_FORWARD 159 ++ KEY_FORWARDMAIL 233 ++ KEY_FRAMEBACK 0x1b4 ++ KEY_FRAMEFORWARD 0x1b5 ++ KEY_FRONT 132 ++ KEY_G 34 ++ KEY_GAMES 0x1a1 ++ KEY_GOTO 0x162 ++ KEY_GRAPHICSEDITOR 0x1a8 ++ KEY_GRAVE 41 ++ KEY_GREEN 0x18f ++ KEY_H 35 ++ KEY_HANGEUL 122 ++ KEY_HANJA 123 ++ KEY_HELP 138 ++ KEY_HENKAN 92 ++ KEY_HIRAGANA 91 ++ KEY_HOME 102 ++ KEY_HOMEPAGE 172 ++ KEY_HP 211 ++ KEY_I 23 ++ KEY_INFO 0x166 ++ KEY_INSERT 110 ++ KEY_INS_LINE 0x1c2 ++ KEY_ISO 170 ++ KEY_J 36 ++ KEY_K 37 ++ KEY_KATAKANA 90 ++ KEY_KATAKANAHIRAGANA 93 ++ KEY_KBDILLUMDOWN 229 ++ KEY_KBDILLUMTOGGLE 228 ++ KEY_KBDILLUMUP 230 ++ KEY_KEYBOARD 0x176 ++ KEY_KP0 82 ++ KEY_KP1 79 ++ KEY_KP2 80 ++ KEY_KP3 81 ++ KEY_KP4 75 ++ KEY_KP5 76 ++ KEY_KP6 77 ++ KEY_KP7 71 ++ KEY_KP8 72 ++ KEY_KP9 73 ++ KEY_KPASTERISK 55 ++ KEY_KPCOMMA 121 ++ KEY_KPDOT 83 ++ KEY_KPENTER 96 ++ KEY_KPEQUAL 117 ++ KEY_KPJPCOMMA 95 ++ KEY_KPLEFTPAREN 179 ++ KEY_KPMINUS 74 ++ KEY_KPPLUS 78 ++ KEY_KPPLUSMINUS 118 ++ KEY_KPRIGHTPAREN 180 ++ KEY_KPSLASH 98 ++ KEY_L 38 ++ KEY_LANGUAGE 0x170 ++ KEY_LAST 0x195 ++ KEY_LEFT 105 ++ KEY_LEFTALT 56 ++ KEY_LEFTBRACE 26 ++ KEY_LEFTCTRL 29 ++ KEY_LEFTMETA 125 ++ KEY_LEFTSHIFT 42 ++ KEY_LINEFEED 101 ++ KEY_LIST 0x18b ++ KEY_LOGOFF 0x1b1 ++ KEY_M 50 ++ KEY_MACRO 112 ++ KEY_MAIL 155 ++ KEY_MAX 0x2ff ++ KEY_MEDIA 226 ++ KEY_MEDIA_REPEAT 0x1b7 ++ KEY_MEMO 0x18c ++ KEY_MENU 139 ++ KEY_MESSENGER 0x1ae ++ KEY_MHP 0x16f ++ KEY_MINUS 12 ++ KEY_MODE 0x175 ++ KEY_MOVE 175 ++ KEY_MP3 0x187 ++ KEY_MSDOS 151 ++ KEY_MUHENKAN 94 ++ KEY_MUTE 113 ++ KEY_N 49 ++ KEY_NEW 181 ++ KEY_NEWS 0x1ab ++ KEY_NEXT 0x197 ++ KEY_NEXTSONG 163 ++ KEY_NUMERIC_0 0x200 ++ KEY_NUMERIC_1 0x201 ++ KEY_NUMERIC_2 0x202 ++ KEY_NUMERIC_3 0x203 ++ KEY_NUMERIC_4 0x204 ++ KEY_NUMERIC_5 0x205 ++ KEY_NUMERIC_6 0x206 ++ KEY_NUMERIC_7 0x207 ++ KEY_NUMERIC_8 0x208 ++ KEY_NUMERIC_9 0x209 ++ KEY_NUMERIC_POUND 0x20b ++ KEY_NUMERIC_STAR 0x20a ++ KEY_NUMLOCK 69 ++ KEY_O 24 ++ KEY_OK 0x160 ++ KEY_OPEN 134 ++ KEY_OPTION 0x165 ++ KEY_P 25 ++ KEY_PAGEDOWN 109 ++ KEY_PAGEUP 104 ++ KEY_PASTE 135 ++ KEY_PAUSE 119 ++ KEY_PAUSECD 201 ++ KEY_PC 0x178 ++ KEY_PHONE 169 ++ KEY_PLAY 207 ++ KEY_PLAYCD 200 ++ KEY_PLAYER 0x183 ++ KEY_PLAYPAUSE 164 ++ KEY_POWER 116 ++ KEY_POWER2 0x164 ++ KEY_PRESENTATION 0x1a9 ++ KEY_PREVIOUS 0x19c ++ KEY_PREVIOUSSONG 165 ++ KEY_PRINT 210 ++ KEY_PROG1 148 ++ KEY_PROG2 149 ++ KEY_PROG3 202 ++ KEY_PROG4 203 ++ KEY_PROGRAM 0x16a ++ KEY_PROPS 130 ++ KEY_PVR 0x16e ++ KEY_Q 16 ++ KEY_QUESTION 214 ++ KEY_R 19 ++ KEY_RADIO 0x181 ++ KEY_RECORD 167 ++ KEY_RED 0x18e ++ KEY_REDO 182 ++ KEY_REFRESH 173 ++ KEY_REPLY 232 ++ KEY_RESERVED 0 ++ KEY_RESTART 0x198 ++ KEY_REWIND 168 ++ KEY_RFKILL 247 ++ KEY_RIGHT 106 ++ KEY_RIGHTALT 100 ++ KEY_RIGHTBRACE 27 ++ KEY_RIGHTCTRL 97 ++ KEY_RIGHTMETA 126 ++ KEY_RIGHTSHIFT 54 ++ KEY_RO 89 ++ KEY_S 31 ++ KEY_SAT 0x17d ++ KEY_SAT2 0x17e ++ KEY_SAVE 234 ++ KEY_SCALE 120 ++ KEY_SCREEN 0x177 ++ KEY_SCROLLDOWN 178 ++ KEY_SCROLLLOCK 70 ++ KEY_SCROLLUP 177 ++ KEY_SEARCH 217 ++ KEY_SELECT 0x161 ++ KEY_SEMICOLON 39 ++ KEY_SEND 231 ++ KEY_SENDFILE 145 ++ KEY_SETUP 141 ++ KEY_SHOP 221 ++ KEY_SHUFFLE 0x19a ++ KEY_SLASH 53 ++ KEY_SLEEP 142 ++ KEY_SLOW 0x199 ++ KEY_SOUND 213 ++ KEY_SPACE 57 ++ KEY_SPELLCHECK 0x1b0 ++ KEY_SPORT 220 ++ KEY_SPREADSHEET 0x1a7 ++ KEY_STOP 128 ++ KEY_STOPCD 166 ++ KEY_SUBTITLE 0x172 ++ KEY_SUSPEND 205 ++ KEY_SWITCHVIDEOMODE 227 ++ KEY_SYSRQ 99 ++ KEY_T 20 ++ KEY_TAB 15 ++ KEY_TAPE 0x180 ++ KEY_TEEN 0x19e ++ KEY_TEXT 0x184 ++ KEY_TIME 0x167 ++ KEY_TITLE 0x171 ++ KEY_TUNER 0x182 ++ KEY_TV 0x179 ++ KEY_TV2 0x17a ++ KEY_TWEN 0x19f ++ KEY_U 22 ++ KEY_UNDO 131 ++ KEY_UNKNOWN 240 ++ KEY_UP 103 ++ KEY_UWB 239 ++ KEY_V 47 ++ KEY_VCR 0x17b ++ KEY_VCR2 0x17c ++ KEY_VENDOR 0x168 ++ KEY_VIDEO 0x189 ++ KEY_VIDEO_NEXT 241 ++ KEY_VIDEOPHONE 0x1a0 ++ KEY_VIDEO_PREV 242 ++ KEY_VOICEMAIL 0x1ac ++ KEY_VOLUMEDOWN 114 ++ KEY_VOLUMEUP 115 ++ KEY_W 17 ++ KEY_WAKEUP 143 ++ KEY_WIMAX 246 ++ KEY_WLAN 238 ++ KEY_WORDPROCESSOR 0x1a5 ++ KEY_WWW 150 ++ KEY_X 45 ++ KEY_XFER 147 ++ KEY_Y 21 ++ KEY_YELLOW 0x190 ++ KEY_YEN 124 ++ KEY_Z 44 ++ KEY_ZENKAKUHANKAKU 85 ++ KEY_ZOOM 0x174 ++ KEY_ZOOMIN 0x1a2 ++ KEY_ZOOMOUT 0x1a3 ++ KEY_ZOOMRESET 0x1a4 ++ BTN_0 0x100 ++ BTN_1 0x101 ++ BTN_2 0x102 ++ BTN_3 0x103 ++ BTN_4 0x104 ++ BTN_5 0x105 ++ BTN_6 0x106 ++ BTN_7 0x107 ++ BTN_8 0x108 ++ BTN_9 0x109 ++ BTN_A 0x130 ++ BTN_B 0x131 ++ BTN_BACK 0x116 ++ BTN_BASE 0x126 ++ BTN_BASE2 0x127 ++ BTN_BASE3 0x128 ++ BTN_BASE4 0x129 ++ BTN_BASE5 0x12a ++ BTN_BASE6 0x12b ++ BTN_C 0x132 ++ BTN_DEAD 0x12f ++ BTN_DIGI 0x140 ++ BTN_EXTRA 0x114 ++ BTN_FORWARD 0x115 ++ BTN_GAMEPAD 0x130 ++ BTN_GEAR_DOWN 0x150 ++ BTN_GEAR_UP 0x151 ++ BTN_JOYSTICK 0x120 ++ BTN_LEFT 0x110 ++ BTN_MIDDLE 0x112 ++ BTN_MISC 0x100 ++ BTN_MODE 0x13c ++ BTN_MOUSE 0x110 ++ BTN_PINKIE 0x125 ++ BTN_RIGHT 0x111 ++ BTN_SELECT 0x13a ++ BTN_SIDE 0x113 ++ BTN_START 0x13b ++ BTN_STYLUS 0x14b ++ BTN_STYLUS2 0x14c ++ BTN_TASK 0x117 ++ BTN_THUMB 0x121 ++ BTN_THUMB2 0x122 ++ BTN_THUMBL 0x13d ++ BTN_THUMBR 0x13e ++ BTN_TL 0x136 ++ BTN_TL2 0x138 ++ BTN_TOOL_AIRBRUSH 0x144 ++ BTN_TOOL_BRUSH 0x142 ++ BTN_TOOL_DOUBLETAP 0x14d ++ BTN_TOOL_FINGER 0x145 ++ BTN_TOOL_LENS 0x147 ++ BTN_TOOL_MOUSE 0x146 ++ BTN_TOOL_PEN 0x140 ++ BTN_TOOL_PENCIL 0x143 ++ BTN_TOOL_QUADTAP 0x14f ++ BTN_TOOL_RUBBER 0x141 ++ BTN_TOOL_TRIPLETAP 0x14e ++ BTN_TOP 0x123 ++ BTN_TOP2 0x124 ++ BTN_TOUCH 0x14a ++ BTN_TR 0x137 ++ BTN_TR2 0x139 ++ BTN_TRIGGER 0x120 ++ BTN_WHEEL 0x150 ++ BTN_X 0x133 ++ BTN_Y 0x134 ++ BTN_Z 0x135 ++ end codes + end remote + +- diff --git a/lirc-0.8.6-devinput-pass-mouse-events.patch b/lirc-0.8.6-devinput-pass-mouse-events.patch new file mode 100644 index 0000000..f6bcb5f --- /dev/null +++ b/lirc-0.8.6-devinput-pass-mouse-events.patch @@ -0,0 +1,262 @@ +diff -Naurp lirc-0.8.6/daemons/hw_devinput.c~ lirc-0.8.6/daemons/hw_devinput.c +--- lirc-0.8.6/daemons/hw_devinput.c~ 2009/09/07 18:08:00 5.20 ++++ lirc-0.8.6/daemons/hw_devinput.c 2009/10/31 09:37:30 5.21 +@@ -31,8 +31,10 @@ + #include + #include + #include ++#include + + #include ++#include + + #ifndef EV_SYN + /* previous name */ +@@ -44,8 +46,18 @@ + #include "lircd.h" + #include "receive.h" + ++/* from evtest.c - Copyright (c) 1999-2000 Vojtech Pavlik */ ++#define BITS_PER_LONG (sizeof(long) * CHAR_BIT) ++/* NBITS was defined in linux/uinput.h */ ++#undef NBITS ++#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) ++#define OFF(x) ((x)%BITS_PER_LONG) ++#define BIT(x) (1UL<> OFF(bit)) & 1) + + static int devinput_init(); ++static int devinput_init_fwd(); + static int devinput_deinit(void); + static int devinput_decode(struct ir_remote *remote, + ir_code *prep, ir_code *codep, ir_code *postp, +@@ -67,7 +76,7 @@ + 0, /* send_mode */ + LIRC_MODE_LIRCCODE, /* rec_mode */ + 32, /* code_length */ +- devinput_init, /* init_func */ ++ devinput_init_fwd, /* init_func */ + NULL, /* config_func */ + devinput_deinit, /* deinit_func */ + NULL, /* send_func */ +@@ -80,6 +89,141 @@ + + static ir_code code; + static int repeat_flag=0; ++static int exclusive = 0; ++static int uinputfd = -1; ++ ++static int setup_uinputfd(const char *name, int source) ++{ ++ int fd; ++ int key; ++ struct uinput_user_dev dev; ++ long events[NBITS(EV_MAX)]; ++ long bits[NBITS(KEY_MAX)]; ++ ++ if(ioctl(source, EVIOCGBIT(0, EV_MAX), events) == -1) ++ { ++ return -1; ++ } ++ if(!test_bit(EV_REL, events) && !test_bit(EV_ABS, events)) ++ { ++ /* no move events, don't forward anything */ ++ return -1; ++ } ++ fd = open("/dev/input/uinput", O_RDWR); ++ if(fd == -1) ++ { ++ fd = open("/dev/uinput", O_RDWR); ++ if(fd == -1) ++ { ++ fd = open("/dev/misc/uinput", O_RDWR); ++ if(fd == -1) ++ { ++ logprintf(LOG_WARNING, "could not open %s\n", ++ "uinput"); ++ logperror(LOG_WARNING, NULL); ++ return -1; ++ } ++ } ++ } ++ memset(&dev, 0, sizeof(dev)); ++ if(ioctl(source, EVIOCGNAME(sizeof(dev.name)), dev.name) >= 0) ++ { ++ dev.name[sizeof(dev.name)-1] = 0; ++ if(strlen(dev.name) > 0) ++ { ++ strncat(dev.name, " ", sizeof(dev.name) - ++ strlen(dev.name)); ++ dev.name[sizeof(dev.name)-1] = 0; ++ } ++ } ++ strncat(dev.name, name, sizeof(dev.name) - strlen(dev.name)); ++ dev.name[sizeof(dev.name)-1] = 0; ++ ++ if(write(fd, &dev, sizeof(dev)) != sizeof(dev)) ++ { ++ goto setup_error; ++ } ++ ++ if(test_bit(EV_KEY, events)) ++ { ++ if(ioctl(source, EVIOCGBIT(EV_KEY, KEY_MAX), bits) == -1) ++ { ++ goto setup_error; ++ } ++ ++ if(ioctl(fd, UI_SET_EVBIT, EV_KEY) == -1) ++ { ++ goto setup_error; ++ } ++ ++ /* only forward mouse button events */ ++ for(key = BTN_MISC; key <= BTN_GEAR_UP; key++) ++ { ++ if(test_bit(key, bits)) ++ { ++ if(ioctl(fd, UI_SET_KEYBIT, key) == -1) ++ { ++ goto setup_error; ++ } ++ } ++ } ++ } ++ if(test_bit(EV_REL, events)) ++ { ++ if(ioctl(source, EVIOCGBIT(EV_REL, REL_MAX), bits) == -1) ++ { ++ goto setup_error; ++ } ++ if(ioctl(fd, UI_SET_EVBIT, EV_REL) == -1) ++ { ++ goto setup_error; ++ } ++ for(key = 0; key <= REL_MAX; key++) ++ { ++ if(test_bit(key, bits)) ++ { ++ if(ioctl(fd, UI_SET_RELBIT, key) == -1) ++ { ++ goto setup_error; ++ } ++ } ++ } ++ } ++ if(test_bit(EV_ABS, events)) ++ { ++ if(ioctl(source, EVIOCGBIT(EV_ABS, ABS_MAX), bits) == -1) ++ { ++ goto setup_error; ++ } ++ if(ioctl(fd, UI_SET_EVBIT, EV_ABS) == -1) ++ { ++ goto setup_error; ++ } ++ for(key = 0; key <= ABS_MAX; key++) ++ { ++ if(test_bit(key, bits)) ++ { ++ if(ioctl(fd, UI_SET_ABSBIT, key) == -1) ++ { ++ goto setup_error; ++ } ++ } ++ } ++ } ++ ++ ++ if(ioctl(fd, UI_DEV_CREATE) == -1) ++ { ++ goto setup_error; ++ } ++ return fd; ++ ++ setup_error: ++ logprintf(LOG_ERR, "could not setup %s\n", "uinput"); ++ logperror(LOG_ERR, NULL); ++ close(fd); ++ return -1; ++} + + #if 0 + /* using fnmatch */ +@@ -217,13 +361,26 @@ + } + + #ifdef EVIOCGRAB ++ exclusive = 1; + if (ioctl(hw.fd, EVIOCGRAB, 1) == -1) + { ++ exclusive = 0; + logprintf(LOG_WARNING, "can't get exclusive access to events " + "coming from `%s' interface", + hw.device); + } + #endif ++ return 1; ++} ++ ++int devinput_init_fwd() ++{ ++ if(!devinput_init()) return 0; ++ ++ if(exclusive) ++ { ++ uinputfd = setup_uinputfd("(lircd bypass)", hw.fd); ++ } + + return 1; + } +@@ -232,6 +389,12 @@ + int devinput_deinit(void) + { + logprintf(LOG_INFO, "closing '%s'", hw.device); ++ if(uinputfd != -1) ++ { ++ ioctl(uinputfd, UI_DEV_DESTROY); ++ close(uinputfd); ++ uinputfd = -1; ++ } + close(hw.fd); + hw.fd=-1; + return 1; +@@ -271,7 +434,10 @@ + rd = read(hw.fd, &event, sizeof event); + if (rd != sizeof event) { + logprintf(LOG_ERR, "error reading '%s'", hw.device); +- if(rd <= 0 && errno != EINTR) raise(SIGTERM); ++ if(rd <= 0 && errno != EINTR) ++ { ++ devinput_deinit(); ++ } + return 0; + } + +@@ -292,6 +458,25 @@ + + LOGPRINTF(1, "code %.8llx", code); + ++ if(uinputfd != -1) ++ { ++ if(event.type == EV_REL || ++ event.type == EV_ABS || ++ (event.type == EV_KEY && ++ event.code >= BTN_MISC && ++ event.code <= BTN_GEAR_UP) || ++ event.type == EV_SYN) ++ { ++ LOGPRINTF(1, "forwarding: %04x %04x", event.type, event.code); ++ if(write(uinputfd, &event, sizeof(event)) != sizeof(event)) ++ { ++ logprintf(LOG_ERR, "writing to uinput failed"); ++ logperror(LOG_ERR, NULL); ++ } ++ return NULL; ++ } ++ } ++ + /* ignore EV_SYN */ + if(event.type == EV_SYN) return NULL; + diff --git a/lirc.spec b/lirc.spec index 4162985..ff05456 100644 --- a/lirc.spec +++ b/lirc.spec @@ -18,7 +18,7 @@ Name: lirc Version: 0.8.6 -Release: 1%{?pre:.%{pre}}%{?dist} +Release: 2%{?pre:.%{pre}}%{?dist} Summary: The Linux Infrared Remote Control package Group: System Environment/Daemons @@ -29,10 +29,12 @@ Source0: http://downloads.sourceforge.net/lirc/%{name}-%{version}.tar.bz2 Source1: %{name}.init Source2: %{name}.sysconfig Patch0: lirc-use-new-instead-of-conf-as-filename-suffix.patch +Patch1: lirc-0.8.6-devinput-pass-mouse-events.patch # https://bugzilla.redhat.com/show_bug.cgi?id=457273 # http://thread.gmane.org/gmane.comp.hardware.lirc/6884 -Patch1: lirc-0.8.6-standardized-remote-keycodes.patch -Patch2: lirc-0.8.4-make-remote-names-all-unique.patch +Patch2: lirc-0.8.6-standardized-remote-keycodes.patch +Patch3: lirc-0.8.4-make-remote-names-all-unique.patch +Patch4: lirc-0.8.6-devinput-conf-update.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{__perl} @@ -119,6 +121,7 @@ of remote control configuration files. %prep %setup -q -n %{name}-%{version}%{?pre} %patch0 -p1 +%patch1 -p1 chmod 644 contrib/* chmod +x contrib/hal @@ -159,8 +162,9 @@ touch -r aclocal.m4 configure.ac # avoid autofoo re-run # Do this after, as we're touching the remote definitions earlier # Don't create a backup, or the original definitions will get installed -%patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 # Re-run autofoo for new cvs features #autoreconf -i -f #automake @@ -283,6 +287,10 @@ fi %changelog +* Thu Apr 29 2010 Jarod Wilson 0.8.6-2 +- Add devinput mouse event passthru to uinput support from lirc cvs +- Update devinput lircd.conf with additional keys from input.h + * Sun Sep 13 2009 Jarod Wilson 0.8.6-1 - Update to lirc 0.8.6 release