Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35d1988c authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code



Now that V4L drivers can support more than 7 bits for scan code, let's
add a modified version for the Hauppauge Grey IR containing the full IR
scancode.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6d691237
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
@@ -1847,6 +1847,76 @@ struct ir_scancode_table ir_codes_hauppauge_new_table = {
};
EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table);

/*
 * Hauppauge:the newer, gray remotes (seems there are multiple
 * slightly different versions), shipped with cx88+ivtv cards.
 *
 * This table contains the complete RC5 code, instead of just the data part
 */
static struct ir_scancode ir_codes_rc5_hauppauge_new[] = {
	/* Keys 0 to 9 */
	{ 0x1e00, KEY_0 },
	{ 0x1e01, KEY_1 },
	{ 0x1e02, KEY_2 },
	{ 0x1e03, KEY_3 },
	{ 0x1e04, KEY_4 },
	{ 0x1e05, KEY_5 },
	{ 0x1e06, KEY_6 },
	{ 0x1e07, KEY_7 },
	{ 0x1e08, KEY_8 },
	{ 0x1e09, KEY_9 },

	{ 0x1e0a, KEY_TEXT },		/* keypad asterisk as well */
	{ 0x1e0b, KEY_RED },		/* red button */
	{ 0x1e0c, KEY_RADIO },
	{ 0x1e0d, KEY_MENU },
	{ 0x1e0e, KEY_SUBTITLE },		/* also the # key */
	{ 0x1e0f, KEY_MUTE },
	{ 0x1e10, KEY_VOLUMEUP },
	{ 0x1e11, KEY_VOLUMEDOWN },
	{ 0x1e12, KEY_PREVIOUS },		/* previous channel */
	{ 0x1e14, KEY_UP },
	{ 0x1e15, KEY_DOWN },
	{ 0x1e16, KEY_LEFT },
	{ 0x1e17, KEY_RIGHT },
	{ 0x1e18, KEY_VIDEO },		/* Videos */
	{ 0x1e19, KEY_AUDIO },		/* Music */
	/* 0x1e1a: Pictures - presume this means
	   "Multimedia Home Platform" -
	   no "PICTURES" key in input.h
	 */
	{ 0x1e1a, KEY_MHP },

	{ 0x1e1b, KEY_EPG },		/* Guide */
	{ 0x1e1c, KEY_TV },
	{ 0x1e1e, KEY_NEXTSONG },		/* skip >| */
	{ 0x1e1f, KEY_EXIT },		/* back/exit */
	{ 0x1e20, KEY_CHANNELUP },	/* channel / program + */
	{ 0x1e21, KEY_CHANNELDOWN },	/* channel / program - */
	{ 0x1e22, KEY_CHANNEL },		/* source (old black remote) */
	{ 0x1e24, KEY_PREVIOUSSONG },	/* replay |< */
	{ 0x1e25, KEY_ENTER },		/* OK */
	{ 0x1e26, KEY_SLEEP },		/* minimize (old black remote) */
	{ 0x1e29, KEY_BLUE },		/* blue key */
	{ 0x1e2e, KEY_GREEN },		/* green button */
	{ 0x1e30, KEY_PAUSE },		/* pause */
	{ 0x1e32, KEY_REWIND },		/* backward << */
	{ 0x1e34, KEY_FASTFORWARD },	/* forward >> */
	{ 0x1e35, KEY_PLAY },
	{ 0x1e36, KEY_STOP },
	{ 0x1e37, KEY_RECORD },		/* recording */
	{ 0x1e38, KEY_YELLOW },		/* yellow key */
	{ 0x1e3b, KEY_SELECT },		/* top right button */
	{ 0x1e3c, KEY_ZOOM },		/* full */
	{ 0x1e3d, KEY_POWER },		/* system power (green button) */
};

struct ir_scancode_table ir_codes_rc5_hauppauge_new_table = {
	.scan = ir_codes_rc5_hauppauge_new,
	.size = ARRAY_SIZE(ir_codes_rc5_hauppauge_new),
};
EXPORT_SYMBOL_GPL(ir_codes_rc5_hauppauge_new_table);

static struct ir_scancode ir_codes_npgtech[] = {
	{ 0x1d, KEY_SWITCHVIDEOMODE },	/* switch inputs */
	{ 0x2a, KEY_FRONT },
@@ -3243,3 +3313,4 @@ struct ir_scancode_table ir_codes_gadmei_rm008z_table = {
	.size = ARRAY_SIZE(ir_codes_gadmei_rm008z),
};
EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table);
+1 −0
Original line number Diff line number Diff line
@@ -157,6 +157,7 @@ extern struct ir_scancode_table ir_codes_rc5_tv_table;
extern struct ir_scancode_table ir_codes_winfast_table;
extern struct ir_scancode_table ir_codes_pinnacle_color_table;
extern struct ir_scancode_table ir_codes_hauppauge_new_table;
extern struct ir_scancode_table ir_codes_rc5_hauppauge_new_table;
extern struct ir_scancode_table ir_codes_npgtech_table;
extern struct ir_scancode_table ir_codes_norwood_table;
extern struct ir_scancode_table ir_codes_proteus_2309_table;