Commit d152b8b6 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB: saa7134: use a full scancode table for M135A

parent ecf6e72d
Loading
Loading
Loading
Loading
+51 −49
Original line number Diff line number Diff line
@@ -122,55 +122,57 @@ static struct ir_scancode ir_codes_avermedia_dvbt[] = {
};
IR_TABLE(avermedia_dvbt, IR_TYPE_UNKNOWN, ir_codes_avermedia_dvbt);

/* Mauro Carvalho Chehab <mchehab@infradead.org> */
static struct ir_scancode ir_codes_avermedia_m135a[] = {
	{ 0x00, KEY_POWER2 },
	{ 0x2e, KEY_DOT },		/* '.' */
	{ 0x01, KEY_MODE },		/* TV/FM */

	{ 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 },
	{ 0x11, KEY_0 },

	{ 0x13, KEY_RIGHT },		/* -> */
	{ 0x12, KEY_LEFT },		/* <- */

	{ 0x17, KEY_SLEEP },		/* Capturar Imagem */
	{ 0x10, KEY_SHUFFLE },		/* Amostra */

	/* FIXME: The keys bellow aren't ok */

	{ 0x43, KEY_CHANNELUP },
	{ 0x42, KEY_CHANNELDOWN },
	{ 0x1f, KEY_VOLUMEUP },
	{ 0x1e, KEY_VOLUMEDOWN },
	{ 0x0c, KEY_ENTER },

	{ 0x14, KEY_MUTE },
	{ 0x08, KEY_AUDIO },

	{ 0x03, KEY_TEXT },
	{ 0x04, KEY_EPG },
	{ 0x2b, KEY_TV2 },		/* TV2 */

	{ 0x1d, KEY_RED },
	{ 0x1c, KEY_YELLOW },
	{ 0x41, KEY_GREEN },
	{ 0x40, KEY_BLUE },

	{ 0x1a, KEY_PLAYPAUSE },
	{ 0x19, KEY_RECORD },
	{ 0x18, KEY_PLAY },
	{ 0x1b, KEY_STOP },
};
IR_TABLE(avermedia_m135a, IR_TYPE_UNKNOWN, ir_codes_avermedia_m135a);
/*
 * Avermedia M135A with IR model RM-JX
 * The same codes exist on both Positivo (BR) and original IR
 * Mauro Carvalho Chehab <mchehab@infradead.org>
 */
static struct ir_scancode ir_codes_avermedia_m135a_rm_jx[] = {
	{ 0x0200, KEY_POWER2 },
	{ 0x022e, KEY_DOT },		/* '.' */
	{ 0x0201, KEY_MODE },		/* TV/FM or SOURCE */

	{ 0x0205, KEY_1 },
	{ 0x0206, KEY_2 },
	{ 0x0207, KEY_3 },
	{ 0x0209, KEY_4 },
	{ 0x020a, KEY_5 },
	{ 0x020b, KEY_6 },
	{ 0x020d, KEY_7 },
	{ 0x020e, KEY_8 },
	{ 0x020f, KEY_9 },
	{ 0x0211, KEY_0 },

	{ 0x0213, KEY_RIGHT },		/* -> or L */
	{ 0x0212, KEY_LEFT },		/* <- or R */

	{ 0x0217, KEY_SLEEP },		/* Capturar Imagem or Snapshot */
	{ 0x0210, KEY_SHUFFLE },	/* Amostra or 16 chan prev */

	{ 0x0303, KEY_CHANNELUP },
	{ 0x0302, KEY_CHANNELDOWN },
	{ 0x021f, KEY_VOLUMEUP },
	{ 0x021e, KEY_VOLUMEDOWN },
	{ 0x020c, KEY_ENTER },		/* Full Screen */

	{ 0x0214, KEY_MUTE },
	{ 0x0208, KEY_AUDIO },

	{ 0x0203, KEY_TEXT },		/* Teletext */
	{ 0x0204, KEY_EPG },
	{ 0x022b, KEY_TV2 },		/* TV2 or PIP */

	{ 0x021d, KEY_RED },
	{ 0x021c, KEY_YELLOW },
	{ 0x0301, KEY_GREEN },
	{ 0x0300, KEY_BLUE },

	{ 0x021a, KEY_PLAYPAUSE },
	{ 0x0219, KEY_RECORD },
	{ 0x0218, KEY_PLAY },
	{ 0x021b, KEY_STOP },
};
IR_TABLE(aver-m135a-RM-JX, IR_TYPE_NEC, ir_codes_avermedia_m135a_rm_jx);

/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
static struct ir_scancode ir_codes_avermedia_cardbus[] = {
+2 −2
Original line number Diff line number Diff line
@@ -525,9 +525,9 @@ int saa7134_input_init1(struct saa7134_dev *dev)
		saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
		break;
	case SAA7134_BOARD_AVERMEDIA_M135A:
		ir_codes     = &ir_codes_avermedia_m135a_table;
		ir_codes     = &ir_codes_avermedia_m135a_rm_jx_table;
		mask_keydown = 0x0040000;
		mask_keycode = 0x00013f;
		mask_keycode = 0xffff;
		nec_gpio     = 1;
		break;
	case SAA7134_BOARD_AVERMEDIA_777:
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ void ir_rc5_timer_keyup(unsigned long data);
extern struct ir_scancode_table ir_codes_empty_table;
extern struct ir_scancode_table ir_codes_avermedia_table;
extern struct ir_scancode_table ir_codes_avermedia_dvbt_table;
extern struct ir_scancode_table ir_codes_avermedia_m135a_table;
extern struct ir_scancode_table ir_codes_avermedia_m135a_rm_jx_table;
extern struct ir_scancode_table ir_codes_avermedia_cardbus_table;
extern struct ir_scancode_table ir_codes_apac_viewcomp_table;
extern struct ir_scancode_table ir_codes_pixelview_table;