mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 00:01:35 +00:00 
			
		
		
		
	 b04c1baf48
			
		
	
	
		b04c1baf48
		
	
	
	
	
		
			
			Add card support for Proteus Pro 2309, based on saa7130 bridge Signed-off-by: Michal Majchrowicz <mmajchrowicz@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
		
			
				
	
	
		
			1555 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			1555 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| 
 | |
| 
 | |
|     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);
 | |
| 
 | |
| /* Michal Majchrowicz <mmajchrowicz@gmail.com> */
 | |
| IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
 | |
| 	/* numeric */
 | |
| 	[ 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,
 | |
| 
 | |
| 	[ 0x5c ] = KEY_POWER,     /* power       */
 | |
| 	[ 0x20 ] = KEY_F,         /* full screen */
 | |
| 	[ 0x0f ] = KEY_BACKSPACE, /* recall      */
 | |
| 	[ 0x1b ] = KEY_ENTER,     /* mute        */
 | |
| 	[ 0x41 ] = KEY_RECORD,    /* record      */
 | |
| 	[ 0x43 ] = KEY_STOP,      /* stop        */
 | |
| 	[ 0x16 ] = KEY_S,
 | |
| 	[ 0x1a ] = KEY_Q,         /* off         */
 | |
| 	[ 0x2e ] = KEY_RED,
 | |
| 	[ 0x1f ] = KEY_DOWN,      /* channel -   */
 | |
| 	[ 0x1c ] = KEY_UP,        /* channel +   */
 | |
| 	[ 0x10 ] = KEY_LEFT,      /* volume -    */
 | |
| 	[ 0x1e ] = KEY_RIGHT,     /* volume +    */
 | |
| 	[ 0x14 ] = KEY_F1,
 | |
| };
 | |
| 
 | |
| EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
 | |
| /* 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_pinnacle_grey[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_pinnacle_grey);
 | |
| 
 | |
| 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,
 | |
| 	[ 0x1b ] = KEY_AUDIO,           /* Audio Source */
 | |
| 	[ 0x02 ] = KEY_TUNER,		/* TV/FM, not on Y0400052 */
 | |
| 	[ 0x1e ] = KEY_VIDEO,           /* Video Source */
 | |
| 	[ 0x16 ] = KEY_INFO,            /* Display information */
 | |
| 	[ 0x04 ] = KEY_VOLUMEUP,
 | |
| 	[ 0x08 ] = KEY_VOLUMEDOWN,
 | |
| 	[ 0x0c ] = KEY_CHANNELUP,
 | |
| 	[ 0x10 ] = KEY_CHANNELDOWN,
 | |
| 	[ 0x03 ] = KEY_ZOOM,		/* fullscreen */
 | |
| 	[ 0x1f ] = KEY_TEXT,		/* closed caption/teletext */
 | |
| 	[ 0x20 ] = KEY_SLEEP,
 | |
| 	[ 0x29 ] = KEY_CLEAR,           /* boss key */
 | |
| 	[ 0x14 ] = KEY_MUTE,
 | |
| 	[ 0x2b ] = KEY_RED,
 | |
| 	[ 0x2c ] = KEY_GREEN,
 | |
| 	[ 0x2d ] = KEY_YELLOW,
 | |
| 	[ 0x2e ] = KEY_BLUE,
 | |
| 	[ 0x18 ] = KEY_KPPLUS,		/* fine tune + , not on Y040052 */
 | |
| 	[ 0x19 ] = KEY_KPMINUS,		/* fine tune - , not on Y040052 */
 | |
| 	[ 0x2a ] = KEY_MEDIA,           /* PIP (Picture in picture */
 | |
| 	[ 0x21 ] = KEY_DOT,
 | |
| 	[ 0x13 ] = KEY_ENTER,
 | |
| 	[ 0x11 ] = KEY_LAST,            /* Recall (last channel */
 | |
| 	[ 0x22 ] = KEY_PREVIOUS,
 | |
| 	[ 0x23 ] = KEY_PLAYPAUSE,
 | |
| 	[ 0x24 ] = KEY_NEXT,
 | |
| 	[ 0x25 ] = KEY_ARCHIVE,       /* Time Shifting */
 | |
| 	[ 0x26 ] = KEY_STOP,
 | |
| 	[ 0x27 ] = KEY_RECORD,
 | |
| 	[ 0x28 ] = KEY_SAVE,          /* Screenshot */
 | |
| 	[ 0x2f ] = KEY_MENU,
 | |
| 	[ 0x30 ] = KEY_CANCEL,
 | |
| 	[ 0x31 ] = KEY_CHANNEL,       /* Channel Surf */
 | |
| 	[ 0x32 ] = KEY_SUBTITLE,
 | |
| 	[ 0x33 ] = KEY_LANGUAGE,
 | |
| 	[ 0x34 ] = KEY_REWIND,
 | |
| 	[ 0x35 ] = KEY_FASTFORWARD,
 | |
| 	[ 0x36 ] = KEY_TV,
 | |
| 	[ 0x37 ] = KEY_RADIO,         /* FM */
 | |
| 	[ 0x38 ] = KEY_DVD
 | |
| };
 | |
| 
 | |
| EXPORT_SYMBOL_GPL(ir_codes_winfast);
 | |
| 
 | |
| IR_KEYTAB_TYPE ir_codes_pinnacle_color[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_color);
 | |
| 
 | |
| /* 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);
 | |
| 
 | |
| IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
 | |
| 	[ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
 | |
| 	[ 0x2a ] = KEY_FRONT,
 | |
| 
 | |
| 	[ 0x3e ] = KEY_1,
 | |
| 	[ 0x02 ] = KEY_2,
 | |
| 	[ 0x06 ] = KEY_3,
 | |
| 	[ 0x0a ] = KEY_4,
 | |
| 	[ 0x0e ] = KEY_5,
 | |
| 	[ 0x12 ] = KEY_6,
 | |
| 	[ 0x16 ] = KEY_7,
 | |
| 	[ 0x1a ] = KEY_8,
 | |
| 	[ 0x1e ] = KEY_9,
 | |
| 	[ 0x3a ] = KEY_0,
 | |
| 	[ 0x22 ] = KEY_NUMLOCK,         /* -/-- */
 | |
| 	[ 0x20 ] = KEY_REFRESH,
 | |
| 
 | |
| 	[ 0x03 ] = KEY_BRIGHTNESSDOWN,
 | |
| 	[ 0x28 ] = KEY_AUDIO,
 | |
| 	[ 0x3c ] = KEY_UP,
 | |
| 	[ 0x3f ] = KEY_LEFT,
 | |
| 	[ 0x2e ] = KEY_MUTE,
 | |
| 	[ 0x3b ] = KEY_RIGHT,
 | |
| 	[ 0x00 ] = KEY_DOWN,
 | |
| 	[ 0x07 ] = KEY_BRIGHTNESSUP,
 | |
| 	[ 0x2c ] = KEY_TEXT,
 | |
| 
 | |
| 	[ 0x37 ] = KEY_RECORD,
 | |
| 	[ 0x17 ] = KEY_PLAY,
 | |
| 	[ 0x13 ] = KEY_PAUSE,
 | |
| 	[ 0x26 ] = KEY_STOP,
 | |
| 	[ 0x18 ] = KEY_FASTFORWARD,
 | |
| 	[ 0x14 ] = KEY_REWIND,
 | |
| 	[ 0x33 ] = KEY_ZOOM,
 | |
| 	[ 0x32 ] = KEY_KEYBOARD,
 | |
| 	[ 0x30 ] = KEY_GOTO,            /* Pointing arrow */
 | |
| 	[ 0x36 ] = KEY_MACRO,           /* Maximize/Minimize (yellow) */
 | |
| 	[ 0x0b ] = KEY_RADIO,
 | |
| 	[ 0x10 ] = KEY_POWER,
 | |
| 
 | |
| };
 | |
| 
 | |
| EXPORT_SYMBOL_GPL(ir_codes_npgtech);
 | |
| 
 | |
| /* Norwood Micro (non-Pro) TV Tuner
 | |
|    By Peter Naulls <peter@chocky.org>
 | |
|    Key comments are the functions given in the manual */
 | |
| IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
 | |
| 	/* Keys 0 to 9 */
 | |
| 	[ 0x20 ] = KEY_0,
 | |
| 	[ 0x21 ] = KEY_1,
 | |
| 	[ 0x22 ] = KEY_2,
 | |
| 	[ 0x23 ] = KEY_3,
 | |
| 	[ 0x24 ] = KEY_4,
 | |
| 	[ 0x25 ] = KEY_5,
 | |
| 	[ 0x26 ] = KEY_6,
 | |
| 	[ 0x27 ] = KEY_7,
 | |
| 	[ 0x28 ] = KEY_8,
 | |
| 	[ 0x29 ] = KEY_9,
 | |
| 
 | |
| 	[ 0x78 ] = KEY_TUNER,             /* Video Source        */
 | |
| 	[ 0x2c ] = KEY_EXIT,              /* Open/Close software */
 | |
| 	[ 0x2a ] = KEY_SELECT,            /* 2 Digit Select      */
 | |
| 	[ 0x69 ] = KEY_AGAIN,             /* Recall              */
 | |
| 
 | |
| 	[ 0x32 ] = KEY_BRIGHTNESSUP,      /* Brightness increase */
 | |
| 	[ 0x33 ] = KEY_BRIGHTNESSDOWN,    /* Brightness decrease */
 | |
| 	[ 0x6b ] = KEY_KPPLUS,            /* (not named >>>>>)   */
 | |
| 	[ 0x6c ] = KEY_KPMINUS,           /* (not named <<<<<)   */
 | |
| 
 | |
| 	[ 0x2d ] = KEY_MUTE,              /* Mute                */
 | |
| 	[ 0x30 ] = KEY_VOLUMEUP,          /* Volume up           */
 | |
| 	[ 0x31 ] = KEY_VOLUMEDOWN,        /* Volume down         */
 | |
| 	[ 0x60 ] = KEY_CHANNELUP,         /* Channel up          */
 | |
| 	[ 0x61 ] = KEY_CHANNELDOWN,       /* Channel down        */
 | |
| 
 | |
| 	[ 0x3f ] = KEY_RECORD,            /* Record              */
 | |
| 	[ 0x37 ] = KEY_PLAY,              /* Play                */
 | |
| 	[ 0x36 ] = KEY_PAUSE,             /* Pause               */
 | |
| 	[ 0x2b ] = KEY_STOP,              /* Stop                */
 | |
| 	[ 0x67 ] = KEY_FASTFORWARD,       /* Foward              */
 | |
| 	[ 0x66 ] = KEY_REWIND,            /* Rewind              */
 | |
| 	[ 0x3e ] = KEY_SEARCH,            /* Auto Scan           */
 | |
| 	[ 0x2e ] = KEY_CAMERA,            /* Capture Video       */
 | |
| 	[ 0x6d ] = KEY_MENU,              /* Show/Hide Control   */
 | |
| 	[ 0x2f ] = KEY_ZOOM,              /* Full Screen         */
 | |
| 	[ 0x34 ] = KEY_RADIO,             /* FM                  */
 | |
| 	[ 0x65 ] = KEY_POWER,             /* Computer power      */
 | |
| };
 | |
| 
 | |
| EXPORT_SYMBOL_GPL(ir_codes_norwood);
 |