diff options
Diffstat (limited to 'include/media/rc-map.h')
-rw-r--r-- | include/media/rc-map.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/include/media/rc-map.h b/include/media/rc-map.h new file mode 100644 index 000000000000..5833966a7100 --- /dev/null +++ b/include/media/rc-map.h | |||
@@ -0,0 +1,121 @@ | |||
1 | /* | ||
2 | * rc-map.h - define RC map names used by RC drivers | ||
3 | * | ||
4 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <linux/input.h> | ||
13 | |||
14 | #define IR_TYPE_UNKNOWN 0 | ||
15 | #define IR_TYPE_RC5 (1 << 0) /* Philips RC5 protocol */ | ||
16 | #define IR_TYPE_NEC (1 << 1) | ||
17 | #define IR_TYPE_RC6 (1 << 2) /* Philips RC6 protocol */ | ||
18 | #define IR_TYPE_JVC (1 << 3) /* JVC protocol */ | ||
19 | #define IR_TYPE_SONY (1 << 4) /* Sony12/15/20 protocol */ | ||
20 | #define IR_TYPE_OTHER (1u << 31) | ||
21 | |||
22 | struct ir_scancode { | ||
23 | u32 scancode; | ||
24 | u32 keycode; | ||
25 | }; | ||
26 | |||
27 | struct ir_scancode_table { | ||
28 | struct ir_scancode *scan; | ||
29 | unsigned int size; /* Max number of entries */ | ||
30 | unsigned int len; /* Used number of entries */ | ||
31 | unsigned int alloc; /* Size of *scan in bytes */ | ||
32 | u64 ir_type; | ||
33 | char *name; | ||
34 | spinlock_t lock; | ||
35 | }; | ||
36 | |||
37 | struct rc_keymap { | ||
38 | struct list_head list; | ||
39 | struct ir_scancode_table map; | ||
40 | }; | ||
41 | |||
42 | /* Routines from rc-map.c */ | ||
43 | |||
44 | int ir_register_map(struct rc_keymap *map); | ||
45 | void ir_unregister_map(struct rc_keymap *map); | ||
46 | struct ir_scancode_table *get_rc_map(const char *name); | ||
47 | void rc_map_init(void); | ||
48 | |||
49 | /* Names of the several keytables defined in-kernel */ | ||
50 | |||
51 | #define RC_MAP_ADSTECH_DVB_T_PCI "rc-adstech-dvb-t-pci" | ||
52 | #define RC_MAP_APAC_VIEWCOMP "rc-apac-viewcomp" | ||
53 | #define RC_MAP_ASUS_PC39 "rc-asus-pc39" | ||
54 | #define RC_MAP_ATI_TV_WONDER_HD_600 "rc-ati-tv-wonder-hd-600" | ||
55 | #define RC_MAP_AVERMEDIA_A16D "rc-avermedia-a16d" | ||
56 | #define RC_MAP_AVERMEDIA_CARDBUS "rc-avermedia-cardbus" | ||
57 | #define RC_MAP_AVERMEDIA_DVBT "rc-avermedia-dvbt" | ||
58 | #define RC_MAP_AVERMEDIA_M135A_RM_JX "rc-avermedia-m135a-rm-jx" | ||
59 | #define RC_MAP_AVERMEDIA "rc-avermedia" | ||
60 | #define RC_MAP_AVERTV_303 "rc-avertv-303" | ||
61 | #define RC_MAP_BEHOLD_COLUMBUS "rc-behold-columbus" | ||
62 | #define RC_MAP_BEHOLD "rc-behold" | ||
63 | #define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old" | ||
64 | #define RC_MAP_CINERGY_1400 "rc-cinergy-1400" | ||
65 | #define RC_MAP_CINERGY "rc-cinergy" | ||
66 | #define RC_MAP_DM1105_NEC "rc-dm1105-nec" | ||
67 | #define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro" | ||
68 | #define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t" | ||
69 | #define RC_MAP_EMPTY "rc-empty" | ||
70 | #define RC_MAP_EM_TERRATEC "rc-em-terratec" | ||
71 | #define RC_MAP_ENCORE_ENLTV2 "rc-encore-enltv2" | ||
72 | #define RC_MAP_ENCORE_ENLTV_FM53 "rc-encore-enltv-fm53" | ||
73 | #define RC_MAP_ENCORE_ENLTV "rc-encore-enltv" | ||
74 | #define RC_MAP_EVGA_INDTUBE "rc-evga-indtube" | ||
75 | #define RC_MAP_EZTV "rc-eztv" | ||
76 | #define RC_MAP_FLYDVB "rc-flydvb" | ||
77 | #define RC_MAP_FLYVIDEO "rc-flyvideo" | ||
78 | #define RC_MAP_FUSIONHDTV_MCE "rc-fusionhdtv-mce" | ||
79 | #define RC_MAP_GADMEI_RM008Z "rc-gadmei-rm008z" | ||
80 | #define RC_MAP_GENIUS_TVGO_A11MCE "rc-genius-tvgo-a11mce" | ||
81 | #define RC_MAP_GOTVIEW7135 "rc-gotview7135" | ||
82 | #define RC_MAP_HAUPPAUGE_NEW "rc-hauppauge-new" | ||
83 | #define RC_MAP_IMON_MCE "rc-imon-mce" | ||
84 | #define RC_MAP_IMON_PAD "rc-imon-pad" | ||
85 | #define RC_MAP_IODATA_BCTV7E "rc-iodata-bctv7e" | ||
86 | #define RC_MAP_KAIOMY "rc-kaiomy" | ||
87 | #define RC_MAP_KWORLD_315U "rc-kworld-315u" | ||
88 | #define RC_MAP_KWORLD_PLUS_TV_ANALOG "rc-kworld-plus-tv-analog" | ||
89 | #define RC_MAP_MANLI "rc-manli" | ||
90 | #define RC_MAP_MSI_TVANYWHERE_PLUS "rc-msi-tvanywhere-plus" | ||
91 | #define RC_MAP_MSI_TVANYWHERE "rc-msi-tvanywhere" | ||
92 | #define RC_MAP_NEBULA "rc-nebula" | ||
93 | #define RC_MAP_NEC_TERRATEC_CINERGY_XS "rc-nec-terratec-cinergy-xs" | ||
94 | #define RC_MAP_NORWOOD "rc-norwood" | ||
95 | #define RC_MAP_NPGTECH "rc-npgtech" | ||
96 | #define RC_MAP_PCTV_SEDNA "rc-pctv-sedna" | ||
97 | #define RC_MAP_PINNACLE_COLOR "rc-pinnacle-color" | ||
98 | #define RC_MAP_PINNACLE_GREY "rc-pinnacle-grey" | ||
99 | #define RC_MAP_PINNACLE_PCTV_HD "rc-pinnacle-pctv-hd" | ||
100 | #define RC_MAP_PIXELVIEW_NEW "rc-pixelview-new" | ||
101 | #define RC_MAP_PIXELVIEW "rc-pixelview" | ||
102 | #define RC_MAP_PIXELVIEW_MK12 "rc-pixelview-mk12" | ||
103 | #define RC_MAP_POWERCOLOR_REAL_ANGEL "rc-powercolor-real-angel" | ||
104 | #define RC_MAP_PROTEUS_2309 "rc-proteus-2309" | ||
105 | #define RC_MAP_PURPLETV "rc-purpletv" | ||
106 | #define RC_MAP_PV951 "rc-pv951" | ||
107 | #define RC_MAP_RC5_HAUPPAUGE_NEW "rc-rc5-hauppauge-new" | ||
108 | #define RC_MAP_RC5_TV "rc-rc5-tv" | ||
109 | #define RC_MAP_REAL_AUDIO_220_32_KEYS "rc-real-audio-220-32-keys" | ||
110 | #define RC_MAP_TBS_NEC "rc-tbs-nec" | ||
111 | #define RC_MAP_TERRATEC_CINERGY_XS "rc-terratec-cinergy-xs" | ||
112 | #define RC_MAP_TEVII_NEC "rc-tevii-nec" | ||
113 | #define RC_MAP_TT_1500 "rc-tt-1500" | ||
114 | #define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350" | ||
115 | #define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr" | ||
116 | #define RC_MAP_WINFAST "rc-winfast" | ||
117 | #define RC_MAP_WINFAST_USBII_DELUXE "rc-winfast-usbii-deluxe" | ||
118 | /* | ||
119 | * Please, do not just append newer Remote Controller names at the end. | ||
120 | * The names should be ordered in alphabetical order | ||
121 | */ | ||