Commit 4c0f631e authored by Ricardo Cerqueira's avatar Ricardo Cerqueira Committed by Mauro Carvalho Chehab

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: default avatarRicardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent bf47e4e4
saa7146-objs := saa7146_i2c.o saa7146_core.o 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 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) += saa7146.o
obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
......
This diff is collapsed.
This diff is collapsed.
...@@ -28,251 +28,6 @@ ...@@ -28,251 +28,6 @@
#include "bttv.h" #include "bttv.h"
#include "bttvp.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; static int debug;
module_param(debug, int, 0644); /* debug level (0,1,2) */ module_param(debug, int, 0644); /* debug level (0,1,2) */
......
...@@ -34,337 +34,6 @@ ...@@ -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_IR {
struct cx88_core *core; struct cx88_core *core;
struct input_dev *input; struct input_dev *input;
......
...@@ -43,91 +43,6 @@ MODULE_PARM_DESC(ir_debug,"enable debug messages [IR]"); ...@@ -43,91 +43,6 @@ MODULE_PARM_DESC(ir_debug,"enable debug messages [IR]");
#define dprintk(fmt, arg...) if (ir_debug) \ #define dprintk(fmt, arg...) if (ir_debug) \
printk(KERN_DEBUG "%s/ir: " fmt, ir->c.name , ## arg) 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) static int get_key_terratec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
......
...@@ -44,45 +44,6 @@ ...@@ -44,45 +44,6 @@
#include <media/ir-common.h> #include <media/ir-common.h>
#include <media/ir-kbd-i2c.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 */ /* insmod parameters */
...@@ -342,7 +303,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr, ...@@ -342,7 +303,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
ir->get_key = get_key_haup; ir->get_key = get_key_haup;
ir_type = IR_TYPE_RC5; ir_type = IR_TYPE_RC5;
if (hauppauge == 1) { if (hauppauge == 1) {
ir_codes = ir_codes_rc5_tv_grey; ir_codes = ir_codes_hauppauge_new;
} else { } else {
ir_codes = ir_codes_rc5_tv; ir_codes = ir_codes_rc5_tv;
} }
......
This diff is collapsed.
...@@ -47,13 +47,6 @@ struct ir_input_state { ...@@ -47,13 +47,6 @@ struct ir_input_state {
int keypressed; /* current 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, void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
int ir_type, IR_KEYTAB_TYPE *ir_codes); int ir_type, IR_KEYTAB_TYPE *ir_codes);
void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir); 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); ...@@ -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_biphase(u32 *samples, int count, int low, int high);
int ir_decode_pulsedistance(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 #endif
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment