Skip to content

Commit

Permalink
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
Browse files Browse the repository at this point in the history
Instead of having one big file with lots of keytables, create one include
file for each IR keymap.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed May 19, 2010
1 parent dce4a3e commit 77b7422
Show file tree
Hide file tree
Showing 67 changed files with 4,122 additions and 3,245 deletions.
3,171 changes: 11 additions & 3,160 deletions drivers/media/IR/ir-keymaps.c

Large diffs are not rendered by default.

150 changes: 65 additions & 85 deletions include/media/ir-common.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,71 @@
#include <linux/interrupt.h>
#include <media/ir-core.h>

#include <media/keycodes/adstech-dvb-t-pci.h>
#include <media/keycodes/apac-viewcomp.h>
#include <media/keycodes/asus-pc39.h>
#include <media/keycodes/ati-tv-wonder-hd-600.h>
#include <media/keycodes/avermedia-a16d.h>
#include <media/keycodes/avermedia-cardbus.h>
#include <media/keycodes/avermedia-dvbt.h>
#include <media/keycodes/avermedia.h>
#include <media/keycodes/avermedia-m135a-rm-jx.h>
#include <media/keycodes/avertv-303.h>
#include <media/keycodes/behold-columbus.h>
#include <media/keycodes/behold.h>
#include <media/keycodes/budget-ci-old.h>
#include <media/keycodes/cinergy-1400.h>
#include <media/keycodes/cinergy.h>
#include <media/keycodes/dm1105-nec.h>
#include <media/keycodes/dntv-live-dvb-t.h>
#include <media/keycodes/dntv-live-dvbt-pro.h>
#include <media/keycodes/empty.h>
#include <media/keycodes/em-terratec.h>
#include <media/keycodes/encore-enltv2.h>
#include <media/keycodes/encore-enltv-fm53.h>
#include <media/keycodes/encore-enltv.h>
#include <media/keycodes/evga-indtube.h>
#include <media/keycodes/eztv.h>
#include <media/keycodes/flydvb.h>
#include <media/keycodes/flyvideo.h>
#include <media/keycodes/fusionhdtv-mce.h>
#include <media/keycodes/gadmei-rm008z.h>
#include <media/keycodes/genius-tvgo-a11mce.h>
#include <media/keycodes/gotview7135.h>
#include <media/keycodes/hauppauge-new.h>
#include <media/keycodes/iodata-bctv7e.h>
#include <media/keycodes/kaiomy.h>
#include <media/keycodes/kworld-315u.h>
#include <media/keycodes/kworld-plus-tv-analog.h>
#include <media/keycodes/manli.h>
#include <media/keycodes/msi-tvanywhere.h>
#include <media/keycodes/msi-tvanywhere-plus.h>
#include <media/keycodes/nebula.h>
#include <media/keycodes/nec-terratec-cinergy-xs.h>
#include <media/keycodes/norwood.h>
#include <media/keycodes/npgtech.h>
#include <media/keycodes/pctv-sedna.h>
#include <media/keycodes/pinnacle-color.h>
#include <media/keycodes/pinnacle-grey.h>
#include <media/keycodes/pinnacle-pctv-hd.h>
#include <media/keycodes/pixelview.h>
#include <media/keycodes/pixelview-new.h>
#include <media/keycodes/powercolor-real-angel.h>
#include <media/keycodes/proteus-2309.h>
#include <media/keycodes/purpletv.h>
#include <media/keycodes/pv951.h>
#include <media/keycodes/rc5-hauppauge-new.h>
#include <media/keycodes/rc5-tv.h>
#include <media/keycodes/real-audio-220-32-keys.h>
#include <media/keycodes/tbs-nec.h>
#include <media/keycodes/terratec-cinergy-xs.h>
#include <media/keycodes/tevii-nec.h>
#include <media/keycodes/tt-1500.h>
#include <media/keycodes/videomate-s350.h>
#include <media/keycodes/videomate-tv-pvr.h>
#include <media/keycodes/winfast.h>
#include <media/keycodes/winfast-usbii-deluxe.h>

#define RC5_START(x) (((x)>>12)&3)
#define RC5_TOGGLE(x) (((x)>>11)&1)
#define RC5_ADDR(x) (((x)>>6)&31)
Expand Down Expand Up @@ -104,89 +169,4 @@ u32 ir_rc5_decode(unsigned int code);
void ir_rc5_timer_end(unsigned long data);
void ir_rc5_timer_keyup(unsigned long data);

/* scancode->keycode map tables from ir-keymaps.c */

#define IR_KEYTABLE(a) \
ir_codes_ ## a ## _table

#define DECLARE_IR_KEYTABLE(a) \
extern struct ir_scancode_table IR_KEYTABLE(a)

#define DEFINE_IR_KEYTABLE(tabname, type) \
struct ir_scancode_table IR_KEYTABLE(tabname) = { \
.scan = tabname, \
.size = ARRAY_SIZE(tabname), \
.ir_type = type, \
.name = #tabname, \
}; \
EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))

#define DEFINE_LEGACY_IR_KEYTABLE(tabname) \
DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)

DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
DECLARE_IR_KEYTABLE(apac_viewcomp);
DECLARE_IR_KEYTABLE(asus_pc39);
DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600);
DECLARE_IR_KEYTABLE(avermedia);
DECLARE_IR_KEYTABLE(avermedia_a16d);
DECLARE_IR_KEYTABLE(avermedia_cardbus);
DECLARE_IR_KEYTABLE(avermedia_dvbt);
DECLARE_IR_KEYTABLE(avermedia_m135a_rm_jx);
DECLARE_IR_KEYTABLE(avertv_303);
DECLARE_IR_KEYTABLE(behold);
DECLARE_IR_KEYTABLE(behold_columbus);
DECLARE_IR_KEYTABLE(budget_ci_old);
DECLARE_IR_KEYTABLE(cinergy);
DECLARE_IR_KEYTABLE(cinergy_1400);
DECLARE_IR_KEYTABLE(dm1105_nec);
DECLARE_IR_KEYTABLE(dntv_live_dvb_t);
DECLARE_IR_KEYTABLE(dntv_live_dvbt_pro);
DECLARE_IR_KEYTABLE(empty);
DECLARE_IR_KEYTABLE(em_terratec);
DECLARE_IR_KEYTABLE(encore_enltv);
DECLARE_IR_KEYTABLE(encore_enltv2);
DECLARE_IR_KEYTABLE(encore_enltv_fm53);
DECLARE_IR_KEYTABLE(evga_indtube);
DECLARE_IR_KEYTABLE(eztv);
DECLARE_IR_KEYTABLE(flydvb);
DECLARE_IR_KEYTABLE(flyvideo);
DECLARE_IR_KEYTABLE(fusionhdtv_mce);
DECLARE_IR_KEYTABLE(gadmei_rm008z);
DECLARE_IR_KEYTABLE(genius_tvgo_a11mce);
DECLARE_IR_KEYTABLE(gotview7135);
DECLARE_IR_KEYTABLE(hauppauge_new);
DECLARE_IR_KEYTABLE(iodata_bctv7e);
DECLARE_IR_KEYTABLE(kaiomy);
DECLARE_IR_KEYTABLE(kworld_315u);
DECLARE_IR_KEYTABLE(kworld_plus_tv_analog);
DECLARE_IR_KEYTABLE(manli);
DECLARE_IR_KEYTABLE(msi_tvanywhere);
DECLARE_IR_KEYTABLE(msi_tvanywhere_plus);
DECLARE_IR_KEYTABLE(nebula);
DECLARE_IR_KEYTABLE(nec_terratec_cinergy_xs);
DECLARE_IR_KEYTABLE(norwood);
DECLARE_IR_KEYTABLE(npgtech);
DECLARE_IR_KEYTABLE(pctv_sedna);
DECLARE_IR_KEYTABLE(pinnacle_color);
DECLARE_IR_KEYTABLE(pinnacle_grey);
DECLARE_IR_KEYTABLE(pinnacle_pctv_hd);
DECLARE_IR_KEYTABLE(pixelview);
DECLARE_IR_KEYTABLE(pixelview_new);
DECLARE_IR_KEYTABLE(powercolor_real_angel);
DECLARE_IR_KEYTABLE(proteus_2309);
DECLARE_IR_KEYTABLE(purpletv);
DECLARE_IR_KEYTABLE(pv951);
DECLARE_IR_KEYTABLE(rc5_hauppauge_new);
DECLARE_IR_KEYTABLE(rc5_tv);
DECLARE_IR_KEYTABLE(real_audio_220_32_keys);
DECLARE_IR_KEYTABLE(tbs_nec);
DECLARE_IR_KEYTABLE(terratec_cinergy_xs);
DECLARE_IR_KEYTABLE(tevii_nec);
DECLARE_IR_KEYTABLE(tt_1500);
DECLARE_IR_KEYTABLE(videomate_s350);
DECLARE_IR_KEYTABLE(videomate_tv_pvr);
DECLARE_IR_KEYTABLE(winfast);
DECLARE_IR_KEYTABLE(winfast_usbii_deluxe);

#endif
18 changes: 18 additions & 0 deletions include/media/ir-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,24 @@ struct ir_raw_handler {

#define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)

#define IR_KEYTABLE(a) \
ir_codes_ ## a ## _table

#define DECLARE_IR_KEYTABLE(a) \
extern struct ir_scancode_table IR_KEYTABLE(a)

#define DEFINE_IR_KEYTABLE(tabname, type) \
struct ir_scancode_table IR_KEYTABLE(tabname) = { \
.scan = tabname, \
.size = ARRAY_SIZE(tabname), \
.ir_type = type, \
.name = #tabname, \
}; \
EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))

#define DEFINE_LEGACY_IR_KEYTABLE(tabname) \
DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)

/* Routines from ir-keytable.c */

u32 ir_g_keycode_from_table(struct input_dev *input_dev,
Expand Down
65 changes: 65 additions & 0 deletions include/media/keycodes/adstech-dvb-t-pci.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller
*
* Imported from ir-keymaps.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/

/* ADS Tech Instant TV DVB-T PCI Remote */

#ifdef IR_KEYMAPS
static struct ir_scancode adstech_dvb_t_pci[] = {
/* 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 },
};
DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci);
#else
DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
#endif
56 changes: 56 additions & 0 deletions include/media/keycodes/apac-viewcomp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller
*
* Imported from ir-keymaps.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/

/* Attila Kondoros <attila.kondoros@chello.hu> */

#ifdef IR_KEYMAPS
static struct ir_scancode apac_viewcomp[] = {

{ 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 },
{ 0x00, KEY_0 },
{ 0x17, KEY_LAST }, /* +100 */
{ 0x0a, KEY_LIST }, /* recall */


{ 0x1c, KEY_TUNER }, /* TV/FM */
{ 0x15, KEY_SEARCH }, /* scan */
{ 0x12, KEY_POWER }, /* power */
{ 0x1f, KEY_VOLUMEDOWN }, /* vol up */
{ 0x1b, KEY_VOLUMEUP }, /* vol down */
{ 0x1e, KEY_CHANNELDOWN }, /* chn up */
{ 0x1a, KEY_CHANNELUP }, /* chn down */

{ 0x11, KEY_VIDEO }, /* video */
{ 0x0f, KEY_ZOOM }, /* full screen */
{ 0x13, KEY_MUTE }, /* mute/unmute */
{ 0x10, KEY_TEXT }, /* min */

{ 0x0d, KEY_STOP }, /* freeze */
{ 0x0e, KEY_RECORD }, /* record */
{ 0x1d, KEY_PLAYPAUSE }, /* stop */
{ 0x19, KEY_PLAY }, /* play */

{ 0x16, KEY_GOTO }, /* osd */
{ 0x14, KEY_REFRESH }, /* default */
{ 0x0c, KEY_KPPLUS }, /* fine tune >>>> */
{ 0x18, KEY_KPMINUS }, /* fine tune <<<< */
};
DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp);
#else
DECLARE_IR_KEYTABLE(apac_viewcomp);
#endif
67 changes: 67 additions & 0 deletions include/media/keycodes/asus-pc39.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/* asus-pc39.h - Keytable for asus_pc39 Remote Controller
*
* Imported from ir-keymaps.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/

/*
* Marc Fargas <telenieko@telenieko.com>
* this is the remote control that comes with the asus p7131
* which has a label saying is "Model PC-39"
*/

#ifdef IR_KEYMAPS
static struct ir_scancode asus_pc39[] = {
/* Keys 0 to 9 */
{ 0x15, KEY_0 },
{ 0x29, KEY_1 },
{ 0x2d, KEY_2 },
{ 0x2b, KEY_3 },
{ 0x09, KEY_4 },
{ 0x0d, KEY_5 },
{ 0x0b, KEY_6 },
{ 0x31, KEY_7 },
{ 0x35, KEY_8 },
{ 0x33, KEY_9 },

{ 0x3e, KEY_RADIO }, /* radio */
{ 0x03, KEY_MENU }, /* dvd/menu */
{ 0x2a, KEY_VOLUMEUP },
{ 0x19, KEY_VOLUMEDOWN },
{ 0x37, KEY_UP },
{ 0x3b, KEY_DOWN },
{ 0x27, KEY_LEFT },
{ 0x2f, KEY_RIGHT },
{ 0x25, KEY_VIDEO }, /* video */
{ 0x39, KEY_AUDIO }, /* music */

{ 0x21, KEY_TV }, /* tv */
{ 0x1d, KEY_EXIT }, /* back */
{ 0x0a, KEY_CHANNELUP }, /* channel / program + */
{ 0x1b, KEY_CHANNELDOWN }, /* channel / program - */
{ 0x1a, KEY_ENTER }, /* enter */

{ 0x06, KEY_PAUSE }, /* play/pause */
{ 0x1e, KEY_PREVIOUS }, /* rew */
{ 0x26, KEY_NEXT }, /* forward */
{ 0x0e, KEY_REWIND }, /* backward << */
{ 0x3a, KEY_FASTFORWARD }, /* forward >> */
{ 0x36, KEY_STOP },
{ 0x2e, KEY_RECORD }, /* recording */
{ 0x16, KEY_POWER }, /* the button that reads "close" */

{ 0x11, KEY_ZOOM }, /* full screen */
{ 0x13, KEY_MACRO }, /* recall */
{ 0x23, KEY_HOME }, /* home */
{ 0x05, KEY_PVR }, /* picture */
{ 0x3d, KEY_MUTE }, /* mute */
{ 0x01, KEY_DVD }, /* dvd */
};
DEFINE_LEGACY_IR_KEYTABLE(asus_pc39);
#else
DECLARE_IR_KEYTABLE(asus_pc39);
#endif
Loading

0 comments on commit 77b7422

Please sign in to comment.