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

Commit 2e365883 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB (12598): dvb-usb: store rc5 custom and data at the same field



In order to be closer to V4L IR implementation, it is needed to replace
	u8 custom, data
to:
	u16 scan

This allows using non-rc5 mappings, like the 8 bit keycodes used on older
protocols. It will also allow future implementations of rc6 keystrokes
when needed.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 715a2233
Loading
Loading
Loading
Loading
+35 −35
Original line number Diff line number Diff line
@@ -38,41 +38,41 @@ static int a800_identify_state(struct usb_device *udev, struct dvb_usb_device_pr
}

static struct dvb_usb_rc_key a800_rc_keys[] = {
	{ 0x02, 0x01, KEY_PROG1 },       /* SOURCE */
	{ 0x02, 0x00, KEY_POWER },       /* POWER */
	{ 0x02, 0x05, KEY_1 },           /* 1 */
	{ 0x02, 0x06, KEY_2 },           /* 2 */
	{ 0x02, 0x07, KEY_3 },           /* 3 */
	{ 0x02, 0x09, KEY_4 },           /* 4 */
	{ 0x02, 0x0a, KEY_5 },           /* 5 */
	{ 0x02, 0x0b, KEY_6 },           /* 6 */
	{ 0x02, 0x0d, KEY_7 },           /* 7 */
	{ 0x02, 0x0e, KEY_8 },           /* 8 */
	{ 0x02, 0x0f, KEY_9 },           /* 9 */
	{ 0x02, 0x12, KEY_LEFT },        /* L / DISPLAY */
	{ 0x02, 0x11, KEY_0 },           /* 0 */
	{ 0x02, 0x13, KEY_RIGHT },       /* R / CH RTN */
	{ 0x02, 0x17, KEY_PROG2 },       /* SNAP SHOT */
	{ 0x02, 0x10, KEY_PROG3 },       /* 16-CH PREV */
	{ 0x02, 0x1e, KEY_VOLUMEDOWN },  /* VOL DOWN */
	{ 0x02, 0x0c, KEY_ZOOM },        /* FULL SCREEN */
	{ 0x02, 0x1f, KEY_VOLUMEUP },    /* VOL UP */
	{ 0x02, 0x14, KEY_MUTE },        /* MUTE */
	{ 0x02, 0x08, KEY_AUDIO },       /* AUDIO */
	{ 0x02, 0x19, KEY_RECORD },      /* RECORD */
	{ 0x02, 0x18, KEY_PLAY },        /* PLAY */
	{ 0x02, 0x1b, KEY_STOP },        /* STOP */
	{ 0x02, 0x1a, KEY_PLAYPAUSE },   /* TIMESHIFT / PAUSE */
	{ 0x02, 0x1d, KEY_BACK },        /* << / RED */
	{ 0x02, 0x1c, KEY_FORWARD },     /* >> / YELLOW */
	{ 0x02, 0x03, KEY_TEXT },        /* TELETEXT */
	{ 0x02, 0x04, KEY_EPG },         /* EPG */
	{ 0x02, 0x15, KEY_MENU },        /* MENU */

	{ 0x03, 0x03, KEY_CHANNELUP },   /* CH UP */
	{ 0x03, 0x02, KEY_CHANNELDOWN }, /* CH DOWN */
	{ 0x03, 0x01, KEY_FIRST },       /* |<< / GREEN */
	{ 0x03, 0x00, KEY_LAST },        /* >>| / BLUE */
	{ 0x0201, KEY_PROG1 },       /* SOURCE */
	{ 0x0200, KEY_POWER },       /* POWER */
	{ 0x0205, KEY_1 },           /* 1 */
	{ 0x0206, KEY_2 },           /* 2 */
	{ 0x0207, KEY_3 },           /* 3 */
	{ 0x0209, KEY_4 },           /* 4 */
	{ 0x020a, KEY_5 },           /* 5 */
	{ 0x020b, KEY_6 },           /* 6 */
	{ 0x020d, KEY_7 },           /* 7 */
	{ 0x020e, KEY_8 },           /* 8 */
	{ 0x020f, KEY_9 },           /* 9 */
	{ 0x0212, KEY_LEFT },        /* L / DISPLAY */
	{ 0x0211, KEY_0 },           /* 0 */
	{ 0x0213, KEY_RIGHT },       /* R / CH RTN */
	{ 0x0217, KEY_PROG2 },       /* SNAP SHOT */
	{ 0x0210, KEY_PROG3 },       /* 16-CH PREV */
	{ 0x021e, KEY_VOLUMEDOWN },  /* VOL DOWN */
	{ 0x020c, KEY_ZOOM },        /* FULL SCREEN */
	{ 0x021f, KEY_VOLUMEUP },    /* VOL UP */
	{ 0x0214, KEY_MUTE },        /* MUTE */
	{ 0x0208, KEY_AUDIO },       /* AUDIO */
	{ 0x0219, KEY_RECORD },      /* RECORD */
	{ 0x0218, KEY_PLAY },        /* PLAY */
	{ 0x021b, KEY_STOP },        /* STOP */
	{ 0x021a, KEY_PLAYPAUSE },   /* TIMESHIFT / PAUSE */
	{ 0x021d, KEY_BACK },        /* << / RED */
	{ 0x021c, KEY_FORWARD },     /* >> / YELLOW */
	{ 0x0203, KEY_TEXT },        /* TELETEXT */
	{ 0x0204, KEY_EPG },         /* EPG */
	{ 0x0215, KEY_MENU },        /* MENU */

