V4L/DVB (3393): Move all IR keymaps to ir-common module

- All the keymaps have the same structure, and can be shared between different
chips, so it makes no sense having them scattered between the input files.
This aggregates them all at ir-common module.
- Added new Hauppauge remote (Hauppauge grey), contributed by J.O. Aho
  <trizt@iname.com> (with some small changes)
  Changed KEY_KPx (keypad numerals) references to KEY_x, to avoid problems
  when NumLock is off (suggested by Peter Missel <peter.missel@onlinehome.de>)
- Some cleanups at IR code

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Ricardo Cerqueira
2006-01-23 09:42:06 -02:00
committed by Mauro Carvalho Chehab
parent bf47e4e43e
commit 4c0f631e14
9 changed files with 1585 additions and 1717 deletions
+1
View File
@@ -1,5 +1,6 @@
saa7146-objs := saa7146_i2c.o saa7146_core.o
saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o
ir-common-objs := ir-functions.o ir-keymaps.o
obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o
obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-245
View File
@@ -28,251 +28,6 @@
#include "bttv.h"
#include "bttvp.h"
/* ---------------------------------------------------------------------- */
static IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
[ 34 ] = KEY_KP0,
[ 40 ] = KEY_KP1,
[ 24 ] = KEY_KP2,
[ 56 ] = KEY_KP3,
[ 36 ] = KEY_KP4,
[ 20 ] = KEY_KP5,
[ 52 ] = KEY_KP6,
[ 44 ] = KEY_KP7,
[ 28 ] = KEY_KP8,
[ 60 ] = KEY_KP9,
[ 48 ] = KEY_EJECTCD, // Unmarked on my controller
[ 0 ] = KEY_POWER,
[ 18 ] = BTN_LEFT, // DISPLAY/L
[ 50 ] = BTN_RIGHT, // LOOP/R
[ 10 ] = KEY_MUTE,
[ 38 ] = KEY_RECORD,
[ 22 ] = KEY_PAUSE,
[ 54 ] = KEY_STOP,
[ 30 ] = KEY_VOLUMEDOWN,
[ 62 ] = KEY_VOLUMEUP,
[ 32 ] = KEY_TUNER, // TV/FM
[ 16 ] = KEY_CD,
[ 8 ] = KEY_VIDEO,
[ 4 ] = KEY_AUDIO,
[ 12 ] = KEY_ZOOM, // full screen
[ 2 ] = KEY_INFO, // preview
[ 42 ] = KEY_SEARCH, // autoscan
[ 26 ] = KEY_STOP, // freeze
[ 58 ] = KEY_RECORD, // capture
[ 6 ] = KEY_PLAY, // unmarked
[ 46 ] = KEY_RED, // unmarked
[ 14 ] = KEY_GREEN, // unmarked
[ 33 ] = KEY_YELLOW, // unmarked
[ 17 ] = KEY_CHANNELDOWN,
[ 49 ] = KEY_CHANNELUP,
[ 1 ] = KEY_BLUE, // unmarked
};
/* Matt Jesson <dvb@jesson.eclipse.co.uk */
static IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
[ 0x28 ] = KEY_KP0, //'0' / 'enter'
[ 0x22 ] = KEY_KP1, //'1'
[ 0x12 ] = KEY_KP2, //'2' / 'up arrow'
[ 0x32 ] = KEY_KP3, //'3'
[ 0x24 ] = KEY_KP4, //'4' / 'left arrow'
[ 0x14 ] = KEY_KP5, //'5'
[ 0x34 ] = KEY_KP6, //'6' / 'right arrow'
[ 0x26 ] = KEY_KP7, //'7'
[ 0x16 ] = KEY_KP8, //'8' / 'down arrow'
[ 0x36 ] = KEY_KP9, //'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 +'
};
/* Attila Kondoros <attila.kondoros@chello.hu> */
static IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
[ 1 ] = KEY_KP1,
[ 2 ] = KEY_KP2,
[ 3 ] = KEY_KP3,
[ 4 ] = KEY_KP4,
[ 5 ] = KEY_KP5,
[ 6 ] = KEY_KP6,
[ 7 ] = KEY_KP7,
[ 8 ] = KEY_KP8,
[ 9 ] = KEY_KP9,
[ 0 ] = KEY_KP0,
[ 23 ] = KEY_LAST, // +100
[ 10 ] = KEY_LIST, // recall
[ 28 ] = KEY_TUNER, // TV/FM
[ 21 ] = KEY_SEARCH, // scan
[ 18 ] = KEY_POWER, // power
[ 31 ] = KEY_VOLUMEDOWN, // vol up
[ 27 ] = KEY_VOLUMEUP, // vol down
[ 30 ] = KEY_CHANNELDOWN, // chn up
[ 26 ] = KEY_CHANNELUP, // chn down
[ 17 ] = KEY_VIDEO, // video
[ 15 ] = KEY_ZOOM, // full screen
[ 19 ] = KEY_MUTE, // mute/unmute
[ 16 ] = KEY_TEXT, // min
[ 13 ] = KEY_STOP, // freeze
[ 14 ] = KEY_RECORD, // record
[ 29 ] = KEY_PLAYPAUSE, // stop
[ 25 ] = KEY_PLAY, // play
[ 22 ] = KEY_GOTO, // osd
[ 20 ] = KEY_REFRESH, // default
[ 12 ] = KEY_KPPLUS, // fine tune >>>>
[ 24 ] = KEY_KPMINUS // fine tune <<<<
};
/* ---------------------------------------------------------------------- */
static IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE] = {
[ 30 ] = KEY_POWER, // power
[ 7 ] = KEY_MEDIA, // source
[ 28 ] = 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.
*
* [ 23 ] = KEY_BACK, // fm scan <<
* [ 31 ] = KEY_FORWARD, // fm scan >>
*
* [ 4 ] = KEY_LEFT, // fm tuning <
* [ 12 ] = KEY_RIGHT, // fm tuning >
*
* For now, these four keys are disabled. Pressing them will generate
* the CH+/CH-/<<</>>> events
*/
[ 3 ] = KEY_TUNER, // TV/FM
[ 0 ] = KEY_RECORD,
[ 8 ] = KEY_STOP,
[ 17 ] = KEY_PLAY,
[ 26 ] = KEY_PLAYPAUSE, // freeze
[ 25 ] = KEY_ZOOM, // zoom
[ 15 ] = KEY_TEXT, // min
[ 1 ] = KEY_KP1,
[ 11 ] = KEY_KP2,
[ 27 ] = KEY_KP3,
[ 5 ] = KEY_KP4,
[ 9 ] = KEY_KP5,
[ 21 ] = KEY_KP6,
[ 6 ] = KEY_KP7,
[ 10 ] = KEY_KP8,
[ 18 ] = KEY_KP9,
[ 2 ] = KEY_KP0,
[ 16 ] = KEY_LAST, // +100
[ 19 ] = KEY_LIST, // recall
[ 31 ] = KEY_CHANNELUP, // chn down
[ 23 ] = KEY_CHANNELDOWN, // chn up
[ 22 ] = KEY_VOLUMEUP, // vol down
[ 20 ] = KEY_VOLUMEDOWN, // vol up
[ 4 ] = KEY_KPMINUS, // <<<
[ 14 ] = KEY_SETUP, // function
[ 12 ] = KEY_KPPLUS, // >>>
[ 13 ] = KEY_GOTO, // mts
[ 29 ] = KEY_REFRESH, // reset
[ 24 ] = KEY_MUTE // mute/unmute
};
static IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
[0x00] = KEY_KP0,
[0x01] = KEY_KP1,
[0x02] = KEY_KP2,
[0x03] = KEY_KP3,
[0x04] = KEY_KP4,
[0x05] = KEY_KP5,
[0x06] = KEY_KP6,
[0x07] = KEY_KP7,
[0x08] = KEY_KP8,
[0x09] = KEY_KP9,
[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
};
static int debug;
module_param(debug, int, 0644); /* debug level (0,1,2) */
-331
View File
@@ -34,337 +34,6 @@
/* ---------------------------------------------------------------------- */
/* DigitalNow DNTV Live DVB-T Remote */
static 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_KP0,
[0x01] = KEY_KP1,
[0x02] = KEY_KP2,
[0x03] = KEY_KP3,
[0x04] = KEY_KP4,
[0x05] = KEY_KP5,
[0x06] = KEY_KP6,
[0x07] = KEY_KP7,
[0x08] = KEY_KP8,
[0x09] = KEY_KP9,
[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,
};
/* ---------------------------------------------------------------------- */
/* IO-DATA BCTV7E Remote */
static 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_KP0, /* 10 */
[0x50] = KEY_KP1,
[0x30] = KEY_KP2,
[0x70] = KEY_KP3,
[0x48] = KEY_KP4,
[0x28] = KEY_KP5,
[0x68] = KEY_KP6,
[0x58] = KEY_KP7,
[0x38] = KEY_KP8,
[0x78] = KEY_KP9,
[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 >| */
};
/* ---------------------------------------------------------------------- */
/* ADS Tech Instant TV DVB-T PCI Remote */
static 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,
};
/* ---------------------------------------------------------------------- */
/* MSI TV@nywhere remote */
static 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,
};
/* ---------------------------------------------------------------------- */
/* Cinergy 1400 DVB-T */
static 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,
};
/* ---------------------------------------------------------------------- */
/* AVERTV STUDIO 303 Remote */
static IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
[ 0x2a ] = KEY_KP1,
[ 0x32 ] = KEY_KP2,
[ 0x3a ] = KEY_KP3,
[ 0x4a ] = KEY_KP4,
[ 0x52 ] = KEY_KP5,
[ 0x5a ] = KEY_KP6,
[ 0x6a ] = KEY_KP7,
[ 0x72 ] = KEY_KP8,
[ 0x7a ] = KEY_KP9,
[ 0x0e ] = KEY_KP0,
[ 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,
};
/* ---------------------------------------------------------------------- */
/* DigitalNow DNTV Live! DVB-T Pro Remote */
static 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,
};
/* ---------------------------------------------------------------------- */
struct cx88_IR {
struct cx88_core *core;
struct input_dev *input;
-85
View File
@@ -43,91 +43,6 @@ MODULE_PARM_DESC(ir_debug,"enable debug messages [IR]");
#define dprintk(fmt, arg...) if (ir_debug) \
printk(KERN_DEBUG "%s/ir: " fmt, ir->c.name , ## arg)
/* ---------------------------------------------------------------------- */
static IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
[ 0x01 ] = KEY_CHANNEL,
[ 0x02 ] = KEY_SELECT,
[ 0x03 ] = KEY_MUTE,
[ 0x04 ] = KEY_POWER,
[ 0x05 ] = KEY_KP1,
[ 0x06 ] = KEY_KP2,
[ 0x07 ] = KEY_KP3,
[ 0x08 ] = KEY_CHANNELUP,
[ 0x09 ] = KEY_KP4,
[ 0x0a ] = KEY_KP5,
[ 0x0b ] = KEY_KP6,
[ 0x0c ] = KEY_CHANNELDOWN,
[ 0x0d ] = KEY_KP7,
[ 0x0e ] = KEY_KP8,
[ 0x0f ] = KEY_KP9,
[ 0x10 ] = KEY_VOLUMEUP,
[ 0x11 ] = KEY_KP0,
[ 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,
};
static IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = {
[ 0x3a ] = KEY_KP0,
[ 0x31 ] = KEY_KP1,
[ 0x32 ] = KEY_KP2,
[ 0x33 ] = KEY_KP3,
[ 0x34 ] = KEY_KP4,
[ 0x35 ] = KEY_KP5,
[ 0x36 ] = KEY_KP6,
[ 0x37 ] = KEY_KP7,
[ 0x38 ] = KEY_KP8,
[ 0x39 ] = KEY_KP9,
[ 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,
};
/* ----------------------------------------------------------------------- */
static int get_key_terratec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
+1 -40
View File
@@ -44,45 +44,6 @@
#include <media/ir-common.h>
#include <media/ir-kbd-i2c.h>
/* Mark Phalan <phalanm@o2.ie> */
static IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
[ 0 ] = KEY_KP0,
[ 1 ] = KEY_KP1,
[ 2 ] = KEY_KP2,
[ 3 ] = KEY_KP3,
[ 4 ] = KEY_KP4,
[ 5 ] = KEY_KP5,
[ 6 ] = KEY_KP6,
[ 7 ] = KEY_KP7,
[ 8 ] = KEY_KP8,
[ 9 ] = KEY_KP9,
[ 18 ] = KEY_POWER,
[ 16 ] = KEY_MUTE,
[ 31 ] = KEY_VOLUMEDOWN,
[ 27 ] = KEY_VOLUMEUP,
[ 26 ] = KEY_CHANNELUP,
[ 30 ] = KEY_CHANNELDOWN,
[ 14 ] = KEY_PAGEUP,
[ 29 ] = KEY_PAGEDOWN,
[ 19 ] = KEY_SOUND,
[ 24 ] = KEY_KPPLUSMINUS, /* CH +/- */
[ 22 ] = KEY_SUBTITLE, /* CC */
[ 13 ] = KEY_TEXT, /* TTX */
[ 11 ] = KEY_TV, /* AIR/CBL */
[ 17 ] = KEY_PC, /* PC/TV */
[ 23 ] = KEY_OK, /* CH RTN */
[ 25 ] = KEY_MODE, /* FUNC */
[ 12 ] = KEY_SEARCH, /* AUTOSCAN */
/* Not sure what to do with these ones! */
[ 15 ] = KEY_SELECT, /* SOURCE */
[ 10 ] = KEY_KPPLUS, /* +100 */
[ 20 ] = KEY_KPEQUAL, /* SYNC */
[ 28 ] = KEY_MEDIA, /* PC/TV */
};
/* ----------------------------------------------------------------------- */
/* insmod parameters */
@@ -342,7 +303,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
ir->get_key = get_key_haup;
ir_type = IR_TYPE_RC5;
if (hauppauge == 1) {
ir_codes = ir_codes_rc5_tv_grey;
ir_codes = ir_codes_hauppauge_new;
} else {
ir_codes = ir_codes_rc5_tv;
}
File diff suppressed because it is too large Load Diff
+35 -7
View File
@@ -47,13 +47,6 @@ struct ir_input_state {
int keypressed; /* current state */
};
extern IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
int ir_type, IR_KEYTAB_TYPE *ir_codes);
void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir);
@@ -64,6 +57,41 @@ int ir_dump_samples(u32 *samples, int count);
int ir_decode_biphase(u32 *samples, int count, int low, int high);
int ir_decode_pulsedistance(u32 *samples, int count, int low, int high);
/* Keymaps to be used by other modules */
extern IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_avacssmart[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_md2819[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
#endif
/*