| /* |
| |
| |
| Keytables for supported remote controls. This file is part of |
| video4linux. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
| */ |
| #include <linux/module.h> |
| #include <linux/moduleparam.h> |
| |
| #include <linux/input.h> |
| #include <media/ir-common.h> |
| |
| /* empty keytable, can be used as placeholder for not-yet created keytables */ |
| IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = { |
| [ 0x2a ] = KEY_COFFEE, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_empty); |
| |
| /* Matt Jesson <dvb@jesson.eclipse.co.uk */ |
| IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { |
| [ 0x28 ] = KEY_0, //'0' / 'enter' |
| [ 0x22 ] = KEY_1, //'1' |
| [ 0x12 ] = KEY_2, //'2' / 'up arrow' |
| [ 0x32 ] = KEY_3, //'3' |
| [ 0x24 ] = KEY_4, //'4' / 'left arrow' |
| [ 0x14 ] = KEY_5, //'5' |
| [ 0x34 ] = KEY_6, //'6' / 'right arrow' |
| [ 0x26 ] = KEY_7, //'7' |
| [ 0x16 ] = KEY_8, //'8' / 'down arrow' |
| [ 0x36 ] = KEY_9, //'9' |
| |
| [ 0x20 ] = KEY_LIST, // 'source' |
| [ 0x10 ] = KEY_TEXT, // 'teletext' |
| [ 0x00 ] = KEY_POWER, // 'power' |
| [ 0x04 ] = KEY_AUDIO, // 'audio' |
| [ 0x06 ] = KEY_ZOOM, // 'full screen' |
| [ 0x18 ] = KEY_VIDEO, // 'display' |
| [ 0x38 ] = KEY_SEARCH, // 'loop' |
| [ 0x08 ] = KEY_INFO, // 'preview' |
| [ 0x2a ] = KEY_REWIND, // 'backward <<' |
| [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>' |
| [ 0x3a ] = KEY_RECORD, // 'capture' |
| [ 0x0a ] = KEY_MUTE, // 'mute' |
| [ 0x2c ] = KEY_RECORD, // 'record' |
| [ 0x1c ] = KEY_PAUSE, // 'pause' |
| [ 0x3c ] = KEY_STOP, // 'stop' |
| [ 0x0c ] = KEY_PLAY, // 'play' |
| [ 0x2e ] = KEY_RED, // 'red' |
| [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel' |
| [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok' |
| [ 0x21 ] = KEY_GREEN, // 'green' |
| [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -' |
| [ 0x31 ] = KEY_CHANNELUP, // 'channel +' |
| [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -' |
| [ 0x3e ] = KEY_VOLUMEUP, // 'volume +' |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt); |
| |
| /* Attila Kondoros <attila.kondoros@chello.hu> */ |
| IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = { |
| |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| [ 0x00 ] = KEY_0, |
| [ 0x17 ] = KEY_LAST, // +100 |
| [ 0x0a ] = KEY_LIST, // recall |
| |
| |
| [ 0x1c ] = KEY_TUNER, // TV/FM |
| [ 0x15 ] = KEY_SEARCH, // scan |
| [ 0x12 ] = KEY_POWER, // power |
| [ 0x1f ] = KEY_VOLUMEDOWN, // vol up |
| [ 0x1b ] = KEY_VOLUMEUP, // vol down |
| [ 0x1e ] = KEY_CHANNELDOWN, // chn up |
| [ 0x1a ] = KEY_CHANNELUP, // chn down |
| |
| [ 0x11 ] = KEY_VIDEO, // video |
| [ 0x0f ] = KEY_ZOOM, // full screen |
| [ 0x13 ] = KEY_MUTE, // mute/unmute |
| [ 0x10 ] = KEY_TEXT, // min |
| |
| [ 0x0d ] = KEY_STOP, // freeze |
| [ 0x0e ] = KEY_RECORD, // record |
| [ 0x1d ] = KEY_PLAYPAUSE, // stop |
| [ 0x19 ] = KEY_PLAY, // play |
| |
| [ 0x16 ] = KEY_GOTO, // osd |
| [ 0x14 ] = KEY_REFRESH, // default |
| [ 0x0c ] = KEY_KPPLUS, // fine tune >>>> |
| [ 0x18 ] = KEY_KPMINUS // fine tune <<<< |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = { |
| |
| [ 0x1e ] = KEY_POWER, // power |
| [ 0x07 ] = KEY_MEDIA, // source |
| [ 0x1c ] = KEY_SEARCH, // scan |
| |
| /* FIXME: duplicate keycodes? |
| * |
| * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>> |
| * The GPIO values are |
| * 6397fb for both "Scan <" and "CH -", |
| * 639ffb for "Scan >" and "CH+", |
| * 6384fb for "Tune <" and "<<<", |
| * 638cfb for "Tune >" and ">>>", regardless of the mask. |
| * |
| * [ 0x17 ] = KEY_BACK, // fm scan << |
| * [ 0x1f ] = KEY_FORWARD, // fm scan >> |
| * |
| * [ 0x04 ] = KEY_LEFT, // fm tuning < |
| * [ 0x0c ] = KEY_RIGHT, // fm tuning > |
| * |
| * For now, these four keys are disabled. Pressing them will generate |
| * the CH+/CH-/<<</>>> events |
| */ |
| |
| [ 0x03 ] = KEY_TUNER, // TV/FM |
| |
| [ 0x00 ] = KEY_RECORD, |
| [ 0x08 ] = KEY_STOP, |
| [ 0x11 ] = KEY_PLAY, |
| |
| [ 0x1a ] = KEY_PLAYPAUSE, // freeze |
| [ 0x19 ] = KEY_ZOOM, // zoom |
| [ 0x0f ] = KEY_TEXT, // min |
| |
| [ 0x01 ] = KEY_1, |
| [ 0x0b ] = KEY_2, |
| [ 0x1b ] = KEY_3, |
| [ 0x05 ] = KEY_4, |
| [ 0x09 ] = KEY_5, |
| [ 0x15 ] = KEY_6, |
| [ 0x06 ] = KEY_7, |
| [ 0x0a ] = KEY_8, |
| [ 0x12 ] = KEY_9, |
| [ 0x02 ] = KEY_0, |
| [ 0x10 ] = KEY_LAST, // +100 |
| [ 0x13 ] = KEY_LIST, // recall |
| |
| [ 0x1f ] = KEY_CHANNELUP, // chn down |
| [ 0x17 ] = KEY_CHANNELDOWN, // chn up |
| [ 0x16 ] = KEY_VOLUMEUP, // vol down |
| [ 0x14 ] = KEY_VOLUMEDOWN, // vol up |
| |
| [ 0x04 ] = KEY_KPMINUS, // <<< |
| [ 0x0e ] = KEY_SETUP, // function |
| [ 0x0c ] = KEY_KPPLUS, // >>> |
| |
| [ 0x0d ] = KEY_GOTO, // mts |
| [ 0x1d ] = KEY_REFRESH, // reset |
| [ 0x18 ] = KEY_MUTE // mute/unmute |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_pixelview); |
| |
| IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| [ 0x0a ] = KEY_TV, |
| [ 0x0b ] = KEY_AUX, |
| [ 0x0c ] = KEY_DVD, |
| [ 0x0d ] = KEY_POWER, |
| [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */ |
| [ 0x0f ] = KEY_AUDIO, |
| [ 0x10 ] = KEY_INFO, |
| [ 0x11 ] = KEY_F13, /* 16:9 */ |
| [ 0x12 ] = KEY_F14, /* 14:9 */ |
| [ 0x13 ] = KEY_EPG, |
| [ 0x14 ] = KEY_EXIT, |
| [ 0x15 ] = KEY_MENU, |
| [ 0x16 ] = KEY_UP, |
| [ 0x17 ] = KEY_DOWN, |
| [ 0x18 ] = KEY_LEFT, |
| [ 0x19 ] = KEY_RIGHT, |
| [ 0x1a ] = KEY_ENTER, |
| [ 0x1b ] = KEY_CHANNELUP, |
| [ 0x1c ] = KEY_CHANNELDOWN, |
| [ 0x1d ] = KEY_VOLUMEUP, |
| [ 0x1e ] = KEY_VOLUMEDOWN, |
| [ 0x1f ] = KEY_RED, |
| [ 0x20 ] = KEY_GREEN, |
| [ 0x21 ] = KEY_YELLOW, |
| [ 0x22 ] = KEY_BLUE, |
| [ 0x23 ] = KEY_SUBTITLE, |
| [ 0x24 ] = KEY_F15, /* AD */ |
| [ 0x25 ] = KEY_TEXT, |
| [ 0x26 ] = KEY_MUTE, |
| [ 0x27 ] = KEY_REWIND, |
| [ 0x28 ] = KEY_STOP, |
| [ 0x29 ] = KEY_PLAY, |
| [ 0x2a ] = KEY_FASTFORWARD, |
| [ 0x2b ] = KEY_F16, /* chapter */ |
| [ 0x2c ] = KEY_PAUSE, |
| [ 0x2d ] = KEY_PLAY, |
| [ 0x2e ] = KEY_RECORD, |
| [ 0x2f ] = KEY_F17, /* picture in picture */ |
| [ 0x30 ] = KEY_KPPLUS, /* zoom in */ |
| [ 0x31 ] = KEY_KPMINUS, /* zoom out */ |
| [ 0x32 ] = KEY_F18, /* capture */ |
| [ 0x33 ] = KEY_F19, /* web */ |
| [ 0x34 ] = KEY_EMAIL, |
| [ 0x35 ] = KEY_PHONE, |
| [ 0x36 ] = KEY_PC |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_nebula); |
| |
| /* DigitalNow DNTV Live DVB-T Remote */ |
| IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = { |
| [ 0x00 ] = KEY_ESC, /* 'go up a level?' */ |
| /* Keys 0 to 9 */ |
| [ 0x0a ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0b ] = KEY_TUNER, /* tv/fm */ |
| [ 0x0c ] = KEY_SEARCH, /* scan */ |
| [ 0x0d ] = KEY_STOP, |
| [ 0x0e ] = KEY_PAUSE, |
| [ 0x0f ] = KEY_LIST, /* source */ |
| |
| [ 0x10 ] = KEY_MUTE, |
| [ 0x11 ] = KEY_REWIND, /* backward << */ |
| [ 0x12 ] = KEY_POWER, |
| [ 0x13 ] = KEY_S, /* snap */ |
| [ 0x14 ] = KEY_AUDIO, /* stereo */ |
| [ 0x15 ] = KEY_CLEAR, /* reset */ |
| [ 0x16 ] = KEY_PLAY, |
| [ 0x17 ] = KEY_ENTER, |
| [ 0x18 ] = KEY_ZOOM, /* full screen */ |
| [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */ |
| [ 0x1a ] = KEY_CHANNELUP, |
| [ 0x1b ] = KEY_VOLUMEUP, |
| [ 0x1c ] = KEY_INFO, /* preview */ |
| [ 0x1d ] = KEY_RECORD, /* record */ |
| [ 0x1e ] = KEY_CHANNELDOWN, |
| [ 0x1f ] = KEY_VOLUMEDOWN, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* IO-DATA BCTV7E Remote */ |
| IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = { |
| [ 0x40 ] = KEY_TV, |
| [ 0x20 ] = KEY_RADIO, /* FM */ |
| [ 0x60 ] = KEY_EPG, |
| [ 0x00 ] = KEY_POWER, |
| |
| /* Keys 0 to 9 */ |
| [ 0x44 ] = KEY_0, /* 10 */ |
| [ 0x50 ] = KEY_1, |
| [ 0x30 ] = KEY_2, |
| [ 0x70 ] = KEY_3, |
| [ 0x48 ] = KEY_4, |
| [ 0x28 ] = KEY_5, |
| [ 0x68 ] = KEY_6, |
| [ 0x58 ] = KEY_7, |
| [ 0x38 ] = KEY_8, |
| [ 0x78 ] = KEY_9, |
| |
| [ 0x10 ] = KEY_L, /* Live */ |
| [ 0x08 ] = KEY_T, /* Time Shift */ |
| |
| [ 0x18 ] = KEY_PLAYPAUSE, /* Play */ |
| |
| [ 0x24 ] = KEY_ENTER, /* 11 */ |
| [ 0x64 ] = KEY_ESC, /* 12 */ |
| [ 0x04 ] = KEY_M, /* Multi */ |
| |
| [ 0x54 ] = KEY_VIDEO, |
| [ 0x34 ] = KEY_CHANNELUP, |
| [ 0x74 ] = KEY_VOLUMEUP, |
| [ 0x14 ] = KEY_MUTE, |
| |
| [ 0x4c ] = KEY_S, /* SVIDEO */ |
| [ 0x2c ] = KEY_CHANNELDOWN, |
| [ 0x6c ] = KEY_VOLUMEDOWN, |
| [ 0x0c ] = KEY_ZOOM, |
| |
| [ 0x5c ] = KEY_PAUSE, |
| [ 0x3c ] = KEY_C, /* || (red) */ |
| [ 0x7c ] = KEY_RECORD, /* recording */ |
| [ 0x1c ] = KEY_STOP, |
| |
| [ 0x41 ] = KEY_REWIND, /* backward << */ |
| [ 0x21 ] = KEY_PLAY, |
| [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */ |
| [ 0x01 ] = KEY_NEXT, /* skip >| */ |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* ADS Tech Instant TV DVB-T PCI Remote */ |
| IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = { |
| /* Keys 0 to 9 */ |
| [ 0x4d ] = KEY_0, |
| [ 0x57 ] = KEY_1, |
| [ 0x4f ] = KEY_2, |
| [ 0x53 ] = KEY_3, |
| [ 0x56 ] = KEY_4, |
| [ 0x4e ] = KEY_5, |
| [ 0x5e ] = KEY_6, |
| [ 0x54 ] = KEY_7, |
| [ 0x4c ] = KEY_8, |
| [ 0x5c ] = KEY_9, |
| |
| [ 0x5b ] = KEY_POWER, |
| [ 0x5f ] = KEY_MUTE, |
| [ 0x55 ] = KEY_GOTO, |
| [ 0x5d ] = KEY_SEARCH, |
| [ 0x17 ] = KEY_EPG, /* Guide */ |
| [ 0x1f ] = KEY_MENU, |
| [ 0x0f ] = KEY_UP, |
| [ 0x46 ] = KEY_DOWN, |
| [ 0x16 ] = KEY_LEFT, |
| [ 0x1e ] = KEY_RIGHT, |
| [ 0x0e ] = KEY_SELECT, /* Enter */ |
| [ 0x5a ] = KEY_INFO, |
| [ 0x52 ] = KEY_EXIT, |
| [ 0x59 ] = KEY_PREVIOUS, |
| [ 0x51 ] = KEY_NEXT, |
| [ 0x58 ] = KEY_REWIND, |
| [ 0x50 ] = KEY_FORWARD, |
| [ 0x44 ] = KEY_PLAYPAUSE, |
| [ 0x07 ] = KEY_STOP, |
| [ 0x1b ] = KEY_RECORD, |
| [ 0x13 ] = KEY_TUNER, /* Live */ |
| [ 0x0a ] = KEY_A, |
| [ 0x12 ] = KEY_B, |
| [ 0x03 ] = KEY_PROG1, /* 1 */ |
| [ 0x01 ] = KEY_PROG2, /* 2 */ |
| [ 0x00 ] = KEY_PROG3, /* 3 */ |
| [ 0x06 ] = KEY_DVD, |
| [ 0x48 ] = KEY_AUX, /* Photo */ |
| [ 0x40 ] = KEY_VIDEO, |
| [ 0x19 ] = KEY_AUDIO, /* Music */ |
| [ 0x0b ] = KEY_CHANNELUP, |
| [ 0x08 ] = KEY_CHANNELDOWN, |
| [ 0x15 ] = KEY_VOLUMEUP, |
| [ 0x1c ] = KEY_VOLUMEDOWN, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* MSI TV@nywhere remote */ |
| IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = { |
| /* Keys 0 to 9 */ |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0c ] = KEY_MUTE, |
| [ 0x0f ] = KEY_SCREEN, /* Full Screen */ |
| [ 0x10 ] = KEY_F, /* Funtion */ |
| [ 0x11 ] = KEY_T, /* Time shift */ |
| [ 0x12 ] = KEY_POWER, |
| [ 0x13 ] = KEY_MEDIA, /* MTS */ |
| [ 0x14 ] = KEY_SLOW, |
| [ 0x16 ] = KEY_REWIND, /* backward << */ |
| [ 0x17 ] = KEY_ENTER, /* Return */ |
| [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */ |
| [ 0x1a ] = KEY_CHANNELUP, |
| [ 0x1b ] = KEY_VOLUMEUP, |
| [ 0x1e ] = KEY_CHANNELDOWN, |
| [ 0x1f ] = KEY_VOLUMEDOWN, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* Cinergy 1400 DVB-T */ |
| IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = { |
| [ 0x01 ] = KEY_POWER, |
| [ 0x02 ] = KEY_1, |
| [ 0x03 ] = KEY_2, |
| [ 0x04 ] = KEY_3, |
| [ 0x05 ] = KEY_4, |
| [ 0x06 ] = KEY_5, |
| [ 0x07 ] = KEY_6, |
| [ 0x08 ] = KEY_7, |
| [ 0x09 ] = KEY_8, |
| [ 0x0a ] = KEY_9, |
| [ 0x0c ] = KEY_0, |
| |
| [ 0x0b ] = KEY_VIDEO, |
| [ 0x0d ] = KEY_REFRESH, |
| [ 0x0e ] = KEY_SELECT, |
| [ 0x0f ] = KEY_EPG, |
| [ 0x10 ] = KEY_UP, |
| [ 0x11 ] = KEY_LEFT, |
| [ 0x12 ] = KEY_OK, |
| [ 0x13 ] = KEY_RIGHT, |
| [ 0x14 ] = KEY_DOWN, |
| [ 0x15 ] = KEY_TEXT, |
| [ 0x16 ] = KEY_INFO, |
| |
| [ 0x17 ] = KEY_RED, |
| [ 0x18 ] = KEY_GREEN, |
| [ 0x19 ] = KEY_YELLOW, |
| [ 0x1a ] = KEY_BLUE, |
| |
| [ 0x1b ] = KEY_CHANNELUP, |
| [ 0x1c ] = KEY_VOLUMEUP, |
| [ 0x1d ] = KEY_MUTE, |
| [ 0x1e ] = KEY_VOLUMEDOWN, |
| [ 0x1f ] = KEY_CHANNELDOWN, |
| |
| [ 0x40 ] = KEY_PAUSE, |
| [ 0x4c ] = KEY_PLAY, |
| [ 0x58 ] = KEY_RECORD, |
| [ 0x54 ] = KEY_PREVIOUS, |
| [ 0x48 ] = KEY_STOP, |
| [ 0x5c ] = KEY_NEXT, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* AVERTV STUDIO 303 Remote */ |
| IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = { |
| [ 0x2a ] = KEY_1, |
| [ 0x32 ] = KEY_2, |
| [ 0x3a ] = KEY_3, |
| [ 0x4a ] = KEY_4, |
| [ 0x52 ] = KEY_5, |
| [ 0x5a ] = KEY_6, |
| [ 0x6a ] = KEY_7, |
| [ 0x72 ] = KEY_8, |
| [ 0x7a ] = KEY_9, |
| [ 0x0e ] = KEY_0, |
| |
| [ 0x02 ] = KEY_POWER, |
| [ 0x22 ] = KEY_VIDEO, |
| [ 0x42 ] = KEY_AUDIO, |
| [ 0x62 ] = KEY_ZOOM, |
| [ 0x0a ] = KEY_TV, |
| [ 0x12 ] = KEY_CD, |
| [ 0x1a ] = KEY_TEXT, |
| |
| [ 0x16 ] = KEY_SUBTITLE, |
| [ 0x1e ] = KEY_REWIND, |
| [ 0x06 ] = KEY_PRINT, |
| |
| [ 0x2e ] = KEY_SEARCH, |
| [ 0x36 ] = KEY_SLEEP, |
| [ 0x3e ] = KEY_SHUFFLE, |
| [ 0x26 ] = KEY_MUTE, |
| |
| [ 0x4e ] = KEY_RECORD, |
| [ 0x56 ] = KEY_PAUSE, |
| [ 0x5e ] = KEY_STOP, |
| [ 0x46 ] = KEY_PLAY, |
| |
| [ 0x6e ] = KEY_RED, |
| [ 0x0b ] = KEY_GREEN, |
| [ 0x66 ] = KEY_YELLOW, |
| [ 0x03 ] = KEY_BLUE, |
| |
| [ 0x76 ] = KEY_LEFT, |
| [ 0x7e ] = KEY_RIGHT, |
| [ 0x13 ] = KEY_DOWN, |
| [ 0x1b ] = KEY_UP, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_avertv_303); |
| |
| /* ---------------------------------------------------------------------- */ |
| |
| /* DigitalNow DNTV Live! DVB-T Pro Remote */ |
| IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = { |
| [ 0x16 ] = KEY_POWER, |
| [ 0x5b ] = KEY_HOME, |
| |
| [ 0x55 ] = KEY_TV, /* live tv */ |
| [ 0x58 ] = KEY_TUNER, /* digital Radio */ |
| [ 0x5a ] = KEY_RADIO, /* FM radio */ |
| [ 0x59 ] = KEY_DVD, /* dvd menu */ |
| [ 0x03 ] = KEY_1, |
| [ 0x01 ] = KEY_2, |
| [ 0x06 ] = KEY_3, |
| [ 0x09 ] = KEY_4, |
| [ 0x1d ] = KEY_5, |
| [ 0x1f ] = KEY_6, |
| [ 0x0d ] = KEY_7, |
| [ 0x19 ] = KEY_8, |
| [ 0x1b ] = KEY_9, |
| [ 0x0c ] = KEY_CANCEL, |
| [ 0x15 ] = KEY_0, |
| [ 0x4a ] = KEY_CLEAR, |
| [ 0x13 ] = KEY_BACK, |
| [ 0x00 ] = KEY_TAB, |
| [ 0x4b ] = KEY_UP, |
| [ 0x4e ] = KEY_LEFT, |
| [ 0x4f ] = KEY_OK, |
| [ 0x52 ] = KEY_RIGHT, |
| [ 0x51 ] = KEY_DOWN, |
| [ 0x1e ] = KEY_VOLUMEUP, |
| [ 0x0a ] = KEY_VOLUMEDOWN, |
| [ 0x02 ] = KEY_CHANNELDOWN, |
| [ 0x05 ] = KEY_CHANNELUP, |
| [ 0x11 ] = KEY_RECORD, |
| [ 0x14 ] = KEY_PLAY, |
| [ 0x4c ] = KEY_PAUSE, |
| [ 0x1a ] = KEY_STOP, |
| [ 0x40 ] = KEY_REWIND, |
| [ 0x12 ] = KEY_FASTFORWARD, |
| [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */ |
| [ 0x42 ] = KEY_NEXTSONG, /* skip >| */ |
| [ 0x54 ] = KEY_CAMERA, /* capture */ |
| [ 0x50 ] = KEY_LANGUAGE, /* sap */ |
| [ 0x47 ] = KEY_TV2, /* pip */ |
| [ 0x4d ] = KEY_SCREEN, |
| [ 0x43 ] = KEY_SUBTITLE, |
| [ 0x10 ] = KEY_MUTE, |
| [ 0x49 ] = KEY_AUDIO, /* l/r */ |
| [ 0x07 ] = KEY_SLEEP, |
| [ 0x08 ] = KEY_VIDEO, /* a/v */ |
| [ 0x0e ] = KEY_PREVIOUS, /* recall */ |
| [ 0x45 ] = KEY_ZOOM, /* zoom + */ |
| [ 0x46 ] = KEY_ANGLE, /* zoom - */ |
| [ 0x56 ] = KEY_RED, |
| [ 0x57 ] = KEY_GREEN, |
| [ 0x5c ] = KEY_YELLOW, |
| [ 0x5d ] = KEY_BLUE, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro); |
| |
| IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = { |
| [ 0x01 ] = KEY_CHANNEL, |
| [ 0x02 ] = KEY_SELECT, |
| [ 0x03 ] = KEY_MUTE, |
| [ 0x04 ] = KEY_POWER, |
| [ 0x05 ] = KEY_1, |
| [ 0x06 ] = KEY_2, |
| [ 0x07 ] = KEY_3, |
| [ 0x08 ] = KEY_CHANNELUP, |
| [ 0x09 ] = KEY_4, |
| [ 0x0a ] = KEY_5, |
| [ 0x0b ] = KEY_6, |
| [ 0x0c ] = KEY_CHANNELDOWN, |
| [ 0x0d ] = KEY_7, |
| [ 0x0e ] = KEY_8, |
| [ 0x0f ] = KEY_9, |
| [ 0x10 ] = KEY_VOLUMEUP, |
| [ 0x11 ] = KEY_0, |
| [ 0x12 ] = KEY_MENU, |
| [ 0x13 ] = KEY_PRINT, |
| [ 0x14 ] = KEY_VOLUMEDOWN, |
| [ 0x16 ] = KEY_PAUSE, |
| [ 0x18 ] = KEY_RECORD, |
| [ 0x19 ] = KEY_REWIND, |
| [ 0x1a ] = KEY_PLAY, |
| [ 0x1b ] = KEY_FORWARD, |
| [ 0x1c ] = KEY_BACKSPACE, |
| [ 0x1e ] = KEY_STOP, |
| [ 0x40 ] = KEY_ZOOM, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_em_terratec); |
| |
| IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = { |
| [ 0x3a ] = KEY_0, |
| [ 0x31 ] = KEY_1, |
| [ 0x32 ] = KEY_2, |
| [ 0x33 ] = KEY_3, |
| [ 0x34 ] = KEY_4, |
| [ 0x35 ] = KEY_5, |
| [ 0x36 ] = KEY_6, |
| [ 0x37 ] = KEY_7, |
| [ 0x38 ] = KEY_8, |
| [ 0x39 ] = KEY_9, |
| |
| [ 0x2f ] = KEY_POWER, |
| |
| [ 0x2e ] = KEY_P, |
| [ 0x1f ] = KEY_L, |
| [ 0x2b ] = KEY_I, |
| |
| [ 0x2d ] = KEY_ZOOM, |
| [ 0x1e ] = KEY_ZOOM, |
| [ 0x1b ] = KEY_VOLUMEUP, |
| [ 0x0f ] = KEY_VOLUMEDOWN, |
| [ 0x17 ] = KEY_CHANNELUP, |
| [ 0x1c ] = KEY_CHANNELDOWN, |
| [ 0x25 ] = KEY_INFO, |
| |
| [ 0x3c ] = KEY_MUTE, |
| |
| [ 0x3d ] = KEY_LEFT, |
| [ 0x3b ] = KEY_RIGHT, |
| |
| [ 0x3f ] = KEY_UP, |
| [ 0x3e ] = KEY_DOWN, |
| [ 0x1a ] = KEY_PAUSE, |
| |
| [ 0x1d ] = KEY_MENU, |
| [ 0x19 ] = KEY_PLAY, |
| [ 0x16 ] = KEY_REWIND, |
| [ 0x13 ] = KEY_FORWARD, |
| [ 0x15 ] = KEY_PAUSE, |
| [ 0x0e ] = KEY_REWIND, |
| [ 0x0d ] = KEY_PLAY, |
| [ 0x0b ] = KEY_STOP, |
| [ 0x07 ] = KEY_FORWARD, |
| [ 0x27 ] = KEY_RECORD, |
| [ 0x26 ] = KEY_TUNER, |
| [ 0x29 ] = KEY_TEXT, |
| [ 0x2a ] = KEY_MEDIA, |
| [ 0x18 ] = KEY_EPG, |
| [ 0x27 ] = KEY_RECORD, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_em_pinnacle_usb); |
| |
| IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = { |
| [ 0x0f ] = KEY_0, |
| [ 0x03 ] = KEY_1, |
| [ 0x04 ] = KEY_2, |
| [ 0x05 ] = KEY_3, |
| [ 0x07 ] = KEY_4, |
| [ 0x08 ] = KEY_5, |
| [ 0x09 ] = KEY_6, |
| [ 0x0b ] = KEY_7, |
| [ 0x0c ] = KEY_8, |
| [ 0x0d ] = KEY_9, |
| |
| [ 0x0e ] = KEY_MODE, // Air/Cable |
| [ 0x11 ] = KEY_VIDEO, // Video |
| [ 0x15 ] = KEY_AUDIO, // Audio |
| [ 0x00 ] = KEY_POWER, // Power |
| [ 0x18 ] = KEY_TUNER, // AV Source |
| [ 0x02 ] = KEY_ZOOM, // Fullscreen |
| [ 0x1a ] = KEY_LANGUAGE, // Stereo |
| [ 0x1b ] = KEY_MUTE, // Mute |
| [ 0x14 ] = KEY_VOLUMEUP, // Volume + |
| [ 0x17 ] = KEY_VOLUMEDOWN, // Volume - |
| [ 0x12 ] = KEY_CHANNELUP, // Channel + |
| [ 0x13 ] = KEY_CHANNELDOWN, // Channel - |
| [ 0x06 ] = KEY_AGAIN, // Recall |
| [ 0x10 ] = KEY_ENTER, // Enter |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_flyvideo); |
| |
| IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = { |
| [ 0x01 ] = KEY_ZOOM, // Full Screen |
| [ 0x00 ] = KEY_POWER, // Power |
| |
| [ 0x03 ] = KEY_1, |
| [ 0x04 ] = KEY_2, |
| [ 0x05 ] = KEY_3, |
| [ 0x07 ] = KEY_4, |
| [ 0x08 ] = KEY_5, |
| [ 0x09 ] = KEY_6, |
| [ 0x0b ] = KEY_7, |
| [ 0x0c ] = KEY_8, |
| [ 0x0d ] = KEY_9, |
| [ 0x06 ] = KEY_AGAIN, // Recall |
| [ 0x0f ] = KEY_0, |
| [ 0x10 ] = KEY_MUTE, // Mute |
| [ 0x02 ] = KEY_RADIO, // TV/Radio |
| [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program) |
| |
| [ 0x14 ] = KEY_VOLUMEUP, // VOL+ |
| [ 0x17 ] = KEY_VOLUMEDOWN, // VOL- |
| [ 0x12 ] = KEY_CHANNELUP, // CH+ |
| [ 0x13 ] = KEY_CHANNELDOWN, // CH- |
| [ 0x1d ] = KEY_ENTER, // Enter |
| |
| [ 0x1a ] = KEY_MODE, // PIP |
| [ 0x18 ] = KEY_TUNER, // Source |
| |
| [ 0x1e ] = KEY_RECORD, // Record/Pause |
| [ 0x15 ] = KEY_ANGLE, // Swap (no label on key) |
| [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause |
| [ 0x19 ] = KEY_BACK, // Rewind << |
| [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause |
| [ 0x1f ] = KEY_FORWARD, // Forward >> |
| [ 0x16 ] = KEY_PREVIOUS, // Back |<< |
| [ 0x11 ] = KEY_STOP, // Stop |
| [ 0x0e ] = KEY_NEXT, // End >>| |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_flydvb); |
| |
| IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = { |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0a ] = KEY_POWER, |
| [ 0x0b ] = KEY_PROG1, // app |
| [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen |
| [ 0x0d ] = KEY_CHANNELUP, // channel |
| [ 0x0e ] = KEY_CHANNELDOWN, // channel- |
| [ 0x0f ] = KEY_VOLUMEUP, |
| [ 0x10 ] = KEY_VOLUMEDOWN, |
| [ 0x11 ] = KEY_TUNER, // AV |
| [ 0x12 ] = KEY_NUMLOCK, // -/-- |
| [ 0x13 ] = KEY_AUDIO, // audio |
| [ 0x14 ] = KEY_MUTE, |
| [ 0x15 ] = KEY_UP, |
| [ 0x16 ] = KEY_DOWN, |
| [ 0x17 ] = KEY_LEFT, |
| [ 0x18 ] = KEY_RIGHT, |
| [ 0x19 ] = BTN_LEFT, |
| [ 0x1a ] = BTN_RIGHT, |
| [ 0x1b ] = KEY_WWW, // text |
| [ 0x1c ] = KEY_REWIND, |
| [ 0x1d ] = KEY_FORWARD, |
| [ 0x1e ] = KEY_RECORD, |
| [ 0x1f ] = KEY_PLAY, |
| [ 0x20 ] = KEY_PREVIOUSSONG, |
| [ 0x21 ] = KEY_NEXTSONG, |
| [ 0x22 ] = KEY_PAUSE, |
| [ 0x23 ] = KEY_STOP, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_cinergy); |
| |
| /* Alfons Geser <a.geser@cox.net> |
| * updates from Job D. R. Borges <jobdrb@ig.com.br> */ |
| IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = { |
| [ 0x12 ] = KEY_POWER, |
| [ 0x01 ] = KEY_TV, // DVR |
| [ 0x15 ] = KEY_DVD, // DVD |
| [ 0x17 ] = KEY_AUDIO, // music |
| // DVR mode / DVD mode / music mode |
| |
| [ 0x1b ] = KEY_MUTE, // mute |
| [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek |
| [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek |
| [ 0x16 ] = KEY_ZOOM, // full screen |
| [ 0x1c ] = KEY_VIDEO, // video source / eject / delall |
| [ 0x1d ] = KEY_RESTART, // playback / angle / del |
| [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist |
| [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo |
| |
| [ 0x31 ] = KEY_HELP, // help |
| [ 0x32 ] = KEY_MODE, // num/memo |
| [ 0x33 ] = KEY_ESC, // cancel |
| |
| [ 0x0c ] = KEY_UP, // up |
| [ 0x10 ] = KEY_DOWN, // down |
| [ 0x08 ] = KEY_LEFT, // left |
| [ 0x04 ] = KEY_RIGHT, // right |
| [ 0x03 ] = KEY_SELECT, // select |
| |
| [ 0x1f ] = KEY_REWIND, // rewind |
| [ 0x20 ] = KEY_PLAYPAUSE, // play/pause |
| [ 0x29 ] = KEY_FORWARD, // forward |
| [ 0x14 ] = KEY_AGAIN, // repeat |
| [ 0x2b ] = KEY_RECORD, // recording |
| [ 0x2c ] = KEY_STOP, // stop |
| [ 0x2d ] = KEY_PLAY, // play |
| [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle |
| |
| [ 0x00 ] = KEY_0, |
| [ 0x05 ] = KEY_1, |
| [ 0x06 ] = KEY_2, |
| [ 0x07 ] = KEY_3, |
| [ 0x09 ] = KEY_4, |
| [ 0x0a ] = KEY_5, |
| [ 0x0b ] = KEY_6, |
| [ 0x0d ] = KEY_7, |
| [ 0x0e ] = KEY_8, |
| [ 0x0f ] = KEY_9, |
| |
| [ 0x2a ] = KEY_VOLUMEUP, |
| [ 0x11 ] = KEY_VOLUMEDOWN, |
| [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up |
| [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down |
| |
| [ 0x13 ] = KEY_ENTER, // enter |
| [ 0x21 ] = KEY_DOT, // . (decimal dot) |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_eztv); |
| |
| /* Alex Hermann <gaaf@gmx.net> */ |
| IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = { |
| [ 0x28 ] = KEY_1, |
| [ 0x18 ] = KEY_2, |
| [ 0x38 ] = KEY_3, |
| [ 0x24 ] = KEY_4, |
| [ 0x14 ] = KEY_5, |
| [ 0x34 ] = KEY_6, |
| [ 0x2c ] = KEY_7, |
| [ 0x1c ] = KEY_8, |
| [ 0x3c ] = KEY_9, |
| [ 0x22 ] = KEY_0, |
| |
| [ 0x20 ] = KEY_TV, /* TV/FM */ |
| [ 0x10 ] = KEY_CD, /* CD */ |
| [ 0x30 ] = KEY_TEXT, /* TELETEXT */ |
| [ 0x00 ] = KEY_POWER, /* POWER */ |
| |
| [ 0x08 ] = KEY_VIDEO, /* VIDEO */ |
| [ 0x04 ] = KEY_AUDIO, /* AUDIO */ |
| [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */ |
| |
| [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */ |
| [ 0x32 ] = KEY_REWIND, /* LOOP */ |
| [ 0x02 ] = KEY_PRINT, /* PREVIEW */ |
| |
| [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */ |
| [ 0x1a ] = KEY_SLEEP, /* FREEZE */ |
| [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */ |
| [ 0x0a ] = KEY_MUTE, /* MUTE */ |
| |
| [ 0x26 ] = KEY_RECORD, /* RECORD */ |
| [ 0x16 ] = KEY_PAUSE, /* PAUSE */ |
| [ 0x36 ] = KEY_STOP, /* STOP */ |
| [ 0x06 ] = KEY_PLAY, /* PLAY */ |
| |
| [ 0x2e ] = KEY_RED, /* RED */ |
| [ 0x21 ] = KEY_GREEN, /* GREEN */ |
| [ 0x0e ] = KEY_YELLOW, /* YELLOW */ |
| [ 0x01 ] = KEY_BLUE, /* BLUE */ |
| |
| [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */ |
| [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */ |
| [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */ |
| [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */ |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_avermedia); |
| |
| IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = { |
| [ 0x14 ] = KEY_MUTE, |
| [ 0x24 ] = KEY_ZOOM, |
| |
| [ 0x01 ] = KEY_DVD, |
| [ 0x23 ] = KEY_RADIO, |
| [ 0x00 ] = KEY_TV, |
| |
| [ 0x0a ] = KEY_REWIND, |
| [ 0x08 ] = KEY_PLAYPAUSE, |
| [ 0x0f ] = KEY_FORWARD, |
| |
| [ 0x02 ] = KEY_PREVIOUS, |
| [ 0x07 ] = KEY_STOP, |
| [ 0x06 ] = KEY_NEXT, |
| |
| [ 0x0c ] = KEY_UP, |
| [ 0x0e ] = KEY_DOWN, |
| [ 0x0b ] = KEY_LEFT, |
| [ 0x0d ] = KEY_RIGHT, |
| [ 0x11 ] = KEY_OK, |
| |
| [ 0x03 ] = KEY_MENU, |
| [ 0x09 ] = KEY_SETUP, |
| [ 0x05 ] = KEY_VIDEO, |
| [ 0x22 ] = KEY_CHANNEL, |
| |
| [ 0x12 ] = KEY_VOLUMEUP, |
| [ 0x15 ] = KEY_VOLUMEDOWN, |
| [ 0x10 ] = KEY_CHANNELUP, |
| [ 0x13 ] = KEY_CHANNELDOWN, |
| |
| [ 0x04 ] = KEY_RECORD, |
| |
| [ 0x16 ] = KEY_1, |
| [ 0x17 ] = KEY_2, |
| [ 0x18 ] = KEY_3, |
| [ 0x19 ] = KEY_4, |
| [ 0x1a ] = KEY_5, |
| [ 0x1b ] = KEY_6, |
| [ 0x1c ] = KEY_7, |
| [ 0x1d ] = KEY_8, |
| [ 0x1e ] = KEY_9, |
| [ 0x1f ] = KEY_0, |
| |
| [ 0x20 ] = KEY_LANGUAGE, |
| [ 0x21 ] = KEY_SLEEP, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr); |
| |
| /* Michael Tokarev <mjt@tls.msk.ru> |
| http://www.corpit.ru/mjt/beholdTV/remote_control.jpg |
| keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at |
| least, and probably other cards too. |
| The "ascii-art picture" below (in comments, first row |
| is the keycode in hex, and subsequent row(s) shows |
| the button labels (several variants when appropriate) |
| helps to descide which keycodes to assign to the buttons. |
| */ |
| IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { |
| |
| /* 0x1c 0x12 * |
| * FUNCTION POWER * |
| * FM (|) * |
| * */ |
| [ 0x1c ] = KEY_RADIO, /*XXX*/ |
| [ 0x12 ] = KEY_POWER, |
| |
| /* 0x01 0x02 0x03 * |
| * 1 2 3 * |
| * * |
| * 0x04 0x05 0x06 * |
| * 4 5 6 * |
| * * |
| * 0x07 0x08 0x09 * |
| * 7 8 9 * |
| * */ |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| /* 0x0a 0x00 0x17 * |
| * RECALL 0 +100 * |
| * PLUS * |
| * */ |
| [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */ |
| [ 0x00 ] = KEY_0, |
| [ 0x17 ] = KEY_DIGITS, /*XXX*/ |
| |
| /* 0x14 0x10 * |
| * MENU INFO * |
| * OSD */ |
| [ 0x14 ] = KEY_MENU, |
| [ 0x10 ] = KEY_INFO, |
| |
| /* 0x0b * |
| * Up * |
| * * |
| * 0x18 0x16 0x0c * |
| * Left Ok Right * |
| * * |
| * 0x015 * |
| * Down * |
| * */ |
| [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */ |
| [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */ |
| [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */ |
| [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */ |
| [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */ |
| |
| /* 0x11 0x0d * |
| * TV/AV MODE * |
| * SOURCE STEREO * |
| * */ |
| [ 0x11 ] = KEY_TV, /*XXX*/ |
| [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */ |
| |
| /* 0x0f 0x1b 0x1a * |
| * AUDIO Vol+ Chan+ * |
| * TIMESHIFT??? * |
| * * |
| * 0x0e 0x1f 0x1e * |
| * SLEEP Vol- Chan- * |
| * */ |
| [ 0x0f ] = KEY_AUDIO, |
| [ 0x1b ] = KEY_VOLUMEUP, |
| [ 0x1a ] = KEY_CHANNELUP, |
| [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */ |
| [ 0x1f ] = KEY_VOLUMEDOWN, |
| [ 0x1e ] = KEY_CHANNELDOWN, |
| |
| /* 0x13 0x19 * |
| * MUTE SNAPSHOT* |
| * */ |
| [ 0x13 ] = KEY_MUTE, |
| [ 0x19 ] = KEY_RECORD, /*XXX*/ |
| |
| // 0x1d unused ? |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_manli); |
| |
| /* Mike Baikov <mike@baikov.com> */ |
| IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = { |
| |
| [ 0x21 ] = KEY_POWER, |
| [ 0x69 ] = KEY_TV, |
| [ 0x33 ] = KEY_0, |
| [ 0x51 ] = KEY_1, |
| [ 0x31 ] = KEY_2, |
| [ 0x71 ] = KEY_3, |
| [ 0x3b ] = KEY_4, |
| [ 0x58 ] = KEY_5, |
| [ 0x41 ] = KEY_6, |
| [ 0x48 ] = KEY_7, |
| [ 0x30 ] = KEY_8, |
| [ 0x53 ] = KEY_9, |
| [ 0x73 ] = KEY_AGAIN, /* LOOP */ |
| [ 0x0a ] = KEY_AUDIO, |
| [ 0x61 ] = KEY_PRINT, /* PREVIEW */ |
| [ 0x7a ] = KEY_VIDEO, |
| [ 0x20 ] = KEY_CHANNELUP, |
| [ 0x40 ] = KEY_CHANNELDOWN, |
| [ 0x18 ] = KEY_VOLUMEDOWN, |
| [ 0x50 ] = KEY_VOLUMEUP, |
| [ 0x10 ] = KEY_MUTE, |
| [ 0x4a ] = KEY_SEARCH, |
| [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */ |
| [ 0x22 ] = KEY_RECORD, |
| [ 0x62 ] = KEY_STOP, |
| [ 0x78 ] = KEY_PLAY, |
| [ 0x39 ] = KEY_REWIND, |
| [ 0x59 ] = KEY_PAUSE, |
| [ 0x19 ] = KEY_FORWARD, |
| [ 0x09 ] = KEY_ZOOM, |
| |
| [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */ |
| [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */ |
| [ 0x3a ] = KEY_F23, /* TIMESHIFT */ |
| [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */ |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_gotview7135); |
| |
| IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = { |
| [ 0x03 ] = KEY_POWER, |
| [ 0x6f ] = KEY_MUTE, |
| [ 0x10 ] = KEY_BACKSPACE, /* Recall */ |
| |
| [ 0x11 ] = KEY_0, |
| [ 0x04 ] = KEY_1, |
| [ 0x05 ] = KEY_2, |
| [ 0x06 ] = KEY_3, |
| [ 0x08 ] = KEY_4, |
| [ 0x09 ] = KEY_5, |
| [ 0x0a ] = KEY_6, |
| [ 0x0c ] = KEY_7, |
| [ 0x0d ] = KEY_8, |
| [ 0x0e ] = KEY_9, |
| [ 0x12 ] = KEY_DOT, /* 100+ */ |
| |
| [ 0x07 ] = KEY_VOLUMEUP, |
| [ 0x0b ] = KEY_VOLUMEDOWN, |
| [ 0x1a ] = KEY_KPPLUS, |
| [ 0x18 ] = KEY_KPMINUS, |
| [ 0x15 ] = KEY_UP, |
| [ 0x1d ] = KEY_DOWN, |
| [ 0x0f ] = KEY_CHANNELUP, |
| [ 0x13 ] = KEY_CHANNELDOWN, |
| [ 0x48 ] = KEY_ZOOM, |
| |
| [ 0x1b ] = KEY_VIDEO, /* Video source */ |
| [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */ |
| [ 0x19 ] = KEY_SEARCH, /* Auto Scan */ |
| |
| [ 0x4b ] = KEY_RECORD, |
| [ 0x46 ] = KEY_PLAY, |
| [ 0x45 ] = KEY_PAUSE, /* Pause */ |
| [ 0x44 ] = KEY_STOP, |
| [ 0x40 ] = KEY_FORWARD, /* Forward ? */ |
| [ 0x42 ] = KEY_REWIND, /* Backward ? */ |
| |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_purpletv); |
| |
| /* Mapping for the 28 key remote control as seen at |
| http://www.sednacomputer.com/photo/cardbus-tv.jpg |
| Pavel Mihaylov <bin@bash.info> */ |
| IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = { |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0a ] = KEY_AGAIN, /* Recall */ |
| [ 0x0b ] = KEY_CHANNELUP, |
| [ 0x0c ] = KEY_VOLUMEUP, |
| [ 0x0d ] = KEY_MODE, /* Stereo */ |
| [ 0x0e ] = KEY_STOP, |
| [ 0x0f ] = KEY_PREVIOUSSONG, |
| [ 0x10 ] = KEY_ZOOM, |
| [ 0x11 ] = KEY_TUNER, /* Source */ |
| [ 0x12 ] = KEY_POWER, |
| [ 0x13 ] = KEY_MUTE, |
| [ 0x15 ] = KEY_CHANNELDOWN, |
| [ 0x18 ] = KEY_VOLUMEDOWN, |
| [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */ |
| [ 0x1a ] = KEY_NEXTSONG, |
| [ 0x1b ] = KEY_TEXT, /* Time Shift */ |
| [ 0x1c ] = KEY_RADIO, /* FM Radio */ |
| [ 0x1d ] = KEY_RECORD, |
| [ 0x1e ] = KEY_PAUSE, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna); |
| |
| /* Mark Phalan <phalanm@o2.ie> */ |
| IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = { |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x12 ] = KEY_POWER, |
| [ 0x10 ] = KEY_MUTE, |
| [ 0x1f ] = KEY_VOLUMEDOWN, |
| [ 0x1b ] = KEY_VOLUMEUP, |
| [ 0x1a ] = KEY_CHANNELUP, |
| [ 0x1e ] = KEY_CHANNELDOWN, |
| [ 0x0e ] = KEY_PAGEUP, |
| [ 0x1d ] = KEY_PAGEDOWN, |
| [ 0x13 ] = KEY_SOUND, |
| |
| [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */ |
| [ 0x16 ] = KEY_SUBTITLE, /* CC */ |
| [ 0x0d ] = KEY_TEXT, /* TTX */ |
| [ 0x0b ] = KEY_TV, /* AIR/CBL */ |
| [ 0x11 ] = KEY_PC, /* PC/TV */ |
| [ 0x17 ] = KEY_OK, /* CH RTN */ |
| [ 0x19 ] = KEY_MODE, /* FUNC */ |
| [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */ |
| |
| /* Not sure what to do with these ones! */ |
| [ 0x0f ] = KEY_SELECT, /* SOURCE */ |
| [ 0x0a ] = KEY_KPPLUS, /* +100 */ |
| [ 0x14 ] = KEY_EQUAL, /* SYNC */ |
| [ 0x1c ] = KEY_MEDIA, /* PC/TV */ |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_pv951); |
| |
| /* generic RC5 keytable */ |
| /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ |
| /* used by old (black) Hauppauge remotes */ |
| IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = { |
| /* Keys 0 to 9 */ |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */ |
| [ 0x0c ] = KEY_POWER, /* standby */ |
| [ 0x0d ] = KEY_MUTE, /* mute / demute */ |
| [ 0x0f ] = KEY_TV, /* display */ |
| [ 0x10 ] = KEY_VOLUMEUP, |
| [ 0x11 ] = KEY_VOLUMEDOWN, |
| [ 0x12 ] = KEY_BRIGHTNESSUP, |
| [ 0x13 ] = KEY_BRIGHTNESSDOWN, |
| [ 0x1e ] = KEY_SEARCH, /* search + */ |
| [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ |
| [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ |
| [ 0x22 ] = KEY_CHANNEL, /* alt / channel */ |
| [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */ |
| [ 0x26 ] = KEY_SLEEP, /* sleeptimer */ |
| [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */ |
| [ 0x30 ] = KEY_PAUSE, |
| [ 0x32 ] = KEY_REWIND, |
| [ 0x33 ] = KEY_GOTO, |
| [ 0x35 ] = KEY_PLAY, |
| [ 0x36 ] = KEY_STOP, |
| [ 0x37 ] = KEY_RECORD, /* recording */ |
| [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */ |
| [ 0x3d ] = KEY_SUSPEND, /* system standby */ |
| |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_rc5_tv); |
| |
| /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ |
| IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { |
| /* Keys 0 to 9 */ |
| [ 0x12 ] = KEY_0, |
| [ 0x05 ] = KEY_1, |
| [ 0x06 ] = KEY_2, |
| [ 0x07 ] = KEY_3, |
| [ 0x09 ] = KEY_4, |
| [ 0x0a ] = KEY_5, |
| [ 0x0b ] = KEY_6, |
| [ 0x0d ] = KEY_7, |
| [ 0x0e ] = KEY_8, |
| [ 0x0f ] = KEY_9, |
| |
| [ 0x00 ] = KEY_POWER, |
| [ 0x02 ] = KEY_TUNER, /* TV/FM */ |
| [ 0x1e ] = KEY_VIDEO, |
| [ 0x04 ] = KEY_VOLUMEUP, |
| [ 0x08 ] = KEY_VOLUMEDOWN, |
| [ 0x0c ] = KEY_CHANNELUP, |
| [ 0x10 ] = KEY_CHANNELDOWN, |
| [ 0x03 ] = KEY_ZOOM, /* fullscreen */ |
| [ 0x1f ] = KEY_SUBTITLE, /* closed caption/teletext */ |
| [ 0x20 ] = KEY_SLEEP, |
| [ 0x14 ] = KEY_MUTE, |
| [ 0x2b ] = KEY_RED, |
| [ 0x2c ] = KEY_GREEN, |
| [ 0x2d ] = KEY_YELLOW, |
| [ 0x2e ] = KEY_BLUE, |
| [ 0x18 ] = KEY_KPPLUS, /* fine tune + */ |
| [ 0x19 ] = KEY_KPMINUS, /* fine tune - */ |
| [ 0x21 ] = KEY_DOT, |
| [ 0x13 ] = KEY_ENTER, |
| [ 0x22 ] = KEY_BACK, |
| [ 0x23 ] = KEY_PLAYPAUSE, |
| [ 0x24 ] = KEY_NEXT, |
| [ 0x26 ] = KEY_STOP, |
| [ 0x27 ] = KEY_RECORD |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_winfast); |
| |
| IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = { |
| [ 0x59 ] = KEY_MUTE, |
| [ 0x4a ] = KEY_POWER, |
| |
| [ 0x18 ] = KEY_TEXT, |
| [ 0x26 ] = KEY_TV, |
| [ 0x3d ] = KEY_PRINT, |
| |
| [ 0x48 ] = KEY_RED, |
| [ 0x04 ] = KEY_GREEN, |
| [ 0x11 ] = KEY_YELLOW, |
| [ 0x00 ] = KEY_BLUE, |
| |
| [ 0x2d ] = KEY_VOLUMEUP, |
| [ 0x1e ] = KEY_VOLUMEDOWN, |
| |
| [ 0x49 ] = KEY_MENU, |
| |
| [ 0x16 ] = KEY_CHANNELUP, |
| [ 0x17 ] = KEY_CHANNELDOWN, |
| |
| [ 0x20 ] = KEY_UP, |
| [ 0x21 ] = KEY_DOWN, |
| [ 0x22 ] = KEY_LEFT, |
| [ 0x23 ] = KEY_RIGHT, |
| [ 0x0d ] = KEY_SELECT, |
| |
| |
| |
| [ 0x08 ] = KEY_BACK, |
| [ 0x07 ] = KEY_REFRESH, |
| |
| [ 0x2f ] = KEY_ZOOM, |
| [ 0x29 ] = KEY_RECORD, |
| |
| [ 0x4b ] = KEY_PAUSE, |
| [ 0x4d ] = KEY_REWIND, |
| [ 0x2e ] = KEY_PLAY, |
| [ 0x4e ] = KEY_FORWARD, |
| [ 0x53 ] = KEY_PREVIOUS, |
| [ 0x4c ] = KEY_STOP, |
| [ 0x54 ] = KEY_NEXT, |
| |
| [ 0x69 ] = KEY_0, |
| [ 0x6a ] = KEY_1, |
| [ 0x6b ] = KEY_2, |
| [ 0x6c ] = KEY_3, |
| [ 0x6d ] = KEY_4, |
| [ 0x6e ] = KEY_5, |
| [ 0x6f ] = KEY_6, |
| [ 0x70 ] = KEY_7, |
| [ 0x71 ] = KEY_8, |
| [ 0x72 ] = KEY_9, |
| |
| [ 0x74 ] = KEY_CHANNEL, |
| [ 0x0a ] = KEY_BACKSPACE, |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_pinnacle); |
| |
| /* Hauppauge: the newer, gray remotes (seems there are multiple |
| * slightly different versions), shipped with cx88+ivtv cards. |
| * almost rc5 coding, but some non-standard keys */ |
| IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = { |
| /* Keys 0 to 9 */ |
| [ 0x00 ] = KEY_0, |
| [ 0x01 ] = KEY_1, |
| [ 0x02 ] = KEY_2, |
| [ 0x03 ] = KEY_3, |
| [ 0x04 ] = KEY_4, |
| [ 0x05 ] = KEY_5, |
| [ 0x06 ] = KEY_6, |
| [ 0x07 ] = KEY_7, |
| [ 0x08 ] = KEY_8, |
| [ 0x09 ] = KEY_9, |
| |
| [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */ |
| [ 0x0b ] = KEY_RED, /* red button */ |
| [ 0x0c ] = KEY_RADIO, |
| [ 0x0d ] = KEY_MENU, |
| [ 0x0e ] = KEY_SUBTITLE, /* also the # key */ |
| [ 0x0f ] = KEY_MUTE, |
| [ 0x10 ] = KEY_VOLUMEUP, |
| [ 0x11 ] = KEY_VOLUMEDOWN, |
| [ 0x12 ] = KEY_PREVIOUS, /* previous channel */ |
| [ 0x14 ] = KEY_UP, |
| [ 0x15 ] = KEY_DOWN, |
| [ 0x16 ] = KEY_LEFT, |
| [ 0x17 ] = KEY_RIGHT, |
| [ 0x18 ] = KEY_VIDEO, /* Videos */ |
| [ 0x19 ] = KEY_AUDIO, /* Music */ |
| /* 0x1a: Pictures - presume this means |
| "Multimedia Home Platform" - |
| no "PICTURES" key in input.h |
| */ |
| [ 0x1a ] = KEY_MHP, |
| |
| [ 0x1b ] = KEY_EPG, /* Guide */ |
| [ 0x1c ] = KEY_TV, |
| [ 0x1e ] = KEY_NEXTSONG, /* skip >| */ |
| [ 0x1f ] = KEY_EXIT, /* back/exit */ |
| [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ |
| [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ |
| [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */ |
| [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */ |
| [ 0x25 ] = KEY_ENTER, /* OK */ |
| [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */ |
| [ 0x29 ] = KEY_BLUE, /* blue key */ |
| [ 0x2e ] = KEY_GREEN, /* green button */ |
| [ 0x30 ] = KEY_PAUSE, /* pause */ |
| [ 0x32 ] = KEY_REWIND, /* backward << */ |
| [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */ |
| [ 0x35 ] = KEY_PLAY, |
| [ 0x36 ] = KEY_STOP, |
| [ 0x37 ] = KEY_RECORD, /* recording */ |
| [ 0x38 ] = KEY_YELLOW, /* yellow key */ |
| [ 0x3b ] = KEY_SELECT, /* top right button */ |
| [ 0x3c ] = KEY_ZOOM, /* full */ |
| [ 0x3d ] = KEY_POWER, /* system power (green button) */ |
| }; |
| |
| EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new); |
| |