	{ 0x0303, KEY_CHANNELUP },   /* CH UP */
	{ 0x0302, KEY_CHANNELDOWN }, /* CH DOWN */
	{ 0x0301, KEY_FIRST },       /* |<< / GREEN */
	{ 0x0300, KEY_LAST },        /* >>| / BLUE */

};

+38 −38
Original line number Diff line number Diff line
@@ -35,43 +35,43 @@ MODULE_PARM_DESC(debug,

struct dvb_usb_rc_key af9005_rc_keys[] = {

	{0x01, 0xb7, KEY_POWER},
	{0x01, 0xa7, KEY_VOLUMEUP},
	{0x01, 0x87, KEY_CHANNELUP},
	{0x01, 0x7f, KEY_MUTE},
	{0x01, 0xbf, KEY_VOLUMEDOWN},
	{0x01, 0x3f, KEY_CHANNELDOWN},
	{0x01, 0xdf, KEY_1},
	{0x01, 0x5f, KEY_2},
	{0x01, 0x9f, KEY_3},
	{0x01, 0x1f, KEY_4},
	{0x01, 0xef, KEY_5},
	{0x01, 0x6f, KEY_6},
	{0x01, 0xaf, KEY_7},
	{0x01, 0x27, KEY_8},
	{0x01, 0x07, KEY_9},
	{0x01, 0xcf, KEY_ZOOM},
	{0x01, 0x4f, KEY_0},
	{0x01, 0x8f, KEY_GOTO},	/* marked jump on the remote */
	{0x01b7, KEY_POWER},
	{0x01a7, KEY_VOLUMEUP},
	{0x0187, KEY_CHANNELUP},
	{0x017f, KEY_MUTE},
	{0x01bf, KEY_VOLUMEDOWN},
	{0x013f, KEY_CHANNELDOWN},
	{0x01df, KEY_1},
	{0x015f, KEY_2},
	{0x019f, KEY_3},
	{0x011f, KEY_4},
	{0x01ef, KEY_5},
	{0x016f, KEY_6},
	{0x01af, KEY_7},
	{0x0127, KEY_8},
	{0x0107, KEY_9},
	{0x01cf, KEY_ZOOM},
	{0x014f, KEY_0},
	{0x018f, KEY_GOTO},	/* marked jump on the remote */

	{0x00, 0xbd, KEY_POWER},
	{0x00, 0x7d, KEY_VOLUMEUP},
	{0x00, 0xfd, KEY_CHANNELUP},
	{0x00, 0x9d, KEY_MUTE},
	{0x00, 0x5d, KEY_VOLUMEDOWN},
	{0x00, 0xdd, KEY_CHANNELDOWN},
	{0x00, 0xad, KEY_1},
	{0x00, 0x6d, KEY_2},
	{0x00, 0xed, KEY_3},
	{0x00, 0x8d, KEY_4},
	{0x00, 0x4d, KEY_5},
	{0x00, 0xcd, KEY_6},
	{0x00, 0xb5, KEY_7},
	{0x00, 0x75, KEY_8},
	{0x00, 0xf5, KEY_9},
	{0x00, 0x95, KEY_ZOOM},
	{0x00, 0x55, KEY_0},
	{0x00, 0xd5, KEY_GOTO},	/* marked jump on the remote */
	{0x00bd, KEY_POWER},
	{0x007d, KEY_VOLUMEUP},
	{0x00fd, KEY_CHANNELUP},
	{0x009d, KEY_MUTE},
	{0x005d, KEY_VOLUMEDOWN},
	{0x00dd, KEY_CHANNELDOWN},
	{0x00ad, KEY_1},
	{0x006d, KEY_2},
	{0x00ed, KEY_3},
	{0x008d, KEY_4},
	{0x004d, KEY_5},
	{0x00cd, KEY_6},
	{0x00b5, KEY_7},
	{0x0075, KEY_8},
	{0x00f5, KEY_9},
	{0x0095, KEY_ZOOM},
	{0x0055, KEY_0},
	{0x00d5, KEY_GOTO},	/* marked jump on the remote */
};

int af9005_rc_keys_size = ARRAY_SIZE(af9005_rc_keys);
@@ -131,8 +131,8 @@ int af9005_rc_decode(struct dvb_usb_device *d, u8 * data, int len, u32 * event,
				return 0;
			}
			for (i = 0; i < af9005_rc_keys_size; i++) {
				if (af9005_rc_keys[i].custom == cust
				    && af9005_rc_keys[i].data == dat) {
				if (rc5_custom(&af9005_rc_keys[i]) == cust
				    && rc5_data(&af9005_rc_keys[i]) == dat) {
					*event = af9005_rc_keys[i].event;
					*state = REMOTE_KEY_PRESSED;
					deb_decode
+2 −2
Original line number Diff line number Diff line
@@ -1043,8 +1043,8 @@ static int af9015_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
	*state = REMOTE_NO_KEY_PRESSED;

	for (i = 0; i < d->props.rc_key_map_size; i++) {
		if (!buf[1] && keymap[i].custom == buf[0] &&
		    keymap[i].data == buf[2]) {
		if (!buf[1] && rc5_custom(&keymap[i]) == buf[0] &&
		    rc5_data(&keymap[i]) == buf[2]) {
			*event = keymap[i].event;
			*state = REMOTE_KEY_PRESSED;
			break;
+230 −230
Original line number Diff line number Diff line
@@ -121,21 +121,21 @@ enum af9015_remote {

/* Leadtek WinFast DTV Dongle Gold */
static struct dvb_usb_rc_key af9015_rc_keys_leadtek[] = {
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x00, 0x27, KEY_0 },
	{ 0x00, 0x28, KEY_ENTER },
	{ 0x00, 0x4f, KEY_VOLUMEUP },
	{ 0x00, 0x50, KEY_VOLUMEDOWN },
	{ 0x00, 0x51, KEY_CHANNELDOWN },
	{ 0x00, 0x52, KEY_CHANNELUP },
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0027, KEY_0 },
	{ 0x0028, KEY_ENTER },
	{ 0x004f, KEY_VOLUMEUP },
	{ 0x0050, KEY_VOLUMEDOWN },
	{ 0x0051, KEY_CHANNELDOWN },
	{ 0x0052, KEY_CHANNELUP },
};

static u8 af9015_ir_table_leadtek[] = {
@@ -193,60 +193,60 @@ static u8 af9015_ir_table_leadtek[] = {

/* TwinHan AzureWave AD-TU700(704J) */
static struct dvb_usb_rc_key af9015_rc_keys_twinhan[] = {
	{ 0x05, 0x3f, KEY_POWER },
	{ 0x00, 0x19, KEY_FAVORITES },    /* Favorite List */
	{ 0x00, 0x04, KEY_TEXT },         /* Teletext */
	{ 0x00, 0x0e, KEY_POWER },
	{ 0x00, 0x0e, KEY_INFO },         /* Preview */
	{ 0x00, 0x08, KEY_EPG },          /* Info/EPG */
	{ 0x00, 0x0f, KEY_LIST },         /* Record List */
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x00, 0x27, KEY_0 },
	{ 0x00, 0x29, KEY_CANCEL },       /* Cancel */
	{ 0x00, 0x4c, KEY_CLEAR },        /* Clear */
	{ 0x00, 0x2a, KEY_BACK },         /* Back */
	{ 0x00, 0x2b, KEY_TAB },          /* Tab */
	{ 0x00, 0x52, KEY_UP },           /* up arrow */
	{ 0x00, 0x51, KEY_DOWN },         /* down arrow */
	{ 0x00, 0x4f, KEY_RIGHT },        /* right arrow */
	{ 0x00, 0x50, KEY_LEFT },         /* left arrow */
	{ 0x00, 0x28, KEY_ENTER },        /* Enter / ok */
	{ 0x02, 0x52, KEY_VOLUMEUP },
	{ 0x02, 0x51, KEY_VOLUMEDOWN },
	{ 0x00, 0x4e, KEY_CHANNELDOWN },
	{ 0x00, 0x4b, KEY_CHANNELUP },
	{ 0x00, 0x4a, KEY_RECORD },
	{ 0x01, 0x11, KEY_PLAY },
	{ 0x00, 0x17, KEY_PAUSE },
	{ 0x00, 0x0c, KEY_REWIND },       /* FR << */
	{ 0x00, 0x11, KEY_FASTFORWARD },  /* FF >> */
	{ 0x01, 0x15, KEY_PREVIOUS },     /* Replay */
	{ 0x01, 0x0e, KEY_NEXT },         /* Skip */
	{ 0x00, 0x13, KEY_CAMERA },       /* Capture */
	{ 0x01, 0x0f, KEY_LANGUAGE },     /* SAP */
	{ 0x01, 0x13, KEY_TV2 },          /* PIP */
	{ 0x00, 0x1d, KEY_ZOOM },         /* Full Screen */
	{ 0x01, 0x17, KEY_SUBTITLE },     /* Subtitle / CC */
	{ 0x00, 0x10, KEY_MUTE },
	{ 0x01, 0x19, KEY_AUDIO },        /* L/R */ /* TODO better event */
	{ 0x01, 0x16, KEY_SLEEP },        /* Hibernate */
	{ 0x01, 0x16, KEY_SWITCHVIDEOMODE },
	{ 0x053f, KEY_POWER },
	{ 0x0019, KEY_FAVORITES },    /* Favorite List */
	{ 0x0004, KEY_TEXT },         /* Teletext */
	{ 0x000e, KEY_POWER },
	{ 0x000e, KEY_INFO },         /* Preview */
	{ 0x0008, KEY_EPG },          /* Info/EPG */
	{ 0x000f, KEY_LIST },         /* Record List */
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0027, KEY_0 },
	{ 0x0029, KEY_CANCEL },       /* Cancel */
	{ 0x004c, KEY_CLEAR },        /* Clear */
	{ 0x002a, KEY_BACK },         /* Back */
	{ 0x002b, KEY_TAB },          /* Tab */
	{ 0x0052, KEY_UP },           /* up arrow */
	{ 0x0051, KEY_DOWN },         /* down arrow */
	{ 0x004f, KEY_RIGHT },        /* right arrow */
	{ 0x0050, KEY_LEFT },         /* left arrow */
	{ 0x0028, KEY_ENTER },        /* Enter / ok */
	{ 0x0252, KEY_VOLUMEUP },
	{ 0x0251, KEY_VOLUMEDOWN },
	{ 0x004e, KEY_CHANNELDOWN },
	{ 0x004b, KEY_CHANNELUP },
	{ 0x004a, KEY_RECORD },
	{ 0x0111, KEY_PLAY },
	{ 0x0017, KEY_PAUSE },
	{ 0x000c, KEY_REWIND },       /* FR << */
	{ 0x0011, KEY_FASTFORWARD },  /* FF >> */
	{ 0x0115, KEY_PREVIOUS },     /* Replay */
	{ 0x010e, KEY_NEXT },         /* Skip */
	{ 0x0013, KEY_CAMERA },       /* Capture */
	{ 0x010f, KEY_LANGUAGE },     /* SAP */
	{ 0x0113, KEY_TV2 },          /* PIP */
	{ 0x001d, KEY_ZOOM },         /* Full Screen */
	{ 0x0117, KEY_SUBTITLE },     /* Subtitle / CC */
	{ 0x0010, KEY_MUTE },
	{ 0x0119, KEY_AUDIO },        /* L/R */ /* TODO better event */
	{ 0x0116, KEY_SLEEP },        /* Hibernate */
	{ 0x0116, KEY_SWITCHVIDEOMODE },
					  /* A/V */ /* TODO does not work */
	{ 0x00, 0x06, KEY_AGAIN },        /* Recall */
	{ 0x01, 0x16, KEY_KPPLUS },       /* Zoom+ */ /* TODO does not work */
	{ 0x01, 0x16, KEY_KPMINUS },      /* Zoom- */ /* TODO does not work */
	{ 0x02, 0x15, KEY_RED },
	{ 0x02, 0x0a, KEY_GREEN },
	{ 0x02, 0x1c, KEY_YELLOW },
	{ 0x02, 0x05, KEY_BLUE },
	{ 0x0006, KEY_AGAIN },        /* Recall */
	{ 0x0116, KEY_KPPLUS },       /* Zoom+ */ /* TODO does not work */
	{ 0x0116, KEY_KPMINUS },      /* Zoom- */ /* TODO does not work */
	{ 0x0215, KEY_RED },
	{ 0x020a, KEY_GREEN },
	{ 0x021c, KEY_YELLOW },
	{ 0x0205, KEY_BLUE },
};

static u8 af9015_ir_table_twinhan[] = {
@@ -304,24 +304,24 @@ static u8 af9015_ir_table_twinhan[] = {

/* A-Link DTU(m) */
static struct dvb_usb_rc_key af9015_rc_keys_a_link[] = {
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x00, 0x27, KEY_0 },
	{ 0x00, 0x2e, KEY_CHANNELUP },
	{ 0x00, 0x2d, KEY_CHANNELDOWN },
	{ 0x04, 0x28, KEY_ZOOM },
	{ 0x00, 0x41, KEY_MUTE },
	{ 0x00, 0x42, KEY_VOLUMEDOWN },
	{ 0x00, 0x43, KEY_VOLUMEUP },
	{ 0x00, 0x44, KEY_GOTO },         /* jump */
	{ 0x05, 0x45, KEY_POWER },
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0027, KEY_0 },
	{ 0x002e, KEY_CHANNELUP },
	{ 0x002d, KEY_CHANNELDOWN },
	{ 0x0428, KEY_ZOOM },
	{ 0x0041, KEY_MUTE },
	{ 0x0042, KEY_VOLUMEDOWN },
	{ 0x0043, KEY_VOLUMEUP },
	{ 0x0044, KEY_GOTO },         /* jump */
	{ 0x0545, KEY_POWER },
};

static u8 af9015_ir_table_a_link[] = {
@@ -347,24 +347,24 @@ static u8 af9015_ir_table_a_link[] = {

/* MSI DIGIVOX mini II V3.0 */
static struct dvb_usb_rc_key af9015_rc_keys_msi[] = {
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x00, 0x27, KEY_0 },
	{ 0x03, 0x0f, KEY_CHANNELUP },
	{ 0x03, 0x0e, KEY_CHANNELDOWN },
	{ 0x00, 0x42, KEY_VOLUMEDOWN },
	{ 0x00, 0x43, KEY_VOLUMEUP },
	{ 0x05, 0x45, KEY_POWER },
	{ 0x00, 0x52, KEY_UP },           /* up */
	{ 0x00, 0x51, KEY_DOWN },         /* down */
	{ 0x00, 0x28, KEY_ENTER },
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0027, KEY_0 },
	{ 0x030f, KEY_CHANNELUP },
	{ 0x030e, KEY_CHANNELDOWN },
	{ 0x0042, KEY_VOLUMEDOWN },
	{ 0x0043, KEY_VOLUMEUP },
	{ 0x0545, KEY_POWER },
	{ 0x0052, KEY_UP },           /* up */
	{ 0x0051, KEY_DOWN },         /* down */
	{ 0x0028, KEY_ENTER },
};

static u8 af9015_ir_table_msi[] = {
@@ -390,42 +390,42 @@ static u8 af9015_ir_table_msi[] = {

/* MYGICTV U718 */
static struct dvb_usb_rc_key af9015_rc_keys_mygictv[] = {
	{ 0x00, 0x3d, KEY_SWITCHVIDEOMODE },
	{ 0x003d, KEY_SWITCHVIDEOMODE },
					  /* TV / AV */
	{ 0x05, 0x45, KEY_POWER },
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x00, 0x27, KEY_0 },
	{ 0x00, 0x41, KEY_MUTE },
	{ 0x00, 0x2a, KEY_ESC },          /* Esc */
	{ 0x00, 0x2e, KEY_CHANNELUP },
	{ 0x00, 0x2d, KEY_CHANNELDOWN },
	{ 0x00, 0x42, KEY_VOLUMEDOWN },
	{ 0x00, 0x43, KEY_VOLUMEUP },
	{ 0x00, 0x52, KEY_UP },           /* up arrow */
	{ 0x00, 0x51, KEY_DOWN },         /* down arrow */
	{ 0x00, 0x4f, KEY_RIGHT },        /* right arrow */
	{ 0x00, 0x50, KEY_LEFT },         /* left arrow */
	{ 0x00, 0x28, KEY_ENTER },        /* ok */
	{ 0x01, 0x15, KEY_RECORD },
	{ 0x03, 0x13, KEY_PLAY },
	{ 0x01, 0x13, KEY_PAUSE },
	{ 0x01, 0x16, KEY_STOP },
	{ 0x03, 0x07, KEY_REWIND },       /* FR << */
	{ 0x03, 0x09, KEY_FASTFORWARD },  /* FF >> */
	{ 0x00, 0x3b, KEY_TIME },         /* TimeShift */
	{ 0x00, 0x3e, KEY_CAMERA },       /* Snapshot */
	{ 0x03, 0x16, KEY_CYCLEWINDOWS }, /* yellow, min / max */
	{ 0x00, 0x00, KEY_ZOOM },         /* 'select' (?) */
	{ 0x03, 0x16, KEY_SHUFFLE },      /* Shuffle */
	{ 0x03, 0x45, KEY_POWER },
	{ 0x0545, KEY_POWER },
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0027, KEY_0 },
	{ 0x0041, KEY_MUTE },
	{ 0x002a, KEY_ESC },          /* Esc */
	{ 0x002e, KEY_CHANNELUP },
	{ 0x002d, KEY_CHANNELDOWN },
	{ 0x0042, KEY_VOLUMEDOWN },
	{ 0x0043, KEY_VOLUMEUP },
	{ 0x0052, KEY_UP },           /* up arrow */
	{ 0x0051, KEY_DOWN },         /* down arrow */
	{ 0x004f, KEY_RIGHT },        /* right arrow */
	{ 0x0050, KEY_LEFT },         /* left arrow */
	{ 0x0028, KEY_ENTER },        /* ok */
	{ 0x0115, KEY_RECORD },
	{ 0x0313, KEY_PLAY },
	{ 0x0113, KEY_PAUSE },
	{ 0x0116, KEY_STOP },
	{ 0x0307, KEY_REWIND },       /* FR << */
	{ 0x0309, KEY_FASTFORWARD },  /* FF >> */
	{ 0x003b, KEY_TIME },         /* TimeShift */
	{ 0x003e, KEY_CAMERA },       /* Snapshot */
	{ 0x0316, KEY_CYCLEWINDOWS }, /* yellow, min / max */
	{ 0x0000, KEY_ZOOM },         /* 'select' (?) */
	{ 0x0316, KEY_SHUFFLE },      /* Shuffle */
	{ 0x0345, KEY_POWER },
};

static u8 af9015_ir_table_mygictv[] = {
@@ -516,41 +516,41 @@ static u8 af9015_ir_table_kworld[] = {

/* AverMedia Volar X */
static struct dvb_usb_rc_key af9015_rc_keys_avermedia[] = {
	{ 0x05, 0x3d, KEY_PROG1 },       /* SOURCE */
	{ 0x05, 0x12, KEY_POWER },       /* POWER */
	{ 0x05, 0x1e, KEY_1 },           /* 1 */
	{ 0x05, 0x1f, KEY_2 },           /* 2 */
	{ 0x05, 0x20, KEY_3 },           /* 3 */
	{ 0x05, 0x21, KEY_4 },           /* 4 */
	{ 0x05, 0x22, KEY_5 },           /* 5 */
	{ 0x05, 0x23, KEY_6 },           /* 6 */
	{ 0x05, 0x24, KEY_7 },           /* 7 */
	{ 0x05, 0x25, KEY_8 },           /* 8 */
	{ 0x05, 0x26, KEY_9 },           /* 9 */
	{ 0x05, 0x3f, KEY_LEFT },        /* L / DISPLAY */
	{ 0x05, 0x27, KEY_0 },           /* 0 */
	{ 0x05, 0x0f, KEY_RIGHT },       /* R / CH RTN */
	{ 0x05, 0x18, KEY_PROG2 },       /* SNAP SHOT */
	{ 0x05, 0x1c, KEY_PROG3 },       /* 16-CH PREV */
	{ 0x05, 0x2d, KEY_VOLUMEDOWN },  /* VOL DOWN */
	{ 0x05, 0x3e, KEY_ZOOM },        /* FULL SCREEN */
	{ 0x05, 0x2e, KEY_VOLUMEUP },    /* VOL UP */
	{ 0x05, 0x10, KEY_MUTE },        /* MUTE */
	{ 0x05, 0x04, KEY_AUDIO },       /* AUDIO */
	{ 0x05, 0x15, KEY_RECORD },      /* RECORD */
	{ 0x05, 0x11, KEY_PLAY },        /* PLAY */
	{ 0x05, 0x16, KEY_STOP },        /* STOP */
	{ 0x05, 0x0c, KEY_PLAYPAUSE },   /* TIMESHIFT / PAUSE */
	{ 0x05, 0x05, KEY_BACK },        /* << / RED */
	{ 0x05, 0x09, KEY_FORWARD },     /* >> / YELLOW */
	{ 0x05, 0x17, KEY_TEXT },        /* TELETEXT */
	{ 0x05, 0x0a, KEY_EPG },         /* EPG */
	{ 0x05, 0x13, KEY_MENU },        /* MENU */

	{ 0x05, 0x0e, KEY_CHANNELUP },   /* CH UP */
	{ 0x05, 0x0d, KEY_CHANNELDOWN }, /* CH DOWN */
	{ 0x05, 0x19, KEY_FIRST },       /* |<< / GREEN */
	{ 0x05, 0x08, KEY_LAST },        /* >>| / BLUE */
	{ 0x053d, KEY_PROG1 },       /* SOURCE */
	{ 0x0512, KEY_POWER },       /* POWER */
	{ 0x051e, KEY_1 },           /* 1 */
	{ 0x051f, KEY_2 },           /* 2 */
	{ 0x0520, KEY_3 },           /* 3 */
	{ 0x0521, KEY_4 },           /* 4 */
	{ 0x0522, KEY_5 },           /* 5 */
	{ 0x0523, KEY_6 },           /* 6 */
	{ 0x0524, KEY_7 },           /* 7 */
	{ 0x0525, KEY_8 },           /* 8 */
	{ 0x0526, KEY_9 },           /* 9 */
	{ 0x053f, KEY_LEFT },        /* L / DISPLAY */
	{ 0x0527, KEY_0 },           /* 0 */
	{ 0x050f, KEY_RIGHT },       /* R / CH RTN */
	{ 0x0518, KEY_PROG2 },       /* SNAP SHOT */
	{ 0x051c, KEY_PROG3 },       /* 16-CH PREV */
	{ 0x052d, KEY_VOLUMEDOWN },  /* VOL DOWN */
	{ 0x053e, KEY_ZOOM },        /* FULL SCREEN */
	{ 0x052e, KEY_VOLUMEUP },    /* VOL UP */
	{ 0x0510, KEY_MUTE },        /* MUTE */
	{ 0x0504, KEY_AUDIO },       /* AUDIO */
	{ 0x0515, KEY_RECORD },      /* RECORD */
	{ 0x0511, KEY_PLAY },        /* PLAY */
	{ 0x0516, KEY_STOP },        /* STOP */
	{ 0x050c, KEY_PLAYPAUSE },   /* TIMESHIFT / PAUSE */
	{ 0x0505, KEY_BACK },        /* << / RED */
	{ 0x0509, KEY_FORWARD },     /* >> / YELLOW */
	{ 0x0517, KEY_TEXT },        /* TELETEXT */
	{ 0x050a, KEY_EPG },         /* EPG */
	{ 0x0513, KEY_MENU },        /* MENU */

	{ 0x050e, KEY_CHANNELUP },   /* CH UP */
	{ 0x050d, KEY_CHANNELDOWN }, /* CH DOWN */
	{ 0x0519, KEY_FIRST },       /* |<< / GREEN */
	{ 0x0508, KEY_LAST },        /* >>| / BLUE */
};

static u8 af9015_ir_table_avermedia[] = {
@@ -622,34 +622,34 @@ static u8 af9015_ir_table_avermedia_ks[] = {

/* Digittrade DVB-T USB Stick */
static struct dvb_usb_rc_key af9015_rc_keys_digittrade[] = {
	{ 0x01, 0x0f, KEY_LAST },	/* RETURN */
	{ 0x05, 0x17, KEY_TEXT },	/* TELETEXT */
	{ 0x01, 0x08, KEY_EPG },	/* EPG */
	{ 0x05, 0x13, KEY_POWER },	/* POWER */
	{ 0x01, 0x09, KEY_ZOOM },	/* FULLSCREEN */
	{ 0x00, 0x40, KEY_AUDIO },	/* DUAL SOUND */
	{ 0x00, 0x2c, KEY_PRINT },	/* SNAPSHOT */
	{ 0x05, 0x16, KEY_SUBTITLE },	/* SUBTITLE */
	{ 0x00, 0x52, KEY_CHANNELUP },	/* CH Up */
	{ 0x00, 0x51, KEY_CHANNELDOWN },/* Ch Dn */
	{ 0x00, 0x57, KEY_VOLUMEUP },	/* Vol Up */
	{ 0x00, 0x56, KEY_VOLUMEDOWN },	/* Vol Dn */
	{ 0x01, 0x10, KEY_MUTE },	/* MUTE */
	{ 0x00, 0x27, KEY_0 },
	{ 0x00, 0x1e, KEY_1 },
	{ 0x00, 0x1f, KEY_2 },
	{ 0x00, 0x20, KEY_3 },
	{ 0x00, 0x21, KEY_4 },
	{ 0x00, 0x22, KEY_5 },
	{ 0x00, 0x23, KEY_6 },
	{ 0x00, 0x24, KEY_7 },
	{ 0x00, 0x25, KEY_8 },
	{ 0x00, 0x26, KEY_9 },
	{ 0x01, 0x17, KEY_PLAYPAUSE },	/* TIMESHIFT */
	{ 0x01, 0x15, KEY_RECORD },	/* RECORD */
	{ 0x03, 0x13, KEY_PLAY },	/* PLAY */
	{ 0x01, 0x16, KEY_STOP },	/* STOP */
	{ 0x01, 0x13, KEY_PAUSE },	/* PAUSE */
	{ 0x010f, KEY_LAST },	/* RETURN */
	{ 0x0517, KEY_TEXT },	/* TELETEXT */
	{ 0x0108, KEY_EPG },	/* EPG */
	{ 0x0513, KEY_POWER },	/* POWER */
	{ 0x0109, KEY_ZOOM },	/* FULLSCREEN */
	{ 0x0040, KEY_AUDIO },	/* DUAL SOUND */
	{ 0x002c, KEY_PRINT },	/* SNAPSHOT */
	{ 0x0516, KEY_SUBTITLE },	/* SUBTITLE */
	{ 0x0052, KEY_CHANNELUP },	/* CH Up */
	{ 0x0051, KEY_CHANNELDOWN },/* Ch Dn */
	{ 0x0057, KEY_VOLUMEUP },	/* Vol Up */
	{ 0x0056, KEY_VOLUMEDOWN },	/* Vol Dn */
	{ 0x0110, KEY_MUTE },	/* MUTE */
	{ 0x0027, KEY_0 },
	{ 0x001e, KEY_1 },
	{ 0x001f, KEY_2 },
	{ 0x0020, KEY_3 },
	{ 0x0021, KEY_4 },
	{ 0x0022, KEY_5 },
	{ 0x0023, KEY_6 },
	{ 0x0024, KEY_7 },
	{ 0x0025, KEY_8 },
	{ 0x0026, KEY_9 },
	{ 0x0117, KEY_PLAYPAUSE },	/* TIMESHIFT */
	{ 0x0115, KEY_RECORD },	/* RECORD */
	{ 0x0313, KEY_PLAY },	/* PLAY */
	{ 0x0116, KEY_STOP },	/* STOP */
	{ 0x0113, KEY_PAUSE },	/* PAUSE */
};

static u8 af9015_ir_table_digittrade[] = {
@@ -685,34 +685,34 @@ static u8 af9015_ir_table_digittrade[] = {

/* TREKSTOR DVB-T USB Stick */
static struct dvb_usb_rc_key af9015_rc_keys_trekstor[] = {
	{ 0x07, 0x04, KEY_AGAIN },		/* Home */
	{ 0x07, 0x05, KEY_MUTE },		/* Mute */
	{ 0x07, 0x06, KEY_UP },			/* Up */
	{ 0x07, 0x07, KEY_DOWN },		/* Down */
	{ 0x07, 0x09, KEY_RIGHT },		/* Right */
	{ 0x07, 0x0a, KEY_ENTER },		/* OK */
	{ 0x07, 0x0b, KEY_FASTFORWARD },	/* Fast forward */
	{ 0x07, 0x0c, KEY_REWIND },		/* Rewind */
	{ 0x07, 0x0d, KEY_PLAY },		/* Play/Pause */
	{ 0x07, 0x0e, KEY_VOLUMEUP },		/* Volume + */
	{ 0x07, 0x0f, KEY_VOLUMEDOWN },		/* Volume - */
	{ 0x07, 0x10, KEY_RECORD },		/* Record */
	{ 0x07, 0x11, KEY_STOP },		/* Stop */
	{ 0x07, 0x12, KEY_ZOOM },		/* TV */
	{ 0x07, 0x13, KEY_EPG },		/* Info/EPG */
	{ 0x07, 0x14, KEY_CHANNELDOWN },	/* Channel - */
	{ 0x07, 0x15, KEY_CHANNELUP },		/* Channel + */
	{ 0x07, 0x1e, KEY_1 },
	{ 0x07, 0x1f, KEY_2 },
	{ 0x07, 0x20, KEY_3 },
	{ 0x07, 0x21, KEY_4 },
	{ 0x07, 0x22, KEY_5 },
	{ 0x07, 0x23, KEY_6 },
	{ 0x07, 0x24, KEY_7 },
	{ 0x07, 0x25, KEY_8 },
	{ 0x07, 0x26, KEY_9 },
	{ 0x07, 0x08, KEY_LEFT },		/* LEFT */
	{ 0x07, 0x27, KEY_0 },
	{ 0x0704, KEY_AGAIN },		/* Home */
	{ 0x0705, KEY_MUTE },		/* Mute */
	{ 0x0706, KEY_UP },			/* Up */
	{ 0x0707, KEY_DOWN },		/* Down */
	{ 0x0709, KEY_RIGHT },		/* Right */
	{ 0x070a, KEY_ENTER },		/* OK */
	{ 0x070b, KEY_FASTFORWARD },	/* Fast forward */
	{ 0x070c, KEY_REWIND },		/* Rewind */
	{ 0x070d, KEY_PLAY },		/* Play/Pause */
	{ 0x070e, KEY_VOLUMEUP },		/* Volume + */
	{ 0x070f, KEY_VOLUMEDOWN },		/* Volume - */
	{ 0x0710, KEY_RECORD },		/* Record */
	{ 0x0711, KEY_STOP },		/* Stop */
	{ 0x0712, KEY_ZOOM },		/* TV */
	{ 0x0713, KEY_EPG },		/* Info/EPG */
	{ 0x0714, KEY_CHANNELDOWN },	/* Channel - */
	{ 0x0715, KEY_CHANNELUP },		/* Channel + */
	{ 0x071e, KEY_1 },
	{ 0x071f, KEY_2 },
	{ 0x0720, KEY_3 },
	{ 0x0721, KEY_4 },
	{ 0x0722, KEY_5 },
	{ 0x0723, KEY_6 },
	{ 0x0724, KEY_7 },
	{ 0x0725, KEY_8 },
	{ 0x0726, KEY_9 },
	{ 0x0708, KEY_LEFT },		/* LEFT */
	{ 0x0727, KEY_0 },
};

static u8 af9015_ir_table_trekstor[] = {
+46 −46

File changed.

Preview size limit exceeded, changes collapsed.

Loading