1/* 2 3 4 Keytables for supported remote controls. This file is part of 5 video4linux. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 21 */ 22#include <linux/module.h> 23#include <linux/moduleparam.h> 24 25#include <linux/input.h> 26#include <media/ir-common.h> 27 28/* empty keytable, can be used as placeholder for not-yet created keytables */ 29IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = { 30 [ 0x2a ] = KEY_COFFEE, 31}; 32 33EXPORT_SYMBOL_GPL(ir_codes_empty); 34 35/* Michal Majchrowicz <mmajchrowicz@gmail.com> */ 36IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = { 37 /* numeric */ 38 [ 0x00 ] = KEY_0, 39 [ 0x01 ] = KEY_1, 40 [ 0x02 ] = KEY_2, 41 [ 0x03 ] = KEY_3, 42 [ 0x04 ] = KEY_4, 43 [ 0x05 ] = KEY_5, 44 [ 0x06 ] = KEY_6, 45 [ 0x07 ] = KEY_7, 46 [ 0x08 ] = KEY_8, 47 [ 0x09 ] = KEY_9, 48 49 [ 0x5c ] = KEY_POWER, /* power */ 50 [ 0x20 ] = KEY_F, /* full screen */ 51 [ 0x0f ] = KEY_BACKSPACE, /* recall */ 52 [ 0x1b ] = KEY_ENTER, /* mute */ 53 [ 0x41 ] = KEY_RECORD, /* record */ 54 [ 0x43 ] = KEY_STOP, /* stop */ 55 [ 0x16 ] = KEY_S, 56 [ 0x1a ] = KEY_Q, /* off */ 57 [ 0x2e ] = KEY_RED, 58 [ 0x1f ] = KEY_DOWN, /* channel - */ 59 [ 0x1c ] = KEY_UP, /* channel + */ 60 [ 0x10 ] = KEY_LEFT, /* volume - */ 61 [ 0x1e ] = KEY_RIGHT, /* volume + */ 62 [ 0x14 ] = KEY_F1, 63}; 64 65EXPORT_SYMBOL_GPL(ir_codes_proteus_2309); 66/* Matt Jesson <dvb@jesson.eclipse.co.uk */ 67IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { 68 [ 0x28 ] = KEY_0, //'0' / 'enter' 69 [ 0x22 ] = KEY_1, //'1' 70 [ 0x12 ] = KEY_2, //'2' / 'up arrow' 71 [ 0x32 ] = KEY_3, //'3' 72 [ 0x24 ] = KEY_4, //'4' / 'left arrow' 73 [ 0x14 ] = KEY_5, //'5' 74 [ 0x34 ] = KEY_6, //'6' / 'right arrow' 75 [ 0x26 ] = KEY_7, //'7' 76 [ 0x16 ] = KEY_8, //'8' / 'down arrow' 77 [ 0x36 ] = KEY_9, //'9' 78 79 [ 0x20 ] = KEY_LIST, // 'source' 80 [ 0x10 ] = KEY_TEXT, // 'teletext' 81 [ 0x00 ] = KEY_POWER, // 'power' 82 [ 0x04 ] = KEY_AUDIO, // 'audio' 83 [ 0x06 ] = KEY_ZOOM, // 'full screen' 84 [ 0x18 ] = KEY_VIDEO, // 'display' 85 [ 0x38 ] = KEY_SEARCH, // 'loop' 86 [ 0x08 ] = KEY_INFO, // 'preview' 87 [ 0x2a ] = KEY_REWIND, // 'backward <<' 88 [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>' 89 [ 0x3a ] = KEY_RECORD, // 'capture' 90 [ 0x0a ] = KEY_MUTE, // 'mute' 91 [ 0x2c ] = KEY_RECORD, // 'record' 92 [ 0x1c ] = KEY_PAUSE, // 'pause' 93 [ 0x3c ] = KEY_STOP, // 'stop' 94 [ 0x0c ] = KEY_PLAY, // 'play' 95 [ 0x2e ] = KEY_RED, // 'red' 96 [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel' 97 [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok' 98 [ 0x21 ] = KEY_GREEN, // 'green' 99 [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -' 100 [ 0x31 ] = KEY_CHANNELUP, // 'channel +' 101 [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -' 102 [ 0x3e ] = KEY_VOLUMEUP, // 'volume +' 103}; 104 105EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt); 106 107/* Attila Kondoros <attila.kondoros@chello.hu> */ 108IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = { 109 110 [ 0x01 ] = KEY_1, 111 [ 0x02 ] = KEY_2, 112 [ 0x03 ] = KEY_3, 113 [ 0x04 ] = KEY_4, 114 [ 0x05 ] = KEY_5, 115 [ 0x06 ] = KEY_6, 116 [ 0x07 ] = KEY_7, 117 [ 0x08 ] = KEY_8, 118 [ 0x09 ] = KEY_9, 119 [ 0x00 ] = KEY_0, 120 [ 0x17 ] = KEY_LAST, // +100 121 [ 0x0a ] = KEY_LIST, // recall 122 123 124 [ 0x1c ] = KEY_TUNER, // TV/FM 125 [ 0x15 ] = KEY_SEARCH, // scan 126 [ 0x12 ] = KEY_POWER, // power 127 [ 0x1f ] = KEY_VOLUMEDOWN, // vol up 128 [ 0x1b ] = KEY_VOLUMEUP, // vol down 129 [ 0x1e ] = KEY_CHANNELDOWN, // chn up 130 [ 0x1a ] = KEY_CHANNELUP, // chn down 131 132 [ 0x11 ] = KEY_VIDEO, // video 133 [ 0x0f ] = KEY_ZOOM, // full screen 134 [ 0x13 ] = KEY_MUTE, // mute/unmute 135 [ 0x10 ] = KEY_TEXT, // min 136 137 [ 0x0d ] = KEY_STOP, // freeze 138 [ 0x0e ] = KEY_RECORD, // record 139 [ 0x1d ] = KEY_PLAYPAUSE, // stop 140 [ 0x19 ] = KEY_PLAY, // play 141 142 [ 0x16 ] = KEY_GOTO, // osd 143 [ 0x14 ] = KEY_REFRESH, // default 144 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>> 145 [ 0x18 ] = KEY_KPMINUS // fine tune <<<< 146}; 147 148EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp); 149 150/* ---------------------------------------------------------------------- */ 151 152IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = { 153 154 [ 0x1e ] = KEY_POWER, // power 155 [ 0x07 ] = KEY_MEDIA, // source 156 [ 0x1c ] = KEY_SEARCH, // scan 157 158 159 [ 0x03 ] = KEY_TUNER, // TV/FM 160 161 [ 0x00 ] = KEY_RECORD, 162 [ 0x08 ] = KEY_STOP, 163 [ 0x11 ] = KEY_PLAY, 164 165 [ 0x1a ] = KEY_PLAYPAUSE, // freeze 166 [ 0x19 ] = KEY_ZOOM, // zoom 167 [ 0x0f ] = KEY_TEXT, // min 168 169 [ 0x01 ] = KEY_1, 170 [ 0x0b ] = KEY_2, 171 [ 0x1b ] = KEY_3, 172 [ 0x05 ] = KEY_4, 173 [ 0x09 ] = KEY_5, 174 [ 0x15 ] = KEY_6, 175 [ 0x06 ] = KEY_7, 176 [ 0x0a ] = KEY_8, 177 [ 0x12 ] = KEY_9, 178 [ 0x02 ] = KEY_0, 179 [ 0x10 ] = KEY_LAST, // +100 180 [ 0x13 ] = KEY_LIST, // recall 181 182 [ 0x1f ] = KEY_CHANNELUP, // chn down 183 [ 0x17 ] = KEY_CHANNELDOWN, // chn up 184 [ 0x16 ] = KEY_VOLUMEUP, // vol down 185 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up 186 187 [ 0x04 ] = KEY_KPMINUS, // <<< 188 [ 0x0e ] = KEY_SETUP, // function 189 [ 0x0c ] = KEY_KPPLUS, // >>> 190 191 [ 0x0d ] = KEY_GOTO, // mts 192 [ 0x1d ] = KEY_REFRESH, // reset 193 [ 0x18 ] = KEY_MUTE // mute/unmute 194}; 195 196EXPORT_SYMBOL_GPL(ir_codes_pixelview); 197 198IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { 199 [ 0x00 ] = KEY_0, 200 [ 0x01 ] = KEY_1, 201 [ 0x02 ] = KEY_2, 202 [ 0x03 ] = KEY_3, 203 [ 0x04 ] = KEY_4, 204 [ 0x05 ] = KEY_5, 205 [ 0x06 ] = KEY_6, 206 [ 0x07 ] = KEY_7, 207 [ 0x08 ] = KEY_8, 208 [ 0x09 ] = KEY_9, 209 [ 0x0a ] = KEY_TV, 210 [ 0x0b ] = KEY_AUX, 211 [ 0x0c ] = KEY_DVD, 212 [ 0x0d ] = KEY_POWER, 213 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */ 214 [ 0x0f ] = KEY_AUDIO, 215 [ 0x10 ] = KEY_INFO, 216 [ 0x11 ] = KEY_F13, /* 16:9 */ 217 [ 0x12 ] = KEY_F14, /* 14:9 */ 218 [ 0x13 ] = KEY_EPG, 219 [ 0x14 ] = KEY_EXIT, 220 [ 0x15 ] = KEY_MENU, 221 [ 0x16 ] = KEY_UP, 222 [ 0x17 ] = KEY_DOWN, 223 [ 0x18 ] = KEY_LEFT, 224 [ 0x19 ] = KEY_RIGHT, 225 [ 0x1a ] = KEY_ENTER, 226 [ 0x1b ] = KEY_CHANNELUP, 227 [ 0x1c ] = KEY_CHANNELDOWN, 228 [ 0x1d ] = KEY_VOLUMEUP, 229 [ 0x1e ] = KEY_VOLUMEDOWN, 230 [ 0x1f ] = KEY_RED, 231 [ 0x20 ] = KEY_GREEN, 232 [ 0x21 ] = KEY_YELLOW, 233 [ 0x22 ] = KEY_BLUE, 234 [ 0x23 ] = KEY_SUBTITLE, 235 [ 0x24 ] = KEY_F15, /* AD */ 236 [ 0x25 ] = KEY_TEXT, 237 [ 0x26 ] = KEY_MUTE, 238 [ 0x27 ] = KEY_REWIND, 239 [ 0x28 ] = KEY_STOP, 240 [ 0x29 ] = KEY_PLAY, 241 [ 0x2a ] = KEY_FASTFORWARD, 242 [ 0x2b ] = KEY_F16, /* chapter */ 243 [ 0x2c ] = KEY_PAUSE, 244 [ 0x2d ] = KEY_PLAY, 245 [ 0x2e ] = KEY_RECORD, 246 [ 0x2f ] = KEY_F17, /* picture in picture */ 247 [ 0x30 ] = KEY_KPPLUS, /* zoom in */ 248 [ 0x31 ] = KEY_KPMINUS, /* zoom out */ 249 [ 0x32 ] = KEY_F18, /* capture */ 250 [ 0x33 ] = KEY_F19, /* web */ 251 [ 0x34 ] = KEY_EMAIL, 252 [ 0x35 ] = KEY_PHONE, 253 [ 0x36 ] = KEY_PC 254}; 255 256EXPORT_SYMBOL_GPL(ir_codes_nebula); 257 258/* DigitalNow DNTV Live DVB-T Remote */ 259IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = { 260 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */ 261 /* Keys 0 to 9 */ 262 [ 0x0a ] = KEY_0, 263 [ 0x01 ] = KEY_1, 264 [ 0x02 ] = KEY_2, 265 [ 0x03 ] = KEY_3, 266 [ 0x04 ] = KEY_4, 267 [ 0x05 ] = KEY_5, 268 [ 0x06 ] = KEY_6, 269 [ 0x07 ] = KEY_7, 270 [ 0x08 ] = KEY_8, 271 [ 0x09 ] = KEY_9, 272 273 [ 0x0b ] = KEY_TUNER, /* tv/fm */ 274 [ 0x0c ] = KEY_SEARCH, /* scan */ 275 [ 0x0d ] = KEY_STOP, 276 [ 0x0e ] = KEY_PAUSE, 277 [ 0x0f ] = KEY_LIST, /* source */ 278 279 [ 0x10 ] = KEY_MUTE, 280 [ 0x11 ] = KEY_REWIND, /* backward << */ 281 [ 0x12 ] = KEY_POWER, 282 [ 0x13 ] = KEY_S, /* snap */ 283 [ 0x14 ] = KEY_AUDIO, /* stereo */ 284 [ 0x15 ] = KEY_CLEAR, /* reset */ 285 [ 0x16 ] = KEY_PLAY, 286 [ 0x17 ] = KEY_ENTER, 287 [ 0x18 ] = KEY_ZOOM, /* full screen */ 288 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */ 289 [ 0x1a ] = KEY_CHANNELUP, 290 [ 0x1b ] = KEY_VOLUMEUP, 291 [ 0x1c ] = KEY_INFO, /* preview */ 292 [ 0x1d ] = KEY_RECORD, /* record */ 293 [ 0x1e ] = KEY_CHANNELDOWN, 294 [ 0x1f ] = KEY_VOLUMEDOWN, 295}; 296 297EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t); 298 299/* ---------------------------------------------------------------------- */ 300 301/* IO-DATA BCTV7E Remote */ 302IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = { 303 [ 0x40 ] = KEY_TV, 304 [ 0x20 ] = KEY_RADIO, /* FM */ 305 [ 0x60 ] = KEY_EPG, 306 [ 0x00 ] = KEY_POWER, 307 308 /* Keys 0 to 9 */ 309 [ 0x44 ] = KEY_0, /* 10 */ 310 [ 0x50 ] = KEY_1, 311 [ 0x30 ] = KEY_2, 312 [ 0x70 ] = KEY_3, 313 [ 0x48 ] = KEY_4, 314 [ 0x28 ] = KEY_5, 315 [ 0x68 ] = KEY_6, 316 [ 0x58 ] = KEY_7, 317 [ 0x38 ] = KEY_8, 318 [ 0x78 ] = KEY_9, 319 320 [ 0x10 ] = KEY_L, /* Live */ 321 [ 0x08 ] = KEY_T, /* Time Shift */ 322 323 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */ 324 325 [ 0x24 ] = KEY_ENTER, /* 11 */ 326 [ 0x64 ] = KEY_ESC, /* 12 */ 327 [ 0x04 ] = KEY_M, /* Multi */ 328 329 [ 0x54 ] = KEY_VIDEO, 330 [ 0x34 ] = KEY_CHANNELUP, 331 [ 0x74 ] = KEY_VOLUMEUP, 332 [ 0x14 ] = KEY_MUTE, 333 334 [ 0x4c ] = KEY_S, /* SVIDEO */ 335 [ 0x2c ] = KEY_CHANNELDOWN, 336 [ 0x6c ] = KEY_VOLUMEDOWN, 337 [ 0x0c ] = KEY_ZOOM, 338 339 [ 0x5c ] = KEY_PAUSE, 340 [ 0x3c ] = KEY_C, /* || (red) */ 341 [ 0x7c ] = KEY_RECORD, /* recording */ 342 [ 0x1c ] = KEY_STOP, 343 344 [ 0x41 ] = KEY_REWIND, /* backward << */ 345 [ 0x21 ] = KEY_PLAY, 346 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */ 347 [ 0x01 ] = KEY_NEXT, /* skip >| */ 348}; 349 350EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e); 351 352/* ---------------------------------------------------------------------- */ 353 354/* ADS Tech Instant TV DVB-T PCI Remote */ 355IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = { 356 /* Keys 0 to 9 */ 357 [ 0x4d ] = KEY_0, 358 [ 0x57 ] = KEY_1, 359 [ 0x4f ] = KEY_2, 360 [ 0x53 ] = KEY_3, 361 [ 0x56 ] = KEY_4, 362 [ 0x4e ] = KEY_5, 363 [ 0x5e ] = KEY_6, 364 [ 0x54 ] = KEY_7, 365 [ 0x4c ] = KEY_8, 366 [ 0x5c ] = KEY_9, 367 368 [ 0x5b ] = KEY_POWER, 369 [ 0x5f ] = KEY_MUTE, 370 [ 0x55 ] = KEY_GOTO, 371 [ 0x5d ] = KEY_SEARCH, 372 [ 0x17 ] = KEY_EPG, /* Guide */ 373 [ 0x1f ] = KEY_MENU, 374 [ 0x0f ] = KEY_UP, 375 [ 0x46 ] = KEY_DOWN, 376 [ 0x16 ] = KEY_LEFT, 377 [ 0x1e ] = KEY_RIGHT, 378 [ 0x0e ] = KEY_SELECT, /* Enter */ 379 [ 0x5a ] = KEY_INFO, 380 [ 0x52 ] = KEY_EXIT, 381 [ 0x59 ] = KEY_PREVIOUS, 382 [ 0x51 ] = KEY_NEXT, 383 [ 0x58 ] = KEY_REWIND, 384 [ 0x50 ] = KEY_FORWARD, 385 [ 0x44 ] = KEY_PLAYPAUSE, 386 [ 0x07 ] = KEY_STOP, 387 [ 0x1b ] = KEY_RECORD, 388 [ 0x13 ] = KEY_TUNER, /* Live */ 389 [ 0x0a ] = KEY_A, 390 [ 0x12 ] = KEY_B, 391 [ 0x03 ] = KEY_PROG1, /* 1 */ 392 [ 0x01 ] = KEY_PROG2, /* 2 */ 393 [ 0x00 ] = KEY_PROG3, /* 3 */ 394 [ 0x06 ] = KEY_DVD, 395 [ 0x48 ] = KEY_AUX, /* Photo */ 396 [ 0x40 ] = KEY_VIDEO, 397 [ 0x19 ] = KEY_AUDIO, /* Music */ 398 [ 0x0b ] = KEY_CHANNELUP, 399 [ 0x08 ] = KEY_CHANNELDOWN, 400 [ 0x15 ] = KEY_VOLUMEUP, 401 [ 0x1c ] = KEY_VOLUMEDOWN, 402}; 403 404EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci); 405 406/* ---------------------------------------------------------------------- */ 407 408/* MSI TV@nywhere remote */ 409IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = { 410 /* Keys 0 to 9 */ 411 [ 0x00 ] = KEY_0, 412 [ 0x01 ] = KEY_1, 413 [ 0x02 ] = KEY_2, 414 [ 0x03 ] = KEY_3, 415 [ 0x04 ] = KEY_4, 416 [ 0x05 ] = KEY_5, 417 [ 0x06 ] = KEY_6, 418 [ 0x07 ] = KEY_7, 419 [ 0x08 ] = KEY_8, 420 [ 0x09 ] = KEY_9, 421 422 [ 0x0c ] = KEY_MUTE, 423 [ 0x0f ] = KEY_SCREEN, /* Full Screen */ 424 [ 0x10 ] = KEY_F, /* Funtion */ 425 [ 0x11 ] = KEY_T, /* Time shift */ 426 [ 0x12 ] = KEY_POWER, 427 [ 0x13 ] = KEY_MEDIA, /* MTS */ 428 [ 0x14 ] = KEY_SLOW, 429 [ 0x16 ] = KEY_REWIND, /* backward << */ 430 [ 0x17 ] = KEY_ENTER, /* Return */ 431 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */ 432 [ 0x1a ] = KEY_CHANNELUP, 433 [ 0x1b ] = KEY_VOLUMEUP, 434 [ 0x1e ] = KEY_CHANNELDOWN, 435 [ 0x1f ] = KEY_VOLUMEDOWN, 436}; 437 438EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); 439 440/* ---------------------------------------------------------------------- */ 441 442/* Cinergy 1400 DVB-T */ 443IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = { 444 [ 0x01 ] = KEY_POWER, 445 [ 0x02 ] = KEY_1, 446 [ 0x03 ] = KEY_2, 447 [ 0x04 ] = KEY_3, 448 [ 0x05 ] = KEY_4, 449 [ 0x06 ] = KEY_5, 450 [ 0x07 ] = KEY_6, 451 [ 0x08 ] = KEY_7, 452 [ 0x09 ] = KEY_8, 453 [ 0x0a ] = KEY_9, 454 [ 0x0c ] = KEY_0, 455 456 [ 0x0b ] = KEY_VIDEO, 457 [ 0x0d ] = KEY_REFRESH, 458 [ 0x0e ] = KEY_SELECT, 459 [ 0x0f ] = KEY_EPG, 460 [ 0x10 ] = KEY_UP, 461 [ 0x11 ] = KEY_LEFT, 462 [ 0x12 ] = KEY_OK, 463 [ 0x13 ] = KEY_RIGHT, 464 [ 0x14 ] = KEY_DOWN, 465 [ 0x15 ] = KEY_TEXT, 466 [ 0x16 ] = KEY_INFO, 467 468 [ 0x17 ] = KEY_RED, 469 [ 0x18 ] = KEY_GREEN, 470 [ 0x19 ] = KEY_YELLOW, 471 [ 0x1a ] = KEY_BLUE, 472 473 [ 0x1b ] = KEY_CHANNELUP, 474 [ 0x1c ] = KEY_VOLUMEUP, 475 [ 0x1d ] = KEY_MUTE, 476 [ 0x1e ] = KEY_VOLUMEDOWN, 477 [ 0x1f ] = KEY_CHANNELDOWN, 478 479 [ 0x40 ] = KEY_PAUSE, 480 [ 0x4c ] = KEY_PLAY, 481 [ 0x58 ] = KEY_RECORD, 482 [ 0x54 ] = KEY_PREVIOUS, 483 [ 0x48 ] = KEY_STOP, 484 [ 0x5c ] = KEY_NEXT, 485}; 486 487EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400); 488 489/* ---------------------------------------------------------------------- */ 490 491/* AVERTV STUDIO 303 Remote */ 492IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = { 493 [ 0x2a ] = KEY_1, 494 [ 0x32 ] = KEY_2, 495 [ 0x3a ] = KEY_3, 496 [ 0x4a ] = KEY_4, 497 [ 0x52 ] = KEY_5, 498 [ 0x5a ] = KEY_6, 499 [ 0x6a ] = KEY_7, 500 [ 0x72 ] = KEY_8, 501 [ 0x7a ] = KEY_9, 502 [ 0x0e ] = KEY_0, 503 504 [ 0x02 ] = KEY_POWER, 505 [ 0x22 ] = KEY_VIDEO, 506 [ 0x42 ] = KEY_AUDIO, 507 [ 0x62 ] = KEY_ZOOM, 508 [ 0x0a ] = KEY_TV, 509 [ 0x12 ] = KEY_CD, 510 [ 0x1a ] = KEY_TEXT, 511 512 [ 0x16 ] = KEY_SUBTITLE, 513 [ 0x1e ] = KEY_REWIND, 514 [ 0x06 ] = KEY_PRINT, 515 516 [ 0x2e ] = KEY_SEARCH, 517 [ 0x36 ] = KEY_SLEEP, 518 [ 0x3e ] = KEY_SHUFFLE, 519 [ 0x26 ] = KEY_MUTE, 520 521 [ 0x4e ] = KEY_RECORD, 522 [ 0x56 ] = KEY_PAUSE, 523 [ 0x5e ] = KEY_STOP, 524 [ 0x46 ] = KEY_PLAY, 525 526 [ 0x6e ] = KEY_RED, 527 [ 0x0b ] = KEY_GREEN, 528 [ 0x66 ] = KEY_YELLOW, 529 [ 0x03 ] = KEY_BLUE, 530 531 [ 0x76 ] = KEY_LEFT, 532 [ 0x7e ] = KEY_RIGHT, 533 [ 0x13 ] = KEY_DOWN, 534 [ 0x1b ] = KEY_UP, 535}; 536 537EXPORT_SYMBOL_GPL(ir_codes_avertv_303); 538 539/* ---------------------------------------------------------------------- */ 540 541/* DigitalNow DNTV Live! DVB-T Pro Remote */ 542IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = { 543 [ 0x16 ] = KEY_POWER, 544 [ 0x5b ] = KEY_HOME, 545 546 [ 0x55 ] = KEY_TV, /* live tv */ 547 [ 0x58 ] = KEY_TUNER, /* digital Radio */ 548 [ 0x5a ] = KEY_RADIO, /* FM radio */ 549 [ 0x59 ] = KEY_DVD, /* dvd menu */ 550 [ 0x03 ] = KEY_1, 551 [ 0x01 ] = KEY_2, 552 [ 0x06 ] = KEY_3, 553 [ 0x09 ] = KEY_4, 554 [ 0x1d ] = KEY_5, 555 [ 0x1f ] = KEY_6, 556 [ 0x0d ] = KEY_7, 557 [ 0x19 ] = KEY_8, 558 [ 0x1b ] = KEY_9, 559 [ 0x0c ] = KEY_CANCEL, 560 [ 0x15 ] = KEY_0, 561 [ 0x4a ] = KEY_CLEAR, 562 [ 0x13 ] = KEY_BACK, 563 [ 0x00 ] = KEY_TAB, 564 [ 0x4b ] = KEY_UP, 565 [ 0x4e ] = KEY_LEFT, 566 [ 0x4f ] = KEY_OK, 567 [ 0x52 ] = KEY_RIGHT, 568 [ 0x51 ] = KEY_DOWN, 569 [ 0x1e ] = KEY_VOLUMEUP, 570 [ 0x0a ] = KEY_VOLUMEDOWN, 571 [ 0x02 ] = KEY_CHANNELDOWN, 572 [ 0x05 ] = KEY_CHANNELUP, 573 [ 0x11 ] = KEY_RECORD, 574 [ 0x14 ] = KEY_PLAY, 575 [ 0x4c ] = KEY_PAUSE, 576 [ 0x1a ] = KEY_STOP, 577 [ 0x40 ] = KEY_REWIND, 578 [ 0x12 ] = KEY_FASTFORWARD, 579 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */ 580 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */ 581 [ 0x54 ] = KEY_CAMERA, /* capture */ 582 [ 0x50 ] = KEY_LANGUAGE, /* sap */ 583 [ 0x47 ] = KEY_TV2, /* pip */ 584 [ 0x4d ] = KEY_SCREEN, 585 [ 0x43 ] = KEY_SUBTITLE, 586 [ 0x10 ] = KEY_MUTE, 587 [ 0x49 ] = KEY_AUDIO, /* l/r */ 588 [ 0x07 ] = KEY_SLEEP, 589 [ 0x08 ] = KEY_VIDEO, /* a/v */ 590 [ 0x0e ] = KEY_PREVIOUS, /* recall */ 591 [ 0x45 ] = KEY_ZOOM, /* zoom + */ 592 [ 0x46 ] = KEY_ANGLE, /* zoom - */ 593 [ 0x56 ] = KEY_RED, 594 [ 0x57 ] = KEY_GREEN, 595 [ 0x5c ] = KEY_YELLOW, 596 [ 0x5d ] = KEY_BLUE, 597}; 598 599EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro); 600 601IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = { 602 [ 0x01 ] = KEY_CHANNEL, 603 [ 0x02 ] = KEY_SELECT, 604 [ 0x03 ] = KEY_MUTE, 605 [ 0x04 ] = KEY_POWER, 606 [ 0x05 ] = KEY_1, 607 [ 0x06 ] = KEY_2, 608 [ 0x07 ] = KEY_3, 609 [ 0x08 ] = KEY_CHANNELUP, 610 [ 0x09 ] = KEY_4, 611 [ 0x0a ] = KEY_5, 612 [ 0x0b ] = KEY_6, 613 [ 0x0c ] = KEY_CHANNELDOWN, 614 [ 0x0d ] = KEY_7, 615 [ 0x0e ] = KEY_8, 616 [ 0x0f ] = KEY_9, 617 [ 0x10 ] = KEY_VOLUMEUP, 618 [ 0x11 ] = KEY_0, 619 [ 0x12 ] = KEY_MENU, 620 [ 0x13 ] = KEY_PRINT, 621 [ 0x14 ] = KEY_VOLUMEDOWN, 622 [ 0x16 ] = KEY_PAUSE, 623 [ 0x18 ] = KEY_RECORD, 624 [ 0x19 ] = KEY_REWIND, 625 [ 0x1a ] = KEY_PLAY, 626 [ 0x1b ] = KEY_FORWARD, 627 [ 0x1c ] = KEY_BACKSPACE, 628 [ 0x1e ] = KEY_STOP, 629 [ 0x40 ] = KEY_ZOOM, 630}; 631 632EXPORT_SYMBOL_GPL(ir_codes_em_terratec); 633 634IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = { 635 [ 0x3a ] = KEY_0, 636 [ 0x31 ] = KEY_1, 637 [ 0x32 ] = KEY_2, 638 [ 0x33 ] = KEY_3, 639 [ 0x34 ] = KEY_4, 640 [ 0x35 ] = KEY_5, 641 [ 0x36 ] = KEY_6, 642 [ 0x37 ] = KEY_7, 643 [ 0x38 ] = KEY_8, 644 [ 0x39 ] = KEY_9, 645 646 [ 0x2f ] = KEY_POWER, 647 648 [ 0x2e ] = KEY_P, 649 [ 0x1f ] = KEY_L, 650 [ 0x2b ] = KEY_I, 651 652 [ 0x2d ] = KEY_SCREEN, 653 [ 0x1e ] = KEY_ZOOM, 654 [ 0x1b ] = KEY_VOLUMEUP, 655 [ 0x0f ] = KEY_VOLUMEDOWN, 656 [ 0x17 ] = KEY_CHANNELUP, 657 [ 0x1c ] = KEY_CHANNELDOWN, 658 [ 0x25 ] = KEY_INFO, 659 660 [ 0x3c ] = KEY_MUTE, 661 662 [ 0x3d ] = KEY_LEFT, 663 [ 0x3b ] = KEY_RIGHT, 664 665 [ 0x3f ] = KEY_UP, 666 [ 0x3e ] = KEY_DOWN, 667 [ 0x1a ] = KEY_ENTER, 668 669 [ 0x1d ] = KEY_MENU, 670 [ 0x19 ] = KEY_AGAIN, 671 [ 0x16 ] = KEY_PREVIOUSSONG, 672 [ 0x13 ] = KEY_NEXTSONG, 673 [ 0x15 ] = KEY_PAUSE, 674 [ 0x0e ] = KEY_REWIND, 675 [ 0x0d ] = KEY_PLAY, 676 [ 0x0b ] = KEY_STOP, 677 [ 0x07 ] = KEY_FORWARD, 678 [ 0x27 ] = KEY_RECORD, 679 [ 0x26 ] = KEY_TUNER, 680 [ 0x29 ] = KEY_TEXT, 681 [ 0x2a ] = KEY_MEDIA, 682 [ 0x18 ] = KEY_EPG, 683}; 684 685EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey); 686 687IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = { 688 [ 0x0f ] = KEY_0, 689 [ 0x03 ] = KEY_1, 690 [ 0x04 ] = KEY_2, 691 [ 0x05 ] = KEY_3, 692 [ 0x07 ] = KEY_4, 693 [ 0x08 ] = KEY_5, 694 [ 0x09 ] = KEY_6, 695 [ 0x0b ] = KEY_7, 696 [ 0x0c ] = KEY_8, 697 [ 0x0d ] = KEY_9, 698 699 [ 0x0e ] = KEY_MODE, // Air/Cable 700 [ 0x11 ] = KEY_VIDEO, // Video 701 [ 0x15 ] = KEY_AUDIO, // Audio 702 [ 0x00 ] = KEY_POWER, // Power 703 [ 0x18 ] = KEY_TUNER, // AV Source 704 [ 0x02 ] = KEY_ZOOM, // Fullscreen 705 [ 0x1a ] = KEY_LANGUAGE, // Stereo 706 [ 0x1b ] = KEY_MUTE, // Mute 707 [ 0x14 ] = KEY_VOLUMEUP, // Volume + 708 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume - 709 [ 0x12 ] = KEY_CHANNELUP, // Channel + 710 [ 0x13 ] = KEY_CHANNELDOWN, // Channel - 711 [ 0x06 ] = KEY_AGAIN, // Recall 712 [ 0x10 ] = KEY_ENTER, // Enter 713}; 714 715EXPORT_SYMBOL_GPL(ir_codes_flyvideo); 716 717IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = { 718 [ 0x01 ] = KEY_ZOOM, // Full Screen 719 [ 0x00 ] = KEY_POWER, // Power 720 721 [ 0x03 ] = KEY_1, 722 [ 0x04 ] = KEY_2, 723 [ 0x05 ] = KEY_3, 724 [ 0x07 ] = KEY_4, 725 [ 0x08 ] = KEY_5, 726 [ 0x09 ] = KEY_6, 727 [ 0x0b ] = KEY_7, 728 [ 0x0c ] = KEY_8, 729 [ 0x0d ] = KEY_9, 730 [ 0x06 ] = KEY_AGAIN, // Recall 731 [ 0x0f ] = KEY_0, 732 [ 0x10 ] = KEY_MUTE, // Mute 733 [ 0x02 ] = KEY_RADIO, // TV/Radio 734 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program) 735 736 [ 0x14 ] = KEY_VOLUMEUP, // VOL+ 737 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL- 738 [ 0x12 ] = KEY_CHANNELUP, // CH+ 739 [ 0x13 ] = KEY_CHANNELDOWN, // CH- 740 [ 0x1d ] = KEY_ENTER, // Enter 741 742 [ 0x1a ] = KEY_MODE, // PIP 743 [ 0x18 ] = KEY_TUNER, // Source 744 745 [ 0x1e ] = KEY_RECORD, // Record/Pause 746 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key) 747 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause 748 [ 0x19 ] = KEY_BACK, // Rewind << 749 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause 750 [ 0x1f ] = KEY_FORWARD, // Forward >> 751 [ 0x16 ] = KEY_PREVIOUS, // Back |<< 752 [ 0x11 ] = KEY_STOP, // Stop 753 [ 0x0e ] = KEY_NEXT, // End >>| 754}; 755 756EXPORT_SYMBOL_GPL(ir_codes_flydvb); 757 758IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = { 759 [ 0x00 ] = KEY_0, 760 [ 0x01 ] = KEY_1, 761 [ 0x02 ] = KEY_2, 762 [ 0x03 ] = KEY_3, 763 [ 0x04 ] = KEY_4, 764 [ 0x05 ] = KEY_5, 765 [ 0x06 ] = KEY_6, 766 [ 0x07 ] = KEY_7, 767 [ 0x08 ] = KEY_8, 768 [ 0x09 ] = KEY_9, 769 770 [ 0x0a ] = KEY_POWER, 771 [ 0x0b ] = KEY_PROG1, // app 772 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen 773 [ 0x0d ] = KEY_CHANNELUP, // channel 774 [ 0x0e ] = KEY_CHANNELDOWN, // channel- 775 [ 0x0f ] = KEY_VOLUMEUP, 776 [ 0x10 ] = KEY_VOLUMEDOWN, 777 [ 0x11 ] = KEY_TUNER, // AV 778 [ 0x12 ] = KEY_NUMLOCK, // -/-- 779 [ 0x13 ] = KEY_AUDIO, // audio 780 [ 0x14 ] = KEY_MUTE, 781 [ 0x15 ] = KEY_UP, 782 [ 0x16 ] = KEY_DOWN, 783 [ 0x17 ] = KEY_LEFT, 784 [ 0x18 ] = KEY_RIGHT, 785 [ 0x19 ] = BTN_LEFT, 786 [ 0x1a ] = BTN_RIGHT, 787 [ 0x1b ] = KEY_WWW, // text 788 [ 0x1c ] = KEY_REWIND, 789 [ 0x1d ] = KEY_FORWARD, 790 [ 0x1e ] = KEY_RECORD, 791 [ 0x1f ] = KEY_PLAY, 792 [ 0x20 ] = KEY_PREVIOUSSONG, 793 [ 0x21 ] = KEY_NEXTSONG, 794 [ 0x22 ] = KEY_PAUSE, 795 [ 0x23 ] = KEY_STOP, 796}; 797 798EXPORT_SYMBOL_GPL(ir_codes_cinergy); 799 800/* Alfons Geser <a.geser@cox.net> 801 * updates from Job D. R. Borges <jobdrb@ig.com.br> */ 802IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = { 803 [ 0x12 ] = KEY_POWER, 804 [ 0x01 ] = KEY_TV, // DVR 805 [ 0x15 ] = KEY_DVD, // DVD 806 [ 0x17 ] = KEY_AUDIO, // music 807 // DVR mode / DVD mode / music mode 808 809 [ 0x1b ] = KEY_MUTE, // mute 810 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek 811 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek 812 [ 0x16 ] = KEY_ZOOM, // full screen 813 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall 814 [ 0x1d ] = KEY_RESTART, // playback / angle / del 815 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist 816 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo 817 818 [ 0x31 ] = KEY_HELP, // help 819 [ 0x32 ] = KEY_MODE, // num/memo 820 [ 0x33 ] = KEY_ESC, // cancel 821 822 [ 0x0c ] = KEY_UP, // up 823 [ 0x10 ] = KEY_DOWN, // down 824 [ 0x08 ] = KEY_LEFT, // left 825 [ 0x04 ] = KEY_RIGHT, // right 826 [ 0x03 ] = KEY_SELECT, // select 827 828 [ 0x1f ] = KEY_REWIND, // rewind 829 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause 830 [ 0x29 ] = KEY_FORWARD, // forward 831 [ 0x14 ] = KEY_AGAIN, // repeat 832 [ 0x2b ] = KEY_RECORD, // recording 833 [ 0x2c ] = KEY_STOP, // stop 834 [ 0x2d ] = KEY_PLAY, // play 835 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle 836 837 [ 0x00 ] = KEY_0, 838 [ 0x05 ] = KEY_1, 839 [ 0x06 ] = KEY_2, 840 [ 0x07 ] = KEY_3, 841 [ 0x09 ] = KEY_4, 842 [ 0x0a ] = KEY_5, 843 [ 0x0b ] = KEY_6, 844 [ 0x0d ] = KEY_7, 845 [ 0x0e ] = KEY_8, 846 [ 0x0f ] = KEY_9, 847 848 [ 0x2a ] = KEY_VOLUMEUP, 849 [ 0x11 ] = KEY_VOLUMEDOWN, 850 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up 851 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down 852 853 [ 0x13 ] = KEY_ENTER, // enter 854 [ 0x21 ] = KEY_DOT, // . (decimal dot) 855}; 856 857EXPORT_SYMBOL_GPL(ir_codes_eztv); 858 859/* Alex Hermann <gaaf@gmx.net> */ 860IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = { 861 [ 0x28 ] = KEY_1, 862 [ 0x18 ] = KEY_2, 863 [ 0x38 ] = KEY_3, 864 [ 0x24 ] = KEY_4, 865 [ 0x14 ] = KEY_5, 866 [ 0x34 ] = KEY_6, 867 [ 0x2c ] = KEY_7, 868 [ 0x1c ] = KEY_8, 869 [ 0x3c ] = KEY_9, 870 [ 0x22 ] = KEY_0, 871 872 [ 0x20 ] = KEY_TV, /* TV/FM */ 873 [ 0x10 ] = KEY_CD, /* CD */ 874 [ 0x30 ] = KEY_TEXT, /* TELETEXT */ 875 [ 0x00 ] = KEY_POWER, /* POWER */ 876 877 [ 0x08 ] = KEY_VIDEO, /* VIDEO */ 878 [ 0x04 ] = KEY_AUDIO, /* AUDIO */ 879 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */ 880 881 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */ 882 [ 0x32 ] = KEY_REWIND, /* LOOP */ 883 [ 0x02 ] = KEY_PRINT, /* PREVIEW */ 884 885 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */ 886 [ 0x1a ] = KEY_SLEEP, /* FREEZE */ 887 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */ 888 [ 0x0a ] = KEY_MUTE, /* MUTE */ 889 890 [ 0x26 ] = KEY_RECORD, /* RECORD */ 891 [ 0x16 ] = KEY_PAUSE, /* PAUSE */ 892 [ 0x36 ] = KEY_STOP, /* STOP */ 893 [ 0x06 ] = KEY_PLAY, /* PLAY */ 894 895 [ 0x2e ] = KEY_RED, /* RED */ 896 [ 0x21 ] = KEY_GREEN, /* GREEN */ 897 [ 0x0e ] = KEY_YELLOW, /* YELLOW */ 898 [ 0x01 ] = KEY_BLUE, /* BLUE */ 899 900 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */ 901 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */ 902 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */ 903 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */ 904}; 905 906EXPORT_SYMBOL_GPL(ir_codes_avermedia); 907 908IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = { 909 [ 0x14 ] = KEY_MUTE, 910 [ 0x24 ] = KEY_ZOOM, 911 912 [ 0x01 ] = KEY_DVD, 913 [ 0x23 ] = KEY_RADIO, 914 [ 0x00 ] = KEY_TV, 915 916 [ 0x0a ] = KEY_REWIND, 917 [ 0x08 ] = KEY_PLAYPAUSE, 918 [ 0x0f ] = KEY_FORWARD, 919 920 [ 0x02 ] = KEY_PREVIOUS, 921 [ 0x07 ] = KEY_STOP, 922 [ 0x06 ] = KEY_NEXT, 923 924 [ 0x0c ] = KEY_UP, 925 [ 0x0e ] = KEY_DOWN, 926 [ 0x0b ] = KEY_LEFT, 927 [ 0x0d ] = KEY_RIGHT, 928 [ 0x11 ] = KEY_OK, 929 930 [ 0x03 ] = KEY_MENU, 931 [ 0x09 ] = KEY_SETUP, 932 [ 0x05 ] = KEY_VIDEO, 933 [ 0x22 ] = KEY_CHANNEL, 934 935 [ 0x12 ] = KEY_VOLUMEUP, 936 [ 0x15 ] = KEY_VOLUMEDOWN, 937 [ 0x10 ] = KEY_CHANNELUP, 938 [ 0x13 ] = KEY_CHANNELDOWN, 939 940 [ 0x04 ] = KEY_RECORD, 941 942 [ 0x16 ] = KEY_1, 943 [ 0x17 ] = KEY_2, 944 [ 0x18 ] = KEY_3, 945 [ 0x19 ] = KEY_4, 946 [ 0x1a ] = KEY_5, 947 [ 0x1b ] = KEY_6, 948 [ 0x1c ] = KEY_7, 949 [ 0x1d ] = KEY_8, 950 [ 0x1e ] = KEY_9, 951 [ 0x1f ] = KEY_0, 952 953 [ 0x20 ] = KEY_LANGUAGE, 954 [ 0x21 ] = KEY_SLEEP, 955}; 956 957EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr); 958 959/* Michael Tokarev <mjt@tls.msk.ru> 960 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg 961 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at 962 least, and probably other cards too. 963 The "ascii-art picture" below (in comments, first row 964 is the keycode in hex, and subsequent row(s) shows 965 the button labels (several variants when appropriate) 966 helps to descide which keycodes to assign to the buttons. 967 */ 968IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { 969 970 /* 0x1c 0x12 * 971 * FUNCTION POWER * 972 * FM (|) * 973 * */ 974 [ 0x1c ] = KEY_RADIO, 975 [ 0x12 ] = KEY_POWER, 976 977 /* 0x01 0x02 0x03 * 978 * 1 2 3 * 979 * * 980 * 0x04 0x05 0x06 * 981 * 4 5 6 * 982 * * 983 * 0x07 0x08 0x09 * 984 * 7 8 9 * 985 * */ 986 [ 0x01 ] = KEY_1, 987 [ 0x02 ] = KEY_2, 988 [ 0x03 ] = KEY_3, 989 [ 0x04 ] = KEY_4, 990 [ 0x05 ] = KEY_5, 991 [ 0x06 ] = KEY_6, 992 [ 0x07 ] = KEY_7, 993 [ 0x08 ] = KEY_8, 994 [ 0x09 ] = KEY_9, 995 996 /* 0x0a 0x00 0x17 * 997 * RECALL 0 +100 * 998 * PLUS * 999 * */ 1000 [ 0x0a ] = KEY_AGAIN, 1001 [ 0x00 ] = KEY_0, 1002 [ 0x17 ] = KEY_DIGITS, 1003 1004 /* 0x14 0x10 * 1005 * MENU INFO * 1006 * OSD */ 1007 [ 0x14 ] = KEY_MENU, 1008 [ 0x10 ] = KEY_INFO, 1009 1010 /* 0x0b * 1011 * Up * 1012 * * 1013 * 0x18 0x16 0x0c * 1014 * Left Ok Right * 1015 * * 1016 * 0x015 * 1017 * Down * 1018 * */ 1019 [ 0x0b ] = KEY_UP, 1020 [ 0x18 ] = KEY_LEFT, 1021 [ 0x16 ] = KEY_OK, 1022 [ 0x0c ] = KEY_RIGHT, 1023 [ 0x15 ] = KEY_DOWN, 1024 1025 /* 0x11 0x0d * 1026 * TV/AV MODE * 1027 * SOURCE STEREO * 1028 * */ 1029 [ 0x11 ] = KEY_TV, 1030 [ 0x0d ] = KEY_MODE, 1031 1032 /* 0x0f 0x1b 0x1a * 1033 * AUDIO Vol+ Chan+ * 1034 * TIMESHIFT??? * 1035 * * 1036 * 0x0e 0x1f 0x1e * 1037 * SLEEP Vol- Chan- * 1038 * */ 1039 [ 0x0f ] = KEY_AUDIO, 1040 [ 0x1b ] = KEY_VOLUMEUP, 1041 [ 0x1a ] = KEY_CHANNELUP, 1042 [ 0x0e ] = KEY_SLEEP, 1043 [ 0x1f ] = KEY_VOLUMEDOWN, 1044 [ 0x1e ] = KEY_CHANNELDOWN, 1045 1046 /* 0x13 0x19 * 1047 * MUTE SNAPSHOT* 1048 * */ 1049 [ 0x13 ] = KEY_MUTE, 1050 [ 0x19 ] = KEY_RECORD, 1051 1052 // 0x1d unused ? 1053}; 1054 1055EXPORT_SYMBOL_GPL(ir_codes_manli); 1056 1057/* Mike Baikov <mike@baikov.com> */ 1058IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = { 1059 1060 [ 0x21 ] = KEY_POWER, 1061 [ 0x69 ] = KEY_TV, 1062 [ 0x33 ] = KEY_0, 1063 [ 0x51 ] = KEY_1, 1064 [ 0x31 ] = KEY_2, 1065 [ 0x71 ] = KEY_3, 1066 [ 0x3b ] = KEY_4, 1067 [ 0x58 ] = KEY_5, 1068 [ 0x41 ] = KEY_6, 1069 [ 0x48 ] = KEY_7, 1070 [ 0x30 ] = KEY_8, 1071 [ 0x53 ] = KEY_9, 1072 [ 0x73 ] = KEY_AGAIN, /* LOOP */ 1073 [ 0x0a ] = KEY_AUDIO, 1074 [ 0x61 ] = KEY_PRINT, /* PREVIEW */ 1075 [ 0x7a ] = KEY_VIDEO, 1076 [ 0x20 ] = KEY_CHANNELUP, 1077 [ 0x40 ] = KEY_CHANNELDOWN, 1078 [ 0x18 ] = KEY_VOLUMEDOWN, 1079 [ 0x50 ] = KEY_VOLUMEUP, 1080 [ 0x10 ] = KEY_MUTE, 1081 [ 0x4a ] = KEY_SEARCH, 1082 [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */ 1083 [ 0x22 ] = KEY_RECORD, 1084 [ 0x62 ] = KEY_STOP, 1085 [ 0x78 ] = KEY_PLAY, 1086 [ 0x39 ] = KEY_REWIND, 1087 [ 0x59 ] = KEY_PAUSE, 1088 [ 0x19 ] = KEY_FORWARD, 1089 [ 0x09 ] = KEY_ZOOM, 1090 1091 [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */ 1092 [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */ 1093 [ 0x3a ] = KEY_F23, /* TIMESHIFT */ 1094 [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */ 1095}; 1096 1097EXPORT_SYMBOL_GPL(ir_codes_gotview7135); 1098 1099IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = { 1100 [ 0x03 ] = KEY_POWER, 1101 [ 0x6f ] = KEY_MUTE, 1102 [ 0x10 ] = KEY_BACKSPACE, /* Recall */ 1103 1104 [ 0x11 ] = KEY_0, 1105 [ 0x04 ] = KEY_1, 1106 [ 0x05 ] = KEY_2, 1107 [ 0x06 ] = KEY_3, 1108 [ 0x08 ] = KEY_4, 1109 [ 0x09 ] = KEY_5, 1110 [ 0x0a ] = KEY_6, 1111 [ 0x0c ] = KEY_7, 1112 [ 0x0d ] = KEY_8, 1113 [ 0x0e ] = KEY_9, 1114 [ 0x12 ] = KEY_DOT, /* 100+ */ 1115 1116 [ 0x07 ] = KEY_VOLUMEUP, 1117 [ 0x0b ] = KEY_VOLUMEDOWN, 1118 [ 0x1a ] = KEY_KPPLUS, 1119 [ 0x18 ] = KEY_KPMINUS, 1120 [ 0x15 ] = KEY_UP, 1121 [ 0x1d ] = KEY_DOWN, 1122 [ 0x0f ] = KEY_CHANNELUP, 1123 [ 0x13 ] = KEY_CHANNELDOWN, 1124 [ 0x48 ] = KEY_ZOOM, 1125 1126 [ 0x1b ] = KEY_VIDEO, /* Video source */ 1127 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */ 1128 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */ 1129 1130 [ 0x4b ] = KEY_RECORD, 1131 [ 0x46 ] = KEY_PLAY, 1132 [ 0x45 ] = KEY_PAUSE, /* Pause */ 1133 [ 0x44 ] = KEY_STOP, 1134 [ 0x40 ] = KEY_FORWARD, /* Forward ? */ 1135 [ 0x42 ] = KEY_REWIND, /* Backward ? */ 1136 1137}; 1138 1139EXPORT_SYMBOL_GPL(ir_codes_purpletv); 1140 1141/* Mapping for the 28 key remote control as seen at 1142 http://www.sednacomputer.com/photo/cardbus-tv.jpg 1143 Pavel Mihaylov <bin@bash.info> */ 1144IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = { 1145 [ 0x00 ] = KEY_0, 1146 [ 0x01 ] = KEY_1, 1147 [ 0x02 ] = KEY_2, 1148 [ 0x03 ] = KEY_3, 1149 [ 0x04 ] = KEY_4, 1150 [ 0x05 ] = KEY_5, 1151 [ 0x06 ] = KEY_6, 1152 [ 0x07 ] = KEY_7, 1153 [ 0x08 ] = KEY_8, 1154 [ 0x09 ] = KEY_9, 1155 1156 [ 0x0a ] = KEY_AGAIN, /* Recall */ 1157 [ 0x0b ] = KEY_CHANNELUP, 1158 [ 0x0c ] = KEY_VOLUMEUP, 1159 [ 0x0d ] = KEY_MODE, /* Stereo */ 1160 [ 0x0e ] = KEY_STOP, 1161 [ 0x0f ] = KEY_PREVIOUSSONG, 1162 [ 0x10 ] = KEY_ZOOM, 1163 [ 0x11 ] = KEY_TUNER, /* Source */ 1164 [ 0x12 ] = KEY_POWER, 1165 [ 0x13 ] = KEY_MUTE, 1166 [ 0x15 ] = KEY_CHANNELDOWN, 1167 [ 0x18 ] = KEY_VOLUMEDOWN, 1168 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */ 1169 [ 0x1a ] = KEY_NEXTSONG, 1170 [ 0x1b ] = KEY_TEXT, /* Time Shift */ 1171 [ 0x1c ] = KEY_RADIO, /* FM Radio */ 1172 [ 0x1d ] = KEY_RECORD, 1173 [ 0x1e ] = KEY_PAUSE, 1174}; 1175 1176EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna); 1177 1178/* Mark Phalan <phalanm@o2.ie> */ 1179IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = { 1180 [ 0x00 ] = KEY_0, 1181 [ 0x01 ] = KEY_1, 1182 [ 0x02 ] = KEY_2, 1183 [ 0x03 ] = KEY_3, 1184 [ 0x04 ] = KEY_4, 1185 [ 0x05 ] = KEY_5, 1186 [ 0x06 ] = KEY_6, 1187 [ 0x07 ] = KEY_7, 1188 [ 0x08 ] = KEY_8, 1189 [ 0x09 ] = KEY_9, 1190 1191 [ 0x12 ] = KEY_POWER, 1192 [ 0x10 ] = KEY_MUTE, 1193 [ 0x1f ] = KEY_VOLUMEDOWN, 1194 [ 0x1b ] = KEY_VOLUMEUP, 1195 [ 0x1a ] = KEY_CHANNELUP, 1196 [ 0x1e ] = KEY_CHANNELDOWN, 1197 [ 0x0e ] = KEY_PAGEUP, 1198 [ 0x1d ] = KEY_PAGEDOWN, 1199 [ 0x13 ] = KEY_SOUND, 1200 1201 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */ 1202 [ 0x16 ] = KEY_SUBTITLE, /* CC */ 1203 [ 0x0d ] = KEY_TEXT, /* TTX */ 1204 [ 0x0b ] = KEY_TV, /* AIR/CBL */ 1205 [ 0x11 ] = KEY_PC, /* PC/TV */ 1206 [ 0x17 ] = KEY_OK, /* CH RTN */ 1207 [ 0x19 ] = KEY_MODE, /* FUNC */ 1208 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */ 1209 1210 /* Not sure what to do with these ones! */ 1211 [ 0x0f ] = KEY_SELECT, /* SOURCE */ 1212 [ 0x0a ] = KEY_KPPLUS, /* +100 */ 1213 [ 0x14 ] = KEY_EQUAL, /* SYNC */ 1214 [ 0x1c ] = KEY_MEDIA, /* PC/TV */ 1215}; 1216 1217EXPORT_SYMBOL_GPL(ir_codes_pv951); 1218 1219/* generic RC5 keytable */ 1220/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ 1221/* used by old (black) Hauppauge remotes */ 1222IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = { 1223 /* Keys 0 to 9 */ 1224 [ 0x00 ] = KEY_0, 1225 [ 0x01 ] = KEY_1, 1226 [ 0x02 ] = KEY_2, 1227 [ 0x03 ] = KEY_3, 1228 [ 0x04 ] = KEY_4, 1229 [ 0x05 ] = KEY_5, 1230 [ 0x06 ] = KEY_6, 1231 [ 0x07 ] = KEY_7, 1232 [ 0x08 ] = KEY_8, 1233 [ 0x09 ] = KEY_9, 1234 1235 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */ 1236 [ 0x0c ] = KEY_POWER, /* standby */ 1237 [ 0x0d ] = KEY_MUTE, /* mute / demute */ 1238 [ 0x0f ] = KEY_TV, /* display */ 1239 [ 0x10 ] = KEY_VOLUMEUP, 1240 [ 0x11 ] = KEY_VOLUMEDOWN, 1241 [ 0x12 ] = KEY_BRIGHTNESSUP, 1242 [ 0x13 ] = KEY_BRIGHTNESSDOWN, 1243 [ 0x1e ] = KEY_SEARCH, /* search + */ 1244 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ 1245 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ 1246 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */ 1247 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */ 1248 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */ 1249 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */ 1250 [ 0x30 ] = KEY_PAUSE, 1251 [ 0x32 ] = KEY_REWIND, 1252 [ 0x33 ] = KEY_GOTO, 1253 [ 0x35 ] = KEY_PLAY, 1254 [ 0x36 ] = KEY_STOP, 1255 [ 0x37 ] = KEY_RECORD, /* recording */ 1256 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */ 1257 [ 0x3d ] = KEY_SUSPEND, /* system standby */ 1258 1259}; 1260 1261EXPORT_SYMBOL_GPL(ir_codes_rc5_tv); 1262 1263/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ 1264IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { 1265 /* Keys 0 to 9 */ 1266 [ 0x12 ] = KEY_0, 1267 [ 0x05 ] = KEY_1, 1268 [ 0x06 ] = KEY_2, 1269 [ 0x07 ] = KEY_3, 1270 [ 0x09 ] = KEY_4, 1271 [ 0x0a ] = KEY_5, 1272 [ 0x0b ] = KEY_6, 1273 [ 0x0d ] = KEY_7, 1274 [ 0x0e ] = KEY_8, 1275 [ 0x0f ] = KEY_9, 1276 1277 [ 0x00 ] = KEY_POWER, 1278 [ 0x1b ] = KEY_AUDIO, /* Audio Source */ 1279 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */ 1280 [ 0x1e ] = KEY_VIDEO, /* Video Source */ 1281 [ 0x16 ] = KEY_INFO, /* Display information */ 1282 [ 0x04 ] = KEY_VOLUMEUP, 1283 [ 0x08 ] = KEY_VOLUMEDOWN, 1284 [ 0x0c ] = KEY_CHANNELUP, 1285 [ 0x10 ] = KEY_CHANNELDOWN, 1286 [ 0x03 ] = KEY_ZOOM, /* fullscreen */ 1287 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */ 1288 [ 0x20 ] = KEY_SLEEP, 1289 [ 0x29 ] = KEY_CLEAR, /* boss key */ 1290 [ 0x14 ] = KEY_MUTE, 1291 [ 0x2b ] = KEY_RED, 1292 [ 0x2c ] = KEY_GREEN, 1293 [ 0x2d ] = KEY_YELLOW, 1294 [ 0x2e ] = KEY_BLUE, 1295 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */ 1296 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */ 1297 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */ 1298 [ 0x21 ] = KEY_DOT, 1299 [ 0x13 ] = KEY_ENTER, 1300 [ 0x11 ] = KEY_LAST, /* Recall (last channel */ 1301 [ 0x22 ] = KEY_PREVIOUS, 1302 [ 0x23 ] = KEY_PLAYPAUSE, 1303 [ 0x24 ] = KEY_NEXT, 1304 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */ 1305 [ 0x26 ] = KEY_STOP, 1306 [ 0x27 ] = KEY_RECORD, 1307 [ 0x28 ] = KEY_SAVE, /* Screenshot */ 1308 [ 0x2f ] = KEY_MENU, 1309 [ 0x30 ] = KEY_CANCEL, 1310 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */ 1311 [ 0x32 ] = KEY_SUBTITLE, 1312 [ 0x33 ] = KEY_LANGUAGE, 1313 [ 0x34 ] = KEY_REWIND, 1314 [ 0x35 ] = KEY_FASTFORWARD, 1315 [ 0x36 ] = KEY_TV, 1316 [ 0x37 ] = KEY_RADIO, /* FM */ 1317 [ 0x38 ] = KEY_DVD 1318}; 1319 1320EXPORT_SYMBOL_GPL(ir_codes_winfast); 1321 1322IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = { 1323 [ 0x59 ] = KEY_MUTE, 1324 [ 0x4a ] = KEY_POWER, 1325 1326 [ 0x18 ] = KEY_TEXT, 1327 [ 0x26 ] = KEY_TV, 1328 [ 0x3d ] = KEY_PRINT, 1329 1330 [ 0x48 ] = KEY_RED, 1331 [ 0x04 ] = KEY_GREEN, 1332 [ 0x11 ] = KEY_YELLOW, 1333 [ 0x00 ] = KEY_BLUE, 1334 1335 [ 0x2d ] = KEY_VOLUMEUP, 1336 [ 0x1e ] = KEY_VOLUMEDOWN, 1337 1338 [ 0x49 ] = KEY_MENU, 1339 1340 [ 0x16 ] = KEY_CHANNELUP, 1341 [ 0x17 ] = KEY_CHANNELDOWN, 1342 1343 [ 0x20 ] = KEY_UP, 1344 [ 0x21 ] = KEY_DOWN, 1345 [ 0x22 ] = KEY_LEFT, 1346 [ 0x23 ] = KEY_RIGHT, 1347 [ 0x0d ] = KEY_SELECT, 1348 1349 1350 1351 [ 0x08 ] = KEY_BACK, 1352 [ 0x07 ] = KEY_REFRESH, 1353 1354 [ 0x2f ] = KEY_ZOOM, 1355 [ 0x29 ] = KEY_RECORD, 1356 1357 [ 0x4b ] = KEY_PAUSE, 1358 [ 0x4d ] = KEY_REWIND, 1359 [ 0x2e ] = KEY_PLAY, 1360 [ 0x4e ] = KEY_FORWARD, 1361 [ 0x53 ] = KEY_PREVIOUS, 1362 [ 0x4c ] = KEY_STOP, 1363 [ 0x54 ] = KEY_NEXT, 1364 1365 [ 0x69 ] = KEY_0, 1366 [ 0x6a ] = KEY_1, 1367 [ 0x6b ] = KEY_2, 1368 [ 0x6c ] = KEY_3, 1369 [ 0x6d ] = KEY_4, 1370 [ 0x6e ] = KEY_5, 1371 [ 0x6f ] = KEY_6, 1372 [ 0x70 ] = KEY_7, 1373 [ 0x71 ] = KEY_8, 1374 [ 0x72 ] = KEY_9, 1375 1376 [ 0x74 ] = KEY_CHANNEL, 1377 [ 0x0a ] = KEY_BACKSPACE, 1378}; 1379 1380EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color); 1381 1382/* Hauppauge: the newer, gray remotes (seems there are multiple 1383 * slightly different versions), shipped with cx88+ivtv cards. 1384 * almost rc5 coding, but some non-standard keys */ 1385IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = { 1386 /* Keys 0 to 9 */ 1387 [ 0x00 ] = KEY_0, 1388 [ 0x01 ] = KEY_1, 1389 [ 0x02 ] = KEY_2, 1390 [ 0x03 ] = KEY_3, 1391 [ 0x04 ] = KEY_4, 1392 [ 0x05 ] = KEY_5, 1393 [ 0x06 ] = KEY_6, 1394 [ 0x07 ] = KEY_7, 1395 [ 0x08 ] = KEY_8, 1396 [ 0x09 ] = KEY_9, 1397 1398 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */ 1399 [ 0x0b ] = KEY_RED, /* red button */ 1400 [ 0x0c ] = KEY_RADIO, 1401 [ 0x0d ] = KEY_MENU, 1402 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */ 1403 [ 0x0f ] = KEY_MUTE, 1404 [ 0x10 ] = KEY_VOLUMEUP, 1405 [ 0x11 ] = KEY_VOLUMEDOWN, 1406 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */ 1407 [ 0x14 ] = KEY_UP, 1408 [ 0x15 ] = KEY_DOWN, 1409 [ 0x16 ] = KEY_LEFT, 1410 [ 0x17 ] = KEY_RIGHT, 1411 [ 0x18 ] = KEY_VIDEO, /* Videos */ 1412 [ 0x19 ] = KEY_AUDIO, /* Music */ 1413 /* 0x1a: Pictures - presume this means 1414 "Multimedia Home Platform" - 1415 no "PICTURES" key in input.h 1416 */ 1417 [ 0x1a ] = KEY_MHP, 1418 1419 [ 0x1b ] = KEY_EPG, /* Guide */ 1420 [ 0x1c ] = KEY_TV, 1421 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */ 1422 [ 0x1f ] = KEY_EXIT, /* back/exit */ 1423 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ 1424 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ 1425 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */ 1426 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */ 1427 [ 0x25 ] = KEY_ENTER, /* OK */ 1428 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */ 1429 [ 0x29 ] = KEY_BLUE, /* blue key */ 1430 [ 0x2e ] = KEY_GREEN, /* green button */ 1431 [ 0x30 ] = KEY_PAUSE, /* pause */ 1432 [ 0x32 ] = KEY_REWIND, /* backward << */ 1433 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */ 1434 [ 0x35 ] = KEY_PLAY, 1435 [ 0x36 ] = KEY_STOP, 1436 [ 0x37 ] = KEY_RECORD, /* recording */ 1437 [ 0x38 ] = KEY_YELLOW, /* yellow key */ 1438 [ 0x3b ] = KEY_SELECT, /* top right button */ 1439 [ 0x3c ] = KEY_ZOOM, /* full */ 1440 [ 0x3d ] = KEY_POWER, /* system power (green button) */ 1441}; 1442 1443EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new); 1444 1445IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = { 1446 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */ 1447 [ 0x2a ] = KEY_FRONT, 1448 1449 [ 0x3e ] = KEY_1, 1450 [ 0x02 ] = KEY_2, 1451 [ 0x06 ] = KEY_3, 1452 [ 0x0a ] = KEY_4, 1453 [ 0x0e ] = KEY_5, 1454 [ 0x12 ] = KEY_6, 1455 [ 0x16 ] = KEY_7, 1456 [ 0x1a ] = KEY_8, 1457 [ 0x1e ] = KEY_9, 1458 [ 0x3a ] = KEY_0, 1459 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */ 1460 [ 0x20 ] = KEY_REFRESH, 1461 1462 [ 0x03 ] = KEY_BRIGHTNESSDOWN, 1463 [ 0x28 ] = KEY_AUDIO, 1464 [ 0x3c ] = KEY_UP, 1465 [ 0x3f ] = KEY_LEFT, 1466 [ 0x2e ] = KEY_MUTE, 1467 [ 0x3b ] = KEY_RIGHT, 1468 [ 0x00 ] = KEY_DOWN, 1469 [ 0x07 ] = KEY_BRIGHTNESSUP, 1470 [ 0x2c ] = KEY_TEXT, 1471 1472 [ 0x37 ] = KEY_RECORD, 1473 [ 0x17 ] = KEY_PLAY, 1474 [ 0x13 ] = KEY_PAUSE, 1475 [ 0x26 ] = KEY_STOP, 1476 [ 0x18 ] = KEY_FASTFORWARD, 1477 [ 0x14 ] = KEY_REWIND, 1478 [ 0x33 ] = KEY_ZOOM, 1479 [ 0x32 ] = KEY_KEYBOARD, 1480 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */ 1481 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */ 1482 [ 0x0b ] = KEY_RADIO, 1483 [ 0x10 ] = KEY_POWER, 1484 1485}; 1486 1487EXPORT_SYMBOL_GPL(ir_codes_npgtech); 1488 1489/* Norwood Micro (non-Pro) TV Tuner 1490 By Peter Naulls <peter@chocky.org> 1491 Key comments are the functions given in the manual */ 1492IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = { 1493 /* Keys 0 to 9 */ 1494 [ 0x20 ] = KEY_0, 1495 [ 0x21 ] = KEY_1, 1496 [ 0x22 ] = KEY_2, 1497 [ 0x23 ] = KEY_3, 1498 [ 0x24 ] = KEY_4, 1499 [ 0x25 ] = KEY_5, 1500 [ 0x26 ] = KEY_6, 1501 [ 0x27 ] = KEY_7, 1502 [ 0x28 ] = KEY_8, 1503 [ 0x29 ] = KEY_9, 1504 1505 [ 0x78 ] = KEY_TUNER, /* Video Source */ 1506 [ 0x2c ] = KEY_EXIT, /* Open/Close software */ 1507 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */ 1508 [ 0x69 ] = KEY_AGAIN, /* Recall */ 1509 1510 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */ 1511 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */ 1512 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */ 1513 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */ 1514 1515 [ 0x2d ] = KEY_MUTE, /* Mute */ 1516 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */ 1517 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */ 1518 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */ 1519 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */ 1520 1521 [ 0x3f ] = KEY_RECORD, /* Record */ 1522 [ 0x37 ] = KEY_PLAY, /* Play */ 1523 [ 0x36 ] = KEY_PAUSE, /* Pause */ 1524 [ 0x2b ] = KEY_STOP, /* Stop */ 1525 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */ 1526 [ 0x66 ] = KEY_REWIND, /* Rewind */ 1527 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */ 1528 [ 0x2e ] = KEY_CAMERA, /* Capture Video */ 1529 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */ 1530 [ 0x2f ] = KEY_ZOOM, /* Full Screen */ 1531 [ 0x34 ] = KEY_RADIO, /* FM */ 1532 [ 0x65 ] = KEY_POWER, /* Computer power */ 1533}; 1534 1535EXPORT_SYMBOL_GPL(ir_codes_norwood); 1536 1537/* From reading the following remotes: 1538 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 1539 * Hauppauge (from NOVA-CI-s box product) 1540 * This is a "middle of the road" approach, differences are noted 1541 */ 1542IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = { 1543 [ 0x00 ] = KEY_0, 1544 [ 0x01 ] = KEY_1, 1545 [ 0x02 ] = KEY_2, 1546 [ 0x03 ] = KEY_3, 1547 [ 0x04 ] = KEY_4, 1548 [ 0x05 ] = KEY_5, 1549 [ 0x06 ] = KEY_6, 1550 [ 0x07 ] = KEY_7, 1551 [ 0x08 ] = KEY_8, 1552 [ 0x09 ] = KEY_9, 1553 [ 0x0a ] = KEY_ENTER, 1554 [ 0x0b ] = KEY_RED, 1555 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */ 1556 [ 0x0d ] = KEY_MUTE, 1557 [ 0x0f ] = KEY_A, /* TV on Hauppauge */ 1558 [ 0x10 ] = KEY_VOLUMEUP, 1559 [ 0x11 ] = KEY_VOLUMEDOWN, 1560 [ 0x14 ] = KEY_B, 1561 [ 0x1c ] = KEY_UP, 1562 [ 0x1d ] = KEY_DOWN, 1563 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */ 1564 [ 0x1f ] = KEY_BREAK, 1565 [ 0x20 ] = KEY_CHANNELUP, 1566 [ 0x21 ] = KEY_CHANNELDOWN, 1567 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */ 1568 [ 0x24 ] = KEY_RESTART, 1569 [ 0x25 ] = KEY_OK, 1570 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */ 1571 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */ 1572 [ 0x29 ] = KEY_PAUSE, 1573 [ 0x2b ] = KEY_RIGHT, 1574 [ 0x2c ] = KEY_LEFT, 1575 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */ 1576 [ 0x30 ] = KEY_SLOW, 1577 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */ 1578 [ 0x32 ] = KEY_REWIND, 1579 [ 0x34 ] = KEY_FASTFORWARD, 1580 [ 0x35 ] = KEY_PLAY, 1581 [ 0x36 ] = KEY_STOP, 1582 [ 0x37 ] = KEY_RECORD, 1583 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */ 1584 [ 0x3a ] = KEY_C, 1585 [ 0x3c ] = KEY_EXIT, 1586 [ 0x3d ] = KEY_POWER2, 1587 [ 0x3e ] = KEY_TUNER, 1588}; 1589 1590EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old); 1591 1592/* 1593 * Marc Fargas <telenieko@telenieko.com> 1594 * this is the remote control that comes with the asus p7131 1595 * which has a label saying is "Model PC-39" 1596 */ 1597IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = { 1598 /* Keys 0 to 9 */ 1599 [ 0x15 ] = KEY_0, 1600 [ 0x29 ] = KEY_1, 1601 [ 0x2d ] = KEY_2, 1602 [ 0x2b ] = KEY_3, 1603 [ 0x09 ] = KEY_4, 1604 [ 0x0d ] = KEY_5, 1605 [ 0x0b ] = KEY_6, 1606 [ 0x31 ] = KEY_7, 1607 [ 0x35 ] = KEY_8, 1608 [ 0x33 ] = KEY_9, 1609 1610 [ 0x3e ] = KEY_RADIO, /* radio */ 1611 [ 0x03 ] = KEY_MENU, /* dvd/menu */ 1612 [ 0x2a ] = KEY_VOLUMEUP, 1613 [ 0x19 ] = KEY_VOLUMEDOWN, 1614 [ 0x37 ] = KEY_UP, 1615 [ 0x3b ] = KEY_DOWN, 1616 [ 0x27 ] = KEY_LEFT, 1617 [ 0x2f ] = KEY_RIGHT, 1618 [ 0x25 ] = KEY_VIDEO, /* video */ 1619 [ 0x39 ] = KEY_AUDIO, /* music */ 1620 1621 [ 0x21 ] = KEY_TV, /* tv */ 1622 [ 0x1d ] = KEY_EXIT, /* back */ 1623 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */ 1624 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */ 1625 [ 0x1a ] = KEY_ENTER, /* enter */ 1626 1627 [ 0x06 ] = KEY_PAUSE, /* play/pause */ 1628 [ 0x1e ] = KEY_PREVIOUS, /* rew */ 1629 [ 0x26 ] = KEY_NEXT, /* forward */ 1630 [ 0x0e ] = KEY_REWIND, /* backward << */ 1631 [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */ 1632 [ 0x36 ] = KEY_STOP, 1633 [ 0x2e ] = KEY_RECORD, /* recording */ 1634 [ 0x16 ] = KEY_POWER, /* the button that reads "close" */ 1635 1636 [ 0x11 ] = KEY_ZOOM, /* full screen */ 1637 [ 0x13 ] = KEY_MACRO, /* recall */ 1638 [ 0x23 ] = KEY_HOME, /* home */ 1639 [ 0x05 ] = KEY_PVR, /* picture */ 1640 [ 0x3d ] = KEY_MUTE, /* mute */ 1641 [ 0x01 ] = KEY_DVD, /* dvd */ 1642}; 1643 1644EXPORT_SYMBOL_GPL(ir_codes_asus_pc39); 1645 1646 1647/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons 1648 Juan Pablo Sormani <sorman@gmail.com> */ 1649IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = { 1650 1651 /* Power button does nothing, neither in Windows app, 1652 although it sends data (used for BIOS wakeup?) */ 1653 [ 0x0d ] = KEY_MUTE, 1654 1655 [ 0x1e ] = KEY_TV, 1656 [ 0x00 ] = KEY_VIDEO, 1657 [ 0x01 ] = KEY_AUDIO, /* music */ 1658 [ 0x02 ] = KEY_MHP, /* picture */ 1659 1660 [ 0x1f ] = KEY_1, 1661 [ 0x03 ] = KEY_2, 1662 [ 0x04 ] = KEY_3, 1663 [ 0x05 ] = KEY_4, 1664 [ 0x1c ] = KEY_5, 1665 [ 0x06 ] = KEY_6, 1666 [ 0x07 ] = KEY_7, 1667 [ 0x08 ] = KEY_8, 1668 [ 0x1d ] = KEY_9, 1669 [ 0x0a ] = KEY_0, 1670 1671 [ 0x09 ] = KEY_LIST, /* -/-- */ 1672 [ 0x0b ] = KEY_LAST, /* recall */ 1673 1674 [ 0x14 ] = KEY_HOME, /* win start menu */ 1675 [ 0x15 ] = KEY_EXIT, /* exit */ 1676 [ 0x16 ] = KEY_UP, 1677 [ 0x12 ] = KEY_DOWN, 1678 [ 0x0c ] = KEY_RIGHT, 1679 [ 0x17 ] = KEY_LEFT, 1680 1681 [ 0x18 ] = KEY_ENTER, /* OK */ 1682 1683 [ 0x0e ] = KEY_ESC, 1684 [ 0x13 ] = KEY_D, /* desktop */ 1685 [ 0x11 ] = KEY_TAB, 1686 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */ 1687 1688 [ 0x1a ] = KEY_MENU, 1689 [ 0x1b ] = KEY_ZOOM, /* fullscreen */ 1690 [ 0x44 ] = KEY_TIME, /* time shift */ 1691 [ 0x40 ] = KEY_MODE, /* source */ 1692 1693 [ 0x5a ] = KEY_RECORD, 1694 [ 0x42 ] = KEY_PLAY, /* play/pause */ 1695 [ 0x45 ] = KEY_STOP, 1696 [ 0x43 ] = KEY_CAMERA, /* camera icon */ 1697 1698 [ 0x48 ] = KEY_REWIND, 1699 [ 0x4a ] = KEY_FASTFORWARD, 1700 [ 0x49 ] = KEY_PREVIOUS, 1701 [ 0x4b ] = KEY_NEXT, 1702 1703 [ 0x4c ] = KEY_FAVORITES, /* tv wall */ 1704 [ 0x4d ] = KEY_SOUND, /* DVD sound */ 1705 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */ 1706 [ 0x4f ] = KEY_TEXT, /* DVD text */ 1707 1708 [ 0x50 ] = KEY_SLEEP, /* shutdown */ 1709 [ 0x51 ] = KEY_MODE, /* stereo > main */ 1710 [ 0x52 ] = KEY_SELECT, /* stereo > sap */ 1711 [ 0x53 ] = KEY_PROG1, /* teletext */ 1712 1713 1714 [ 0x59 ] = KEY_RED, /* AP1 */ 1715 [ 0x41 ] = KEY_GREEN, /* AP2 */ 1716 [ 0x47 ] = KEY_YELLOW, /* AP3 */ 1717 [ 0x57 ] = KEY_BLUE, /* AP4 */ 1718 1719 1720}; 1721 1722EXPORT_SYMBOL_GPL(ir_codes_encore_enltv); 1723 1724/* for the Technotrend 1500 bundled remotes (grey and black): */ 1725IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = { 1726 [ 0x01 ] = KEY_POWER, 1727 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */ 1728 [ 0x03 ] = KEY_1, 1729 [ 0x04 ] = KEY_2, 1730 [ 0x05 ] = KEY_3, 1731 [ 0x06 ] = KEY_4, 1732 [ 0x07 ] = KEY_5, 1733 [ 0x08 ] = KEY_6, 1734 [ 0x09 ] = KEY_7, 1735 [ 0x0a ] = KEY_8, 1736 [ 0x0b ] = KEY_9, 1737 [ 0x0c ] = KEY_0, 1738 [ 0x0d ] = KEY_UP, 1739 [ 0x0e ] = KEY_LEFT, 1740 [ 0x0f ] = KEY_OK, 1741 [ 0x10 ] = KEY_RIGHT, 1742 [ 0x11 ] = KEY_DOWN, 1743 [ 0x12 ] = KEY_INFO, 1744 [ 0x13 ] = KEY_EXIT, 1745 [ 0x14 ] = KEY_RED, 1746 [ 0x15 ] = KEY_GREEN, 1747 [ 0x16 ] = KEY_YELLOW, 1748 [ 0x17 ] = KEY_BLUE, 1749 [ 0x18 ] = KEY_MUTE, 1750 [ 0x19 ] = KEY_TEXT, 1751 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */ 1752 [ 0x21 ] = KEY_OPTION, 1753 [ 0x22 ] = KEY_EPG, 1754 [ 0x23 ] = KEY_CHANNELUP, 1755 [ 0x24 ] = KEY_CHANNELDOWN, 1756 [ 0x25 ] = KEY_VOLUMEUP, 1757 [ 0x26 ] = KEY_VOLUMEDOWN, 1758 [ 0x27 ] = KEY_SETUP, 1759 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */ 1760 [ 0x3b ] = KEY_PLAY, 1761 [ 0x3c ] = KEY_STOP, 1762 [ 0x3d ] = KEY_REWIND, 1763 [ 0x3e ] = KEY_PAUSE, 1764 [ 0x3f ] = KEY_FORWARD, 1765}; 1766 1767EXPORT_SYMBOL_GPL(ir_codes_tt_1500); 1768