diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/common/ir-functions.c | 15 | ||||
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 5085 | ||||
-rw-r--r-- | drivers/media/dvb/dm1105/dm1105.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget-ci.c | 6 | ||||
-rw-r--r-- | drivers/media/video/bt8xx/bttv-input.c | 26 | ||||
-rw-r--r-- | drivers/media/video/cx18/cx18-i2c.c | 2 | ||||
-rw-r--r-- | drivers/media/video/cx231xx/cx231xx.h | 2 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-input.c | 52 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 26 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 2 | ||||
-rw-r--r-- | drivers/media/video/ir-kbd-i2c.c | 20 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 66 |
12 files changed, 2796 insertions, 2508 deletions
diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c index 16792a68a449..655474b29e21 100644 --- a/drivers/media/common/ir-functions.c +++ b/drivers/media/common/ir-functions.c | |||
@@ -58,13 +58,24 @@ static void ir_input_key_event(struct input_dev *dev, struct ir_input_state *ir) | |||
58 | /* -------------------------------------------------------------------------- */ | 58 | /* -------------------------------------------------------------------------- */ |
59 | 59 | ||
60 | void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, | 60 | void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, |
61 | int ir_type, IR_KEYTAB_TYPE *ir_codes) | 61 | int ir_type, struct ir_scancode_table *ir_codes) |
62 | { | 62 | { |
63 | int i; | 63 | int i; |
64 | 64 | ||
65 | ir->ir_type = ir_type; | 65 | ir->ir_type = ir_type; |
66 | |||
67 | memset(ir->ir_codes, sizeof(ir->ir_codes), 0); | ||
68 | |||
69 | /* | ||
70 | * FIXME: This is a temporary workaround to use the new IR tables | ||
71 | * with the old approach. Later patches will replace this to a | ||
72 | * proper method | ||
73 | */ | ||
74 | |||
66 | if (ir_codes) | 75 | if (ir_codes) |
67 | memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes)); | 76 | for (i = 0; i < ir_codes->size; i++) |
77 | if (ir_codes->scan[i].scancode < IR_KEYTAB_SIZE) | ||
78 | ir->ir_codes[ir_codes->scan[i].scancode] = ir_codes->scan[i].keycode; | ||
68 | 79 | ||
69 | dev->keycode = ir->ir_codes; | 80 | dev->keycode = ir->ir_codes; |
70 | dev->keycodesize = sizeof(IR_KEYTAB_TYPE); | 81 | dev->keycodesize = sizeof(IR_KEYTAB_TYPE); |
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index c93a5269f223..f6790172736a 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -29,562 +29,627 @@ | |||
29 | #include <media/ir-common.h> | 29 | #include <media/ir-common.h> |
30 | 30 | ||
31 | /* empty keytable, can be used as placeholder for not-yet created keytables */ | 31 | /* empty keytable, can be used as placeholder for not-yet created keytables */ |
32 | IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = { | 32 | static struct ir_scancode ir_codes_empty[] = { |
33 | [0x2a] = KEY_COFFEE, | 33 | { 0x2a, KEY_COFFEE }, |
34 | }; | 34 | }; |
35 | EXPORT_SYMBOL_GPL(ir_codes_empty); | 35 | |
36 | struct ir_scancode_table ir_codes_empty_table = { | ||
37 | .scan = ir_codes_empty, | ||
38 | .size = ARRAY_SIZE(ir_codes_empty), | ||
39 | }; | ||
40 | EXPORT_SYMBOL_GPL(ir_codes_empty_table); | ||
36 | 41 | ||
37 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | 42 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ |
38 | IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = { | 43 | static struct ir_scancode ir_codes_proteus_2309[] = { |
39 | /* numeric */ | 44 | /* numeric */ |
40 | [0x00] = KEY_0, | 45 | { 0x00, KEY_0 }, |
41 | [0x01] = KEY_1, | 46 | { 0x01, KEY_1 }, |
42 | [0x02] = KEY_2, | 47 | { 0x02, KEY_2 }, |
43 | [0x03] = KEY_3, | 48 | { 0x03, KEY_3 }, |
44 | [0x04] = KEY_4, | 49 | { 0x04, KEY_4 }, |
45 | [0x05] = KEY_5, | 50 | { 0x05, KEY_5 }, |
46 | [0x06] = KEY_6, | 51 | { 0x06, KEY_6 }, |
47 | [0x07] = KEY_7, | 52 | { 0x07, KEY_7 }, |
48 | [0x08] = KEY_8, | 53 | { 0x08, KEY_8 }, |
49 | [0x09] = KEY_9, | 54 | { 0x09, KEY_9 }, |
50 | 55 | ||
51 | [0x5c] = KEY_POWER, /* power */ | 56 | { 0x5c, KEY_POWER }, /* power */ |
52 | [0x20] = KEY_ZOOM, /* full screen */ | 57 | { 0x20, KEY_ZOOM }, /* full screen */ |
53 | [0x0f] = KEY_BACKSPACE, /* recall */ | 58 | { 0x0f, KEY_BACKSPACE }, /* recall */ |
54 | [0x1b] = KEY_ENTER, /* mute */ | 59 | { 0x1b, KEY_ENTER }, /* mute */ |
55 | [0x41] = KEY_RECORD, /* record */ | 60 | { 0x41, KEY_RECORD }, /* record */ |
56 | [0x43] = KEY_STOP, /* stop */ | 61 | { 0x43, KEY_STOP }, /* stop */ |
57 | [0x16] = KEY_S, | 62 | { 0x16, KEY_S }, |
58 | [0x1a] = KEY_POWER2, /* off */ | 63 | { 0x1a, KEY_POWER2 }, /* off */ |
59 | [0x2e] = KEY_RED, | 64 | { 0x2e, KEY_RED }, |
60 | [0x1f] = KEY_CHANNELDOWN, /* channel - */ | 65 | { 0x1f, KEY_CHANNELDOWN }, /* channel - */ |
61 | [0x1c] = KEY_CHANNELUP, /* channel + */ | 66 | { 0x1c, KEY_CHANNELUP }, /* channel + */ |
62 | [0x10] = KEY_VOLUMEDOWN, /* volume - */ | 67 | { 0x10, KEY_VOLUMEDOWN }, /* volume - */ |
63 | [0x1e] = KEY_VOLUMEUP, /* volume + */ | 68 | { 0x1e, KEY_VOLUMEUP }, /* volume + */ |
64 | [0x14] = KEY_F1, | 69 | { 0x14, KEY_F1 }, |
65 | }; | 70 | }; |
66 | EXPORT_SYMBOL_GPL(ir_codes_proteus_2309); | 71 | |
72 | struct ir_scancode_table ir_codes_proteus_2309_table = { | ||
73 | .scan = ir_codes_proteus_2309, | ||
74 | .size = ARRAY_SIZE(ir_codes_proteus_2309), | ||
75 | }; | ||
76 | EXPORT_SYMBOL_GPL(ir_codes_proteus_2309_table); | ||
67 | 77 | ||
68 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | 78 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ |
69 | IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { | 79 | static struct ir_scancode ir_codes_avermedia_dvbt[] = { |
70 | [0x28] = KEY_0, /* '0' / 'enter' */ | 80 | { 0x28, KEY_0 }, /* '0' / 'enter' */ |
71 | [0x22] = KEY_1, /* '1' */ | 81 | { 0x22, KEY_1 }, /* '1' */ |
72 | [0x12] = KEY_2, /* '2' / 'up arrow' */ | 82 | { 0x12, KEY_2 }, /* '2' / 'up arrow' */ |
73 | [0x32] = KEY_3, /* '3' */ | 83 | { 0x32, KEY_3 }, /* '3' */ |
74 | [0x24] = KEY_4, /* '4' / 'left arrow' */ | 84 | { 0x24, KEY_4 }, /* '4' / 'left arrow' */ |
75 | [0x14] = KEY_5, /* '5' */ | 85 | { 0x14, KEY_5 }, /* '5' */ |
76 | [0x34] = KEY_6, /* '6' / 'right arrow' */ | 86 | { 0x34, KEY_6 }, /* '6' / 'right arrow' */ |
77 | [0x26] = KEY_7, /* '7' */ | 87 | { 0x26, KEY_7 }, /* '7' */ |
78 | [0x16] = KEY_8, /* '8' / 'down arrow' */ | 88 | { 0x16, KEY_8 }, /* '8' / 'down arrow' */ |
79 | [0x36] = KEY_9, /* '9' */ | 89 | { 0x36, KEY_9 }, /* '9' */ |
80 | 90 | ||
81 | [0x20] = KEY_LIST, /* 'source' */ | 91 | { 0x20, KEY_LIST }, /* 'source' */ |
82 | [0x10] = KEY_TEXT, /* 'teletext' */ | 92 | { 0x10, KEY_TEXT }, /* 'teletext' */ |
83 | [0x00] = KEY_POWER, /* 'power' */ | 93 | { 0x00, KEY_POWER }, /* 'power' */ |
84 | [0x04] = KEY_AUDIO, /* 'audio' */ | 94 | { 0x04, KEY_AUDIO }, /* 'audio' */ |
85 | [0x06] = KEY_ZOOM, /* 'full screen' */ | 95 | { 0x06, KEY_ZOOM }, /* 'full screen' */ |
86 | [0x18] = KEY_VIDEO, /* 'display' */ | 96 | { 0x18, KEY_VIDEO }, /* 'display' */ |
87 | [0x38] = KEY_SEARCH, /* 'loop' */ | 97 | { 0x38, KEY_SEARCH }, /* 'loop' */ |
88 | [0x08] = KEY_INFO, /* 'preview' */ | 98 | { 0x08, KEY_INFO }, /* 'preview' */ |
89 | [0x2a] = KEY_REWIND, /* 'backward <<' */ | 99 | { 0x2a, KEY_REWIND }, /* 'backward <<' */ |
90 | [0x1a] = KEY_FASTFORWARD, /* 'forward >>' */ | 100 | { 0x1a, KEY_FASTFORWARD }, /* 'forward >>' */ |
91 | [0x3a] = KEY_RECORD, /* 'capture' */ | 101 | { 0x3a, KEY_RECORD }, /* 'capture' */ |
92 | [0x0a] = KEY_MUTE, /* 'mute' */ | 102 | { 0x0a, KEY_MUTE }, /* 'mute' */ |
93 | [0x2c] = KEY_RECORD, /* 'record' */ | 103 | { 0x2c, KEY_RECORD }, /* 'record' */ |
94 | [0x1c] = KEY_PAUSE, /* 'pause' */ | 104 | { 0x1c, KEY_PAUSE }, /* 'pause' */ |
95 | [0x3c] = KEY_STOP, /* 'stop' */ | 105 | { 0x3c, KEY_STOP }, /* 'stop' */ |
96 | [0x0c] = KEY_PLAY, /* 'play' */ | 106 | { 0x0c, KEY_PLAY }, /* 'play' */ |
97 | [0x2e] = KEY_RED, /* 'red' */ | 107 | { 0x2e, KEY_RED }, /* 'red' */ |
98 | [0x01] = KEY_BLUE, /* 'blue' / 'cancel' */ | 108 | { 0x01, KEY_BLUE }, /* 'blue' / 'cancel' */ |
99 | [0x0e] = KEY_YELLOW, /* 'yellow' / 'ok' */ | 109 | { 0x0e, KEY_YELLOW }, /* 'yellow' / 'ok' */ |
100 | [0x21] = KEY_GREEN, /* 'green' */ | 110 | { 0x21, KEY_GREEN }, /* 'green' */ |
101 | [0x11] = KEY_CHANNELDOWN, /* 'channel -' */ | 111 | { 0x11, KEY_CHANNELDOWN }, /* 'channel -' */ |
102 | [0x31] = KEY_CHANNELUP, /* 'channel +' */ | 112 | { 0x31, KEY_CHANNELUP }, /* 'channel +' */ |
103 | [0x1e] = KEY_VOLUMEDOWN, /* 'volume -' */ | 113 | { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ |
104 | [0x3e] = KEY_VOLUMEUP, /* 'volume +' */ | 114 | { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ |
105 | }; | 115 | }; |
106 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt); | 116 | |
117 | struct ir_scancode_table ir_codes_avermedia_dvbt_table = { | ||
118 | .scan = ir_codes_avermedia_dvbt, | ||
119 | .size = ARRAY_SIZE(ir_codes_avermedia_dvbt), | ||
120 | }; | ||
121 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt_table); | ||
107 | 122 | ||
108 | /* Mauro Carvalho Chehab <mchehab@infradead.org> */ | 123 | /* Mauro Carvalho Chehab <mchehab@infradead.org> */ |
109 | IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = { | 124 | static struct ir_scancode ir_codes_avermedia_m135a[] = { |
110 | [0x00] = KEY_POWER2, | 125 | { 0x00, KEY_POWER2 }, |
111 | [0x2e] = KEY_DOT, /* '.' */ | 126 | { 0x2e, KEY_DOT }, /* '.' */ |
112 | [0x01] = KEY_MODE, /* TV/FM */ | 127 | { 0x01, KEY_MODE }, /* TV/FM */ |
113 | 128 | ||
114 | [0x05] = KEY_1, | 129 | { 0x05, KEY_1 }, |
115 | [0x06] = KEY_2, | 130 | { 0x06, KEY_2 }, |
116 | [0x07] = KEY_3, | 131 | { 0x07, KEY_3 }, |
117 | [0x09] = KEY_4, | 132 | { 0x09, KEY_4 }, |
118 | [0x0a] = KEY_5, | 133 | { 0x0a, KEY_5 }, |
119 | [0x0b] = KEY_6, | 134 | { 0x0b, KEY_6 }, |
120 | [0x0d] = KEY_7, | 135 | { 0x0d, KEY_7 }, |
121 | [0x0e] = KEY_8, | 136 | { 0x0e, KEY_8 }, |
122 | [0x0f] = KEY_9, | 137 | { 0x0f, KEY_9 }, |
123 | [0x11] = KEY_0, | 138 | { 0x11, KEY_0 }, |
124 | 139 | ||
125 | [0x13] = KEY_RIGHT, /* -> */ | 140 | { 0x13, KEY_RIGHT }, /* -> */ |
126 | [0x12] = KEY_LEFT, /* <- */ | 141 | { 0x12, KEY_LEFT }, /* <- */ |
127 | 142 | ||
128 | [0x17] = KEY_SLEEP, /* Capturar Imagem */ | 143 | { 0x17, KEY_SLEEP }, /* Capturar Imagem */ |
129 | [0x10] = KEY_SHUFFLE, /* Amostra */ | 144 | { 0x10, KEY_SHUFFLE }, /* Amostra */ |
130 | 145 | ||
131 | /* FIXME: The keys bellow aren't ok */ | 146 | /* FIXME: The keys bellow aren't ok */ |
132 | 147 | ||
133 | [0x43] = KEY_CHANNELUP, | 148 | { 0x43, KEY_CHANNELUP }, |
134 | [0x42] = KEY_CHANNELDOWN, | 149 | { 0x42, KEY_CHANNELDOWN }, |
135 | [0x1f] = KEY_VOLUMEUP, | 150 | { 0x1f, KEY_VOLUMEUP }, |
136 | [0x1e] = KEY_VOLUMEDOWN, | 151 | { 0x1e, KEY_VOLUMEDOWN }, |
137 | [0x0c] = KEY_ENTER, | 152 | { 0x0c, KEY_ENTER }, |
138 | 153 | ||
139 | [0x14] = KEY_MUTE, | 154 | { 0x14, KEY_MUTE }, |
140 | [0x08] = KEY_AUDIO, | 155 | { 0x08, KEY_AUDIO }, |
141 | 156 | ||
142 | [0x03] = KEY_TEXT, | 157 | { 0x03, KEY_TEXT }, |
143 | [0x04] = KEY_EPG, | 158 | { 0x04, KEY_EPG }, |
144 | [0x2b] = KEY_TV2, /* TV2 */ | 159 | { 0x2b, KEY_TV2 }, /* TV2 */ |
145 | 160 | ||
146 | [0x1d] = KEY_RED, | 161 | { 0x1d, KEY_RED }, |
147 | [0x1c] = KEY_YELLOW, | 162 | { 0x1c, KEY_YELLOW }, |
148 | [0x41] = KEY_GREEN, | 163 | { 0x41, KEY_GREEN }, |
149 | [0x40] = KEY_BLUE, | 164 | { 0x40, KEY_BLUE }, |
150 | 165 | ||
151 | [0x1a] = KEY_PLAYPAUSE, | 166 | { 0x1a, KEY_PLAYPAUSE }, |
152 | [0x19] = KEY_RECORD, | 167 | { 0x19, KEY_RECORD }, |
153 | [0x18] = KEY_PLAY, | 168 | { 0x18, KEY_PLAY }, |
154 | [0x1b] = KEY_STOP, | 169 | { 0x1b, KEY_STOP }, |
155 | }; | 170 | }; |
156 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a); | 171 | |
172 | struct ir_scancode_table ir_codes_avermedia_m135a_table = { | ||
173 | .scan = ir_codes_avermedia_m135a, | ||
174 | .size = ARRAY_SIZE(ir_codes_avermedia_m135a), | ||
175 | }; | ||
176 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a_table); | ||
157 | 177 | ||
158 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | 178 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ |
159 | IR_KEYTAB_TYPE ir_codes_avermedia_cardbus[IR_KEYTAB_SIZE] = { | 179 | static struct ir_scancode ir_codes_avermedia_cardbus[] = { |
160 | [0x00] = KEY_POWER, | 180 | { 0x00, KEY_POWER }, |
161 | [0x01] = KEY_TUNER, /* TV/FM */ | 181 | { 0x01, KEY_TUNER }, /* TV/FM */ |
162 | [0x03] = KEY_TEXT, /* Teletext */ | 182 | { 0x03, KEY_TEXT }, /* Teletext */ |
163 | [0x04] = KEY_EPG, | 183 | { 0x04, KEY_EPG }, |
164 | [0x05] = KEY_1, | 184 | { 0x05, KEY_1 }, |
165 | [0x06] = KEY_2, | 185 | { 0x06, KEY_2 }, |
166 | [0x07] = KEY_3, | 186 | { 0x07, KEY_3 }, |
167 | [0x08] = KEY_AUDIO, | 187 | { 0x08, KEY_AUDIO }, |
168 | [0x09] = KEY_4, | 188 | { 0x09, KEY_4 }, |
169 | [0x0a] = KEY_5, | 189 | { 0x0a, KEY_5 }, |
170 | [0x0b] = KEY_6, | 190 | { 0x0b, KEY_6 }, |
171 | [0x0c] = KEY_ZOOM, /* Full screen */ | 191 | { 0x0c, KEY_ZOOM }, /* Full screen */ |
172 | [0x0d] = KEY_7, | 192 | { 0x0d, KEY_7 }, |
173 | [0x0e] = KEY_8, | 193 | { 0x0e, KEY_8 }, |
174 | [0x0f] = KEY_9, | 194 | { 0x0f, KEY_9 }, |
175 | [0x10] = KEY_PAGEUP, /* 16-CH PREV */ | 195 | { 0x10, KEY_PAGEUP }, /* 16-CH PREV */ |
176 | [0x11] = KEY_0, | 196 | { 0x11, KEY_0 }, |
177 | [0x12] = KEY_INFO, | 197 | { 0x12, KEY_INFO }, |
178 | [0x13] = KEY_AGAIN, /* CH RTN - channel return */ | 198 | { 0x13, KEY_AGAIN }, /* CH RTN - channel return */ |
179 | [0x14] = KEY_MUTE, | 199 | { 0x14, KEY_MUTE }, |
180 | [0x15] = KEY_EDIT, /* Autoscan */ | 200 | { 0x15, KEY_EDIT }, /* Autoscan */ |
181 | [0x17] = KEY_SAVE, /* Screenshot */ | 201 | { 0x17, KEY_SAVE }, /* Screenshot */ |
182 | [0x18] = KEY_PLAYPAUSE, | 202 | { 0x18, KEY_PLAYPAUSE }, |
183 | [0x19] = KEY_RECORD, | 203 | { 0x19, KEY_RECORD }, |
184 | [0x1a] = KEY_PLAY, | 204 | { 0x1a, KEY_PLAY }, |
185 | [0x1b] = KEY_STOP, | 205 | { 0x1b, KEY_STOP }, |
186 | [0x1c] = KEY_FASTFORWARD, | 206 | { 0x1c, KEY_FASTFORWARD }, |
187 | [0x1d] = KEY_REWIND, | 207 | { 0x1d, KEY_REWIND }, |
188 | [0x1e] = KEY_VOLUMEDOWN, | 208 | { 0x1e, KEY_VOLUMEDOWN }, |
189 | [0x1f] = KEY_VOLUMEUP, | 209 | { 0x1f, KEY_VOLUMEUP }, |
190 | [0x22] = KEY_SLEEP, /* Sleep */ | 210 | { 0x22, KEY_SLEEP }, /* Sleep */ |
191 | [0x23] = KEY_ZOOM, /* Aspect */ | 211 | { 0x23, KEY_ZOOM }, /* Aspect */ |
192 | [0x26] = KEY_SCREEN, /* Pos */ | 212 | { 0x26, KEY_SCREEN }, /* Pos */ |
193 | [0x27] = KEY_ANGLE, /* Size */ | 213 | { 0x27, KEY_ANGLE }, /* Size */ |
194 | [0x28] = KEY_SELECT, /* Select */ | 214 | { 0x28, KEY_SELECT }, /* Select */ |
195 | [0x29] = KEY_BLUE, /* Blue/Picture */ | 215 | { 0x29, KEY_BLUE }, /* Blue/Picture */ |
196 | [0x2a] = KEY_BACKSPACE, /* Back */ | 216 | { 0x2a, KEY_BACKSPACE }, /* Back */ |
197 | [0x2b] = KEY_MEDIA, /* PIP (Picture-in-picture) */ | 217 | { 0x2b, KEY_MEDIA }, /* PIP (Picture-in-picture) */ |
198 | [0x2c] = KEY_DOWN, | 218 | { 0x2c, KEY_DOWN }, |
199 | [0x2e] = KEY_DOT, | 219 | { 0x2e, KEY_DOT }, |
200 | [0x2f] = KEY_TV, /* Live TV */ | 220 | { 0x2f, KEY_TV }, /* Live TV */ |
201 | [0x32] = KEY_LEFT, | 221 | { 0x32, KEY_LEFT }, |
202 | [0x33] = KEY_CLEAR, /* Clear */ | 222 | { 0x33, KEY_CLEAR }, /* Clear */ |
203 | [0x35] = KEY_RED, /* Red/TV */ | 223 | { 0x35, KEY_RED }, /* Red/TV */ |
204 | [0x36] = KEY_UP, | 224 | { 0x36, KEY_UP }, |
205 | [0x37] = KEY_HOME, /* Home */ | 225 | { 0x37, KEY_HOME }, /* Home */ |
206 | [0x39] = KEY_GREEN, /* Green/Video */ | 226 | { 0x39, KEY_GREEN }, /* Green/Video */ |
207 | [0x3d] = KEY_YELLOW, /* Yellow/Music */ | 227 | { 0x3d, KEY_YELLOW }, /* Yellow/Music */ |
208 | [0x3e] = KEY_OK, /* Ok */ | 228 | { 0x3e, KEY_OK }, /* Ok */ |
209 | [0x3f] = KEY_RIGHT, | 229 | { 0x3f, KEY_RIGHT }, |
210 | [0x40] = KEY_NEXT, /* Next */ | 230 | { 0x40, KEY_NEXT }, /* Next */ |
211 | [0x41] = KEY_PREVIOUS, /* Previous */ | 231 | { 0x41, KEY_PREVIOUS }, /* Previous */ |
212 | [0x42] = KEY_CHANNELDOWN, /* Channel down */ | 232 | { 0x42, KEY_CHANNELDOWN }, /* Channel down */ |
213 | [0x43] = KEY_CHANNELUP, /* Channel up */ | 233 | { 0x43, KEY_CHANNELUP }, /* Channel up */ |
214 | }; | 234 | }; |
215 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus); | 235 | |
236 | struct ir_scancode_table ir_codes_avermedia_cardbus_table = { | ||
237 | .scan = ir_codes_avermedia_cardbus, | ||
238 | .size = ARRAY_SIZE(ir_codes_avermedia_cardbus), | ||
239 | }; | ||
240 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus_table); | ||
216 | 241 | ||
217 | /* Attila Kondoros <attila.kondoros@chello.hu> */ | 242 | /* Attila Kondoros <attila.kondoros@chello.hu> */ |
218 | IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = { | 243 | static struct ir_scancode ir_codes_apac_viewcomp[] = { |
219 | 244 | ||
220 | [0x01] = KEY_1, | 245 | { 0x01, KEY_1 }, |
221 | [0x02] = KEY_2, | 246 | { 0x02, KEY_2 }, |
222 | [0x03] = KEY_3, | 247 | { 0x03, KEY_3 }, |
223 | [0x04] = KEY_4, | 248 | { 0x04, KEY_4 }, |
224 | [0x05] = KEY_5, | 249 | { 0x05, KEY_5 }, |
225 | [0x06] = KEY_6, | 250 | { 0x06, KEY_6 }, |
226 | [0x07] = KEY_7, | 251 | { 0x07, KEY_7 }, |
227 | [0x08] = KEY_8, | 252 | { 0x08, KEY_8 }, |
228 | [0x09] = KEY_9, | 253 | { 0x09, KEY_9 }, |
229 | [0x00] = KEY_0, | 254 | { 0x00, KEY_0 }, |
230 | [0x17] = KEY_LAST, /* +100 */ | 255 | { 0x17, KEY_LAST }, /* +100 */ |
231 | [0x0a] = KEY_LIST, /* recall */ | 256 | { 0x0a, KEY_LIST }, /* recall */ |
232 | 257 | ||
233 | 258 | ||
234 | [0x1c] = KEY_TUNER, /* TV/FM */ | 259 | { 0x1c, KEY_TUNER }, /* TV/FM */ |
235 | [0x15] = KEY_SEARCH, /* scan */ | 260 | { 0x15, KEY_SEARCH }, /* scan */ |
236 | [0x12] = KEY_POWER, /* power */ | 261 | { 0x12, KEY_POWER }, /* power */ |
237 | [0x1f] = KEY_VOLUMEDOWN, /* vol up */ | 262 | { 0x1f, KEY_VOLUMEDOWN }, /* vol up */ |
238 | [0x1b] = KEY_VOLUMEUP, /* vol down */ | 263 | { 0x1b, KEY_VOLUMEUP }, /* vol down */ |
239 | [0x1e] = KEY_CHANNELDOWN, /* chn up */ | 264 | { 0x1e, KEY_CHANNELDOWN }, /* chn up */ |
240 | [0x1a] = KEY_CHANNELUP, /* chn down */ | 265 | { 0x1a, KEY_CHANNELUP }, /* chn down */ |
241 | 266 | ||
242 | [0x11] = KEY_VIDEO, /* video */ | 267 | { 0x11, KEY_VIDEO }, /* video */ |
243 | [0x0f] = KEY_ZOOM, /* full screen */ | 268 | { 0x0f, KEY_ZOOM }, /* full screen */ |
244 | [0x13] = KEY_MUTE, /* mute/unmute */ | 269 | { 0x13, KEY_MUTE }, /* mute/unmute */ |
245 | [0x10] = KEY_TEXT, /* min */ | 270 | { 0x10, KEY_TEXT }, /* min */ |
246 | 271 | ||
247 | [0x0d] = KEY_STOP, /* freeze */ | 272 | { 0x0d, KEY_STOP }, /* freeze */ |
248 | [0x0e] = KEY_RECORD, /* record */ | 273 | { 0x0e, KEY_RECORD }, /* record */ |
249 | [0x1d] = KEY_PLAYPAUSE, /* stop */ | 274 | { 0x1d, KEY_PLAYPAUSE }, /* stop */ |
250 | [0x19] = KEY_PLAY, /* play */ | 275 | { 0x19, KEY_PLAY }, /* play */ |
251 | 276 | ||
252 | [0x16] = KEY_GOTO, /* osd */ | 277 | { 0x16, KEY_GOTO }, /* osd */ |
253 | [0x14] = KEY_REFRESH, /* default */ | 278 | { 0x14, KEY_REFRESH }, /* default */ |
254 | [0x0c] = KEY_KPPLUS, /* fine tune >>>> */ | 279 | { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ |
255 | [0x18] = KEY_KPMINUS, /* fine tune <<<< */ | 280 | { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ |
256 | }; | 281 | }; |
257 | EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp); | 282 | |
283 | struct ir_scancode_table ir_codes_apac_viewcomp_table = { | ||
284 | .scan = ir_codes_apac_viewcomp, | ||
285 | .size = ARRAY_SIZE(ir_codes_apac_viewcomp), | ||
286 | }; | ||
287 | EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp_table); | ||
258 | 288 | ||
259 | /* ---------------------------------------------------------------------- */ | 289 | /* ---------------------------------------------------------------------- */ |
260 | 290 | ||
261 | IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = { | 291 | static struct ir_scancode ir_codes_pixelview[] = { |
262 | 292 | ||
263 | [0x1e] = KEY_POWER, /* power */ | 293 | { 0x1e, KEY_POWER }, /* power */ |
264 | [0x07] = KEY_MEDIA, /* source */ | 294 | { 0x07, KEY_MEDIA }, /* source */ |
265 | [0x1c] = KEY_SEARCH, /* scan */ | 295 | { 0x1c, KEY_SEARCH }, /* scan */ |
266 | 296 | ||
267 | 297 | ||
268 | [0x03] = KEY_TUNER, /* TV/FM */ | 298 | { 0x03, KEY_TUNER }, /* TV/FM */ |
269 | 299 | ||
270 | [0x00] = KEY_RECORD, | 300 | { 0x00, KEY_RECORD }, |
271 | [0x08] = KEY_STOP, | 301 | { 0x08, KEY_STOP }, |
272 | [0x11] = KEY_PLAY, | 302 | { 0x11, KEY_PLAY }, |
273 | 303 | ||
274 | [0x1a] = KEY_PLAYPAUSE, /* freeze */ | 304 | { 0x1a, KEY_PLAYPAUSE }, /* freeze */ |
275 | [0x19] = KEY_ZOOM, /* zoom */ | 305 | { 0x19, KEY_ZOOM }, /* zoom */ |
276 | [0x0f] = KEY_TEXT, /* min */ | 306 | { 0x0f, KEY_TEXT }, /* min */ |
277 | 307 | ||
278 | [0x01] = KEY_1, | 308 | { 0x01, KEY_1 }, |
279 | [0x0b] = KEY_2, | 309 | { 0x0b, KEY_2 }, |
280 | [0x1b] = KEY_3, | 310 | { 0x1b, KEY_3 }, |
281 | [0x05] = KEY_4, | 311 | { 0x05, KEY_4 }, |
282 | [0x09] = KEY_5, | 312 | { 0x09, KEY_5 }, |
283 | [0x15] = KEY_6, | 313 | { 0x15, KEY_6 }, |
284 | [0x06] = KEY_7, | 314 | { 0x06, KEY_7 }, |
285 | [0x0a] = KEY_8, | 315 | { 0x0a, KEY_8 }, |
286 | [0x12] = KEY_9, | 316 | { 0x12, KEY_9 }, |
287 | [0x02] = KEY_0, | 317 | { 0x02, KEY_0 }, |
288 | [0x10] = KEY_LAST, /* +100 */ | 318 | { 0x10, KEY_LAST }, /* +100 */ |
289 | [0x13] = KEY_LIST, /* recall */ | 319 | { 0x13, KEY_LIST }, /* recall */ |
290 | 320 | ||
291 | [0x1f] = KEY_CHANNELUP, /* chn down */ | 321 | { 0x1f, KEY_CHANNELUP }, /* chn down */ |
292 | [0x17] = KEY_CHANNELDOWN, /* chn up */ | 322 | { 0x17, KEY_CHANNELDOWN }, /* chn up */ |
293 | [0x16] = KEY_VOLUMEUP, /* vol down */ | 323 | { 0x16, KEY_VOLUMEUP }, /* vol down */ |
294 | [0x14] = KEY_VOLUMEDOWN, /* vol up */ | 324 | { 0x14, KEY_VOLUMEDOWN }, /* vol up */ |
295 | 325 | ||
296 | [0x04] = KEY_KPMINUS, /* <<< */ | 326 | { 0x04, KEY_KPMINUS }, /* <<< */ |
297 | [0x0e] = KEY_SETUP, /* function */ | 327 | { 0x0e, KEY_SETUP }, /* function */ |
298 | [0x0c] = KEY_KPPLUS, /* >>> */ | 328 | { 0x0c, KEY_KPPLUS }, /* >>> */ |
299 | 329 | ||
300 | [0x0d] = KEY_GOTO, /* mts */ | 330 | { 0x0d, KEY_GOTO }, /* mts */ |
301 | [0x1d] = KEY_REFRESH, /* reset */ | 331 | { 0x1d, KEY_REFRESH }, /* reset */ |
302 | [0x18] = KEY_MUTE, /* mute/unmute */ | 332 | { 0x18, KEY_MUTE }, /* mute/unmute */ |
303 | }; | 333 | }; |
304 | EXPORT_SYMBOL_GPL(ir_codes_pixelview); | 334 | |
335 | struct ir_scancode_table ir_codes_pixelview_table = { | ||
336 | .scan = ir_codes_pixelview, | ||
337 | .size = ARRAY_SIZE(ir_codes_pixelview), | ||
338 | }; | ||
339 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_table); | ||
305 | 340 | ||
306 | /* | 341 | /* |
307 | Mauro Carvalho Chehab <mchehab@infradead.org> | 342 | Mauro Carvalho Chehab <mchehab@infradead.org> |
308 | present on PV MPEG 8000GT | 343 | present on PV MPEG 8000GT |
309 | */ | 344 | */ |
310 | IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = { | 345 | static struct ir_scancode ir_codes_pixelview_new[] = { |
311 | [0x3c] = KEY_TIME, /* Timeshift */ | 346 | { 0x3c, KEY_TIME }, /* Timeshift */ |
312 | [0x12] = KEY_POWER, | 347 | { 0x12, KEY_POWER }, |
313 | 348 | ||
314 | [0x3d] = KEY_1, | 349 | { 0x3d, KEY_1 }, |
315 | [0x38] = KEY_2, | 350 | { 0x38, KEY_2 }, |
316 | [0x18] = KEY_3, | 351 | { 0x18, KEY_3 }, |
317 | [0x35] = KEY_4, | 352 | { 0x35, KEY_4 }, |
318 | [0x39] = KEY_5, | 353 | { 0x39, KEY_5 }, |
319 | [0x15] = KEY_6, | 354 | { 0x15, KEY_6 }, |
320 | [0x36] = KEY_7, | 355 | { 0x36, KEY_7 }, |
321 | [0x3a] = KEY_8, | 356 | { 0x3a, KEY_8 }, |
322 | [0x1e] = KEY_9, | 357 | { 0x1e, KEY_9 }, |
323 | [0x3e] = KEY_0, | 358 | { 0x3e, KEY_0 }, |
324 | 359 | ||
325 | [0x1c] = KEY_AGAIN, /* LOOP */ | 360 | { 0x1c, KEY_AGAIN }, /* LOOP */ |
326 | [0x3f] = KEY_MEDIA, /* Source */ | 361 | { 0x3f, KEY_MEDIA }, /* Source */ |
327 | [0x1f] = KEY_LAST, /* +100 */ | 362 | { 0x1f, KEY_LAST }, /* +100 */ |
328 | [0x1b] = KEY_MUTE, | 363 | { 0x1b, KEY_MUTE }, |
329 | 364 | ||
330 | [0x17] = KEY_CHANNELDOWN, | 365 | { 0x17, KEY_CHANNELDOWN }, |
331 | [0x16] = KEY_CHANNELUP, | 366 | { 0x16, KEY_CHANNELUP }, |
332 | [0x10] = KEY_VOLUMEUP, | 367 | { 0x10, KEY_VOLUMEUP }, |
333 | [0x14] = KEY_VOLUMEDOWN, | 368 | { 0x14, KEY_VOLUMEDOWN }, |
334 | [0x13] = KEY_ZOOM, | 369 | { 0x13, KEY_ZOOM }, |
335 | 370 | ||
336 | [0x19] = KEY_CAMERA, /* SNAPSHOT */ | 371 | { 0x19, KEY_CAMERA }, /* SNAPSHOT */ |
337 | [0x1a] = KEY_SEARCH, /* scan */ | 372 | { 0x1a, KEY_SEARCH }, /* scan */ |
338 | 373 | ||
339 | [0x37] = KEY_REWIND, /* << */ | 374 | { 0x37, KEY_REWIND }, /* << */ |
340 | [0x32] = KEY_RECORD, /* o (red) */ | 375 | { 0x32, KEY_RECORD }, /* o (red) */ |
341 | [0x33] = KEY_FORWARD, /* >> */ | 376 | { 0x33, KEY_FORWARD }, /* >> */ |
342 | [0x11] = KEY_STOP, /* square */ | 377 | { 0x11, KEY_STOP }, /* square */ |
343 | [0x3b] = KEY_PLAY, /* > */ | 378 | { 0x3b, KEY_PLAY }, /* > */ |
344 | [0x30] = KEY_PLAYPAUSE, /* || */ | 379 | { 0x30, KEY_PLAYPAUSE }, /* || */ |
345 | 380 | ||
346 | [0x31] = KEY_TV, | 381 | { 0x31, KEY_TV }, |
347 | [0x34] = KEY_RADIO, | 382 | { 0x34, KEY_RADIO }, |
348 | }; | 383 | }; |
349 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_new); | 384 | |
350 | 385 | struct ir_scancode_table ir_codes_pixelview_new_table = { | |
351 | IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { | 386 | .scan = ir_codes_pixelview_new, |
352 | [0x00] = KEY_0, | 387 | .size = ARRAY_SIZE(ir_codes_pixelview_new), |
353 | [0x01] = KEY_1, | 388 | }; |
354 | [0x02] = KEY_2, | 389 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_new_table); |
355 | [0x03] = KEY_3, | 390 | |
356 | [0x04] = KEY_4, | 391 | static struct ir_scancode ir_codes_nebula[] = { |
357 | [0x05] = KEY_5, | 392 | { 0x00, KEY_0 }, |
358 | [0x06] = KEY_6, | 393 | { 0x01, KEY_1 }, |
359 | [0x07] = KEY_7, | 394 | { 0x02, KEY_2 }, |
360 | [0x08] = KEY_8, | 395 | { 0x03, KEY_3 }, |
361 | [0x09] = KEY_9, | 396 | { 0x04, KEY_4 }, |
362 | [0x0a] = KEY_TV, | 397 | { 0x05, KEY_5 }, |
363 | [0x0b] = KEY_AUX, | 398 | { 0x06, KEY_6 }, |
364 | [0x0c] = KEY_DVD, | 399 | { 0x07, KEY_7 }, |
365 | [0x0d] = KEY_POWER, | 400 | { 0x08, KEY_8 }, |
366 | [0x0e] = KEY_MHP, /* labelled 'Picture' */ | 401 | { 0x09, KEY_9 }, |
367 | [0x0f] = KEY_AUDIO, | 402 | { 0x0a, KEY_TV }, |
368 | [0x10] = KEY_INFO, | 403 | { 0x0b, KEY_AUX }, |
369 | [0x11] = KEY_F13, /* 16:9 */ | 404 | { 0x0c, KEY_DVD }, |
370 | [0x12] = KEY_F14, /* 14:9 */ | 405 | { 0x0d, KEY_POWER }, |
371 | [0x13] = KEY_EPG, | 406 | { 0x0e, KEY_MHP }, /* labelled 'Picture' */ |
372 | [0x14] = KEY_EXIT, | 407 | { 0x0f, KEY_AUDIO }, |
373 | [0x15] = KEY_MENU, | 408 | { 0x10, KEY_INFO }, |
374 | [0x16] = KEY_UP, | 409 | { 0x11, KEY_F13 }, /* 16:9 */ |
375 | [0x17] = KEY_DOWN, | 410 | { 0x12, KEY_F14 }, /* 14:9 */ |
376 | [0x18] = KEY_LEFT, | 411 | { 0x13, KEY_EPG }, |
377 | [0x19] = KEY_RIGHT, | 412 | { 0x14, KEY_EXIT }, |
378 | [0x1a] = KEY_ENTER, | 413 | { 0x15, KEY_MENU }, |
379 | [0x1b] = KEY_CHANNELUP, | 414 | { 0x16, KEY_UP }, |
380 | [0x1c] = KEY_CHANNELDOWN, | 415 | { 0x17, KEY_DOWN }, |
381 | [0x1d] = KEY_VOLUMEUP, | 416 | { 0x18, KEY_LEFT }, |
382 | [0x1e] = KEY_VOLUMEDOWN, | 417 | { 0x19, KEY_RIGHT }, |
383 | [0x1f] = KEY_RED, | 418 | { 0x1a, KEY_ENTER }, |
384 | [0x20] = KEY_GREEN, | 419 | { 0x1b, KEY_CHANNELUP }, |
385 | [0x21] = KEY_YELLOW, | 420 | { 0x1c, KEY_CHANNELDOWN }, |
386 | [0x22] = KEY_BLUE, | 421 | { 0x1d, KEY_VOLUMEUP }, |
387 | [0x23] = KEY_SUBTITLE, | 422 | { 0x1e, KEY_VOLUMEDOWN }, |
388 | [0x24] = KEY_F15, /* AD */ | 423 | { 0x1f, KEY_RED }, |
389 | [0x25] = KEY_TEXT, | 424 | { 0x20, KEY_GREEN }, |
390 | [0x26] = KEY_MUTE, | 425 | { 0x21, KEY_YELLOW }, |
391 | [0x27] = KEY_REWIND, | 426 | { 0x22, KEY_BLUE }, |
392 | [0x28] = KEY_STOP, | 427 | { 0x23, KEY_SUBTITLE }, |
393 | [0x29] = KEY_PLAY, | 428 | { 0x24, KEY_F15 }, /* AD */ |
394 | [0x2a] = KEY_FASTFORWARD, | 429 | { 0x25, KEY_TEXT }, |
395 | [0x2b] = KEY_F16, /* chapter */ | 430 | { 0x26, KEY_MUTE }, |
396 | [0x2c] = KEY_PAUSE, | 431 | { 0x27, KEY_REWIND }, |
397 | [0x2d] = KEY_PLAY, | 432 | { 0x28, KEY_STOP }, |
398 | [0x2e] = KEY_RECORD, | 433 | { 0x29, KEY_PLAY }, |
399 | [0x2f] = KEY_F17, /* picture in picture */ | 434 | { 0x2a, KEY_FASTFORWARD }, |
400 | [0x30] = KEY_KPPLUS, /* zoom in */ | 435 | { 0x2b, KEY_F16 }, /* chapter */ |
401 | [0x31] = KEY_KPMINUS, /* zoom out */ | 436 | { 0x2c, KEY_PAUSE }, |
402 | [0x32] = KEY_F18, /* capture */ | 437 | { 0x2d, KEY_PLAY }, |
403 | [0x33] = KEY_F19, /* web */ | 438 | { 0x2e, KEY_RECORD }, |
404 | [0x34] = KEY_EMAIL, | 439 | { 0x2f, KEY_F17 }, /* picture in picture */ |
405 | [0x35] = KEY_PHONE, | 440 | { 0x30, KEY_KPPLUS }, /* zoom in */ |
406 | [0x36] = KEY_PC, | 441 | { 0x31, KEY_KPMINUS }, /* zoom out */ |
407 | }; | 442 | { 0x32, KEY_F18 }, /* capture */ |
408 | EXPORT_SYMBOL_GPL(ir_codes_nebula); | 443 | { 0x33, KEY_F19 }, /* web */ |
444 | { 0x34, KEY_EMAIL }, | ||
445 | { 0x35, KEY_PHONE }, | ||
446 | { 0x36, KEY_PC }, | ||
447 | }; | ||
448 | |||
449 | struct ir_scancode_table ir_codes_nebula_table = { | ||
450 | .scan = ir_codes_nebula, | ||
451 | .size = ARRAY_SIZE(ir_codes_nebula), | ||
452 | }; | ||
453 | EXPORT_SYMBOL_GPL(ir_codes_nebula_table); | ||
409 | 454 | ||
410 | /* DigitalNow DNTV Live DVB-T Remote */ | 455 | /* DigitalNow DNTV Live DVB-T Remote */ |
411 | IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = { | 456 | static struct ir_scancode ir_codes_dntv_live_dvb_t[] = { |
412 | [0x00] = KEY_ESC, /* 'go up a level?' */ | 457 | { 0x00, KEY_ESC }, /* 'go up a level?' */ |
413 | /* Keys 0 to 9 */ | 458 | /* Keys 0 to 9 */ |
414 | [0x0a] = KEY_0, | 459 | { 0x0a, KEY_0 }, |
415 | [0x01] = KEY_1, | 460 | { 0x01, KEY_1 }, |
416 | [0x02] = KEY_2, | 461 | { 0x02, KEY_2 }, |
417 | [0x03] = KEY_3, | 462 | { 0x03, KEY_3 }, |
418 | [0x04] = KEY_4, | 463 | { 0x04, KEY_4 }, |
419 | [0x05] = KEY_5, | 464 | { 0x05, KEY_5 }, |
420 | [0x06] = KEY_6, | 465 | { 0x06, KEY_6 }, |
421 | [0x07] = KEY_7, | 466 | { 0x07, KEY_7 }, |
422 | [0x08] = KEY_8, | 467 | { 0x08, KEY_8 }, |
423 | [0x09] = KEY_9, | 468 | { 0x09, KEY_9 }, |
424 | 469 | ||
425 | [0x0b] = KEY_TUNER, /* tv/fm */ | 470 | { 0x0b, KEY_TUNER }, /* tv/fm */ |
426 | [0x0c] = KEY_SEARCH, /* scan */ | 471 | { 0x0c, KEY_SEARCH }, /* scan */ |
427 | [0x0d] = KEY_STOP, | 472 | { 0x0d, KEY_STOP }, |
428 | [0x0e] = KEY_PAUSE, | 473 | { 0x0e, KEY_PAUSE }, |
429 | [0x0f] = KEY_LIST, /* source */ | 474 | { 0x0f, KEY_LIST }, /* source */ |
430 | 475 | ||
431 | [0x10] = KEY_MUTE, | 476 | { 0x10, KEY_MUTE }, |
432 | [0x11] = KEY_REWIND, /* backward << */ | 477 | { 0x11, KEY_REWIND }, /* backward << */ |
433 | [0x12] = KEY_POWER, | 478 | { 0x12, KEY_POWER }, |
434 | [0x13] = KEY_CAMERA, /* snap */ | 479 | { 0x13, KEY_CAMERA }, /* snap */ |
435 | [0x14] = KEY_AUDIO, /* stereo */ | 480 | { 0x14, KEY_AUDIO }, /* stereo */ |
436 | [0x15] = KEY_CLEAR, /* reset */ | 481 | { 0x15, KEY_CLEAR }, /* reset */ |
437 | [0x16] = KEY_PLAY, | 482 | { 0x16, KEY_PLAY }, |
438 | [0x17] = KEY_ENTER, | 483 | { 0x17, KEY_ENTER }, |
439 | [0x18] = KEY_ZOOM, /* full screen */ | 484 | { 0x18, KEY_ZOOM }, /* full screen */ |
440 | [0x19] = KEY_FASTFORWARD, /* forward >> */ | 485 | { 0x19, KEY_FASTFORWARD }, /* forward >> */ |
441 | [0x1a] = KEY_CHANNELUP, | 486 | { 0x1a, KEY_CHANNELUP }, |
442 | [0x1b] = KEY_VOLUMEUP, | 487 | { 0x1b, KEY_VOLUMEUP }, |
443 | [0x1c] = KEY_INFO, /* preview */ | 488 | { 0x1c, KEY_INFO }, /* preview */ |
444 | [0x1d] = KEY_RECORD, /* record */ | 489 | { 0x1d, KEY_RECORD }, /* record */ |
445 | [0x1e] = KEY_CHANNELDOWN, | 490 | { 0x1e, KEY_CHANNELDOWN }, |
446 | [0x1f] = KEY_VOLUMEDOWN, | 491 | { 0x1f, KEY_VOLUMEDOWN }, |
447 | }; | 492 | }; |
448 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t); | 493 | |
494 | struct ir_scancode_table ir_codes_dntv_live_dvb_t_table = { | ||
495 | .scan = ir_codes_dntv_live_dvb_t, | ||
496 | .size = ARRAY_SIZE(ir_codes_dntv_live_dvb_t), | ||
497 | }; | ||
498 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t_table); | ||
449 | 499 | ||
450 | /* ---------------------------------------------------------------------- */ | 500 | /* ---------------------------------------------------------------------- */ |
451 | 501 | ||
452 | /* IO-DATA BCTV7E Remote */ | 502 | /* IO-DATA BCTV7E Remote */ |
453 | IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = { | 503 | static struct ir_scancode ir_codes_iodata_bctv7e[] = { |
454 | [0x40] = KEY_TV, | 504 | { 0x40, KEY_TV }, |
455 | [0x20] = KEY_RADIO, /* FM */ | 505 | { 0x20, KEY_RADIO }, /* FM */ |
456 | [0x60] = KEY_EPG, | 506 | { 0x60, KEY_EPG }, |
457 | [0x00] = KEY_POWER, | 507 | { 0x00, KEY_POWER }, |
458 | 508 | ||
459 | /* Keys 0 to 9 */ | 509 | /* Keys 0 to 9 */ |
460 | [0x44] = KEY_0, /* 10 */ | 510 | { 0x44, KEY_0 }, /* 10 */ |
461 | [0x50] = KEY_1, | 511 | { 0x50, KEY_1 }, |
462 | [0x30] = KEY_2, | 512 | { 0x30, KEY_2 }, |
463 | [0x70] = KEY_3, | 513 | { 0x70, KEY_3 }, |
464 | [0x48] = KEY_4, | 514 | { 0x48, KEY_4 }, |
465 | [0x28] = KEY_5, | 515 | { 0x28, KEY_5 }, |
466 | [0x68] = KEY_6, | 516 | { 0x68, KEY_6 }, |
467 | [0x58] = KEY_7, | 517 | { 0x58, KEY_7 }, |
468 | [0x38] = KEY_8, | 518 | { 0x38, KEY_8 }, |
469 | [0x78] = KEY_9, | 519 | { 0x78, KEY_9 }, |
470 | 520 | ||
471 | [0x10] = KEY_L, /* Live */ | 521 | { 0x10, KEY_L }, /* Live */ |
472 | [0x08] = KEY_TIME, /* Time Shift */ | 522 | { 0x08, KEY_TIME }, /* Time Shift */ |
473 | 523 | ||
474 | [0x18] = KEY_PLAYPAUSE, /* Play */ | 524 | { 0x18, KEY_PLAYPAUSE }, /* Play */ |
475 | 525 | ||
476 | [0x24] = KEY_ENTER, /* 11 */ | 526 | { 0x24, KEY_ENTER }, /* 11 */ |
477 | [0x64] = KEY_ESC, /* 12 */ | 527 | { 0x64, KEY_ESC }, /* 12 */ |
478 | [0x04] = KEY_M, /* Multi */ | 528 | { 0x04, KEY_M }, /* Multi */ |
479 | 529 | ||
480 | [0x54] = KEY_VIDEO, | 530 | { 0x54, KEY_VIDEO }, |
481 | [0x34] = KEY_CHANNELUP, | 531 | { 0x34, KEY_CHANNELUP }, |
482 | [0x74] = KEY_VOLUMEUP, | 532 | { 0x74, KEY_VOLUMEUP }, |
483 | [0x14] = KEY_MUTE, | 533 | { 0x14, KEY_MUTE }, |
484 | 534 | ||
485 | [0x4c] = KEY_VCR, /* SVIDEO */ | 535 | { 0x4c, KEY_VCR }, /* SVIDEO */ |
486 | [0x2c] = KEY_CHANNELDOWN, | 536 | { 0x2c, KEY_CHANNELDOWN }, |
487 | [0x6c] = KEY_VOLUMEDOWN, | 537 | { 0x6c, KEY_VOLUMEDOWN }, |
488 | [0x0c] = KEY_ZOOM, | 538 | { 0x0c, KEY_ZOOM }, |
489 | 539 | ||
490 | [0x5c] = KEY_PAUSE, | 540 | { 0x5c, KEY_PAUSE }, |
491 | [0x3c] = KEY_RED, /* || (red) */ | 541 | { 0x3c, KEY_RED }, /* || (red) */ |
492 | [0x7c] = KEY_RECORD, /* recording */ | 542 | { 0x7c, KEY_RECORD }, /* recording */ |
493 | [0x1c] = KEY_STOP, | 543 | { 0x1c, KEY_STOP }, |
494 | 544 | ||
495 | [0x41] = KEY_REWIND, /* backward << */ | 545 | { 0x41, KEY_REWIND }, /* backward << */ |
496 | [0x21] = KEY_PLAY, | 546 | { 0x21, KEY_PLAY }, |
497 | [0x61] = KEY_FASTFORWARD, /* forward >> */ | 547 | { 0x61, KEY_FASTFORWARD }, /* forward >> */ |
498 | [0x01] = KEY_NEXT, /* skip >| */ | 548 | { 0x01, KEY_NEXT }, /* skip >| */ |
499 | }; | 549 | }; |
500 | EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e); | 550 | |
551 | struct ir_scancode_table ir_codes_iodata_bctv7e_table = { | ||
552 | .scan = ir_codes_iodata_bctv7e, | ||
553 | .size = ARRAY_SIZE(ir_codes_iodata_bctv7e), | ||
554 | }; | ||
555 | EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e_table); | ||
501 | 556 | ||
502 | /* ---------------------------------------------------------------------- */ | 557 | /* ---------------------------------------------------------------------- */ |
503 | 558 | ||
504 | /* ADS Tech Instant TV DVB-T PCI Remote */ | 559 | /* ADS Tech Instant TV DVB-T PCI Remote */ |
505 | IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = { | 560 | static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = { |
506 | /* Keys 0 to 9 */ | 561 | /* Keys 0 to 9 */ |
507 | [0x4d] = KEY_0, | 562 | { 0x4d, KEY_0 }, |
508 | [0x57] = KEY_1, | 563 | { 0x57, KEY_1 }, |
509 | [0x4f] = KEY_2, | 564 | { 0x4f, KEY_2 }, |
510 | [0x53] = KEY_3, | 565 | { 0x53, KEY_3 }, |
511 | [0x56] = KEY_4, | 566 | { 0x56, KEY_4 }, |
512 | [0x4e] = KEY_5, | 567 | { 0x4e, KEY_5 }, |
513 | [0x5e] = KEY_6, | 568 | { 0x5e, KEY_6 }, |
514 | [0x54] = KEY_7, | 569 | { 0x54, KEY_7 }, |
515 | [0x4c] = KEY_8, | 570 | { 0x4c, KEY_8 }, |
516 | [0x5c] = KEY_9, | 571 | { 0x5c, KEY_9 }, |
517 | 572 | ||
518 | [0x5b] = KEY_POWER, | 573 | { 0x5b, KEY_POWER }, |
519 | [0x5f] = KEY_MUTE, | 574 | { 0x5f, KEY_MUTE }, |
520 | [0x55] = KEY_GOTO, | 575 | { 0x55, KEY_GOTO }, |
521 | [0x5d] = KEY_SEARCH, | 576 | { 0x5d, KEY_SEARCH }, |
522 | [0x17] = KEY_EPG, /* Guide */ | 577 | { 0x17, KEY_EPG }, /* Guide */ |
523 | [0x1f] = KEY_MENU, | 578 | { 0x1f, KEY_MENU }, |
524 | [0x0f] = KEY_UP, | 579 | { 0x0f, KEY_UP }, |
525 | [0x46] = KEY_DOWN, | 580 | { 0x46, KEY_DOWN }, |
526 | [0x16] = KEY_LEFT, | 581 | { 0x16, KEY_LEFT }, |
527 | [0x1e] = KEY_RIGHT, | 582 | { 0x1e, KEY_RIGHT }, |
528 | [0x0e] = KEY_SELECT, /* Enter */ | 583 | { 0x0e, KEY_SELECT }, /* Enter */ |
529 | [0x5a] = KEY_INFO, | 584 | { 0x5a, KEY_INFO }, |
530 | [0x52] = KEY_EXIT, | 585 | { 0x52, KEY_EXIT }, |
531 | [0x59] = KEY_PREVIOUS, | 586 | { 0x59, KEY_PREVIOUS }, |
532 | [0x51] = KEY_NEXT, | 587 | { 0x51, KEY_NEXT }, |
533 | [0x58] = KEY_REWIND, | 588 | { 0x58, KEY_REWIND }, |
534 | [0x50] = KEY_FORWARD, | 589 | { 0x50, KEY_FORWARD }, |
535 | [0x44] = KEY_PLAYPAUSE, | 590 | { 0x44, KEY_PLAYPAUSE }, |
536 | [0x07] = KEY_STOP, | 591 | { 0x07, KEY_STOP }, |
537 | [0x1b] = KEY_RECORD, | 592 | { 0x1b, KEY_RECORD }, |
538 | [0x13] = KEY_TUNER, /* Live */ | 593 | { 0x13, KEY_TUNER }, /* Live */ |
539 | [0x0a] = KEY_A, | 594 | { 0x0a, KEY_A }, |
540 | [0x12] = KEY_B, | 595 | { 0x12, KEY_B }, |
541 | [0x03] = KEY_PROG1, /* 1 */ | 596 | { 0x03, KEY_PROG1 }, /* 1 */ |
542 | [0x01] = KEY_PROG2, /* 2 */ | 597 | { 0x01, KEY_PROG2 }, /* 2 */ |
543 | [0x00] = KEY_PROG3, /* 3 */ | 598 | { 0x00, KEY_PROG3 }, /* 3 */ |
544 | [0x06] = KEY_DVD, | 599 | { 0x06, KEY_DVD }, |
545 | [0x48] = KEY_AUX, /* Photo */ | 600 | { 0x48, KEY_AUX }, /* Photo */ |
546 | [0x40] = KEY_VIDEO, | 601 | { 0x40, KEY_VIDEO }, |
547 | [0x19] = KEY_AUDIO, /* Music */ | 602 | { 0x19, KEY_AUDIO }, /* Music */ |
548 | [0x0b] = KEY_CHANNELUP, | 603 | { 0x0b, KEY_CHANNELUP }, |
549 | [0x08] = KEY_CHANNELDOWN, | 604 | { 0x08, KEY_CHANNELDOWN }, |
550 | [0x15] = KEY_VOLUMEUP, | 605 | { 0x15, KEY_VOLUMEUP }, |
551 | [0x1c] = KEY_VOLUMEDOWN, | 606 | { 0x1c, KEY_VOLUMEDOWN }, |
552 | }; | 607 | }; |
553 | EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci); | 608 | |
609 | struct ir_scancode_table ir_codes_adstech_dvb_t_pci_table = { | ||
610 | .scan = ir_codes_adstech_dvb_t_pci, | ||
611 | .size = ARRAY_SIZE(ir_codes_adstech_dvb_t_pci), | ||
612 | }; | ||
613 | EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci_table); | ||
554 | 614 | ||
555 | /* ---------------------------------------------------------------------- */ | 615 | /* ---------------------------------------------------------------------- */ |
556 | 616 | ||
557 | /* MSI TV@nywhere MASTER remote */ | 617 | /* MSI TV@nywhere MASTER remote */ |
558 | 618 | ||
559 | IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = { | 619 | static struct ir_scancode ir_codes_msi_tvanywhere[] = { |
560 | /* Keys 0 to 9 */ | 620 | /* Keys 0 to 9 */ |
561 | [0x00] = KEY_0, | 621 | { 0x00, KEY_0 }, |
562 | [0x01] = KEY_1, | 622 | { 0x01, KEY_1 }, |
563 | [0x02] = KEY_2, | 623 | { 0x02, KEY_2 }, |
564 | [0x03] = KEY_3, | 624 | { 0x03, KEY_3 }, |
565 | [0x04] = KEY_4, | 625 | { 0x04, KEY_4 }, |
566 | [0x05] = KEY_5, | 626 | { 0x05, KEY_5 }, |
567 | [0x06] = KEY_6, | 627 | { 0x06, KEY_6 }, |
568 | [0x07] = KEY_7, | 628 | { 0x07, KEY_7 }, |
569 | [0x08] = KEY_8, | 629 | { 0x08, KEY_8 }, |
570 | [0x09] = KEY_9, | 630 | { 0x09, KEY_9 }, |
571 | 631 | ||
572 | [0x0c] = KEY_MUTE, | 632 | { 0x0c, KEY_MUTE }, |
573 | [0x0f] = KEY_SCREEN, /* Full Screen */ | 633 | { 0x0f, KEY_SCREEN }, /* Full Screen */ |
574 | [0x10] = KEY_FN, /* Funtion */ | 634 | { 0x10, KEY_FN }, /* Funtion */ |
575 | [0x11] = KEY_TIME, /* Time shift */ | 635 | { 0x11, KEY_TIME }, /* Time shift */ |
576 | [0x12] = KEY_POWER, | 636 | { 0x12, KEY_POWER }, |
577 | [0x13] = KEY_MEDIA, /* MTS */ | 637 | { 0x13, KEY_MEDIA }, /* MTS */ |
578 | [0x14] = KEY_SLOW, | 638 | { 0x14, KEY_SLOW }, |
579 | [0x16] = KEY_REWIND, /* backward << */ | 639 | { 0x16, KEY_REWIND }, /* backward << */ |
580 | [0x17] = KEY_ENTER, /* Return */ | 640 | { 0x17, KEY_ENTER }, /* Return */ |
581 | [0x18] = KEY_FASTFORWARD, /* forward >> */ | 641 | { 0x18, KEY_FASTFORWARD }, /* forward >> */ |
582 | [0x1a] = KEY_CHANNELUP, | 642 | { 0x1a, KEY_CHANNELUP }, |
583 | [0x1b] = KEY_VOLUMEUP, | 643 | { 0x1b, KEY_VOLUMEUP }, |
584 | [0x1e] = KEY_CHANNELDOWN, | 644 | { 0x1e, KEY_CHANNELDOWN }, |
585 | [0x1f] = KEY_VOLUMEDOWN, | 645 | { 0x1f, KEY_VOLUMEDOWN }, |
586 | }; | 646 | }; |
587 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); | 647 | |
648 | struct ir_scancode_table ir_codes_msi_tvanywhere_table = { | ||
649 | .scan = ir_codes_msi_tvanywhere, | ||
650 | .size = ARRAY_SIZE(ir_codes_msi_tvanywhere), | ||
651 | }; | ||
652 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_table); | ||
588 | 653 | ||
589 | /* ---------------------------------------------------------------------- */ | 654 | /* ---------------------------------------------------------------------- */ |
590 | 655 | ||
@@ -603,7 +668,7 @@ EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); | |||
603 | 668 | ||
604 | */ | 669 | */ |
605 | 670 | ||
606 | IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = { | 671 | static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = { |
607 | 672 | ||
608 | /* ---- Remote Button Layout ---- | 673 | /* ---- Remote Button Layout ---- |
609 | 674 | ||
@@ -625,567 +690,627 @@ IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = { | |||
625 | << FUNC >> RESET | 690 | << FUNC >> RESET |
626 | */ | 691 | */ |
627 | 692 | ||
628 | [0x01] = KEY_1, /* 1 */ | 693 | { 0x01, KEY_1 }, /* 1 */ |
629 | [0x0b] = KEY_2, /* 2 */ | 694 | { 0x0b, KEY_2 }, /* 2 */ |
630 | [0x1b] = KEY_3, /* 3 */ | 695 | { 0x1b, KEY_3 }, /* 3 */ |
631 | [0x05] = KEY_4, /* 4 */ | 696 | { 0x05, KEY_4 }, /* 4 */ |
632 | [0x09] = KEY_5, /* 5 */ | 697 | { 0x09, KEY_5 }, /* 5 */ |
633 | [0x15] = KEY_6, /* 6 */ | 698 | { 0x15, KEY_6 }, /* 6 */ |
634 | [0x06] = KEY_7, /* 7 */ | 699 | { 0x06, KEY_7 }, /* 7 */ |
635 | [0x0a] = KEY_8, /* 8 */ | 700 | { 0x0a, KEY_8 }, /* 8 */ |
636 | [0x12] = KEY_9, /* 9 */ | 701 | { 0x12, KEY_9 }, /* 9 */ |
637 | [0x02] = KEY_0, /* 0 */ | 702 | { 0x02, KEY_0 }, /* 0 */ |
638 | [0x10] = KEY_KPPLUS, /* + */ | 703 | { 0x10, KEY_KPPLUS }, /* + */ |
639 | [0x13] = KEY_AGAIN, /* Recall */ | 704 | { 0x13, KEY_AGAIN }, /* Recall */ |
640 | 705 | ||
641 | [0x1e] = KEY_POWER, /* Power */ | 706 | { 0x1e, KEY_POWER }, /* Power */ |
642 | [0x07] = KEY_TUNER, /* Source */ | 707 | { 0x07, KEY_TUNER }, /* Source */ |
643 | [0x1c] = KEY_SEARCH, /* Scan */ | 708 | { 0x1c, KEY_SEARCH }, /* Scan */ |
644 | [0x18] = KEY_MUTE, /* Mute */ | 709 | { 0x18, KEY_MUTE }, /* Mute */ |
645 | 710 | ||
646 | [0x03] = KEY_RADIO, /* TV/FM */ | 711 | { 0x03, KEY_RADIO }, /* TV/FM */ |
647 | /* The next four keys are duplicates that appear to send the | 712 | /* The next four keys are duplicates that appear to send the |
648 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned | 713 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned |
649 | to them is the actual code + 0x20 - they will never be | 714 | to them is the actual code + 0x20 - they will never be |
650 | detected as such unless some way is discovered to distinguish | 715 | detected as such unless some way is discovered to distinguish |
651 | these buttons from those that have the same code. */ | 716 | these buttons from those that have the same code. */ |
652 | [0x3f] = KEY_RIGHT, /* |> and Ch+ */ | 717 | { 0x3f, KEY_RIGHT }, /* |> and Ch+ */ |
653 | [0x37] = KEY_LEFT, /* <| and Ch- */ | 718 | { 0x37, KEY_LEFT }, /* <| and Ch- */ |
654 | [0x2c] = KEY_UP, /* ^^Up and >> */ | 719 | { 0x2c, KEY_UP }, /* ^^Up and >> */ |
655 | [0x24] = KEY_DOWN, /* vvDn and << */ | 720 | { 0x24, KEY_DOWN }, /* vvDn and << */ |
656 | 721 | ||
657 | [0x00] = KEY_RECORD, /* Record */ | 722 | { 0x00, KEY_RECORD }, /* Record */ |
658 | [0x08] = KEY_STOP, /* Stop */ | 723 | { 0x08, KEY_STOP }, /* Stop */ |
659 | [0x11] = KEY_PLAY, /* Play */ | 724 | { 0x11, KEY_PLAY }, /* Play */ |
660 | 725 | ||
661 | [0x0f] = KEY_CLOSE, /* Minimize */ | 726 | { 0x0f, KEY_CLOSE }, /* Minimize */ |
662 | [0x19] = KEY_ZOOM, /* Zoom */ | 727 | { 0x19, KEY_ZOOM }, /* Zoom */ |
663 | [0x1a] = KEY_CAMERA, /* Snapshot */ | 728 | { 0x1a, KEY_CAMERA }, /* Snapshot */ |
664 | [0x0d] = KEY_LANGUAGE, /* MTS */ | 729 | { 0x0d, KEY_LANGUAGE }, /* MTS */ |
665 | 730 | ||
666 | [0x14] = KEY_VOLUMEDOWN,/* Vol- */ | 731 | { 0x14, KEY_VOLUMEDOWN }, /* Vol- */ |
667 | [0x16] = KEY_VOLUMEUP, /* Vol+ */ | 732 | { 0x16, KEY_VOLUMEUP }, /* Vol+ */ |
668 | [0x17] = KEY_CHANNELDOWN,/* Ch- */ | 733 | { 0x17, KEY_CHANNELDOWN }, /* Ch- */ |
669 | [0x1f] = KEY_CHANNELUP, /* Ch+ */ | 734 | { 0x1f, KEY_CHANNELUP }, /* Ch+ */ |
735 | |||
736 | { 0x04, KEY_REWIND }, /* << */ | ||
737 | { 0x0e, KEY_MENU }, /* Function */ | ||
738 | { 0x0c, KEY_FASTFORWARD }, /* >> */ | ||
739 | { 0x1d, KEY_RESTART }, /* Reset */ | ||
740 | }; | ||
670 | 741 | ||
671 | [0x04] = KEY_REWIND, /* << */ | 742 | struct ir_scancode_table ir_codes_msi_tvanywhere_plus_table = { |
672 | [0x0e] = KEY_MENU, /* Function */ | 743 | .scan = ir_codes_msi_tvanywhere_plus, |
673 | [0x0c] = KEY_FASTFORWARD,/* >> */ | 744 | .size = ARRAY_SIZE(ir_codes_msi_tvanywhere_plus), |
674 | [0x1d] = KEY_RESTART, /* Reset */ | ||
675 | }; | 745 | }; |
676 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus); | 746 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus_table); |
677 | 747 | ||
678 | /* ---------------------------------------------------------------------- */ | 748 | /* ---------------------------------------------------------------------- */ |
679 | 749 | ||
680 | /* Cinergy 1400 DVB-T */ | 750 | /* Cinergy 1400 DVB-T */ |
681 | IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = { | 751 | static struct ir_scancode ir_codes_cinergy_1400[] = { |
682 | [0x01] = KEY_POWER, | 752 | { 0x01, KEY_POWER }, |
683 | [0x02] = KEY_1, | 753 | { 0x02, KEY_1 }, |
684 | [0x03] = KEY_2, | 754 | { 0x03, KEY_2 }, |
685 | [0x04] = KEY_3, | 755 | { 0x04, KEY_3 }, |
686 | [0x05] = KEY_4, | 756 | { 0x05, KEY_4 }, |
687 | [0x06] = KEY_5, | 757 | { 0x06, KEY_5 }, |
688 | [0x07] = KEY_6, | 758 | { 0x07, KEY_6 }, |
689 | [0x08] = KEY_7, | 759 | { 0x08, KEY_7 }, |
690 | [0x09] = KEY_8, | 760 | { 0x09, KEY_8 }, |
691 | [0x0a] = KEY_9, | 761 | { 0x0a, KEY_9 }, |
692 | [0x0c] = KEY_0, | 762 | { 0x0c, KEY_0 }, |
693 | 763 | ||
694 | [0x0b] = KEY_VIDEO, | 764 | { 0x0b, KEY_VIDEO }, |
695 | [0x0d] = KEY_REFRESH, | 765 | { 0x0d, KEY_REFRESH }, |
696 | [0x0e] = KEY_SELECT, | 766 | { 0x0e, KEY_SELECT }, |
697 | [0x0f] = KEY_EPG, | 767 | { 0x0f, KEY_EPG }, |
698 | [0x10] = KEY_UP, | 768 | { 0x10, KEY_UP }, |
699 | [0x11] = KEY_LEFT, | 769 | { 0x11, KEY_LEFT }, |
700 | [0x12] = KEY_OK, | 770 | { 0x12, KEY_OK }, |
701 | [0x13] = KEY_RIGHT, | 771 | { 0x13, KEY_RIGHT }, |
702 | [0x14] = KEY_DOWN, | 772 | { 0x14, KEY_DOWN }, |
703 | [0x15] = KEY_TEXT, | 773 | { 0x15, KEY_TEXT }, |
704 | [0x16] = KEY_INFO, | 774 | { 0x16, KEY_INFO }, |
705 | 775 | ||
706 | [0x17] = KEY_RED, | 776 | { 0x17, KEY_RED }, |
707 | [0x18] = KEY_GREEN, | 777 | { 0x18, KEY_GREEN }, |
708 | [0x19] = KEY_YELLOW, | 778 | { 0x19, KEY_YELLOW }, |
709 | [0x1a] = KEY_BLUE, | 779 | { 0x1a, KEY_BLUE }, |
710 | 780 | ||
711 | [0x1b] = KEY_CHANNELUP, | 781 | { 0x1b, KEY_CHANNELUP }, |
712 | [0x1c] = KEY_VOLUMEUP, | 782 | { 0x1c, KEY_VOLUMEUP }, |
713 | [0x1d] = KEY_MUTE, | 783 | { 0x1d, KEY_MUTE }, |
714 | [0x1e] = KEY_VOLUMEDOWN, | 784 | { 0x1e, KEY_VOLUMEDOWN }, |
715 | [0x1f] = KEY_CHANNELDOWN, | 785 | { 0x1f, KEY_CHANNELDOWN }, |
716 | 786 | ||
717 | [0x40] = KEY_PAUSE, | 787 | { 0x40, KEY_PAUSE }, |
718 | [0x4c] = KEY_PLAY, | 788 | { 0x4c, KEY_PLAY }, |
719 | [0x58] = KEY_RECORD, | 789 | { 0x58, KEY_RECORD }, |
720 | [0x54] = KEY_PREVIOUS, | 790 | { 0x54, KEY_PREVIOUS }, |
721 | [0x48] = KEY_STOP, | 791 | { 0x48, KEY_STOP }, |
722 | [0x5c] = KEY_NEXT, | 792 | { 0x5c, KEY_NEXT }, |
723 | }; | 793 | }; |
724 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400); | 794 | |
795 | struct ir_scancode_table ir_codes_cinergy_1400_table = { | ||
796 | .scan = ir_codes_cinergy_1400, | ||
797 | .size = ARRAY_SIZE(ir_codes_cinergy_1400), | ||
798 | }; | ||
799 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400_table); | ||
725 | 800 | ||
726 | /* ---------------------------------------------------------------------- */ | 801 | /* ---------------------------------------------------------------------- */ |
727 | 802 | ||
728 | /* AVERTV STUDIO 303 Remote */ | 803 | /* AVERTV STUDIO 303 Remote */ |
729 | IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = { | 804 | static struct ir_scancode ir_codes_avertv_303[] = { |
730 | [0x2a] = KEY_1, | 805 | { 0x2a, KEY_1 }, |
731 | [0x32] = KEY_2, | 806 | { 0x32, KEY_2 }, |
732 | [0x3a] = KEY_3, | 807 | { 0x3a, KEY_3 }, |
733 | [0x4a] = KEY_4, | 808 | { 0x4a, KEY_4 }, |
734 | [0x52] = KEY_5, | 809 | { 0x52, KEY_5 }, |
735 | [0x5a] = KEY_6, | 810 | { 0x5a, KEY_6 }, |
736 | [0x6a] = KEY_7, | 811 | { 0x6a, KEY_7 }, |
737 | [0x72] = KEY_8, | 812 | { 0x72, KEY_8 }, |
738 | [0x7a] = KEY_9, | 813 | { 0x7a, KEY_9 }, |
739 | [0x0e] = KEY_0, | 814 | { 0x0e, KEY_0 }, |
740 | 815 | ||
741 | [0x02] = KEY_POWER, | 816 | { 0x02, KEY_POWER }, |
742 | [0x22] = KEY_VIDEO, | 817 | { 0x22, KEY_VIDEO }, |
743 | [0x42] = KEY_AUDIO, | 818 | { 0x42, KEY_AUDIO }, |
744 | [0x62] = KEY_ZOOM, | 819 | { 0x62, KEY_ZOOM }, |
745 | [0x0a] = KEY_TV, | 820 | { 0x0a, KEY_TV }, |
746 | [0x12] = KEY_CD, | 821 | { 0x12, KEY_CD }, |
747 | [0x1a] = KEY_TEXT, | 822 | { 0x1a, KEY_TEXT }, |
748 | 823 | ||
749 | [0x16] = KEY_SUBTITLE, | 824 | { 0x16, KEY_SUBTITLE }, |
750 | [0x1e] = KEY_REWIND, | 825 | { 0x1e, KEY_REWIND }, |
751 | [0x06] = KEY_PRINT, | 826 | { 0x06, KEY_PRINT }, |
752 | 827 | ||
753 | [0x2e] = KEY_SEARCH, | 828 | { 0x2e, KEY_SEARCH }, |
754 | [0x36] = KEY_SLEEP, | 829 | { 0x36, KEY_SLEEP }, |
755 | [0x3e] = KEY_SHUFFLE, | 830 | { 0x3e, KEY_SHUFFLE }, |
756 | [0x26] = KEY_MUTE, | 831 | { 0x26, KEY_MUTE }, |
757 | 832 | ||
758 | [0x4e] = KEY_RECORD, | 833 | { 0x4e, KEY_RECORD }, |
759 | [0x56] = KEY_PAUSE, | 834 | { 0x56, KEY_PAUSE }, |
760 | [0x5e] = KEY_STOP, | 835 | { 0x5e, KEY_STOP }, |
761 | [0x46] = KEY_PLAY, | 836 | { 0x46, KEY_PLAY }, |
762 | 837 | ||
763 | [0x6e] = KEY_RED, | 838 | { 0x6e, KEY_RED }, |
764 | [0x0b] = KEY_GREEN, | 839 | { 0x0b, KEY_GREEN }, |
765 | [0x66] = KEY_YELLOW, | 840 | { 0x66, KEY_YELLOW }, |
766 | [0x03] = KEY_BLUE, | 841 | { 0x03, KEY_BLUE }, |
767 | 842 | ||
768 | [0x76] = KEY_LEFT, | 843 | { 0x76, KEY_LEFT }, |
769 | [0x7e] = KEY_RIGHT, | 844 | { 0x7e, KEY_RIGHT }, |
770 | [0x13] = KEY_DOWN, | 845 | { 0x13, KEY_DOWN }, |
771 | [0x1b] = KEY_UP, | 846 | { 0x1b, KEY_UP }, |
772 | }; | 847 | }; |
773 | EXPORT_SYMBOL_GPL(ir_codes_avertv_303); | 848 | |
849 | struct ir_scancode_table ir_codes_avertv_303_table = { | ||
850 | .scan = ir_codes_avertv_303, | ||
851 | .size = ARRAY_SIZE(ir_codes_avertv_303), | ||
852 | }; | ||
853 | EXPORT_SYMBOL_GPL(ir_codes_avertv_303_table); | ||
774 | 854 | ||
775 | /* ---------------------------------------------------------------------- */ | 855 | /* ---------------------------------------------------------------------- */ |
776 | 856 | ||
777 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ | 857 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ |
778 | IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = { | 858 | static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = { |
779 | [0x16] = KEY_POWER, | 859 | { 0x16, KEY_POWER }, |
780 | [0x5b] = KEY_HOME, | 860 | { 0x5b, KEY_HOME }, |
781 | 861 | ||
782 | [0x55] = KEY_TV, /* live tv */ | 862 | { 0x55, KEY_TV }, /* live tv */ |
783 | [0x58] = KEY_TUNER, /* digital Radio */ | 863 | { 0x58, KEY_TUNER }, /* digital Radio */ |
784 | [0x5a] = KEY_RADIO, /* FM radio */ | 864 | { 0x5a, KEY_RADIO }, /* FM radio */ |
785 | [0x59] = KEY_DVD, /* dvd menu */ | 865 | { 0x59, KEY_DVD }, /* dvd menu */ |
786 | [0x03] = KEY_1, | 866 | { 0x03, KEY_1 }, |
787 | [0x01] = KEY_2, | 867 | { 0x01, KEY_2 }, |
788 | [0x06] = KEY_3, | 868 | { 0x06, KEY_3 }, |
789 | [0x09] = KEY_4, | 869 | { 0x09, KEY_4 }, |
790 | [0x1d] = KEY_5, | 870 | { 0x1d, KEY_5 }, |
791 | [0x1f] = KEY_6, | 871 | { 0x1f, KEY_6 }, |
792 | [0x0d] = KEY_7, | 872 | { 0x0d, KEY_7 }, |
793 | [0x19] = KEY_8, | 873 | { 0x19, KEY_8 }, |
794 | [0x1b] = KEY_9, | 874 | { 0x1b, KEY_9 }, |
795 | [0x0c] = KEY_CANCEL, | 875 | { 0x0c, KEY_CANCEL }, |
796 | [0x15] = KEY_0, | 876 | { 0x15, KEY_0 }, |
797 | [0x4a] = KEY_CLEAR, | 877 | { 0x4a, KEY_CLEAR }, |
798 | [0x13] = KEY_BACK, | 878 | { 0x13, KEY_BACK }, |
799 | [0x00] = KEY_TAB, | 879 | { 0x00, KEY_TAB }, |
800 | [0x4b] = KEY_UP, | 880 | { 0x4b, KEY_UP }, |
801 | [0x4e] = KEY_LEFT, | 881 | { 0x4e, KEY_LEFT }, |
802 | [0x4f] = KEY_OK, | 882 | { 0x4f, KEY_OK }, |
803 | [0x52] = KEY_RIGHT, | 883 | { 0x52, KEY_RIGHT }, |
804 | [0x51] = KEY_DOWN, | 884 | { 0x51, KEY_DOWN }, |
805 | [0x1e] = KEY_VOLUMEUP, | 885 | { 0x1e, KEY_VOLUMEUP }, |
806 | [0x0a] = KEY_VOLUMEDOWN, | 886 | { 0x0a, KEY_VOLUMEDOWN }, |
807 | [0x02] = KEY_CHANNELDOWN, | 887 | { 0x02, KEY_CHANNELDOWN }, |
808 | [0x05] = KEY_CHANNELUP, | 888 | { 0x05, KEY_CHANNELUP }, |
809 | [0x11] = KEY_RECORD, | 889 | { 0x11, KEY_RECORD }, |
810 | [0x14] = KEY_PLAY, | 890 | { 0x14, KEY_PLAY }, |
811 | [0x4c] = KEY_PAUSE, | 891 | { 0x4c, KEY_PAUSE }, |
812 | [0x1a] = KEY_STOP, | 892 | { 0x1a, KEY_STOP }, |
813 | [0x40] = KEY_REWIND, | 893 | { 0x40, KEY_REWIND }, |
814 | [0x12] = KEY_FASTFORWARD, | 894 | { 0x12, KEY_FASTFORWARD }, |
815 | [0x41] = KEY_PREVIOUSSONG, /* replay |< */ | 895 | { 0x41, KEY_PREVIOUSSONG }, /* replay |< */ |
816 | [0x42] = KEY_NEXTSONG, /* skip >| */ | 896 | { 0x42, KEY_NEXTSONG }, /* skip >| */ |
817 | [0x54] = KEY_CAMERA, /* capture */ | 897 | { 0x54, KEY_CAMERA }, /* capture */ |
818 | [0x50] = KEY_LANGUAGE, /* sap */ | 898 | { 0x50, KEY_LANGUAGE }, /* sap */ |
819 | [0x47] = KEY_TV2, /* pip */ | 899 | { 0x47, KEY_TV2 }, /* pip */ |
820 | [0x4d] = KEY_SCREEN, | 900 | { 0x4d, KEY_SCREEN }, |
821 | [0x43] = KEY_SUBTITLE, | 901 | { 0x43, KEY_SUBTITLE }, |
822 | [0x10] = KEY_MUTE, | 902 | { 0x10, KEY_MUTE }, |
823 | [0x49] = KEY_AUDIO, /* l/r */ | 903 | { 0x49, KEY_AUDIO }, /* l/r */ |
824 | [0x07] = KEY_SLEEP, | 904 | { 0x07, KEY_SLEEP }, |
825 | [0x08] = KEY_VIDEO, /* a/v */ | 905 | { 0x08, KEY_VIDEO }, /* a/v */ |
826 | [0x0e] = KEY_PREVIOUS, /* recall */ | 906 | { 0x0e, KEY_PREVIOUS }, /* recall */ |
827 | [0x45] = KEY_ZOOM, /* zoom + */ | 907 | { 0x45, KEY_ZOOM }, /* zoom + */ |
828 | [0x46] = KEY_ANGLE, /* zoom - */ | 908 | { 0x46, KEY_ANGLE }, /* zoom - */ |
829 | [0x56] = KEY_RED, | 909 | { 0x56, KEY_RED }, |
830 | [0x57] = KEY_GREEN, | 910 | { 0x57, KEY_GREEN }, |
831 | [0x5c] = KEY_YELLOW, | 911 | { 0x5c, KEY_YELLOW }, |
832 | [0x5d] = KEY_BLUE, | 912 | { 0x5d, KEY_BLUE }, |
833 | }; | 913 | }; |
834 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro); | 914 | |
835 | 915 | struct ir_scancode_table ir_codes_dntv_live_dvbt_pro_table = { | |
836 | IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = { | 916 | .scan = ir_codes_dntv_live_dvbt_pro, |
837 | [0x01] = KEY_CHANNEL, | 917 | .size = ARRAY_SIZE(ir_codes_dntv_live_dvbt_pro), |
838 | [0x02] = KEY_SELECT, | 918 | }; |
839 | [0x03] = KEY_MUTE, | 919 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro_table); |
840 | [0x04] = KEY_POWER, | 920 | |
841 | [0x05] = KEY_1, | 921 | static struct ir_scancode ir_codes_em_terratec[] = { |
842 | [0x06] = KEY_2, | 922 | { 0x01, KEY_CHANNEL }, |
843 | [0x07] = KEY_3, | 923 | { 0x02, KEY_SELECT }, |
844 | [0x08] = KEY_CHANNELUP, | 924 | { 0x03, KEY_MUTE }, |
845 | [0x09] = KEY_4, | 925 | { 0x04, KEY_POWER }, |
846 | [0x0a] = KEY_5, | 926 | { 0x05, KEY_1 }, |
847 | [0x0b] = KEY_6, | 927 | { 0x06, KEY_2 }, |
848 | [0x0c] = KEY_CHANNELDOWN, | 928 | { 0x07, KEY_3 }, |
849 | [0x0d] = KEY_7, | 929 | { 0x08, KEY_CHANNELUP }, |
850 | [0x0e] = KEY_8, | 930 | { 0x09, KEY_4 }, |
851 | [0x0f] = KEY_9, | 931 | { 0x0a, KEY_5 }, |
852 | [0x10] = KEY_VOLUMEUP, | 932 | { 0x0b, KEY_6 }, |
853 | [0x11] = KEY_0, | 933 | { 0x0c, KEY_CHANNELDOWN }, |
854 | [0x12] = KEY_MENU, | 934 | { 0x0d, KEY_7 }, |
855 | [0x13] = KEY_PRINT, | 935 | { 0x0e, KEY_8 }, |
856 | [0x14] = KEY_VOLUMEDOWN, | 936 | { 0x0f, KEY_9 }, |
857 | [0x16] = KEY_PAUSE, | 937 | { 0x10, KEY_VOLUMEUP }, |
858 | [0x18] = KEY_RECORD, | 938 | { 0x11, KEY_0 }, |
859 | [0x19] = KEY_REWIND, | 939 | { 0x12, KEY_MENU }, |
860 | [0x1a] = KEY_PLAY, | 940 | { 0x13, KEY_PRINT }, |
861 | [0x1b] = KEY_FORWARD, | 941 | { 0x14, KEY_VOLUMEDOWN }, |
862 | [0x1c] = KEY_BACKSPACE, | 942 | { 0x16, KEY_PAUSE }, |
863 | [0x1e] = KEY_STOP, | 943 | { 0x18, KEY_RECORD }, |
864 | [0x40] = KEY_ZOOM, | 944 | { 0x19, KEY_REWIND }, |
865 | }; | 945 | { 0x1a, KEY_PLAY }, |
866 | EXPORT_SYMBOL_GPL(ir_codes_em_terratec); | 946 | { 0x1b, KEY_FORWARD }, |
867 | 947 | { 0x1c, KEY_BACKSPACE }, | |
868 | IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = { | 948 | { 0x1e, KEY_STOP }, |
869 | [0x3a] = KEY_0, | 949 | { 0x40, KEY_ZOOM }, |
870 | [0x31] = KEY_1, | 950 | }; |
871 | [0x32] = KEY_2, | 951 | |
872 | [0x33] = KEY_3, | 952 | struct ir_scancode_table ir_codes_em_terratec_table = { |
873 | [0x34] = KEY_4, | 953 | .scan = ir_codes_em_terratec, |
874 | [0x35] = KEY_5, | 954 | .size = ARRAY_SIZE(ir_codes_em_terratec), |
875 | [0x36] = KEY_6, | 955 | }; |
876 | [0x37] = KEY_7, | 956 | EXPORT_SYMBOL_GPL(ir_codes_em_terratec_table); |
877 | [0x38] = KEY_8, | 957 | |
878 | [0x39] = KEY_9, | 958 | static struct ir_scancode ir_codes_pinnacle_grey[] = { |
879 | 959 | { 0x3a, KEY_0 }, | |
880 | [0x2f] = KEY_POWER, | 960 | { 0x31, KEY_1 }, |
881 | 961 | { 0x32, KEY_2 }, | |
882 | [0x2e] = KEY_P, | 962 | { 0x33, KEY_3 }, |
883 | [0x1f] = KEY_L, | 963 | { 0x34, KEY_4 }, |
884 | [0x2b] = KEY_I, | 964 | { 0x35, KEY_5 }, |
885 | 965 | { 0x36, KEY_6 }, | |
886 | [0x2d] = KEY_SCREEN, | 966 | { 0x37, KEY_7 }, |
887 | [0x1e] = KEY_ZOOM, | 967 | { 0x38, KEY_8 }, |
888 | [0x1b] = KEY_VOLUMEUP, | 968 | { 0x39, KEY_9 }, |
889 | [0x0f] = KEY_VOLUMEDOWN, | 969 | |
890 | [0x17] = KEY_CHANNELUP, | 970 | { 0x2f, KEY_POWER }, |
891 | [0x1c] = KEY_CHANNELDOWN, | 971 | |
892 | [0x25] = KEY_INFO, | 972 | { 0x2e, KEY_P }, |
893 | 973 | { 0x1f, KEY_L }, | |
894 | [0x3c] = KEY_MUTE, | 974 | { 0x2b, KEY_I }, |
895 | 975 | ||
896 | [0x3d] = KEY_LEFT, | 976 | { 0x2d, KEY_SCREEN }, |
897 | [0x3b] = KEY_RIGHT, | 977 | { 0x1e, KEY_ZOOM }, |
898 | 978 | { 0x1b, KEY_VOLUMEUP }, | |
899 | [0x3f] = KEY_UP, | 979 | { 0x0f, KEY_VOLUMEDOWN }, |
900 | [0x3e] = KEY_DOWN, | 980 | { 0x17, KEY_CHANNELUP }, |
901 | [0x1a] = KEY_ENTER, | 981 | { 0x1c, KEY_CHANNELDOWN }, |
902 | 982 | { 0x25, KEY_INFO }, | |
903 | [0x1d] = KEY_MENU, | 983 | |
904 | [0x19] = KEY_AGAIN, | 984 | { 0x3c, KEY_MUTE }, |
905 | [0x16] = KEY_PREVIOUSSONG, | 985 | |
906 | [0x13] = KEY_NEXTSONG, | 986 | { 0x3d, KEY_LEFT }, |
907 | [0x15] = KEY_PAUSE, | 987 | { 0x3b, KEY_RIGHT }, |
908 | [0x0e] = KEY_REWIND, | 988 | |
909 | [0x0d] = KEY_PLAY, | 989 | { 0x3f, KEY_UP }, |
910 | [0x0b] = KEY_STOP, | 990 | { 0x3e, KEY_DOWN }, |
911 | [0x07] = KEY_FORWARD, | 991 | { 0x1a, KEY_ENTER }, |
912 | [0x27] = KEY_RECORD, | 992 | |
913 | [0x26] = KEY_TUNER, | 993 | { 0x1d, KEY_MENU }, |
914 | [0x29] = KEY_TEXT, | 994 | { 0x19, KEY_AGAIN }, |
915 | [0x2a] = KEY_MEDIA, | 995 | { 0x16, KEY_PREVIOUSSONG }, |
916 | [0x18] = KEY_EPG, | 996 | { 0x13, KEY_NEXTSONG }, |
917 | }; | 997 | { 0x15, KEY_PAUSE }, |
918 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey); | 998 | { 0x0e, KEY_REWIND }, |
919 | 999 | { 0x0d, KEY_PLAY }, | |
920 | IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = { | 1000 | { 0x0b, KEY_STOP }, |
921 | [0x0f] = KEY_0, | 1001 | { 0x07, KEY_FORWARD }, |
922 | [0x03] = KEY_1, | 1002 | { 0x27, KEY_RECORD }, |
923 | [0x04] = KEY_2, | 1003 | { 0x26, KEY_TUNER }, |
924 | [0x05] = KEY_3, | 1004 | { 0x29, KEY_TEXT }, |
925 | [0x07] = KEY_4, | 1005 | { 0x2a, KEY_MEDIA }, |
926 | [0x08] = KEY_5, | 1006 | { 0x18, KEY_EPG }, |
927 | [0x09] = KEY_6, | 1007 | }; |
928 | [0x0b] = KEY_7, | 1008 | |
929 | [0x0c] = KEY_8, | 1009 | struct ir_scancode_table ir_codes_pinnacle_grey_table = { |
930 | [0x0d] = KEY_9, | 1010 | .scan = ir_codes_pinnacle_grey, |
931 | 1011 | .size = ARRAY_SIZE(ir_codes_pinnacle_grey), | |
932 | [0x0e] = KEY_MODE, /* Air/Cable */ | 1012 | }; |
933 | [0x11] = KEY_VIDEO, /* Video */ | 1013 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey_table); |
934 | [0x15] = KEY_AUDIO, /* Audio */ | 1014 | |
935 | [0x00] = KEY_POWER, /* Power */ | 1015 | static struct ir_scancode ir_codes_flyvideo[] = { |
936 | [0x18] = KEY_TUNER, /* AV Source */ | 1016 | { 0x0f, KEY_0 }, |
937 | [0x02] = KEY_ZOOM, /* Fullscreen */ | 1017 | { 0x03, KEY_1 }, |
938 | [0x1a] = KEY_LANGUAGE, /* Stereo */ | 1018 | { 0x04, KEY_2 }, |
939 | [0x1b] = KEY_MUTE, /* Mute */ | 1019 | { 0x05, KEY_3 }, |
940 | [0x14] = KEY_VOLUMEUP, /* Volume + */ | 1020 | { 0x07, KEY_4 }, |
941 | [0x17] = KEY_VOLUMEDOWN,/* Volume - */ | 1021 | { 0x08, KEY_5 }, |
942 | [0x12] = KEY_CHANNELUP, /* Channel + */ | 1022 | { 0x09, KEY_6 }, |
943 | [0x13] = KEY_CHANNELDOWN,/* Channel - */ | 1023 | { 0x0b, KEY_7 }, |
944 | [0x06] = KEY_AGAIN, /* Recall */ | 1024 | { 0x0c, KEY_8 }, |
945 | [0x10] = KEY_ENTER, /* Enter */ | 1025 | { 0x0d, KEY_9 }, |
946 | 1026 | ||
947 | [0x19] = KEY_BACK, /* Rewind ( <<< ) */ | 1027 | { 0x0e, KEY_MODE }, /* Air/Cable */ |
948 | [0x1f] = KEY_FORWARD, /* Forward ( >>> ) */ | 1028 | { 0x11, KEY_VIDEO }, /* Video */ |
949 | [0x0a] = KEY_ANGLE, /* no label, may be used as the PAUSE button */ | 1029 | { 0x15, KEY_AUDIO }, /* Audio */ |
950 | }; | 1030 | { 0x00, KEY_POWER }, /* Power */ |
951 | EXPORT_SYMBOL_GPL(ir_codes_flyvideo); | 1031 | { 0x18, KEY_TUNER }, /* AV Source */ |
952 | 1032 | { 0x02, KEY_ZOOM }, /* Fullscreen */ | |
953 | IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = { | 1033 | { 0x1a, KEY_LANGUAGE }, /* Stereo */ |
954 | [0x01] = KEY_ZOOM, /* Full Screen */ | 1034 | { 0x1b, KEY_MUTE }, /* Mute */ |
955 | [0x00] = KEY_POWER, /* Power */ | 1035 | { 0x14, KEY_VOLUMEUP }, /* Volume + */ |
956 | 1036 | { 0x17, KEY_VOLUMEDOWN },/* Volume - */ | |
957 | [0x03] = KEY_1, | 1037 | { 0x12, KEY_CHANNELUP },/* Channel + */ |
958 | [0x04] = KEY_2, | 1038 | { 0x13, KEY_CHANNELDOWN },/* Channel - */ |
959 | [0x05] = KEY_3, | 1039 | { 0x06, KEY_AGAIN }, /* Recall */ |
960 | [0x07] = KEY_4, | 1040 | { 0x10, KEY_ENTER }, /* Enter */ |
961 | [0x08] = KEY_5, | 1041 | |
962 | [0x09] = KEY_6, | 1042 | { 0x19, KEY_BACK }, /* Rewind ( <<< ) */ |
963 | [0x0b] = KEY_7, | 1043 | { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ |
964 | [0x0c] = KEY_8, | 1044 | { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ |
965 | [0x0d] = KEY_9, | 1045 | }; |
966 | [0x06] = KEY_AGAIN, /* Recall */ | 1046 | |
967 | [0x0f] = KEY_0, | 1047 | struct ir_scancode_table ir_codes_flyvideo_table = { |
968 | [0x10] = KEY_MUTE, /* Mute */ | 1048 | .scan = ir_codes_flyvideo, |
969 | [0x02] = KEY_RADIO, /* TV/Radio */ | 1049 | .size = ARRAY_SIZE(ir_codes_flyvideo), |
970 | [0x1b] = KEY_LANGUAGE, /* SAP (Second Audio Program) */ | 1050 | }; |
971 | 1051 | EXPORT_SYMBOL_GPL(ir_codes_flyvideo_table); | |
972 | [0x14] = KEY_VOLUMEUP, /* VOL+ */ | 1052 | |
973 | [0x17] = KEY_VOLUMEDOWN, /* VOL- */ | 1053 | static struct ir_scancode ir_codes_flydvb[] = { |
974 | [0x12] = KEY_CHANNELUP, /* CH+ */ | 1054 | { 0x01, KEY_ZOOM }, /* Full Screen */ |
975 | [0x13] = KEY_CHANNELDOWN, /* CH- */ | 1055 | { 0x00, KEY_POWER }, /* Power */ |
976 | [0x1d] = KEY_ENTER, /* Enter */ | 1056 | |
977 | 1057 | { 0x03, KEY_1 }, | |
978 | [0x1a] = KEY_MODE, /* PIP */ | 1058 | { 0x04, KEY_2 }, |
979 | [0x18] = KEY_TUNER, /* Source */ | 1059 | { 0x05, KEY_3 }, |
980 | 1060 | { 0x07, KEY_4 }, | |
981 | [0x1e] = KEY_RECORD, /* Record/Pause */ | 1061 | { 0x08, KEY_5 }, |
982 | [0x15] = KEY_ANGLE, /* Swap (no label on key) */ | 1062 | { 0x09, KEY_6 }, |
983 | [0x1c] = KEY_PAUSE, /* Timeshift/Pause */ | 1063 | { 0x0b, KEY_7 }, |
984 | [0x19] = KEY_BACK, /* Rewind << */ | 1064 | { 0x0c, KEY_8 }, |
985 | [0x0a] = KEY_PLAYPAUSE, /* Play/Pause */ | 1065 | { 0x0d, KEY_9 }, |
986 | [0x1f] = KEY_FORWARD, /* Forward >> */ | 1066 | { 0x06, KEY_AGAIN }, /* Recall */ |
987 | [0x16] = KEY_PREVIOUS, /* Back |<< */ | 1067 | { 0x0f, KEY_0 }, |
988 | [0x11] = KEY_STOP, /* Stop */ | 1068 | { 0x10, KEY_MUTE }, /* Mute */ |
989 | [0x0e] = KEY_NEXT, /* End >>| */ | 1069 | { 0x02, KEY_RADIO }, /* TV/Radio */ |
990 | }; | 1070 | { 0x1b, KEY_LANGUAGE }, /* SAP (Second Audio Program) */ |
991 | EXPORT_SYMBOL_GPL(ir_codes_flydvb); | 1071 | |
992 | 1072 | { 0x14, KEY_VOLUMEUP }, /* VOL+ */ | |
993 | IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = { | 1073 | { 0x17, KEY_VOLUMEDOWN }, /* VOL- */ |
994 | [0x00] = KEY_0, | 1074 | { 0x12, KEY_CHANNELUP }, /* CH+ */ |
995 | [0x01] = KEY_1, | 1075 | { 0x13, KEY_CHANNELDOWN }, /* CH- */ |
996 | [0x02] = KEY_2, | 1076 | { 0x1d, KEY_ENTER }, /* Enter */ |
997 | [0x03] = KEY_3, | 1077 | |
998 | [0x04] = KEY_4, | 1078 | { 0x1a, KEY_MODE }, /* PIP */ |
999 | [0x05] = KEY_5, | 1079 | { 0x18, KEY_TUNER }, /* Source */ |
1000 | [0x06] = KEY_6, | 1080 | |
1001 | [0x07] = KEY_7, | 1081 | { 0x1e, KEY_RECORD }, /* Record/Pause */ |
1002 | [0x08] = KEY_8, | 1082 | { 0x15, KEY_ANGLE }, /* Swap (no label on key) */ |
1003 | [0x09] = KEY_9, | 1083 | { 0x1c, KEY_PAUSE }, /* Timeshift/Pause */ |
1004 | 1084 | { 0x19, KEY_BACK }, /* Rewind << */ | |
1005 | [0x0a] = KEY_POWER, | 1085 | { 0x0a, KEY_PLAYPAUSE }, /* Play/Pause */ |
1006 | [0x0b] = KEY_PROG1, /* app */ | 1086 | { 0x1f, KEY_FORWARD }, /* Forward >> */ |
1007 | [0x0c] = KEY_ZOOM, /* zoom/fullscreen */ | 1087 | { 0x16, KEY_PREVIOUS }, /* Back |<< */ |
1008 | [0x0d] = KEY_CHANNELUP, /* channel */ | 1088 | { 0x11, KEY_STOP }, /* Stop */ |
1009 | [0x0e] = KEY_CHANNELDOWN,/* channel- */ | 1089 | { 0x0e, KEY_NEXT }, /* End >>| */ |
1010 | [0x0f] = KEY_VOLUMEUP, | 1090 | }; |
1011 | [0x10] = KEY_VOLUMEDOWN, | 1091 | |
1012 | [0x11] = KEY_TUNER, /* AV */ | 1092 | struct ir_scancode_table ir_codes_flydvb_table = { |
1013 | [0x12] = KEY_NUMLOCK, /* -/-- */ | 1093 | .scan = ir_codes_flydvb, |
1014 | [0x13] = KEY_AUDIO, /* audio */ | 1094 | .size = ARRAY_SIZE(ir_codes_flydvb), |
1015 | [0x14] = KEY_MUTE, | 1095 | }; |
1016 | [0x15] = KEY_UP, | 1096 | EXPORT_SYMBOL_GPL(ir_codes_flydvb_table); |
1017 | [0x16] = KEY_DOWN, | 1097 | |
1018 | [0x17] = KEY_LEFT, | 1098 | static struct ir_scancode ir_codes_cinergy[] = { |
1019 | [0x18] = KEY_RIGHT, | 1099 | { 0x00, KEY_0 }, |
1020 | [0x19] = BTN_LEFT, | 1100 | { 0x01, KEY_1 }, |
1021 | [0x1a] = BTN_RIGHT, | 1101 | { 0x02, KEY_2 }, |
1022 | [0x1b] = KEY_WWW, /* text */ | 1102 | { 0x03, KEY_3 }, |
1023 | [0x1c] = KEY_REWIND, | 1103 | { 0x04, KEY_4 }, |
1024 | [0x1d] = KEY_FORWARD, | 1104 | { 0x05, KEY_5 }, |
1025 | [0x1e] = KEY_RECORD, | 1105 | { 0x06, KEY_6 }, |
1026 | [0x1f] = KEY_PLAY, | 1106 | { 0x07, KEY_7 }, |
1027 | [0x20] = KEY_PREVIOUSSONG, | 1107 | { 0x08, KEY_8 }, |
1028 | [0x21] = KEY_NEXTSONG, | 1108 | { 0x09, KEY_9 }, |
1029 | [0x22] = KEY_PAUSE, | 1109 | |
1030 | [0x23] = KEY_STOP, | 1110 | { 0x0a, KEY_POWER }, |
1031 | }; | 1111 | { 0x0b, KEY_PROG1 }, /* app */ |
1032 | EXPORT_SYMBOL_GPL(ir_codes_cinergy); | 1112 | { 0x0c, KEY_ZOOM }, /* zoom/fullscreen */ |
1113 | { 0x0d, KEY_CHANNELUP }, /* channel */ | ||
1114 | { 0x0e, KEY_CHANNELDOWN }, /* channel- */ | ||
1115 | { 0x0f, KEY_VOLUMEUP }, | ||
1116 | { 0x10, KEY_VOLUMEDOWN }, | ||
1117 | { 0x11, KEY_TUNER }, /* AV */ | ||
1118 | { 0x12, KEY_NUMLOCK }, /* -/-- */ | ||
1119 | { 0x13, KEY_AUDIO }, /* audio */ | ||
1120 | { 0x14, KEY_MUTE }, | ||
1121 | { 0x15, KEY_UP }, | ||
1122 | { 0x16, KEY_DOWN }, | ||
1123 | { 0x17, KEY_LEFT }, | ||
1124 | { 0x18, KEY_RIGHT }, | ||
1125 | { 0x19, BTN_LEFT, }, | ||
1126 | { 0x1a, BTN_RIGHT, }, | ||
1127 | { 0x1b, KEY_WWW }, /* text */ | ||
1128 | { 0x1c, KEY_REWIND }, | ||
1129 | { 0x1d, KEY_FORWARD }, | ||
1130 | { 0x1e, KEY_RECORD }, | ||
1131 | { 0x1f, KEY_PLAY }, | ||
1132 | { 0x20, KEY_PREVIOUSSONG }, | ||
1133 | { 0x21, KEY_NEXTSONG }, | ||
1134 | { 0x22, KEY_PAUSE }, | ||
1135 | { 0x23, KEY_STOP }, | ||
1136 | }; | ||
1137 | |||
1138 | struct ir_scancode_table ir_codes_cinergy_table = { | ||
1139 | .scan = ir_codes_cinergy, | ||
1140 | .size = ARRAY_SIZE(ir_codes_cinergy), | ||
1141 | }; | ||
1142 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_table); | ||
1033 | 1143 | ||
1034 | /* Alfons Geser <a.geser@cox.net> | 1144 | /* Alfons Geser <a.geser@cox.net> |
1035 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ | 1145 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ |
1036 | IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = { | 1146 | static struct ir_scancode ir_codes_eztv[] = { |
1037 | [0x12] = KEY_POWER, | 1147 | { 0x12, KEY_POWER }, |
1038 | [0x01] = KEY_TV, /* DVR */ | 1148 | { 0x01, KEY_TV }, /* DVR */ |
1039 | [0x15] = KEY_DVD, /* DVD */ | 1149 | { 0x15, KEY_DVD }, /* DVD */ |
1040 | [0x17] = KEY_AUDIO, /* music */ | 1150 | { 0x17, KEY_AUDIO }, /* music */ |
1041 | /* DVR mode / DVD mode / music mode */ | 1151 | /* DVR mode / DVD mode / music mode */ |
1042 | 1152 | ||
1043 | [0x1b] = KEY_MUTE, /* mute */ | 1153 | { 0x1b, KEY_MUTE }, /* mute */ |
1044 | [0x02] = KEY_LANGUAGE, /* MTS/SAP / audio / autoseek */ | 1154 | { 0x02, KEY_LANGUAGE }, /* MTS/SAP / audio / autoseek */ |
1045 | [0x1e] = KEY_SUBTITLE, /* closed captioning / subtitle / seek */ | 1155 | { 0x1e, KEY_SUBTITLE }, /* closed captioning / subtitle / seek */ |
1046 | [0x16] = KEY_ZOOM, /* full screen */ | 1156 | { 0x16, KEY_ZOOM }, /* full screen */ |
1047 | [0x1c] = KEY_VIDEO, /* video source / eject / delall */ | 1157 | { 0x1c, KEY_VIDEO }, /* video source / eject / delall */ |
1048 | [0x1d] = KEY_RESTART, /* playback / angle / del */ | 1158 | { 0x1d, KEY_RESTART }, /* playback / angle / del */ |
1049 | [0x2f] = KEY_SEARCH, /* scan / menu / playlist */ | 1159 | { 0x2f, KEY_SEARCH }, /* scan / menu / playlist */ |
1050 | [0x30] = KEY_CHANNEL, /* CH surfing / bookmark / memo */ | 1160 | { 0x30, KEY_CHANNEL }, /* CH surfing / bookmark / memo */ |
1051 | 1161 | ||
1052 | [0x31] = KEY_HELP, /* help */ | 1162 | { 0x31, KEY_HELP }, /* help */ |
1053 | [0x32] = KEY_MODE, /* num/memo */ | 1163 | { 0x32, KEY_MODE }, /* num/memo */ |
1054 | [0x33] = KEY_ESC, /* cancel */ | 1164 | { 0x33, KEY_ESC }, /* cancel */ |
1055 | 1165 | ||
1056 | [0x0c] = KEY_UP, /* up */ | 1166 | { 0x0c, KEY_UP }, /* up */ |
1057 | [0x10] = KEY_DOWN, /* down */ | 1167 | { 0x10, KEY_DOWN }, /* down */ |
1058 | [0x08] = KEY_LEFT, /* left */ | 1168 | { 0x08, KEY_LEFT }, /* left */ |
1059 | [0x04] = KEY_RIGHT, /* right */ | 1169 | { 0x04, KEY_RIGHT }, /* right */ |
1060 | [0x03] = KEY_SELECT, /* select */ | 1170 | { 0x03, KEY_SELECT }, /* select */ |
1061 | 1171 | ||
1062 | [0x1f] = KEY_REWIND, /* rewind */ | 1172 | { 0x1f, KEY_REWIND }, /* rewind */ |
1063 | [0x20] = KEY_PLAYPAUSE, /* play/pause */ | 1173 | { 0x20, KEY_PLAYPAUSE },/* play/pause */ |
1064 | [0x29] = KEY_FORWARD, /* forward */ | 1174 | { 0x29, KEY_FORWARD }, /* forward */ |
1065 | [0x14] = KEY_AGAIN, /* repeat */ | 1175 | { 0x14, KEY_AGAIN }, /* repeat */ |
1066 | [0x2b] = KEY_RECORD, /* recording */ | 1176 | { 0x2b, KEY_RECORD }, /* recording */ |
1067 | [0x2c] = KEY_STOP, /* stop */ | 1177 | { 0x2c, KEY_STOP }, /* stop */ |
1068 | [0x2d] = KEY_PLAY, /* play */ | 1178 | { 0x2d, KEY_PLAY }, /* play */ |
1069 | [0x2e] = KEY_CAMERA, /* snapshot / shuffle */ | 1179 | { 0x2e, KEY_CAMERA }, /* snapshot / shuffle */ |
1070 | 1180 | ||
1071 | [0x00] = KEY_0, | 1181 | { 0x00, KEY_0 }, |
1072 | [0x05] = KEY_1, | 1182 | { 0x05, KEY_1 }, |
1073 | [0x06] = KEY_2, | 1183 | { 0x06, KEY_2 }, |
1074 | [0x07] = KEY_3, | 1184 | { 0x07, KEY_3 }, |
1075 | [0x09] = KEY_4, | 1185 | { 0x09, KEY_4 }, |
1076 | [0x0a] = KEY_5, | 1186 | { 0x0a, KEY_5 }, |
1077 | [0x0b] = KEY_6, | 1187 | { 0x0b, KEY_6 }, |
1078 | [0x0d] = KEY_7, | 1188 | { 0x0d, KEY_7 }, |
1079 | [0x0e] = KEY_8, | 1189 | { 0x0e, KEY_8 }, |
1080 | [0x0f] = KEY_9, | 1190 | { 0x0f, KEY_9 }, |
1081 | 1191 | ||
1082 | [0x2a] = KEY_VOLUMEUP, | 1192 | { 0x2a, KEY_VOLUMEUP }, |
1083 | [0x11] = KEY_VOLUMEDOWN, | 1193 | { 0x11, KEY_VOLUMEDOWN }, |
1084 | [0x18] = KEY_CHANNELUP, /* CH.tracking up */ | 1194 | { 0x18, KEY_CHANNELUP },/* CH.tracking up */ |
1085 | [0x19] = KEY_CHANNELDOWN,/* CH.tracking down */ | 1195 | { 0x19, KEY_CHANNELDOWN },/* CH.tracking down */ |
1086 | 1196 | ||
1087 | [0x13] = KEY_ENTER, /* enter */ | 1197 | { 0x13, KEY_ENTER }, /* enter */ |
1088 | [0x21] = KEY_DOT, /* . (decimal dot) */ | 1198 | { 0x21, KEY_DOT }, /* . (decimal dot) */ |
1089 | }; | 1199 | }; |
1090 | EXPORT_SYMBOL_GPL(ir_codes_eztv); | 1200 | |
1201 | struct ir_scancode_table ir_codes_eztv_table = { | ||
1202 | .scan = ir_codes_eztv, | ||
1203 | .size = ARRAY_SIZE(ir_codes_eztv), | ||
1204 | }; | ||
1205 | EXPORT_SYMBOL_GPL(ir_codes_eztv_table); | ||
1091 | 1206 | ||
1092 | /* Alex Hermann <gaaf@gmx.net> */ | 1207 | /* Alex Hermann <gaaf@gmx.net> */ |
1093 | IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = { | 1208 | static struct ir_scancode ir_codes_avermedia[] = { |
1094 | [0x28] = KEY_1, | 1209 | { 0x28, KEY_1 }, |
1095 | [0x18] = KEY_2, | 1210 | { 0x18, KEY_2 }, |
1096 | [0x38] = KEY_3, | 1211 | { 0x38, KEY_3 }, |
1097 | [0x24] = KEY_4, | 1212 | { 0x24, KEY_4 }, |
1098 | [0x14] = KEY_5, | 1213 | { 0x14, KEY_5 }, |
1099 | [0x34] = KEY_6, | 1214 | { 0x34, KEY_6 }, |
1100 | [0x2c] = KEY_7, | 1215 | { 0x2c, KEY_7 }, |
1101 | [0x1c] = KEY_8, | 1216 | { 0x1c, KEY_8 }, |
1102 | [0x3c] = KEY_9, | 1217 | { 0x3c, KEY_9 }, |
1103 | [0x22] = KEY_0, | 1218 | { 0x22, KEY_0 }, |
1104 | 1219 | ||
1105 | [0x20] = KEY_TV, /* TV/FM */ | 1220 | { 0x20, KEY_TV }, /* TV/FM */ |
1106 | [0x10] = KEY_CD, /* CD */ | 1221 | { 0x10, KEY_CD }, /* CD */ |
1107 | [0x30] = KEY_TEXT, /* TELETEXT */ | 1222 | { 0x30, KEY_TEXT }, /* TELETEXT */ |
1108 | [0x00] = KEY_POWER, /* POWER */ | 1223 | { 0x00, KEY_POWER }, /* POWER */ |
1109 | 1224 | ||
1110 | [0x08] = KEY_VIDEO, /* VIDEO */ | 1225 | { 0x08, KEY_VIDEO }, /* VIDEO */ |
1111 | [0x04] = KEY_AUDIO, /* AUDIO */ | 1226 | { 0x04, KEY_AUDIO }, /* AUDIO */ |
1112 | [0x0c] = KEY_ZOOM, /* FULL SCREEN */ | 1227 | { 0x0c, KEY_ZOOM }, /* FULL SCREEN */ |
1113 | 1228 | ||
1114 | [0x12] = KEY_SUBTITLE, /* DISPLAY */ | 1229 | { 0x12, KEY_SUBTITLE }, /* DISPLAY */ |
1115 | [0x32] = KEY_REWIND, /* LOOP */ | 1230 | { 0x32, KEY_REWIND }, /* LOOP */ |
1116 | [0x02] = KEY_PRINT, /* PREVIEW */ | 1231 | { 0x02, KEY_PRINT }, /* PREVIEW */ |
1117 | 1232 | ||
1118 | [0x2a] = KEY_SEARCH, /* AUTOSCAN */ | 1233 | { 0x2a, KEY_SEARCH }, /* AUTOSCAN */ |
1119 | [0x1a] = KEY_SLEEP, /* FREEZE */ | 1234 | { 0x1a, KEY_SLEEP }, /* FREEZE */ |
1120 | [0x3a] = KEY_CAMERA, /* SNAPSHOT */ | 1235 | { 0x3a, KEY_CAMERA }, /* SNAPSHOT */ |
1121 | [0x0a] = KEY_MUTE, /* MUTE */ | 1236 | { 0x0a, KEY_MUTE }, /* MUTE */ |
1122 | 1237 | ||
1123 | [0x26] = KEY_RECORD, /* RECORD */ | 1238 | { 0x26, KEY_RECORD }, /* RECORD */ |
1124 | [0x16] = KEY_PAUSE, /* PAUSE */ | 1239 | { 0x16, KEY_PAUSE }, /* PAUSE */ |
1125 | [0x36] = KEY_STOP, /* STOP */ | 1240 | { 0x36, KEY_STOP }, /* STOP */ |
1126 | [0x06] = KEY_PLAY, /* PLAY */ | 1241 | { 0x06, KEY_PLAY }, /* PLAY */ |
1127 | 1242 | ||
1128 | [0x2e] = KEY_RED, /* RED */ | 1243 | { 0x2e, KEY_RED }, /* RED */ |
1129 | [0x21] = KEY_GREEN, /* GREEN */ | 1244 | { 0x21, KEY_GREEN }, /* GREEN */ |
1130 | [0x0e] = KEY_YELLOW, /* YELLOW */ | 1245 | { 0x0e, KEY_YELLOW }, /* YELLOW */ |
1131 | [0x01] = KEY_BLUE, /* BLUE */ | 1246 | { 0x01, KEY_BLUE }, /* BLUE */ |
1132 | 1247 | ||
1133 | [0x1e] = KEY_VOLUMEDOWN, /* VOLUME- */ | 1248 | { 0x1e, KEY_VOLUMEDOWN }, /* VOLUME- */ |
1134 | [0x3e] = KEY_VOLUMEUP, /* VOLUME+ */ | 1249 | { 0x3e, KEY_VOLUMEUP }, /* VOLUME+ */ |
1135 | [0x11] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */ | 1250 | { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ |
1136 | [0x31] = KEY_CHANNELUP /* CHANNEL/PAGE+ */ | 1251 | { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ |
1137 | }; | 1252 | }; |
1138 | EXPORT_SYMBOL_GPL(ir_codes_avermedia); | 1253 | |
1139 | 1254 | struct ir_scancode_table ir_codes_avermedia_table = { | |
1140 | IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = { | 1255 | .scan = ir_codes_avermedia, |
1141 | [0x14] = KEY_MUTE, | 1256 | .size = ARRAY_SIZE(ir_codes_avermedia), |
1142 | [0x24] = KEY_ZOOM, | 1257 | }; |
1143 | 1258 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_table); | |
1144 | [0x01] = KEY_DVD, | 1259 | |
1145 | [0x23] = KEY_RADIO, | 1260 | static struct ir_scancode ir_codes_videomate_tv_pvr[] = { |
1146 | [0x00] = KEY_TV, | 1261 | { 0x14, KEY_MUTE }, |
1147 | 1262 | { 0x24, KEY_ZOOM }, | |
1148 | [0x0a] = KEY_REWIND, | 1263 | |
1149 | [0x08] = KEY_PLAYPAUSE, | 1264 | { 0x01, KEY_DVD }, |
1150 | [0x0f] = KEY_FORWARD, | 1265 | { 0x23, KEY_RADIO }, |
1151 | 1266 | { 0x00, KEY_TV }, | |
1152 | [0x02] = KEY_PREVIOUS, | 1267 | |
1153 | [0x07] = KEY_STOP, | 1268 | { 0x0a, KEY_REWIND }, |
1154 | [0x06] = KEY_NEXT, | 1269 | { 0x08, KEY_PLAYPAUSE }, |
1155 | 1270 | { 0x0f, KEY_FORWARD }, | |
1156 | [0x0c] = KEY_UP, | 1271 | |
1157 | [0x0e] = KEY_DOWN, | 1272 | { 0x02, KEY_PREVIOUS }, |
1158 | [0x0b] = KEY_LEFT, | 1273 | { 0x07, KEY_STOP }, |
1159 | [0x0d] = KEY_RIGHT, | 1274 | { 0x06, KEY_NEXT }, |
1160 | [0x11] = KEY_OK, | 1275 | |
1161 | 1276 | { 0x0c, KEY_UP }, | |
1162 | [0x03] = KEY_MENU, | 1277 | { 0x0e, KEY_DOWN }, |
1163 | [0x09] = KEY_SETUP, | 1278 | { 0x0b, KEY_LEFT }, |
1164 | [0x05] = KEY_VIDEO, | 1279 | { 0x0d, KEY_RIGHT }, |
1165 | [0x22] = KEY_CHANNEL, | 1280 | { 0x11, KEY_OK }, |
1166 | 1281 | ||
1167 | [0x12] = KEY_VOLUMEUP, | 1282 | { 0x03, KEY_MENU }, |
1168 | [0x15] = KEY_VOLUMEDOWN, | 1283 | { 0x09, KEY_SETUP }, |
1169 | [0x10] = KEY_CHANNELUP, | 1284 | { 0x05, KEY_VIDEO }, |
1170 | [0x13] = KEY_CHANNELDOWN, | 1285 | { 0x22, KEY_CHANNEL }, |
1171 | 1286 | ||
1172 | [0x04] = KEY_RECORD, | 1287 | { 0x12, KEY_VOLUMEUP }, |
1173 | 1288 | { 0x15, KEY_VOLUMEDOWN }, | |
1174 | [0x16] = KEY_1, | 1289 | { 0x10, KEY_CHANNELUP }, |
1175 | [0x17] = KEY_2, | 1290 | { 0x13, KEY_CHANNELDOWN }, |
1176 | [0x18] = KEY_3, | 1291 | |
1177 | [0x19] = KEY_4, | 1292 | { 0x04, KEY_RECORD }, |
1178 | [0x1a] = KEY_5, | 1293 | |
1179 | [0x1b] = KEY_6, | 1294 | { 0x16, KEY_1 }, |
1180 | [0x1c] = KEY_7, | 1295 | { 0x17, KEY_2 }, |
1181 | [0x1d] = KEY_8, | 1296 | { 0x18, KEY_3 }, |
1182 | [0x1e] = KEY_9, | 1297 | { 0x19, KEY_4 }, |
1183 | [0x1f] = KEY_0, | 1298 | { 0x1a, KEY_5 }, |
1184 | 1299 | { 0x1b, KEY_6 }, | |
1185 | [0x20] = KEY_LANGUAGE, | 1300 | { 0x1c, KEY_7 }, |
1186 | [0x21] = KEY_SLEEP, | 1301 | { 0x1d, KEY_8 }, |
1187 | }; | 1302 | { 0x1e, KEY_9 }, |
1188 | EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr); | 1303 | { 0x1f, KEY_0 }, |
1304 | |||
1305 | { 0x20, KEY_LANGUAGE }, | ||
1306 | { 0x21, KEY_SLEEP }, | ||
1307 | }; | ||
1308 | |||
1309 | struct ir_scancode_table ir_codes_videomate_tv_pvr_table = { | ||
1310 | .scan = ir_codes_videomate_tv_pvr, | ||
1311 | .size = ARRAY_SIZE(ir_codes_videomate_tv_pvr), | ||
1312 | }; | ||
1313 | EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr_table); | ||
1189 | 1314 | ||
1190 | /* Michael Tokarev <mjt@tls.msk.ru> | 1315 | /* Michael Tokarev <mjt@tls.msk.ru> |
1191 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg | 1316 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg |
@@ -1196,14 +1321,14 @@ EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr); | |||
1196 | the button labels (several variants when appropriate) | 1321 | the button labels (several variants when appropriate) |
1197 | helps to descide which keycodes to assign to the buttons. | 1322 | helps to descide which keycodes to assign to the buttons. |
1198 | */ | 1323 | */ |
1199 | IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | 1324 | static struct ir_scancode ir_codes_manli[] = { |
1200 | 1325 | ||
1201 | /* 0x1c 0x12 * | 1326 | /* 0x1c 0x12 * |
1202 | * FUNCTION POWER * | 1327 | * FUNCTION POWER * |
1203 | * FM (|) * | 1328 | * FM (|) * |
1204 | * */ | 1329 | * */ |
1205 | [0x1c] = KEY_RADIO, /*XXX*/ | 1330 | { 0x1c, KEY_RADIO }, /*XXX*/ |
1206 | [0x12] = KEY_POWER, | 1331 | { 0x12, KEY_POWER }, |
1207 | 1332 | ||
1208 | /* 0x01 0x02 0x03 * | 1333 | /* 0x01 0x02 0x03 * |
1209 | * 1 2 3 * | 1334 | * 1 2 3 * |
@@ -1214,29 +1339,29 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1214 | * 0x07 0x08 0x09 * | 1339 | * 0x07 0x08 0x09 * |
1215 | * 7 8 9 * | 1340 | * 7 8 9 * |
1216 | * */ | 1341 | * */ |
1217 | [0x01] = KEY_1, | 1342 | { 0x01, KEY_1 }, |
1218 | [0x02] = KEY_2, | 1343 | { 0x02, KEY_2 }, |
1219 | [0x03] = KEY_3, | 1344 | { 0x03, KEY_3 }, |
1220 | [0x04] = KEY_4, | 1345 | { 0x04, KEY_4 }, |
1221 | [0x05] = KEY_5, | 1346 | { 0x05, KEY_5 }, |
1222 | [0x06] = KEY_6, | 1347 | { 0x06, KEY_6 }, |
1223 | [0x07] = KEY_7, | 1348 | { 0x07, KEY_7 }, |
1224 | [0x08] = KEY_8, | 1349 | { 0x08, KEY_8 }, |
1225 | [0x09] = KEY_9, | 1350 | { 0x09, KEY_9 }, |
1226 | 1351 | ||
1227 | /* 0x0a 0x00 0x17 * | 1352 | /* 0x0a 0x00 0x17 * |
1228 | * RECALL 0 +100 * | 1353 | * RECALL 0 +100 * |
1229 | * PLUS * | 1354 | * PLUS * |
1230 | * */ | 1355 | * */ |
1231 | [0x0a] = KEY_AGAIN, /*XXX KEY_REWIND? */ | 1356 | { 0x0a, KEY_AGAIN }, /*XXX KEY_REWIND? */ |
1232 | [0x00] = KEY_0, | 1357 | { 0x00, KEY_0 }, |
1233 | [0x17] = KEY_DIGITS, /*XXX*/ | 1358 | { 0x17, KEY_DIGITS }, /*XXX*/ |
1234 | 1359 | ||
1235 | /* 0x14 0x10 * | 1360 | /* 0x14 0x10 * |
1236 | * MENU INFO * | 1361 | * MENU INFO * |
1237 | * OSD */ | 1362 | * OSD */ |
1238 | [0x14] = KEY_MENU, | 1363 | { 0x14, KEY_MENU }, |
1239 | [0x10] = KEY_INFO, | 1364 | { 0x10, KEY_INFO }, |
1240 | 1365 | ||
1241 | /* 0x0b * | 1366 | /* 0x0b * |
1242 | * Up * | 1367 | * Up * |
@@ -1247,18 +1372,18 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1247 | * 0x015 * | 1372 | * 0x015 * |
1248 | * Down * | 1373 | * Down * |
1249 | * */ | 1374 | * */ |
1250 | [0x0b] = KEY_UP, | 1375 | { 0x0b, KEY_UP }, |
1251 | [0x18] = KEY_LEFT, | 1376 | { 0x18, KEY_LEFT }, |
1252 | [0x16] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */ | 1377 | { 0x16, KEY_OK }, /*XXX KEY_SELECT? KEY_ENTER? */ |
1253 | [0x0c] = KEY_RIGHT, | 1378 | { 0x0c, KEY_RIGHT }, |
1254 | [0x15] = KEY_DOWN, | 1379 | { 0x15, KEY_DOWN }, |
1255 | 1380 | ||
1256 | /* 0x11 0x0d * | 1381 | /* 0x11 0x0d * |
1257 | * TV/AV MODE * | 1382 | * TV/AV MODE * |
1258 | * SOURCE STEREO * | 1383 | * SOURCE STEREO * |
1259 | * */ | 1384 | * */ |
1260 | [0x11] = KEY_TV, /*XXX*/ | 1385 | { 0x11, KEY_TV }, /*XXX*/ |
1261 | [0x0d] = KEY_MODE, /*XXX there's no KEY_STEREO */ | 1386 | { 0x0d, KEY_MODE }, /*XXX there's no KEY_STEREO */ |
1262 | 1387 | ||
1263 | /* 0x0f 0x1b 0x1a * | 1388 | /* 0x0f 0x1b 0x1a * |
1264 | * AUDIO Vol+ Chan+ * | 1389 | * AUDIO Vol+ Chan+ * |
@@ -1267,877 +1392,967 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1267 | * 0x0e 0x1f 0x1e * | 1392 | * 0x0e 0x1f 0x1e * |
1268 | * SLEEP Vol- Chan- * | 1393 | * SLEEP Vol- Chan- * |
1269 | * */ | 1394 | * */ |
1270 | [0x0f] = KEY_AUDIO, | 1395 | { 0x0f, KEY_AUDIO }, |
1271 | [0x1b] = KEY_VOLUMEUP, | 1396 | { 0x1b, KEY_VOLUMEUP }, |
1272 | [0x1a] = KEY_CHANNELUP, | 1397 | { 0x1a, KEY_CHANNELUP }, |
1273 | [0x0e] = KEY_TIME, | 1398 | { 0x0e, KEY_TIME }, |
1274 | [0x1f] = KEY_VOLUMEDOWN, | 1399 | { 0x1f, KEY_VOLUMEDOWN }, |
1275 | [0x1e] = KEY_CHANNELDOWN, | 1400 | { 0x1e, KEY_CHANNELDOWN }, |
1276 | 1401 | ||
1277 | /* 0x13 0x19 * | 1402 | /* 0x13 0x19 * |
1278 | * MUTE SNAPSHOT* | 1403 | * MUTE SNAPSHOT* |
1279 | * */ | 1404 | * */ |
1280 | [0x13] = KEY_MUTE, | 1405 | { 0x13, KEY_MUTE }, |
1281 | [0x19] = KEY_CAMERA, | 1406 | { 0x19, KEY_CAMERA }, |
1282 | 1407 | ||
1283 | /* 0x1d unused ? */ | 1408 | /* 0x1d unused ? */ |
1284 | }; | 1409 | }; |
1285 | EXPORT_SYMBOL_GPL(ir_codes_manli); | 1410 | |
1411 | struct ir_scancode_table ir_codes_manli_table = { | ||
1412 | .scan = ir_codes_manli, | ||
1413 | .size = ARRAY_SIZE(ir_codes_manli), | ||
1414 | }; | ||
1415 | EXPORT_SYMBOL_GPL(ir_codes_manli_table); | ||
1286 | 1416 | ||
1287 | /* Mike Baikov <mike@baikov.com> */ | 1417 | /* Mike Baikov <mike@baikov.com> */ |
1288 | IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = { | 1418 | static struct ir_scancode ir_codes_gotview7135[] = { |
1289 | 1419 | ||
1290 | [0x11] = KEY_POWER, | 1420 | { 0x11, KEY_POWER }, |
1291 | [0x35] = KEY_TV, | 1421 | { 0x35, KEY_TV }, |
1292 | [0x1b] = KEY_0, | 1422 | { 0x1b, KEY_0 }, |
1293 | [0x29] = KEY_1, | 1423 | { 0x29, KEY_1 }, |
1294 | [0x19] = KEY_2, | 1424 | { 0x19, KEY_2 }, |
1295 | [0x39] = KEY_3, | 1425 | { 0x39, KEY_3 }, |
1296 | [0x1f] = KEY_4, | 1426 | { 0x1f, KEY_4 }, |
1297 | [0x2c] = KEY_5, | 1427 | { 0x2c, KEY_5 }, |
1298 | [0x21] = KEY_6, | 1428 | { 0x21, KEY_6 }, |
1299 | [0x24] = KEY_7, | 1429 | { 0x24, KEY_7 }, |
1300 | [0x18] = KEY_8, | 1430 | { 0x18, KEY_8 }, |
1301 | [0x2b] = KEY_9, | 1431 | { 0x2b, KEY_9 }, |
1302 | [0x3b] = KEY_AGAIN, /* LOOP */ | 1432 | { 0x3b, KEY_AGAIN }, /* LOOP */ |
1303 | [0x06] = KEY_AUDIO, | 1433 | { 0x06, KEY_AUDIO }, |
1304 | [0x31] = KEY_PRINT, /* PREVIEW */ | 1434 | { 0x31, KEY_PRINT }, /* PREVIEW */ |
1305 | [0x3e] = KEY_VIDEO, | 1435 | { 0x3e, KEY_VIDEO }, |
1306 | [0x10] = KEY_CHANNELUP, | 1436 | { 0x10, KEY_CHANNELUP }, |
1307 | [0x20] = KEY_CHANNELDOWN, | 1437 | { 0x20, KEY_CHANNELDOWN }, |
1308 | [0x0c] = KEY_VOLUMEDOWN, | 1438 | { 0x0c, KEY_VOLUMEDOWN }, |
1309 | [0x28] = KEY_VOLUMEUP, | 1439 | { 0x28, KEY_VOLUMEUP }, |
1310 | [0x08] = KEY_MUTE, | 1440 | { 0x08, KEY_MUTE }, |
1311 | [0x26] = KEY_SEARCH, /* SCAN */ | 1441 | { 0x26, KEY_SEARCH }, /* SCAN */ |
1312 | [0x3f] = KEY_CAMERA, /* SNAPSHOT */ | 1442 | { 0x3f, KEY_CAMERA }, /* SNAPSHOT */ |
1313 | [0x12] = KEY_RECORD, | 1443 | { 0x12, KEY_RECORD }, |
1314 | [0x32] = KEY_STOP, | 1444 | { 0x32, KEY_STOP }, |
1315 | [0x3c] = KEY_PLAY, | 1445 | { 0x3c, KEY_PLAY }, |
1316 | [0x1d] = KEY_REWIND, | 1446 | { 0x1d, KEY_REWIND }, |
1317 | [0x2d] = KEY_PAUSE, | 1447 | { 0x2d, KEY_PAUSE }, |
1318 | [0x0d] = KEY_FORWARD, | 1448 | { 0x0d, KEY_FORWARD }, |
1319 | [0x05] = KEY_ZOOM, /*FULL*/ | 1449 | { 0x05, KEY_ZOOM }, /*FULL*/ |
1320 | 1450 | ||
1321 | [0x2a] = KEY_F21, /* LIVE TIMESHIFT */ | 1451 | { 0x2a, KEY_F21 }, /* LIVE TIMESHIFT */ |
1322 | [0x0e] = KEY_F22, /* MIN TIMESHIFT */ | 1452 | { 0x0e, KEY_F22 }, /* MIN TIMESHIFT */ |
1323 | [0x1e] = KEY_TIME, /* TIMESHIFT */ | 1453 | { 0x1e, KEY_TIME }, /* TIMESHIFT */ |
1324 | [0x38] = KEY_F24, /* NORMAL TIMESHIFT */ | 1454 | { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ |
1325 | }; | 1455 | }; |
1326 | EXPORT_SYMBOL_GPL(ir_codes_gotview7135); | 1456 | |
1327 | 1457 | struct ir_scancode_table ir_codes_gotview7135_table = { | |
1328 | IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = { | 1458 | .scan = ir_codes_gotview7135, |
1329 | [0x03] = KEY_POWER, | 1459 | .size = ARRAY_SIZE(ir_codes_gotview7135), |
1330 | [0x6f] = KEY_MUTE, | 1460 | }; |
1331 | [0x10] = KEY_BACKSPACE, /* Recall */ | 1461 | EXPORT_SYMBOL_GPL(ir_codes_gotview7135_table); |
1332 | 1462 | ||
1333 | [0x11] = KEY_0, | 1463 | static struct ir_scancode ir_codes_purpletv[] = { |
1334 | [0x04] = KEY_1, | 1464 | { 0x03, KEY_POWER }, |
1335 | [0x05] = KEY_2, | 1465 | { 0x6f, KEY_MUTE }, |
1336 | [0x06] = KEY_3, | 1466 | { 0x10, KEY_BACKSPACE }, /* Recall */ |
1337 | [0x08] = KEY_4, | 1467 | |
1338 | [0x09] = KEY_5, | 1468 | { 0x11, KEY_0 }, |
1339 | [0x0a] = KEY_6, | 1469 | { 0x04, KEY_1 }, |
1340 | [0x0c] = KEY_7, | 1470 | { 0x05, KEY_2 }, |
1341 | [0x0d] = KEY_8, | 1471 | { 0x06, KEY_3 }, |
1342 | [0x0e] = KEY_9, | 1472 | { 0x08, KEY_4 }, |
1343 | [0x12] = KEY_DOT, /* 100+ */ | 1473 | { 0x09, KEY_5 }, |
1344 | 1474 | { 0x0a, KEY_6 }, | |
1345 | [0x07] = KEY_VOLUMEUP, | 1475 | { 0x0c, KEY_7 }, |
1346 | [0x0b] = KEY_VOLUMEDOWN, | 1476 | { 0x0d, KEY_8 }, |
1347 | [0x1a] = KEY_KPPLUS, | 1477 | { 0x0e, KEY_9 }, |
1348 | [0x18] = KEY_KPMINUS, | 1478 | { 0x12, KEY_DOT }, /* 100+ */ |
1349 | [0x15] = KEY_UP, | 1479 | |
1350 | [0x1d] = KEY_DOWN, | 1480 | { 0x07, KEY_VOLUMEUP }, |
1351 | [0x0f] = KEY_CHANNELUP, | 1481 | { 0x0b, KEY_VOLUMEDOWN }, |
1352 | [0x13] = KEY_CHANNELDOWN, | 1482 | { 0x1a, KEY_KPPLUS }, |
1353 | [0x48] = KEY_ZOOM, | 1483 | { 0x18, KEY_KPMINUS }, |
1354 | 1484 | { 0x15, KEY_UP }, | |
1355 | [0x1b] = KEY_VIDEO, /* Video source */ | 1485 | { 0x1d, KEY_DOWN }, |
1356 | [0x1f] = KEY_CAMERA, /* Snapshot */ | 1486 | { 0x0f, KEY_CHANNELUP }, |
1357 | [0x49] = KEY_LANGUAGE, /* MTS Select */ | 1487 | { 0x13, KEY_CHANNELDOWN }, |
1358 | [0x19] = KEY_SEARCH, /* Auto Scan */ | 1488 | { 0x48, KEY_ZOOM }, |
1359 | 1489 | ||
1360 | [0x4b] = KEY_RECORD, | 1490 | { 0x1b, KEY_VIDEO }, /* Video source */ |
1361 | [0x46] = KEY_PLAY, | 1491 | { 0x1f, KEY_CAMERA }, /* Snapshot */ |
1362 | [0x45] = KEY_PAUSE, /* Pause */ | 1492 | { 0x49, KEY_LANGUAGE }, /* MTS Select */ |
1363 | [0x44] = KEY_STOP, | 1493 | { 0x19, KEY_SEARCH }, /* Auto Scan */ |
1364 | [0x43] = KEY_TIME, /* Time Shift */ | 1494 | |
1365 | [0x17] = KEY_CHANNEL, /* SURF CH */ | 1495 | { 0x4b, KEY_RECORD }, |
1366 | [0x40] = KEY_FORWARD, /* Forward ? */ | 1496 | { 0x46, KEY_PLAY }, |
1367 | [0x42] = KEY_REWIND, /* Backward ? */ | 1497 | { 0x45, KEY_PAUSE }, /* Pause */ |
1368 | 1498 | { 0x44, KEY_STOP }, | |
1369 | }; | 1499 | { 0x43, KEY_TIME }, /* Time Shift */ |
1370 | EXPORT_SYMBOL_GPL(ir_codes_purpletv); | 1500 | { 0x17, KEY_CHANNEL }, /* SURF CH */ |
1501 | { 0x40, KEY_FORWARD }, /* Forward ? */ | ||
1502 | { 0x42, KEY_REWIND }, /* Backward ? */ | ||
1503 | |||
1504 | }; | ||
1505 | |||
1506 | struct ir_scancode_table ir_codes_purpletv_table = { | ||
1507 | .scan = ir_codes_purpletv, | ||
1508 | .size = ARRAY_SIZE(ir_codes_purpletv), | ||
1509 | }; | ||
1510 | EXPORT_SYMBOL_GPL(ir_codes_purpletv_table); | ||
1371 | 1511 | ||
1372 | /* Mapping for the 28 key remote control as seen at | 1512 | /* Mapping for the 28 key remote control as seen at |
1373 | http://www.sednacomputer.com/photo/cardbus-tv.jpg | 1513 | http://www.sednacomputer.com/photo/cardbus-tv.jpg |
1374 | Pavel Mihaylov <bin@bash.info> | 1514 | Pavel Mihaylov <bin@bash.info> |
1375 | Also for the remote bundled with Kozumi KTV-01C card */ | 1515 | Also for the remote bundled with Kozumi KTV-01C card */ |
1376 | IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = { | 1516 | static struct ir_scancode ir_codes_pctv_sedna[] = { |
1377 | [0x00] = KEY_0, | 1517 | { 0x00, KEY_0 }, |
1378 | [0x01] = KEY_1, | 1518 | { 0x01, KEY_1 }, |
1379 | [0x02] = KEY_2, | 1519 | { 0x02, KEY_2 }, |
1380 | [0x03] = KEY_3, | 1520 | { 0x03, KEY_3 }, |
1381 | [0x04] = KEY_4, | 1521 | { 0x04, KEY_4 }, |
1382 | [0x05] = KEY_5, | 1522 | { 0x05, KEY_5 }, |
1383 | [0x06] = KEY_6, | 1523 | { 0x06, KEY_6 }, |
1384 | [0x07] = KEY_7, | 1524 | { 0x07, KEY_7 }, |
1385 | [0x08] = KEY_8, | 1525 | { 0x08, KEY_8 }, |
1386 | [0x09] = KEY_9, | 1526 | { 0x09, KEY_9 }, |
1387 | 1527 | ||
1388 | [0x0a] = KEY_AGAIN, /* Recall */ | 1528 | { 0x0a, KEY_AGAIN }, /* Recall */ |
1389 | [0x0b] = KEY_CHANNELUP, | 1529 | { 0x0b, KEY_CHANNELUP }, |
1390 | [0x0c] = KEY_VOLUMEUP, | 1530 | { 0x0c, KEY_VOLUMEUP }, |
1391 | [0x0d] = KEY_MODE, /* Stereo */ | 1531 | { 0x0d, KEY_MODE }, /* Stereo */ |
1392 | [0x0e] = KEY_STOP, | 1532 | { 0x0e, KEY_STOP }, |
1393 | [0x0f] = KEY_PREVIOUSSONG, | 1533 | { 0x0f, KEY_PREVIOUSSONG }, |
1394 | [0x10] = KEY_ZOOM, | 1534 | { 0x10, KEY_ZOOM }, |
1395 | [0x11] = KEY_TUNER, /* Source */ | 1535 | { 0x11, KEY_TUNER }, /* Source */ |
1396 | [0x12] = KEY_POWER, | 1536 | { 0x12, KEY_POWER }, |
1397 | [0x13] = KEY_MUTE, | 1537 | { 0x13, KEY_MUTE }, |
1398 | [0x15] = KEY_CHANNELDOWN, | 1538 | { 0x15, KEY_CHANNELDOWN }, |
1399 | [0x18] = KEY_VOLUMEDOWN, | 1539 | { 0x18, KEY_VOLUMEDOWN }, |
1400 | [0x19] = KEY_CAMERA, /* Snapshot */ | 1540 | { 0x19, KEY_CAMERA }, /* Snapshot */ |
1401 | [0x1a] = KEY_NEXTSONG, | 1541 | { 0x1a, KEY_NEXTSONG }, |
1402 | [0x1b] = KEY_TIME, /* Time Shift */ | 1542 | { 0x1b, KEY_TIME }, /* Time Shift */ |
1403 | [0x1c] = KEY_RADIO, /* FM Radio */ | 1543 | { 0x1c, KEY_RADIO }, /* FM Radio */ |
1404 | [0x1d] = KEY_RECORD, | 1544 | { 0x1d, KEY_RECORD }, |
1405 | [0x1e] = KEY_PAUSE, | 1545 | { 0x1e, KEY_PAUSE }, |
1406 | /* additional codes for Kozumi's remote */ | 1546 | /* additional codes for Kozumi's remote */ |
1407 | [0x14] = KEY_INFO, /* OSD */ | 1547 | { 0x14, KEY_INFO }, /* OSD */ |
1408 | [0x16] = KEY_OK, /* OK */ | 1548 | { 0x16, KEY_OK }, /* OK */ |
1409 | [0x17] = KEY_DIGITS, /* Plus */ | 1549 | { 0x17, KEY_DIGITS }, /* Plus */ |
1410 | [0x1f] = KEY_PLAY, /* Play */ | 1550 | { 0x1f, KEY_PLAY }, /* Play */ |
1411 | }; | 1551 | }; |
1412 | EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna); | 1552 | |
1553 | struct ir_scancode_table ir_codes_pctv_sedna_table = { | ||
1554 | .scan = ir_codes_pctv_sedna, | ||
1555 | .size = ARRAY_SIZE(ir_codes_pctv_sedna), | ||
1556 | }; | ||
1557 | EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna_table); | ||
1413 | 1558 | ||
1414 | /* Mark Phalan <phalanm@o2.ie> */ | 1559 | /* Mark Phalan <phalanm@o2.ie> */ |
1415 | IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = { | 1560 | static struct ir_scancode ir_codes_pv951[] = { |
1416 | [0x00] = KEY_0, | 1561 | { 0x00, KEY_0 }, |
1417 | [0x01] = KEY_1, | 1562 | { 0x01, KEY_1 }, |
1418 | [0x02] = KEY_2, | 1563 | { 0x02, KEY_2 }, |
1419 | [0x03] = KEY_3, | 1564 | { 0x03, KEY_3 }, |
1420 | [0x04] = KEY_4, | 1565 | { 0x04, KEY_4 }, |
1421 | [0x05] = KEY_5, | 1566 | { 0x05, KEY_5 }, |
1422 | [0x06] = KEY_6, | 1567 | { 0x06, KEY_6 }, |
1423 | [0x07] = KEY_7, | 1568 | { 0x07, KEY_7 }, |
1424 | [0x08] = KEY_8, | 1569 | { 0x08, KEY_8 }, |
1425 | [0x09] = KEY_9, | 1570 | { 0x09, KEY_9 }, |
1426 | 1571 | ||
1427 | [0x12] = KEY_POWER, | 1572 | { 0x12, KEY_POWER }, |
1428 | [0x10] = KEY_MUTE, | 1573 | { 0x10, KEY_MUTE }, |
1429 | [0x1f] = KEY_VOLUMEDOWN, | 1574 | { 0x1f, KEY_VOLUMEDOWN }, |
1430 | [0x1b] = KEY_VOLUMEUP, | 1575 | { 0x1b, KEY_VOLUMEUP }, |
1431 | [0x1a] = KEY_CHANNELUP, | 1576 | { 0x1a, KEY_CHANNELUP }, |
1432 | [0x1e] = KEY_CHANNELDOWN, | 1577 | { 0x1e, KEY_CHANNELDOWN }, |
1433 | [0x0e] = KEY_PAGEUP, | 1578 | { 0x0e, KEY_PAGEUP }, |
1434 | [0x1d] = KEY_PAGEDOWN, | 1579 | { 0x1d, KEY_PAGEDOWN }, |
1435 | [0x13] = KEY_SOUND, | 1580 | { 0x13, KEY_SOUND }, |
1436 | 1581 | ||
1437 | [0x18] = KEY_KPPLUSMINUS, /* CH +/- */ | 1582 | { 0x18, KEY_KPPLUSMINUS }, /* CH +/- */ |
1438 | [0x16] = KEY_SUBTITLE, /* CC */ | 1583 | { 0x16, KEY_SUBTITLE }, /* CC */ |
1439 | [0x0d] = KEY_TEXT, /* TTX */ | 1584 | { 0x0d, KEY_TEXT }, /* TTX */ |
1440 | [0x0b] = KEY_TV, /* AIR/CBL */ | 1585 | { 0x0b, KEY_TV }, /* AIR/CBL */ |
1441 | [0x11] = KEY_PC, /* PC/TV */ | 1586 | { 0x11, KEY_PC }, /* PC/TV */ |
1442 | [0x17] = KEY_OK, /* CH RTN */ | 1587 | { 0x17, KEY_OK }, /* CH RTN */ |
1443 | [0x19] = KEY_MODE, /* FUNC */ | 1588 | { 0x19, KEY_MODE }, /* FUNC */ |
1444 | [0x0c] = KEY_SEARCH, /* AUTOSCAN */ | 1589 | { 0x0c, KEY_SEARCH }, /* AUTOSCAN */ |
1445 | 1590 | ||
1446 | /* Not sure what to do with these ones! */ | 1591 | /* Not sure what to do with these ones! */ |
1447 | [0x0f] = KEY_SELECT, /* SOURCE */ | 1592 | { 0x0f, KEY_SELECT }, /* SOURCE */ |
1448 | [0x0a] = KEY_KPPLUS, /* +100 */ | 1593 | { 0x0a, KEY_KPPLUS }, /* +100 */ |
1449 | [0x14] = KEY_EQUAL, /* SYNC */ | 1594 | { 0x14, KEY_EQUAL }, /* SYNC */ |
1450 | [0x1c] = KEY_MEDIA, /* PC/TV */ | 1595 | { 0x1c, KEY_MEDIA }, /* PC/TV */ |
1596 | }; | ||
1597 | |||
1598 | struct ir_scancode_table ir_codes_pv951_table = { | ||
1599 | .scan = ir_codes_pv951, | ||
1600 | .size = ARRAY_SIZE(ir_codes_pv951), | ||
1451 | }; | 1601 | }; |
1452 | EXPORT_SYMBOL_GPL(ir_codes_pv951); | 1602 | EXPORT_SYMBOL_GPL(ir_codes_pv951_table); |
1453 | 1603 | ||
1454 | /* generic RC5 keytable */ | 1604 | /* generic RC5 keytable */ |
1455 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ | 1605 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ |
1456 | /* used by old (black) Hauppauge remotes */ | 1606 | /* used by old (black) Hauppauge remotes */ |
1457 | IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = { | 1607 | static struct ir_scancode ir_codes_rc5_tv[] = { |
1458 | /* Keys 0 to 9 */ | 1608 | /* Keys 0 to 9 */ |
1459 | [0x00] = KEY_0, | 1609 | { 0x00, KEY_0 }, |
1460 | [0x01] = KEY_1, | 1610 | { 0x01, KEY_1 }, |
1461 | [0x02] = KEY_2, | 1611 | { 0x02, KEY_2 }, |
1462 | [0x03] = KEY_3, | 1612 | { 0x03, KEY_3 }, |
1463 | [0x04] = KEY_4, | 1613 | { 0x04, KEY_4 }, |
1464 | [0x05] = KEY_5, | 1614 | { 0x05, KEY_5 }, |
1465 | [0x06] = KEY_6, | 1615 | { 0x06, KEY_6 }, |
1466 | [0x07] = KEY_7, | 1616 | { 0x07, KEY_7 }, |
1467 | [0x08] = KEY_8, | 1617 | { 0x08, KEY_8 }, |
1468 | [0x09] = KEY_9, | 1618 | { 0x09, KEY_9 }, |
1469 | 1619 | ||
1470 | [0x0b] = KEY_CHANNEL, /* channel / program (japan: 11) */ | 1620 | { 0x0b, KEY_CHANNEL }, /* channel / program (japan: 11) */ |
1471 | [0x0c] = KEY_POWER, /* standby */ | 1621 | { 0x0c, KEY_POWER }, /* standby */ |
1472 | [0x0d] = KEY_MUTE, /* mute / demute */ | 1622 | { 0x0d, KEY_MUTE }, /* mute / demute */ |
1473 | [0x0f] = KEY_TV, /* display */ | 1623 | { 0x0f, KEY_TV }, /* display */ |
1474 | [0x10] = KEY_VOLUMEUP, | 1624 | { 0x10, KEY_VOLUMEUP }, |
1475 | [0x11] = KEY_VOLUMEDOWN, | 1625 | { 0x11, KEY_VOLUMEDOWN }, |
1476 | [0x12] = KEY_BRIGHTNESSUP, | 1626 | { 0x12, KEY_BRIGHTNESSUP }, |
1477 | [0x13] = KEY_BRIGHTNESSDOWN, | 1627 | { 0x13, KEY_BRIGHTNESSDOWN }, |
1478 | [0x1e] = KEY_SEARCH, /* search + */ | 1628 | { 0x1e, KEY_SEARCH }, /* search + */ |
1479 | [0x20] = KEY_CHANNELUP, /* channel / program + */ | 1629 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ |
1480 | [0x21] = KEY_CHANNELDOWN, /* channel / program - */ | 1630 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ |
1481 | [0x22] = KEY_CHANNEL, /* alt / channel */ | 1631 | { 0x22, KEY_CHANNEL }, /* alt / channel */ |
1482 | [0x23] = KEY_LANGUAGE, /* 1st / 2nd language */ | 1632 | { 0x23, KEY_LANGUAGE }, /* 1st / 2nd language */ |
1483 | [0x26] = KEY_SLEEP, /* sleeptimer */ | 1633 | { 0x26, KEY_SLEEP }, /* sleeptimer */ |
1484 | [0x2e] = KEY_MENU, /* 2nd controls (USA: menu) */ | 1634 | { 0x2e, KEY_MENU }, /* 2nd controls (USA: menu) */ |
1485 | [0x30] = KEY_PAUSE, | 1635 | { 0x30, KEY_PAUSE }, |
1486 | [0x32] = KEY_REWIND, | 1636 | { 0x32, KEY_REWIND }, |
1487 | [0x33] = KEY_GOTO, | 1637 | { 0x33, KEY_GOTO }, |
1488 | [0x35] = KEY_PLAY, | 1638 | { 0x35, KEY_PLAY }, |
1489 | [0x36] = KEY_STOP, | 1639 | { 0x36, KEY_STOP }, |
1490 | [0x37] = KEY_RECORD, /* recording */ | 1640 | { 0x37, KEY_RECORD }, /* recording */ |
1491 | [0x3c] = KEY_TEXT, /* teletext submode (Japan: 12) */ | 1641 | { 0x3c, KEY_TEXT }, /* teletext submode (Japan: 12) */ |
1492 | [0x3d] = KEY_SUSPEND, /* system standby */ | 1642 | { 0x3d, KEY_SUSPEND }, /* system standby */ |
1493 | 1643 | ||
1494 | }; | 1644 | }; |
1495 | EXPORT_SYMBOL_GPL(ir_codes_rc5_tv); | 1645 | |
1646 | struct ir_scancode_table ir_codes_rc5_tv_table = { | ||
1647 | .scan = ir_codes_rc5_tv, | ||
1648 | .size = ARRAY_SIZE(ir_codes_rc5_tv), | ||
1649 | }; | ||
1650 | EXPORT_SYMBOL_GPL(ir_codes_rc5_tv_table); | ||
1496 | 1651 | ||
1497 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ | 1652 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ |
1498 | IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { | 1653 | static struct ir_scancode ir_codes_winfast[] = { |
1499 | /* Keys 0 to 9 */ | 1654 | /* Keys 0 to 9 */ |
1500 | [0x12] = KEY_0, | 1655 | { 0x12, KEY_0 }, |
1501 | [0x05] = KEY_1, | 1656 | { 0x05, KEY_1 }, |
1502 | [0x06] = KEY_2, | 1657 | { 0x06, KEY_2 }, |
1503 | [0x07] = KEY_3, | 1658 | { 0x07, KEY_3 }, |
1504 | [0x09] = KEY_4, | 1659 | { 0x09, KEY_4 }, |
1505 | [0x0a] = KEY_5, | 1660 | { 0x0a, KEY_5 }, |
1506 | [0x0b] = KEY_6, | 1661 | { 0x0b, KEY_6 }, |
1507 | [0x0d] = KEY_7, | 1662 | { 0x0d, KEY_7 }, |
1508 | [0x0e] = KEY_8, | 1663 | { 0x0e, KEY_8 }, |
1509 | [0x0f] = KEY_9, | 1664 | { 0x0f, KEY_9 }, |
1510 | 1665 | ||
1511 | [0x00] = KEY_POWER, | 1666 | { 0x00, KEY_POWER }, |
1512 | [0x1b] = KEY_AUDIO, /* Audio Source */ | 1667 | { 0x1b, KEY_AUDIO }, /* Audio Source */ |
1513 | [0x02] = KEY_TUNER, /* TV/FM, not on Y0400052 */ | 1668 | { 0x02, KEY_TUNER }, /* TV/FM, not on Y0400052 */ |
1514 | [0x1e] = KEY_VIDEO, /* Video Source */ | 1669 | { 0x1e, KEY_VIDEO }, /* Video Source */ |
1515 | [0x16] = KEY_INFO, /* Display information */ | 1670 | { 0x16, KEY_INFO }, /* Display information */ |
1516 | [0x04] = KEY_VOLUMEUP, | 1671 | { 0x04, KEY_VOLUMEUP }, |
1517 | [0x08] = KEY_VOLUMEDOWN, | 1672 | { 0x08, KEY_VOLUMEDOWN }, |
1518 | [0x0c] = KEY_CHANNELUP, | 1673 | { 0x0c, KEY_CHANNELUP }, |
1519 | [0x10] = KEY_CHANNELDOWN, | 1674 | { 0x10, KEY_CHANNELDOWN }, |
1520 | [0x03] = KEY_ZOOM, /* fullscreen */ | 1675 | { 0x03, KEY_ZOOM }, /* fullscreen */ |
1521 | [0x1f] = KEY_TEXT, /* closed caption/teletext */ | 1676 | { 0x1f, KEY_TEXT }, /* closed caption/teletext */ |
1522 | [0x20] = KEY_SLEEP, | 1677 | { 0x20, KEY_SLEEP }, |
1523 | [0x29] = KEY_CLEAR, /* boss key */ | 1678 | { 0x29, KEY_CLEAR }, /* boss key */ |
1524 | [0x14] = KEY_MUTE, | 1679 | { 0x14, KEY_MUTE }, |
1525 | [0x2b] = KEY_RED, | 1680 | { 0x2b, KEY_RED }, |
1526 | [0x2c] = KEY_GREEN, | 1681 | { 0x2c, KEY_GREEN }, |
1527 | [0x2d] = KEY_YELLOW, | 1682 | { 0x2d, KEY_YELLOW }, |
1528 | [0x2e] = KEY_BLUE, | 1683 | { 0x2e, KEY_BLUE }, |
1529 | [0x18] = KEY_KPPLUS, /* fine tune + , not on Y040052 */ | 1684 | { 0x18, KEY_KPPLUS }, /* fine tune + , not on Y040052 */ |
1530 | [0x19] = KEY_KPMINUS, /* fine tune - , not on Y040052 */ | 1685 | { 0x19, KEY_KPMINUS }, /* fine tune - , not on Y040052 */ |
1531 | [0x2a] = KEY_MEDIA, /* PIP (Picture in picture */ | 1686 | { 0x2a, KEY_MEDIA }, /* PIP (Picture in picture */ |
1532 | [0x21] = KEY_DOT, | 1687 | { 0x21, KEY_DOT }, |
1533 | [0x13] = KEY_ENTER, | 1688 | { 0x13, KEY_ENTER }, |
1534 | [0x11] = KEY_LAST, /* Recall (last channel */ | 1689 | { 0x11, KEY_LAST }, /* Recall (last channel */ |
1535 | [0x22] = KEY_PREVIOUS, | 1690 | { 0x22, KEY_PREVIOUS }, |
1536 | [0x23] = KEY_PLAYPAUSE, | 1691 | { 0x23, KEY_PLAYPAUSE }, |
1537 | [0x24] = KEY_NEXT, | 1692 | { 0x24, KEY_NEXT }, |
1538 | [0x25] = KEY_TIME, /* Time Shifting */ | 1693 | { 0x25, KEY_TIME }, /* Time Shifting */ |
1539 | [0x26] = KEY_STOP, | 1694 | { 0x26, KEY_STOP }, |
1540 | [0x27] = KEY_RECORD, | 1695 | { 0x27, KEY_RECORD }, |
1541 | [0x28] = KEY_SAVE, /* Screenshot */ | 1696 | { 0x28, KEY_SAVE }, /* Screenshot */ |
1542 | [0x2f] = KEY_MENU, | 1697 | { 0x2f, KEY_MENU }, |
1543 | [0x30] = KEY_CANCEL, | 1698 | { 0x30, KEY_CANCEL }, |
1544 | [0x31] = KEY_CHANNEL, /* Channel Surf */ | 1699 | { 0x31, KEY_CHANNEL }, /* Channel Surf */ |
1545 | [0x32] = KEY_SUBTITLE, | 1700 | { 0x32, KEY_SUBTITLE }, |
1546 | [0x33] = KEY_LANGUAGE, | 1701 | { 0x33, KEY_LANGUAGE }, |
1547 | [0x34] = KEY_REWIND, | 1702 | { 0x34, KEY_REWIND }, |
1548 | [0x35] = KEY_FASTFORWARD, | 1703 | { 0x35, KEY_FASTFORWARD }, |
1549 | [0x36] = KEY_TV, | 1704 | { 0x36, KEY_TV }, |
1550 | [0x37] = KEY_RADIO, /* FM */ | 1705 | { 0x37, KEY_RADIO }, /* FM */ |
1551 | [0x38] = KEY_DVD, | 1706 | { 0x38, KEY_DVD }, |
1552 | 1707 | ||
1553 | [0x3e] = KEY_F21, /* MCE +VOL, on Y04G0033 */ | 1708 | { 0x3e, KEY_F21 }, /* MCE +VOL, on Y04G0033 */ |
1554 | [0x3a] = KEY_F22, /* MCE -VOL, on Y04G0033 */ | 1709 | { 0x3a, KEY_F22 }, /* MCE -VOL, on Y04G0033 */ |
1555 | [0x3b] = KEY_F23, /* MCE +CH, on Y04G0033 */ | 1710 | { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ |
1556 | [0x3f] = KEY_F24 /* MCE -CH, on Y04G0033 */ | 1711 | { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ |
1557 | }; | 1712 | }; |
1558 | EXPORT_SYMBOL_GPL(ir_codes_winfast); | 1713 | |
1559 | 1714 | struct ir_scancode_table ir_codes_winfast_table = { | |
1560 | IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = { | 1715 | .scan = ir_codes_winfast, |
1561 | [0x59] = KEY_MUTE, | 1716 | .size = ARRAY_SIZE(ir_codes_winfast), |
1562 | [0x4a] = KEY_POWER, | 1717 | }; |
1563 | 1718 | EXPORT_SYMBOL_GPL(ir_codes_winfast_table); | |
1564 | [0x18] = KEY_TEXT, | 1719 | |
1565 | [0x26] = KEY_TV, | 1720 | static struct ir_scancode ir_codes_pinnacle_color[] = { |
1566 | [0x3d] = KEY_PRINT, | 1721 | { 0x59, KEY_MUTE }, |
1567 | 1722 | { 0x4a, KEY_POWER }, | |
1568 | [0x48] = KEY_RED, | 1723 | |
1569 | [0x04] = KEY_GREEN, | 1724 | { 0x18, KEY_TEXT }, |
1570 | [0x11] = KEY_YELLOW, | 1725 | { 0x26, KEY_TV }, |
1571 | [0x00] = KEY_BLUE, | 1726 | { 0x3d, KEY_PRINT }, |
1572 | 1727 | ||
1573 | [0x2d] = KEY_VOLUMEUP, | 1728 | { 0x48, KEY_RED }, |
1574 | [0x1e] = KEY_VOLUMEDOWN, | 1729 | { 0x04, KEY_GREEN }, |
1575 | 1730 | { 0x11, KEY_YELLOW }, | |
1576 | [0x49] = KEY_MENU, | 1731 | { 0x00, KEY_BLUE }, |
1577 | 1732 | ||
1578 | [0x16] = KEY_CHANNELUP, | 1733 | { 0x2d, KEY_VOLUMEUP }, |
1579 | [0x17] = KEY_CHANNELDOWN, | 1734 | { 0x1e, KEY_VOLUMEDOWN }, |
1580 | 1735 | ||
1581 | [0x20] = KEY_UP, | 1736 | { 0x49, KEY_MENU }, |
1582 | [0x21] = KEY_DOWN, | 1737 | |
1583 | [0x22] = KEY_LEFT, | 1738 | { 0x16, KEY_CHANNELUP }, |
1584 | [0x23] = KEY_RIGHT, | 1739 | { 0x17, KEY_CHANNELDOWN }, |
1585 | [0x0d] = KEY_SELECT, | 1740 | |
1586 | 1741 | { 0x20, KEY_UP }, | |
1587 | [0x08] = KEY_BACK, | 1742 | { 0x21, KEY_DOWN }, |
1588 | [0x07] = KEY_REFRESH, | 1743 | { 0x22, KEY_LEFT }, |
1589 | 1744 | { 0x23, KEY_RIGHT }, | |
1590 | [0x2f] = KEY_ZOOM, | 1745 | { 0x0d, KEY_SELECT }, |
1591 | [0x29] = KEY_RECORD, | 1746 | |
1592 | 1747 | { 0x08, KEY_BACK }, | |
1593 | [0x4b] = KEY_PAUSE, | 1748 | { 0x07, KEY_REFRESH }, |
1594 | [0x4d] = KEY_REWIND, | 1749 | |
1595 | [0x2e] = KEY_PLAY, | 1750 | { 0x2f, KEY_ZOOM }, |
1596 | [0x4e] = KEY_FORWARD, | 1751 | { 0x29, KEY_RECORD }, |
1597 | [0x53] = KEY_PREVIOUS, | 1752 | |
1598 | [0x4c] = KEY_STOP, | 1753 | { 0x4b, KEY_PAUSE }, |
1599 | [0x54] = KEY_NEXT, | 1754 | { 0x4d, KEY_REWIND }, |
1600 | 1755 | { 0x2e, KEY_PLAY }, | |
1601 | [0x69] = KEY_0, | 1756 | { 0x4e, KEY_FORWARD }, |
1602 | [0x6a] = KEY_1, | 1757 | { 0x53, KEY_PREVIOUS }, |
1603 | [0x6b] = KEY_2, | 1758 | { 0x4c, KEY_STOP }, |
1604 | [0x6c] = KEY_3, | 1759 | { 0x54, KEY_NEXT }, |
1605 | [0x6d] = KEY_4, | 1760 | |
1606 | [0x6e] = KEY_5, | 1761 | { 0x69, KEY_0 }, |
1607 | [0x6f] = KEY_6, | 1762 | { 0x6a, KEY_1 }, |
1608 | [0x70] = KEY_7, | 1763 | { 0x6b, KEY_2 }, |
1609 | [0x71] = KEY_8, | 1764 | { 0x6c, KEY_3 }, |
1610 | [0x72] = KEY_9, | 1765 | { 0x6d, KEY_4 }, |
1611 | 1766 | { 0x6e, KEY_5 }, | |
1612 | [0x74] = KEY_CHANNEL, | 1767 | { 0x6f, KEY_6 }, |
1613 | [0x0a] = KEY_BACKSPACE, | 1768 | { 0x70, KEY_7 }, |
1614 | }; | 1769 | { 0x71, KEY_8 }, |
1615 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color); | 1770 | { 0x72, KEY_9 }, |
1771 | |||
1772 | { 0x74, KEY_CHANNEL }, | ||
1773 | { 0x0a, KEY_BACKSPACE }, | ||
1774 | }; | ||
1775 | |||
1776 | struct ir_scancode_table ir_codes_pinnacle_color_table = { | ||
1777 | .scan = ir_codes_pinnacle_color, | ||
1778 | .size = ARRAY_SIZE(ir_codes_pinnacle_color), | ||
1779 | }; | ||
1780 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color_table); | ||
1616 | 1781 | ||
1617 | /* Hauppauge: the newer, gray remotes (seems there are multiple | 1782 | /* Hauppauge: the newer, gray remotes (seems there are multiple |
1618 | * slightly different versions), shipped with cx88+ivtv cards. | 1783 | * slightly different versions), shipped with cx88+ivtv cards. |
1619 | * almost rc5 coding, but some non-standard keys */ | 1784 | * almost rc5 coding, but some non-standard keys */ |
1620 | IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = { | 1785 | static struct ir_scancode ir_codes_hauppauge_new[] = { |
1621 | /* Keys 0 to 9 */ | 1786 | /* Keys 0 to 9 */ |
1622 | [0x00] = KEY_0, | 1787 | { 0x00, KEY_0 }, |
1623 | [0x01] = KEY_1, | 1788 | { 0x01, KEY_1 }, |
1624 | [0x02] = KEY_2, | 1789 | { 0x02, KEY_2 }, |
1625 | [0x03] = KEY_3, | 1790 | { 0x03, KEY_3 }, |
1626 | [0x04] = KEY_4, | 1791 | { 0x04, KEY_4 }, |
1627 | [0x05] = KEY_5, | 1792 | { 0x05, KEY_5 }, |
1628 | [0x06] = KEY_6, | 1793 | { 0x06, KEY_6 }, |
1629 | [0x07] = KEY_7, | 1794 | { 0x07, KEY_7 }, |
1630 | [0x08] = KEY_8, | 1795 | { 0x08, KEY_8 }, |
1631 | [0x09] = KEY_9, | 1796 | { 0x09, KEY_9 }, |
1632 | 1797 | ||
1633 | [0x0a] = KEY_TEXT, /* keypad asterisk as well */ | 1798 | { 0x0a, KEY_TEXT }, /* keypad asterisk as well */ |
1634 | [0x0b] = KEY_RED, /* red button */ | 1799 | { 0x0b, KEY_RED }, /* red button */ |
1635 | [0x0c] = KEY_RADIO, | 1800 | { 0x0c, KEY_RADIO }, |
1636 | [0x0d] = KEY_MENU, | 1801 | { 0x0d, KEY_MENU }, |
1637 | [0x0e] = KEY_SUBTITLE, /* also the # key */ | 1802 | { 0x0e, KEY_SUBTITLE }, /* also the # key */ |
1638 | [0x0f] = KEY_MUTE, | 1803 | { 0x0f, KEY_MUTE }, |
1639 | [0x10] = KEY_VOLUMEUP, | 1804 | { 0x10, KEY_VOLUMEUP }, |
1640 | [0x11] = KEY_VOLUMEDOWN, | 1805 | { 0x11, KEY_VOLUMEDOWN }, |
1641 | [0x12] = KEY_PREVIOUS, /* previous channel */ | 1806 | { 0x12, KEY_PREVIOUS }, /* previous channel */ |
1642 | [0x14] = KEY_UP, | 1807 | { 0x14, KEY_UP }, |
1643 | [0x15] = KEY_DOWN, | 1808 | { 0x15, KEY_DOWN }, |
1644 | [0x16] = KEY_LEFT, | 1809 | { 0x16, KEY_LEFT }, |
1645 | [0x17] = KEY_RIGHT, | 1810 | { 0x17, KEY_RIGHT }, |
1646 | [0x18] = KEY_VIDEO, /* Videos */ | 1811 | { 0x18, KEY_VIDEO }, /* Videos */ |
1647 | [0x19] = KEY_AUDIO, /* Music */ | 1812 | { 0x19, KEY_AUDIO }, /* Music */ |
1648 | /* 0x1a: Pictures - presume this means | 1813 | /* 0x1a: Pictures - presume this means |
1649 | "Multimedia Home Platform" - | 1814 | "Multimedia Home Platform" - |
1650 | no "PICTURES" key in input.h | 1815 | no "PICTURES" key in input.h |
1651 | */ | 1816 | */ |
1652 | [0x1a] = KEY_MHP, | 1817 | { 0x1a, KEY_MHP }, |
1653 | 1818 | ||
1654 | [0x1b] = KEY_EPG, /* Guide */ | 1819 | { 0x1b, KEY_EPG }, /* Guide */ |
1655 | [0x1c] = KEY_TV, | 1820 | { 0x1c, KEY_TV }, |
1656 | [0x1e] = KEY_NEXTSONG, /* skip >| */ | 1821 | { 0x1e, KEY_NEXTSONG }, /* skip >| */ |
1657 | [0x1f] = KEY_EXIT, /* back/exit */ | 1822 | { 0x1f, KEY_EXIT }, /* back/exit */ |
1658 | [0x20] = KEY_CHANNELUP, /* channel / program + */ | 1823 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ |
1659 | [0x21] = KEY_CHANNELDOWN, /* channel / program - */ | 1824 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ |
1660 | [0x22] = KEY_CHANNEL, /* source (old black remote) */ | 1825 | { 0x22, KEY_CHANNEL }, /* source (old black remote) */ |
1661 | [0x24] = KEY_PREVIOUSSONG, /* replay |< */ | 1826 | { 0x24, KEY_PREVIOUSSONG }, /* replay |< */ |
1662 | [0x25] = KEY_ENTER, /* OK */ | 1827 | { 0x25, KEY_ENTER }, /* OK */ |
1663 | [0x26] = KEY_SLEEP, /* minimize (old black remote) */ | 1828 | { 0x26, KEY_SLEEP }, /* minimize (old black remote) */ |
1664 | [0x29] = KEY_BLUE, /* blue key */ | 1829 | { 0x29, KEY_BLUE }, /* blue key */ |
1665 | [0x2e] = KEY_GREEN, /* green button */ | 1830 | { 0x2e, KEY_GREEN }, /* green button */ |
1666 | [0x30] = KEY_PAUSE, /* pause */ | 1831 | { 0x30, KEY_PAUSE }, /* pause */ |
1667 | [0x32] = KEY_REWIND, /* backward << */ | 1832 | { 0x32, KEY_REWIND }, /* backward << */ |
1668 | [0x34] = KEY_FASTFORWARD, /* forward >> */ | 1833 | { 0x34, KEY_FASTFORWARD }, /* forward >> */ |
1669 | [0x35] = KEY_PLAY, | 1834 | { 0x35, KEY_PLAY }, |
1670 | [0x36] = KEY_STOP, | 1835 | { 0x36, KEY_STOP }, |
1671 | [0x37] = KEY_RECORD, /* recording */ | 1836 | { 0x37, KEY_RECORD }, /* recording */ |
1672 | [0x38] = KEY_YELLOW, /* yellow key */ | 1837 | { 0x38, KEY_YELLOW }, /* yellow key */ |
1673 | [0x3b] = KEY_SELECT, /* top right button */ | 1838 | { 0x3b, KEY_SELECT }, /* top right button */ |
1674 | [0x3c] = KEY_ZOOM, /* full */ | 1839 | { 0x3c, KEY_ZOOM }, /* full */ |
1675 | [0x3d] = KEY_POWER, /* system power (green button) */ | 1840 | { 0x3d, KEY_POWER }, /* system power (green button) */ |
1676 | }; | 1841 | }; |
1677 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new); | 1842 | |
1678 | 1843 | struct ir_scancode_table ir_codes_hauppauge_new_table = { | |
1679 | IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = { | 1844 | .scan = ir_codes_hauppauge_new, |
1680 | [0x1d] = KEY_SWITCHVIDEOMODE, /* switch inputs */ | 1845 | .size = ARRAY_SIZE(ir_codes_hauppauge_new), |
1681 | [0x2a] = KEY_FRONT, | 1846 | }; |
1682 | 1847 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table); | |
1683 | [0x3e] = KEY_1, | 1848 | |
1684 | [0x02] = KEY_2, | 1849 | static struct ir_scancode ir_codes_npgtech[] = { |
1685 | [0x06] = KEY_3, | 1850 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ |
1686 | [0x0a] = KEY_4, | 1851 | { 0x2a, KEY_FRONT }, |
1687 | [0x0e] = KEY_5, | 1852 | |
1688 | [0x12] = KEY_6, | 1853 | { 0x3e, KEY_1 }, |
1689 | [0x16] = KEY_7, | 1854 | { 0x02, KEY_2 }, |
1690 | [0x1a] = KEY_8, | 1855 | { 0x06, KEY_3 }, |
1691 | [0x1e] = KEY_9, | 1856 | { 0x0a, KEY_4 }, |
1692 | [0x3a] = KEY_0, | 1857 | { 0x0e, KEY_5 }, |
1693 | [0x22] = KEY_NUMLOCK, /* -/-- */ | 1858 | { 0x12, KEY_6 }, |
1694 | [0x20] = KEY_REFRESH, | 1859 | { 0x16, KEY_7 }, |
1695 | 1860 | { 0x1a, KEY_8 }, | |
1696 | [0x03] = KEY_BRIGHTNESSDOWN, | 1861 | { 0x1e, KEY_9 }, |
1697 | [0x28] = KEY_AUDIO, | 1862 | { 0x3a, KEY_0 }, |
1698 | [0x3c] = KEY_CHANNELUP, | 1863 | { 0x22, KEY_NUMLOCK }, /* -/-- */ |
1699 | [0x3f] = KEY_VOLUMEDOWN, | 1864 | { 0x20, KEY_REFRESH }, |
1700 | [0x2e] = KEY_MUTE, | 1865 | |
1701 | [0x3b] = KEY_VOLUMEUP, | 1866 | { 0x03, KEY_BRIGHTNESSDOWN }, |
1702 | [0x00] = KEY_CHANNELDOWN, | 1867 | { 0x28, KEY_AUDIO }, |
1703 | [0x07] = KEY_BRIGHTNESSUP, | 1868 | { 0x3c, KEY_CHANNELUP }, |
1704 | [0x2c] = KEY_TEXT, | 1869 | { 0x3f, KEY_VOLUMEDOWN }, |
1705 | 1870 | { 0x2e, KEY_MUTE }, | |
1706 | [0x37] = KEY_RECORD, | 1871 | { 0x3b, KEY_VOLUMEUP }, |
1707 | [0x17] = KEY_PLAY, | 1872 | { 0x00, KEY_CHANNELDOWN }, |
1708 | [0x13] = KEY_PAUSE, | 1873 | { 0x07, KEY_BRIGHTNESSUP }, |
1709 | [0x26] = KEY_STOP, | 1874 | { 0x2c, KEY_TEXT }, |
1710 | [0x18] = KEY_FASTFORWARD, | 1875 | |
1711 | [0x14] = KEY_REWIND, | 1876 | { 0x37, KEY_RECORD }, |
1712 | [0x33] = KEY_ZOOM, | 1877 | { 0x17, KEY_PLAY }, |
1713 | [0x32] = KEY_KEYBOARD, | 1878 | { 0x13, KEY_PAUSE }, |
1714 | [0x30] = KEY_GOTO, /* Pointing arrow */ | 1879 | { 0x26, KEY_STOP }, |
1715 | [0x36] = KEY_MACRO, /* Maximize/Minimize (yellow) */ | 1880 | { 0x18, KEY_FASTFORWARD }, |
1716 | [0x0b] = KEY_RADIO, | 1881 | { 0x14, KEY_REWIND }, |
1717 | [0x10] = KEY_POWER, | 1882 | { 0x33, KEY_ZOOM }, |
1718 | 1883 | { 0x32, KEY_KEYBOARD }, | |
1719 | }; | 1884 | { 0x30, KEY_GOTO }, /* Pointing arrow */ |
1720 | EXPORT_SYMBOL_GPL(ir_codes_npgtech); | 1885 | { 0x36, KEY_MACRO }, /* Maximize/Minimize (yellow) */ |
1886 | { 0x0b, KEY_RADIO }, | ||
1887 | { 0x10, KEY_POWER }, | ||
1888 | |||
1889 | }; | ||
1890 | |||
1891 | struct ir_scancode_table ir_codes_npgtech_table = { | ||
1892 | .scan = ir_codes_npgtech, | ||
1893 | .size = ARRAY_SIZE(ir_codes_npgtech), | ||
1894 | }; | ||
1895 | EXPORT_SYMBOL_GPL(ir_codes_npgtech_table); | ||
1721 | 1896 | ||
1722 | /* Norwood Micro (non-Pro) TV Tuner | 1897 | /* Norwood Micro (non-Pro) TV Tuner |
1723 | By Peter Naulls <peter@chocky.org> | 1898 | By Peter Naulls <peter@chocky.org> |
1724 | Key comments are the functions given in the manual */ | 1899 | Key comments are the functions given in the manual */ |
1725 | IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = { | 1900 | static struct ir_scancode ir_codes_norwood[] = { |
1726 | /* Keys 0 to 9 */ | 1901 | /* Keys 0 to 9 */ |
1727 | [0x20] = KEY_0, | 1902 | { 0x20, KEY_0 }, |
1728 | [0x21] = KEY_1, | 1903 | { 0x21, KEY_1 }, |
1729 | [0x22] = KEY_2, | 1904 | { 0x22, KEY_2 }, |
1730 | [0x23] = KEY_3, | 1905 | { 0x23, KEY_3 }, |
1731 | [0x24] = KEY_4, | 1906 | { 0x24, KEY_4 }, |
1732 | [0x25] = KEY_5, | 1907 | { 0x25, KEY_5 }, |
1733 | [0x26] = KEY_6, | 1908 | { 0x26, KEY_6 }, |
1734 | [0x27] = KEY_7, | 1909 | { 0x27, KEY_7 }, |
1735 | [0x28] = KEY_8, | 1910 | { 0x28, KEY_8 }, |
1736 | [0x29] = KEY_9, | 1911 | { 0x29, KEY_9 }, |
1737 | 1912 | ||
1738 | [0x78] = KEY_TUNER, /* Video Source */ | 1913 | { 0x78, KEY_TUNER }, /* Video Source */ |
1739 | [0x2c] = KEY_EXIT, /* Open/Close software */ | 1914 | { 0x2c, KEY_EXIT }, /* Open/Close software */ |
1740 | [0x2a] = KEY_SELECT, /* 2 Digit Select */ | 1915 | { 0x2a, KEY_SELECT }, /* 2 Digit Select */ |
1741 | [0x69] = KEY_AGAIN, /* Recall */ | 1916 | { 0x69, KEY_AGAIN }, /* Recall */ |
1742 | 1917 | ||
1743 | [0x32] = KEY_BRIGHTNESSUP, /* Brightness increase */ | 1918 | { 0x32, KEY_BRIGHTNESSUP }, /* Brightness increase */ |
1744 | [0x33] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */ | 1919 | { 0x33, KEY_BRIGHTNESSDOWN }, /* Brightness decrease */ |
1745 | [0x6b] = KEY_KPPLUS, /* (not named >>>>>) */ | 1920 | { 0x6b, KEY_KPPLUS }, /* (not named >>>>>) */ |
1746 | [0x6c] = KEY_KPMINUS, /* (not named <<<<<) */ | 1921 | { 0x6c, KEY_KPMINUS }, /* (not named <<<<<) */ |
1747 | 1922 | ||
1748 | [0x2d] = KEY_MUTE, /* Mute */ | 1923 | { 0x2d, KEY_MUTE }, /* Mute */ |
1749 | [0x30] = KEY_VOLUMEUP, /* Volume up */ | 1924 | { 0x30, KEY_VOLUMEUP }, /* Volume up */ |
1750 | [0x31] = KEY_VOLUMEDOWN,/* Volume down */ | 1925 | { 0x31, KEY_VOLUMEDOWN }, /* Volume down */ |
1751 | [0x60] = KEY_CHANNELUP, /* Channel up */ | 1926 | { 0x60, KEY_CHANNELUP }, /* Channel up */ |
1752 | [0x61] = KEY_CHANNELDOWN,/* Channel down */ | 1927 | { 0x61, KEY_CHANNELDOWN }, /* Channel down */ |
1753 | 1928 | ||
1754 | [0x3f] = KEY_RECORD, /* Record */ | 1929 | { 0x3f, KEY_RECORD }, /* Record */ |
1755 | [0x37] = KEY_PLAY, /* Play */ | 1930 | { 0x37, KEY_PLAY }, /* Play */ |
1756 | [0x36] = KEY_PAUSE, /* Pause */ | 1931 | { 0x36, KEY_PAUSE }, /* Pause */ |
1757 | [0x2b] = KEY_STOP, /* Stop */ | 1932 | { 0x2b, KEY_STOP }, /* Stop */ |
1758 | [0x67] = KEY_FASTFORWARD,/* Foward */ | 1933 | { 0x67, KEY_FASTFORWARD }, /* Foward */ |
1759 | [0x66] = KEY_REWIND, /* Rewind */ | 1934 | { 0x66, KEY_REWIND }, /* Rewind */ |
1760 | [0x3e] = KEY_SEARCH, /* Auto Scan */ | 1935 | { 0x3e, KEY_SEARCH }, /* Auto Scan */ |
1761 | [0x2e] = KEY_CAMERA, /* Capture Video */ | 1936 | { 0x2e, KEY_CAMERA }, /* Capture Video */ |
1762 | [0x6d] = KEY_MENU, /* Show/Hide Control */ | 1937 | { 0x6d, KEY_MENU }, /* Show/Hide Control */ |
1763 | [0x2f] = KEY_ZOOM, /* Full Screen */ | 1938 | { 0x2f, KEY_ZOOM }, /* Full Screen */ |
1764 | [0x34] = KEY_RADIO, /* FM */ | 1939 | { 0x34, KEY_RADIO }, /* FM */ |
1765 | [0x65] = KEY_POWER, /* Computer power */ | 1940 | { 0x65, KEY_POWER }, /* Computer power */ |
1766 | }; | 1941 | }; |
1767 | EXPORT_SYMBOL_GPL(ir_codes_norwood); | 1942 | |
1943 | struct ir_scancode_table ir_codes_norwood_table = { | ||
1944 | .scan = ir_codes_norwood, | ||
1945 | .size = ARRAY_SIZE(ir_codes_norwood), | ||
1946 | }; | ||
1947 | EXPORT_SYMBOL_GPL(ir_codes_norwood_table); | ||
1768 | 1948 | ||
1769 | /* From reading the following remotes: | 1949 | /* From reading the following remotes: |
1770 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | 1950 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 |
1771 | * Hauppauge (from NOVA-CI-s box product) | 1951 | * Hauppauge (from NOVA-CI-s box product) |
1772 | * This is a "middle of the road" approach, differences are noted | 1952 | * This is a "middle of the road" approach, differences are noted |
1773 | */ | 1953 | */ |
1774 | IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = { | 1954 | static struct ir_scancode ir_codes_budget_ci_old[] = { |
1775 | [0x00] = KEY_0, | 1955 | { 0x00, KEY_0 }, |
1776 | [0x01] = KEY_1, | 1956 | { 0x01, KEY_1 }, |
1777 | [0x02] = KEY_2, | 1957 | { 0x02, KEY_2 }, |
1778 | [0x03] = KEY_3, | 1958 | { 0x03, KEY_3 }, |
1779 | [0x04] = KEY_4, | 1959 | { 0x04, KEY_4 }, |
1780 | [0x05] = KEY_5, | 1960 | { 0x05, KEY_5 }, |
1781 | [0x06] = KEY_6, | 1961 | { 0x06, KEY_6 }, |
1782 | [0x07] = KEY_7, | 1962 | { 0x07, KEY_7 }, |
1783 | [0x08] = KEY_8, | 1963 | { 0x08, KEY_8 }, |
1784 | [0x09] = KEY_9, | 1964 | { 0x09, KEY_9 }, |
1785 | [0x0a] = KEY_ENTER, | 1965 | { 0x0a, KEY_ENTER }, |
1786 | [0x0b] = KEY_RED, | 1966 | { 0x0b, KEY_RED }, |
1787 | [0x0c] = KEY_POWER, /* RADIO on Hauppauge */ | 1967 | { 0x0c, KEY_POWER }, /* RADIO on Hauppauge */ |
1788 | [0x0d] = KEY_MUTE, | 1968 | { 0x0d, KEY_MUTE }, |
1789 | [0x0f] = KEY_A, /* TV on Hauppauge */ | 1969 | { 0x0f, KEY_A }, /* TV on Hauppauge */ |
1790 | [0x10] = KEY_VOLUMEUP, | 1970 | { 0x10, KEY_VOLUMEUP }, |
1791 | [0x11] = KEY_VOLUMEDOWN, | 1971 | { 0x11, KEY_VOLUMEDOWN }, |
1792 | [0x14] = KEY_B, | 1972 | { 0x14, KEY_B }, |
1793 | [0x1c] = KEY_UP, | 1973 | { 0x1c, KEY_UP }, |
1794 | [0x1d] = KEY_DOWN, | 1974 | { 0x1d, KEY_DOWN }, |
1795 | [0x1e] = KEY_OPTION, /* RESERVED on Hauppauge */ | 1975 | { 0x1e, KEY_OPTION }, /* RESERVED on Hauppauge */ |
1796 | [0x1f] = KEY_BREAK, | 1976 | { 0x1f, KEY_BREAK }, |
1797 | [0x20] = KEY_CHANNELUP, | 1977 | { 0x20, KEY_CHANNELUP }, |
1798 | [0x21] = KEY_CHANNELDOWN, | 1978 | { 0x21, KEY_CHANNELDOWN }, |
1799 | [0x22] = KEY_PREVIOUS, /* Prev Ch on Zenith, SOURCE on Hauppauge */ | 1979 | { 0x22, KEY_PREVIOUS }, /* Prev Ch on Zenith, SOURCE on Hauppauge */ |
1800 | [0x24] = KEY_RESTART, | 1980 | { 0x24, KEY_RESTART }, |
1801 | [0x25] = KEY_OK, | 1981 | { 0x25, KEY_OK }, |
1802 | [0x26] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */ | 1982 | { 0x26, KEY_CYCLEWINDOWS }, /* MINIMIZE on Hauppauge */ |
1803 | [0x28] = KEY_ENTER, /* VCR mode on Zenith */ | 1983 | { 0x28, KEY_ENTER }, /* VCR mode on Zenith */ |
1804 | [0x29] = KEY_PAUSE, | 1984 | { 0x29, KEY_PAUSE }, |
1805 | [0x2b] = KEY_RIGHT, | 1985 | { 0x2b, KEY_RIGHT }, |
1806 | [0x2c] = KEY_LEFT, | 1986 | { 0x2c, KEY_LEFT }, |
1807 | [0x2e] = KEY_MENU, /* FULL SCREEN on Hauppauge */ | 1987 | { 0x2e, KEY_MENU }, /* FULL SCREEN on Hauppauge */ |
1808 | [0x30] = KEY_SLOW, | 1988 | { 0x30, KEY_SLOW }, |
1809 | [0x31] = KEY_PREVIOUS, /* VCR mode on Zenith */ | 1989 | { 0x31, KEY_PREVIOUS }, /* VCR mode on Zenith */ |
1810 | [0x32] = KEY_REWIND, | 1990 | { 0x32, KEY_REWIND }, |
1811 | [0x34] = KEY_FASTFORWARD, | 1991 | { 0x34, KEY_FASTFORWARD }, |
1812 | [0x35] = KEY_PLAY, | 1992 | { 0x35, KEY_PLAY }, |
1813 | [0x36] = KEY_STOP, | 1993 | { 0x36, KEY_STOP }, |
1814 | [0x37] = KEY_RECORD, | 1994 | { 0x37, KEY_RECORD }, |
1815 | [0x38] = KEY_TUNER, /* TV/VCR on Zenith */ | 1995 | { 0x38, KEY_TUNER }, /* TV/VCR on Zenith */ |
1816 | [0x3a] = KEY_C, | 1996 | { 0x3a, KEY_C }, |
1817 | [0x3c] = KEY_EXIT, | 1997 | { 0x3c, KEY_EXIT }, |
1818 | [0x3d] = KEY_POWER2, | 1998 | { 0x3d, KEY_POWER2 }, |
1819 | [0x3e] = KEY_TUNER, | 1999 | { 0x3e, KEY_TUNER }, |
1820 | }; | 2000 | }; |
1821 | EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old); | 2001 | |
2002 | struct ir_scancode_table ir_codes_budget_ci_old_table = { | ||
2003 | .scan = ir_codes_budget_ci_old, | ||
2004 | .size = ARRAY_SIZE(ir_codes_budget_ci_old), | ||
2005 | }; | ||
2006 | EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old_table); | ||
1822 | 2007 | ||
1823 | /* | 2008 | /* |
1824 | * Marc Fargas <telenieko@telenieko.com> | 2009 | * Marc Fargas <telenieko@telenieko.com> |
1825 | * this is the remote control that comes with the asus p7131 | 2010 | * this is the remote control that comes with the asus p7131 |
1826 | * which has a label saying is "Model PC-39" | 2011 | * which has a label saying is "Model PC-39" |
1827 | */ | 2012 | */ |
1828 | IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = { | 2013 | static struct ir_scancode ir_codes_asus_pc39[] = { |
1829 | /* Keys 0 to 9 */ | 2014 | /* Keys 0 to 9 */ |
1830 | [0x15] = KEY_0, | 2015 | { 0x15, KEY_0 }, |
1831 | [0x29] = KEY_1, | 2016 | { 0x29, KEY_1 }, |
1832 | [0x2d] = KEY_2, | 2017 | { 0x2d, KEY_2 }, |
1833 | [0x2b] = KEY_3, | 2018 | { 0x2b, KEY_3 }, |
1834 | [0x09] = KEY_4, | 2019 | { 0x09, KEY_4 }, |
1835 | [0x0d] = KEY_5, | 2020 | { 0x0d, KEY_5 }, |
1836 | [0x0b] = KEY_6, | 2021 | { 0x0b, KEY_6 }, |
1837 | [0x31] = KEY_7, | 2022 | { 0x31, KEY_7 }, |
1838 | [0x35] = KEY_8, | 2023 | { 0x35, KEY_8 }, |
1839 | [0x33] = KEY_9, | 2024 | { 0x33, KEY_9 }, |
1840 | 2025 | ||
1841 | [0x3e] = KEY_RADIO, /* radio */ | 2026 | { 0x3e, KEY_RADIO }, /* radio */ |
1842 | [0x03] = KEY_MENU, /* dvd/menu */ | 2027 | { 0x03, KEY_MENU }, /* dvd/menu */ |
1843 | [0x2a] = KEY_VOLUMEUP, | 2028 | { 0x2a, KEY_VOLUMEUP }, |
1844 | [0x19] = KEY_VOLUMEDOWN, | 2029 | { 0x19, KEY_VOLUMEDOWN }, |
1845 | [0x37] = KEY_UP, | 2030 | { 0x37, KEY_UP }, |
1846 | [0x3b] = KEY_DOWN, | 2031 | { 0x3b, KEY_DOWN }, |
1847 | [0x27] = KEY_LEFT, | 2032 | { 0x27, KEY_LEFT }, |
1848 | [0x2f] = KEY_RIGHT, | 2033 | { 0x2f, KEY_RIGHT }, |
1849 | [0x25] = KEY_VIDEO, /* video */ | 2034 | { 0x25, KEY_VIDEO }, /* video */ |
1850 | [0x39] = KEY_AUDIO, /* music */ | 2035 | { 0x39, KEY_AUDIO }, /* music */ |
1851 | 2036 | ||
1852 | [0x21] = KEY_TV, /* tv */ | 2037 | { 0x21, KEY_TV }, /* tv */ |
1853 | [0x1d] = KEY_EXIT, /* back */ | 2038 | { 0x1d, KEY_EXIT }, /* back */ |
1854 | [0x0a] = KEY_CHANNELUP, /* channel / program + */ | 2039 | { 0x0a, KEY_CHANNELUP }, /* channel / program + */ |
1855 | [0x1b] = KEY_CHANNELDOWN, /* channel / program - */ | 2040 | { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ |
1856 | [0x1a] = KEY_ENTER, /* enter */ | 2041 | { 0x1a, KEY_ENTER }, /* enter */ |
1857 | 2042 | ||
1858 | [0x06] = KEY_PAUSE, /* play/pause */ | 2043 | { 0x06, KEY_PAUSE }, /* play/pause */ |
1859 | [0x1e] = KEY_PREVIOUS, /* rew */ | 2044 | { 0x1e, KEY_PREVIOUS }, /* rew */ |
1860 | [0x26] = KEY_NEXT, /* forward */ | 2045 | { 0x26, KEY_NEXT }, /* forward */ |
1861 | [0x0e] = KEY_REWIND, /* backward << */ | 2046 | { 0x0e, KEY_REWIND }, /* backward << */ |
1862 | [0x3a] = KEY_FASTFORWARD, /* forward >> */ | 2047 | { 0x3a, KEY_FASTFORWARD }, /* forward >> */ |
1863 | [0x36] = KEY_STOP, | 2048 | { 0x36, KEY_STOP }, |
1864 | [0x2e] = KEY_RECORD, /* recording */ | 2049 | { 0x2e, KEY_RECORD }, /* recording */ |
1865 | [0x16] = KEY_POWER, /* the button that reads "close" */ | 2050 | { 0x16, KEY_POWER }, /* the button that reads "close" */ |
1866 | 2051 | ||
1867 | [0x11] = KEY_ZOOM, /* full screen */ | 2052 | { 0x11, KEY_ZOOM }, /* full screen */ |
1868 | [0x13] = KEY_MACRO, /* recall */ | 2053 | { 0x13, KEY_MACRO }, /* recall */ |
1869 | [0x23] = KEY_HOME, /* home */ | 2054 | { 0x23, KEY_HOME }, /* home */ |
1870 | [0x05] = KEY_PVR, /* picture */ | 2055 | { 0x05, KEY_PVR }, /* picture */ |
1871 | [0x3d] = KEY_MUTE, /* mute */ | 2056 | { 0x3d, KEY_MUTE }, /* mute */ |
1872 | [0x01] = KEY_DVD, /* dvd */ | 2057 | { 0x01, KEY_DVD }, /* dvd */ |
1873 | }; | 2058 | }; |
1874 | EXPORT_SYMBOL_GPL(ir_codes_asus_pc39); | 2059 | |
2060 | struct ir_scancode_table ir_codes_asus_pc39_table = { | ||
2061 | .scan = ir_codes_asus_pc39, | ||
2062 | .size = ARRAY_SIZE(ir_codes_asus_pc39), | ||
2063 | }; | ||
2064 | EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table); | ||
1875 | 2065 | ||
1876 | 2066 | ||
1877 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons | 2067 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons |
1878 | Juan Pablo Sormani <sorman@gmail.com> */ | 2068 | Juan Pablo Sormani <sorman@gmail.com> */ |
1879 | IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = { | 2069 | static struct ir_scancode ir_codes_encore_enltv[] = { |
1880 | 2070 | ||
1881 | /* Power button does nothing, neither in Windows app, | 2071 | /* Power button does nothing, neither in Windows app, |
1882 | although it sends data (used for BIOS wakeup?) */ | 2072 | although it sends data (used for BIOS wakeup?) */ |
1883 | [0x0d] = KEY_MUTE, | 2073 | { 0x0d, KEY_MUTE }, |
1884 | 2074 | ||
1885 | [0x1e] = KEY_TV, | 2075 | { 0x1e, KEY_TV }, |
1886 | [0x00] = KEY_VIDEO, | 2076 | { 0x00, KEY_VIDEO }, |
1887 | [0x01] = KEY_AUDIO, /* music */ | 2077 | { 0x01, KEY_AUDIO }, /* music */ |
1888 | [0x02] = KEY_MHP, /* picture */ | 2078 | { 0x02, KEY_MHP }, /* picture */ |
1889 | 2079 | ||
1890 | [0x1f] = KEY_1, | 2080 | { 0x1f, KEY_1 }, |
1891 | [0x03] = KEY_2, | 2081 | { 0x03, KEY_2 }, |
1892 | [0x04] = KEY_3, | 2082 | { 0x04, KEY_3 }, |
1893 | [0x05] = KEY_4, | 2083 | { 0x05, KEY_4 }, |
1894 | [0x1c] = KEY_5, | 2084 | { 0x1c, KEY_5 }, |
1895 | [0x06] = KEY_6, | 2085 | { 0x06, KEY_6 }, |
1896 | [0x07] = KEY_7, | 2086 | { 0x07, KEY_7 }, |
1897 | [0x08] = KEY_8, | 2087 | { 0x08, KEY_8 }, |
1898 | [0x1d] = KEY_9, | 2088 | { 0x1d, KEY_9 }, |
1899 | [0x0a] = KEY_0, | 2089 | { 0x0a, KEY_0 }, |
1900 | 2090 | ||
1901 | [0x09] = KEY_LIST, /* -/-- */ | 2091 | { 0x09, KEY_LIST }, /* -/-- */ |
1902 | [0x0b] = KEY_LAST, /* recall */ | 2092 | { 0x0b, KEY_LAST }, /* recall */ |
1903 | 2093 | ||
1904 | [0x14] = KEY_HOME, /* win start menu */ | 2094 | { 0x14, KEY_HOME }, /* win start menu */ |
1905 | [0x15] = KEY_EXIT, /* exit */ | 2095 | { 0x15, KEY_EXIT }, /* exit */ |
1906 | [0x16] = KEY_CHANNELUP, /* UP */ | 2096 | { 0x16, KEY_CHANNELUP }, /* UP */ |
1907 | [0x12] = KEY_CHANNELDOWN, /* DOWN */ | 2097 | { 0x12, KEY_CHANNELDOWN }, /* DOWN */ |
1908 | [0x0c] = KEY_VOLUMEUP, /* RIGHT */ | 2098 | { 0x0c, KEY_VOLUMEUP }, /* RIGHT */ |
1909 | [0x17] = KEY_VOLUMEDOWN, /* LEFT */ | 2099 | { 0x17, KEY_VOLUMEDOWN }, /* LEFT */ |
1910 | 2100 | ||
1911 | [0x18] = KEY_ENTER, /* OK */ | 2101 | { 0x18, KEY_ENTER }, /* OK */ |
1912 | 2102 | ||
1913 | [0x0e] = KEY_ESC, | 2103 | { 0x0e, KEY_ESC }, |
1914 | [0x13] = KEY_CYCLEWINDOWS, /* desktop */ | 2104 | { 0x13, KEY_CYCLEWINDOWS }, /* desktop */ |
1915 | [0x11] = KEY_TAB, | 2105 | { 0x11, KEY_TAB }, |
1916 | [0x19] = KEY_SWITCHVIDEOMODE, /* switch */ | 2106 | { 0x19, KEY_SWITCHVIDEOMODE }, /* switch */ |
1917 | 2107 | ||
1918 | [0x1a] = KEY_MENU, | 2108 | { 0x1a, KEY_MENU }, |
1919 | [0x1b] = KEY_ZOOM, /* fullscreen */ | 2109 | { 0x1b, KEY_ZOOM }, /* fullscreen */ |
1920 | [0x44] = KEY_TIME, /* time shift */ | 2110 | { 0x44, KEY_TIME }, /* time shift */ |
1921 | [0x40] = KEY_MODE, /* source */ | 2111 | { 0x40, KEY_MODE }, /* source */ |
1922 | 2112 | ||
1923 | [0x5a] = KEY_RECORD, | 2113 | { 0x5a, KEY_RECORD }, |
1924 | [0x42] = KEY_PLAY, /* play/pause */ | 2114 | { 0x42, KEY_PLAY }, /* play/pause */ |
1925 | [0x45] = KEY_STOP, | 2115 | { 0x45, KEY_STOP }, |
1926 | [0x43] = KEY_CAMERA, /* camera icon */ | 2116 | { 0x43, KEY_CAMERA }, /* camera icon */ |
1927 | 2117 | ||
1928 | [0x48] = KEY_REWIND, | 2118 | { 0x48, KEY_REWIND }, |
1929 | [0x4a] = KEY_FASTFORWARD, | 2119 | { 0x4a, KEY_FASTFORWARD }, |
1930 | [0x49] = KEY_PREVIOUS, | 2120 | { 0x49, KEY_PREVIOUS }, |
1931 | [0x4b] = KEY_NEXT, | 2121 | { 0x4b, KEY_NEXT }, |
1932 | 2122 | ||
1933 | [0x4c] = KEY_FAVORITES, /* tv wall */ | 2123 | { 0x4c, KEY_FAVORITES }, /* tv wall */ |
1934 | [0x4d] = KEY_SOUND, /* DVD sound */ | 2124 | { 0x4d, KEY_SOUND }, /* DVD sound */ |
1935 | [0x4e] = KEY_LANGUAGE, /* DVD lang */ | 2125 | { 0x4e, KEY_LANGUAGE }, /* DVD lang */ |
1936 | [0x4f] = KEY_TEXT, /* DVD text */ | 2126 | { 0x4f, KEY_TEXT }, /* DVD text */ |
1937 | 2127 | ||
1938 | [0x50] = KEY_SLEEP, /* shutdown */ | 2128 | { 0x50, KEY_SLEEP }, /* shutdown */ |
1939 | [0x51] = KEY_MODE, /* stereo > main */ | 2129 | { 0x51, KEY_MODE }, /* stereo > main */ |
1940 | [0x52] = KEY_SELECT, /* stereo > sap */ | 2130 | { 0x52, KEY_SELECT }, /* stereo > sap */ |
1941 | [0x53] = KEY_PROG1, /* teletext */ | 2131 | { 0x53, KEY_PROG1 }, /* teletext */ |
1942 | 2132 | ||
1943 | 2133 | ||
1944 | [0x59] = KEY_RED, /* AP1 */ | 2134 | { 0x59, KEY_RED }, /* AP1 */ |
1945 | [0x41] = KEY_GREEN, /* AP2 */ | 2135 | { 0x41, KEY_GREEN }, /* AP2 */ |
1946 | [0x47] = KEY_YELLOW, /* AP3 */ | 2136 | { 0x47, KEY_YELLOW }, /* AP3 */ |
1947 | [0x57] = KEY_BLUE, /* AP4 */ | 2137 | { 0x57, KEY_BLUE }, /* AP4 */ |
1948 | }; | 2138 | }; |
1949 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv); | 2139 | |
2140 | struct ir_scancode_table ir_codes_encore_enltv_table = { | ||
2141 | .scan = ir_codes_encore_enltv, | ||
2142 | .size = ARRAY_SIZE(ir_codes_encore_enltv), | ||
2143 | }; | ||
2144 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_table); | ||
1950 | 2145 | ||
1951 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton | 2146 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton |
1952 | Mauro Carvalho Chehab <mchehab@infradead.org> */ | 2147 | Mauro Carvalho Chehab <mchehab@infradead.org> */ |
1953 | IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = { | 2148 | static struct ir_scancode ir_codes_encore_enltv2[] = { |
1954 | [0x4c] = KEY_POWER2, | 2149 | { 0x4c, KEY_POWER2 }, |
1955 | [0x4a] = KEY_TUNER, | 2150 | { 0x4a, KEY_TUNER }, |
1956 | [0x40] = KEY_1, | 2151 | { 0x40, KEY_1 }, |
1957 | [0x60] = KEY_2, | 2152 | { 0x60, KEY_2 }, |
1958 | [0x50] = KEY_3, | 2153 | { 0x50, KEY_3 }, |
1959 | [0x70] = KEY_4, | 2154 | { 0x70, KEY_4 }, |
1960 | [0x48] = KEY_5, | 2155 | { 0x48, KEY_5 }, |
1961 | [0x68] = KEY_6, | 2156 | { 0x68, KEY_6 }, |
1962 | [0x58] = KEY_7, | 2157 | { 0x58, KEY_7 }, |
1963 | [0x78] = KEY_8, | 2158 | { 0x78, KEY_8 }, |
1964 | [0x44] = KEY_9, | 2159 | { 0x44, KEY_9 }, |
1965 | [0x54] = KEY_0, | 2160 | { 0x54, KEY_0 }, |
1966 | 2161 | ||
1967 | [0x64] = KEY_LAST, /* +100 */ | 2162 | { 0x64, KEY_LAST }, /* +100 */ |
1968 | [0x4e] = KEY_AGAIN, /* Recall */ | 2163 | { 0x4e, KEY_AGAIN }, /* Recall */ |
1969 | 2164 | ||
1970 | [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */ | 2165 | { 0x6c, KEY_SWITCHVIDEOMODE }, /* Video Source */ |
1971 | [0x5e] = KEY_MENU, | 2166 | { 0x5e, KEY_MENU }, |
1972 | [0x56] = KEY_SCREEN, | 2167 | { 0x56, KEY_SCREEN }, |
1973 | [0x7a] = KEY_SETUP, | 2168 | { 0x7a, KEY_SETUP }, |
1974 | 2169 | ||
1975 | [0x46] = KEY_MUTE, | 2170 | { 0x46, KEY_MUTE }, |
1976 | [0x5c] = KEY_MODE, /* Stereo */ | 2171 | { 0x5c, KEY_MODE }, /* Stereo */ |
1977 | [0x74] = KEY_INFO, | 2172 | { 0x74, KEY_INFO }, |
1978 | [0x7c] = KEY_CLEAR, | 2173 | { 0x7c, KEY_CLEAR }, |
1979 | 2174 | ||
1980 | [0x55] = KEY_UP, | 2175 | { 0x55, KEY_UP }, |
1981 | [0x49] = KEY_DOWN, | 2176 | { 0x49, KEY_DOWN }, |
1982 | [0x7e] = KEY_LEFT, | 2177 | { 0x7e, KEY_LEFT }, |
1983 | [0x59] = KEY_RIGHT, | 2178 | { 0x59, KEY_RIGHT }, |
1984 | [0x6a] = KEY_ENTER, | 2179 | { 0x6a, KEY_ENTER }, |
1985 | 2180 | ||
1986 | [0x42] = KEY_VOLUMEUP, | 2181 | { 0x42, KEY_VOLUMEUP }, |
1987 | [0x62] = KEY_VOLUMEDOWN, | 2182 | { 0x62, KEY_VOLUMEDOWN }, |
1988 | [0x52] = KEY_CHANNELUP, | 2183 | { 0x52, KEY_CHANNELUP }, |
1989 | [0x72] = KEY_CHANNELDOWN, | 2184 | { 0x72, KEY_CHANNELDOWN }, |
1990 | 2185 | ||
1991 | [0x41] = KEY_RECORD, | 2186 | { 0x41, KEY_RECORD }, |
1992 | [0x51] = KEY_CAMERA, /* Snapshot */ | 2187 | { 0x51, KEY_CAMERA }, /* Snapshot */ |
1993 | [0x75] = KEY_TIME, /* Timeshift */ | 2188 | { 0x75, KEY_TIME }, /* Timeshift */ |
1994 | [0x71] = KEY_TV2, /* PIP */ | 2189 | { 0x71, KEY_TV2 }, /* PIP */ |
1995 | 2190 | ||
1996 | [0x45] = KEY_REWIND, | 2191 | { 0x45, KEY_REWIND }, |
1997 | [0x6f] = KEY_PAUSE, | 2192 | { 0x6f, KEY_PAUSE }, |
1998 | [0x7d] = KEY_FORWARD, | 2193 | { 0x7d, KEY_FORWARD }, |
1999 | [0x79] = KEY_STOP, | 2194 | { 0x79, KEY_STOP }, |
2000 | }; | 2195 | }; |
2001 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2); | 2196 | |
2197 | struct ir_scancode_table ir_codes_encore_enltv2_table = { | ||
2198 | .scan = ir_codes_encore_enltv2, | ||
2199 | .size = ARRAY_SIZE(ir_codes_encore_enltv2), | ||
2200 | }; | ||
2201 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2_table); | ||
2002 | 2202 | ||
2003 | /* for the Technotrend 1500 bundled remotes (grey and black): */ | 2203 | /* for the Technotrend 1500 bundled remotes (grey and black): */ |
2004 | IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = { | 2204 | static struct ir_scancode ir_codes_tt_1500[] = { |
2005 | [0x01] = KEY_POWER, | 2205 | { 0x01, KEY_POWER }, |
2006 | [0x02] = KEY_SHUFFLE, /* ? double-arrow key */ | 2206 | { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */ |
2007 | [0x03] = KEY_1, | 2207 | { 0x03, KEY_1 }, |
2008 | [0x04] = KEY_2, | 2208 | { 0x04, KEY_2 }, |
2009 | [0x05] = KEY_3, | 2209 | { 0x05, KEY_3 }, |
2010 | [0x06] = KEY_4, | 2210 | { 0x06, KEY_4 }, |
2011 | [0x07] = KEY_5, | 2211 | { 0x07, KEY_5 }, |
2012 | [0x08] = KEY_6, | 2212 | { 0x08, KEY_6 }, |
2013 | [0x09] = KEY_7, | 2213 | { 0x09, KEY_7 }, |
2014 | [0x0a] = KEY_8, | 2214 | { 0x0a, KEY_8 }, |
2015 | [0x0b] = KEY_9, | 2215 | { 0x0b, KEY_9 }, |
2016 | [0x0c] = KEY_0, | 2216 | { 0x0c, KEY_0 }, |
2017 | [0x0d] = KEY_UP, | 2217 | { 0x0d, KEY_UP }, |
2018 | [0x0e] = KEY_LEFT, | 2218 | { 0x0e, KEY_LEFT }, |
2019 | [0x0f] = KEY_OK, | 2219 | { 0x0f, KEY_OK }, |
2020 | [0x10] = KEY_RIGHT, | 2220 | { 0x10, KEY_RIGHT }, |
2021 | [0x11] = KEY_DOWN, | 2221 | { 0x11, KEY_DOWN }, |
2022 | [0x12] = KEY_INFO, | 2222 | { 0x12, KEY_INFO }, |
2023 | [0x13] = KEY_EXIT, | 2223 | { 0x13, KEY_EXIT }, |
2024 | [0x14] = KEY_RED, | 2224 | { 0x14, KEY_RED }, |
2025 | [0x15] = KEY_GREEN, | 2225 | { 0x15, KEY_GREEN }, |
2026 | [0x16] = KEY_YELLOW, | 2226 | { 0x16, KEY_YELLOW }, |
2027 | [0x17] = KEY_BLUE, | 2227 | { 0x17, KEY_BLUE }, |
2028 | [0x18] = KEY_MUTE, | 2228 | { 0x18, KEY_MUTE }, |
2029 | [0x19] = KEY_TEXT, | 2229 | { 0x19, KEY_TEXT }, |
2030 | [0x1a] = KEY_MODE, /* ? TV/Radio */ | 2230 | { 0x1a, KEY_MODE }, /* ? TV/Radio */ |
2031 | [0x21] = KEY_OPTION, | 2231 | { 0x21, KEY_OPTION }, |
2032 | [0x22] = KEY_EPG, | 2232 | { 0x22, KEY_EPG }, |
2033 | [0x23] = KEY_CHANNELUP, | 2233 | { 0x23, KEY_CHANNELUP }, |
2034 | [0x24] = KEY_CHANNELDOWN, | 2234 | { 0x24, KEY_CHANNELDOWN }, |
2035 | [0x25] = KEY_VOLUMEUP, | 2235 | { 0x25, KEY_VOLUMEUP }, |
2036 | [0x26] = KEY_VOLUMEDOWN, | 2236 | { 0x26, KEY_VOLUMEDOWN }, |
2037 | [0x27] = KEY_SETUP, | 2237 | { 0x27, KEY_SETUP }, |
2038 | [0x3a] = KEY_RECORD, /* these keys are only in the black remote */ | 2238 | { 0x3a, KEY_RECORD }, /* these keys are only in the black remote */ |
2039 | [0x3b] = KEY_PLAY, | 2239 | { 0x3b, KEY_PLAY }, |
2040 | [0x3c] = KEY_STOP, | 2240 | { 0x3c, KEY_STOP }, |
2041 | [0x3d] = KEY_REWIND, | 2241 | { 0x3d, KEY_REWIND }, |
2042 | [0x3e] = KEY_PAUSE, | 2242 | { 0x3e, KEY_PAUSE }, |
2043 | [0x3f] = KEY_FORWARD, | 2243 | { 0x3f, KEY_FORWARD }, |
2044 | }; | 2244 | }; |
2045 | EXPORT_SYMBOL_GPL(ir_codes_tt_1500); | 2245 | |
2246 | struct ir_scancode_table ir_codes_tt_1500_table = { | ||
2247 | .scan = ir_codes_tt_1500, | ||
2248 | .size = ARRAY_SIZE(ir_codes_tt_1500), | ||
2249 | }; | ||
2250 | EXPORT_SYMBOL_GPL(ir_codes_tt_1500_table); | ||
2046 | 2251 | ||
2047 | /* DViCO FUSION HDTV MCE remote */ | 2252 | /* DViCO FUSION HDTV MCE remote */ |
2048 | IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = { | 2253 | static struct ir_scancode ir_codes_fusionhdtv_mce[] = { |
2049 | 2254 | ||
2050 | [0x0b] = KEY_1, | 2255 | { 0x0b, KEY_1 }, |
2051 | [0x17] = KEY_2, | 2256 | { 0x17, KEY_2 }, |
2052 | [0x1b] = KEY_3, | 2257 | { 0x1b, KEY_3 }, |
2053 | [0x07] = KEY_4, | 2258 | { 0x07, KEY_4 }, |
2054 | [0x50] = KEY_5, | 2259 | { 0x50, KEY_5 }, |
2055 | [0x54] = KEY_6, | 2260 | { 0x54, KEY_6 }, |
2056 | [0x48] = KEY_7, | 2261 | { 0x48, KEY_7 }, |
2057 | [0x4c] = KEY_8, | 2262 | { 0x4c, KEY_8 }, |
2058 | [0x58] = KEY_9, | 2263 | { 0x58, KEY_9 }, |
2059 | [0x03] = KEY_0, | 2264 | { 0x03, KEY_0 }, |
2060 | 2265 | ||
2061 | [0x5e] = KEY_OK, | 2266 | { 0x5e, KEY_OK }, |
2062 | [0x51] = KEY_UP, | 2267 | { 0x51, KEY_UP }, |
2063 | [0x53] = KEY_DOWN, | 2268 | { 0x53, KEY_DOWN }, |
2064 | [0x5b] = KEY_LEFT, | 2269 | { 0x5b, KEY_LEFT }, |
2065 | [0x5f] = KEY_RIGHT, | 2270 | { 0x5f, KEY_RIGHT }, |
2066 | 2271 | ||
2067 | [0x02] = KEY_TV, /* Labeled DTV on remote */ | 2272 | { 0x02, KEY_TV }, /* Labeled DTV on remote */ |
2068 | [0x0e] = KEY_MP3, | 2273 | { 0x0e, KEY_MP3 }, |
2069 | [0x1a] = KEY_DVD, | 2274 | { 0x1a, KEY_DVD }, |
2070 | [0x1e] = KEY_FAVORITES, /* Labeled CPF on remote */ | 2275 | { 0x1e, KEY_FAVORITES }, /* Labeled CPF on remote */ |
2071 | [0x16] = KEY_SETUP, | 2276 | { 0x16, KEY_SETUP }, |
2072 | [0x46] = KEY_POWER2, /* TV On/Off button on remote */ | 2277 | { 0x46, KEY_POWER2 }, /* TV On/Off button on remote */ |
2073 | [0x0a] = KEY_EPG, /* Labeled Guide on remote */ | 2278 | { 0x0a, KEY_EPG }, /* Labeled Guide on remote */ |
2074 | 2279 | ||
2075 | [0x49] = KEY_BACK, | 2280 | { 0x49, KEY_BACK }, |
2076 | [0x59] = KEY_INFO, /* Labeled MORE on remote */ | 2281 | { 0x59, KEY_INFO }, /* Labeled MORE on remote */ |
2077 | [0x4d] = KEY_MENU, /* Labeled DVDMENU on remote */ | 2282 | { 0x4d, KEY_MENU }, /* Labeled DVDMENU on remote */ |
2078 | [0x55] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */ | 2283 | { 0x55, KEY_CYCLEWINDOWS }, /* Labeled ALT-TAB on remote */ |
2079 | 2284 | ||
2080 | [0x0f] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */ | 2285 | { 0x0f, KEY_PREVIOUSSONG }, /* Labeled |<< REPLAY on remote */ |
2081 | [0x12] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */ | 2286 | { 0x12, KEY_NEXTSONG }, /* Labeled >>| SKIP on remote */ |
2082 | [0x42] = KEY_ENTER, /* Labeled START with a green | 2287 | { 0x42, KEY_ENTER }, /* Labeled START with a green |
2083 | MS windows logo on remote */ | 2288 | MS windows logo on remote */ |
2084 | 2289 | ||
2085 | [0x15] = KEY_VOLUMEUP, | 2290 | { 0x15, KEY_VOLUMEUP }, |
2086 | [0x05] = KEY_VOLUMEDOWN, | 2291 | { 0x05, KEY_VOLUMEDOWN }, |
2087 | [0x11] = KEY_CHANNELUP, | 2292 | { 0x11, KEY_CHANNELUP }, |
2088 | [0x09] = KEY_CHANNELDOWN, | 2293 | { 0x09, KEY_CHANNELDOWN }, |
2089 | 2294 | ||
2090 | [0x52] = KEY_CAMERA, | 2295 | { 0x52, KEY_CAMERA }, |
2091 | [0x5a] = KEY_TUNER, | 2296 | { 0x5a, KEY_TUNER }, |
2092 | [0x19] = KEY_OPEN, | 2297 | { 0x19, KEY_OPEN }, |
2093 | 2298 | ||
2094 | [0x13] = KEY_MODE, /* 4:3 16:9 select */ | 2299 | { 0x13, KEY_MODE }, /* 4:3 16:9 select */ |
2095 | [0x1f] = KEY_ZOOM, | 2300 | { 0x1f, KEY_ZOOM }, |
2301 | |||
2302 | { 0x43, KEY_REWIND }, | ||
2303 | { 0x47, KEY_PLAYPAUSE }, | ||
2304 | { 0x4f, KEY_FASTFORWARD }, | ||
2305 | { 0x57, KEY_MUTE }, | ||
2306 | { 0x0d, KEY_STOP }, | ||
2307 | { 0x01, KEY_RECORD }, | ||
2308 | { 0x4e, KEY_POWER }, | ||
2309 | }; | ||
2096 | 2310 | ||
2097 | [0x43] = KEY_REWIND, | 2311 | struct ir_scancode_table ir_codes_fusionhdtv_mce_table = { |
2098 | [0x47] = KEY_PLAYPAUSE, | 2312 | .scan = ir_codes_fusionhdtv_mce, |
2099 | [0x4f] = KEY_FASTFORWARD, | 2313 | .size = ARRAY_SIZE(ir_codes_fusionhdtv_mce), |
2100 | [0x57] = KEY_MUTE, | ||
2101 | [0x0d] = KEY_STOP, | ||
2102 | [0x01] = KEY_RECORD, | ||
2103 | [0x4e] = KEY_POWER, | ||
2104 | }; | 2314 | }; |
2105 | EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce); | 2315 | EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce_table); |
2106 | 2316 | ||
2107 | /* Pinnacle PCTV HD 800i mini remote */ | 2317 | /* Pinnacle PCTV HD 800i mini remote */ |
2108 | IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = { | 2318 | static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = { |
2109 | 2319 | ||
2110 | [0x0f] = KEY_1, | 2320 | { 0x0f, KEY_1 }, |
2111 | [0x15] = KEY_2, | 2321 | { 0x15, KEY_2 }, |
2112 | [0x10] = KEY_3, | 2322 | { 0x10, KEY_3 }, |
2113 | [0x18] = KEY_4, | 2323 | { 0x18, KEY_4 }, |
2114 | [0x1b] = KEY_5, | 2324 | { 0x1b, KEY_5 }, |
2115 | [0x1e] = KEY_6, | 2325 | { 0x1e, KEY_6 }, |
2116 | [0x11] = KEY_7, | 2326 | { 0x11, KEY_7 }, |
2117 | [0x21] = KEY_8, | 2327 | { 0x21, KEY_8 }, |
2118 | [0x12] = KEY_9, | 2328 | { 0x12, KEY_9 }, |
2119 | [0x27] = KEY_0, | 2329 | { 0x27, KEY_0 }, |
2120 | 2330 | ||
2121 | [0x24] = KEY_ZOOM, | 2331 | { 0x24, KEY_ZOOM }, |
2122 | [0x2a] = KEY_SUBTITLE, | 2332 | { 0x2a, KEY_SUBTITLE }, |
2123 | 2333 | ||
2124 | [0x00] = KEY_MUTE, | 2334 | { 0x00, KEY_MUTE }, |
2125 | [0x01] = KEY_ENTER, /* Pinnacle Logo */ | 2335 | { 0x01, KEY_ENTER }, /* Pinnacle Logo */ |
2126 | [0x39] = KEY_POWER, | 2336 | { 0x39, KEY_POWER }, |
2127 | 2337 | ||
2128 | [0x03] = KEY_VOLUMEUP, | 2338 | { 0x03, KEY_VOLUMEUP }, |
2129 | [0x09] = KEY_VOLUMEDOWN, | 2339 | { 0x09, KEY_VOLUMEDOWN }, |
2130 | [0x06] = KEY_CHANNELUP, | 2340 | { 0x06, KEY_CHANNELUP }, |
2131 | [0x0c] = KEY_CHANNELDOWN, | 2341 | { 0x0c, KEY_CHANNELDOWN }, |
2132 | 2342 | ||
2133 | [0x2d] = KEY_REWIND, | 2343 | { 0x2d, KEY_REWIND }, |
2134 | [0x30] = KEY_PLAYPAUSE, | 2344 | { 0x30, KEY_PLAYPAUSE }, |
2135 | [0x33] = KEY_FASTFORWARD, | 2345 | { 0x33, KEY_FASTFORWARD }, |
2136 | [0x3c] = KEY_STOP, | 2346 | { 0x3c, KEY_STOP }, |
2137 | [0x36] = KEY_RECORD, | 2347 | { 0x36, KEY_RECORD }, |
2138 | [0x3f] = KEY_EPG, /* Labeled "?" */ | 2348 | { 0x3f, KEY_EPG }, /* Labeled "?" */ |
2139 | }; | 2349 | }; |
2140 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd); | 2350 | |
2351 | struct ir_scancode_table ir_codes_pinnacle_pctv_hd_table = { | ||
2352 | .scan = ir_codes_pinnacle_pctv_hd, | ||
2353 | .size = ARRAY_SIZE(ir_codes_pinnacle_pctv_hd), | ||
2354 | }; | ||
2355 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd_table); | ||
2141 | 2356 | ||
2142 | /* | 2357 | /* |
2143 | * Igor Kuznetsov <igk72@ya.ru> | 2358 | * Igor Kuznetsov <igk72@ya.ru> |
@@ -2150,13 +2365,13 @@ EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd); | |||
2150 | * the button labels (several variants when appropriate) | 2365 | * the button labels (several variants when appropriate) |
2151 | * helps to descide which keycodes to assign to the buttons. | 2366 | * helps to descide which keycodes to assign to the buttons. |
2152 | */ | 2367 | */ |
2153 | IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | 2368 | static struct ir_scancode ir_codes_behold[] = { |
2154 | 2369 | ||
2155 | /* 0x1c 0x12 * | 2370 | /* 0x1c 0x12 * |
2156 | * TV/FM POWER * | 2371 | * TV/FM POWER * |
2157 | * */ | 2372 | * */ |
2158 | [0x1c] = KEY_TUNER, /* XXX KEY_TV / KEY_RADIO */ | 2373 | { 0x1c, KEY_TUNER }, /* XXX KEY_TV / KEY_RADIO */ |
2159 | [0x12] = KEY_POWER, | 2374 | { 0x12, KEY_POWER }, |
2160 | 2375 | ||
2161 | /* 0x01 0x02 0x03 * | 2376 | /* 0x01 0x02 0x03 * |
2162 | * 1 2 3 * | 2377 | * 1 2 3 * |
@@ -2167,28 +2382,28 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2167 | * 0x07 0x08 0x09 * | 2382 | * 0x07 0x08 0x09 * |
2168 | * 7 8 9 * | 2383 | * 7 8 9 * |
2169 | * */ | 2384 | * */ |
2170 | [0x01] = KEY_1, | 2385 | { 0x01, KEY_1 }, |
2171 | [0x02] = KEY_2, | 2386 | { 0x02, KEY_2 }, |
2172 | [0x03] = KEY_3, | 2387 | { 0x03, KEY_3 }, |
2173 | [0x04] = KEY_4, | 2388 | { 0x04, KEY_4 }, |
2174 | [0x05] = KEY_5, | 2389 | { 0x05, KEY_5 }, |
2175 | [0x06] = KEY_6, | 2390 | { 0x06, KEY_6 }, |
2176 | [0x07] = KEY_7, | 2391 | { 0x07, KEY_7 }, |
2177 | [0x08] = KEY_8, | 2392 | { 0x08, KEY_8 }, |
2178 | [0x09] = KEY_9, | 2393 | { 0x09, KEY_9 }, |
2179 | 2394 | ||
2180 | /* 0x0a 0x00 0x17 * | 2395 | /* 0x0a 0x00 0x17 * |
2181 | * RECALL 0 MODE * | 2396 | * RECALL 0 MODE * |
2182 | * */ | 2397 | * */ |
2183 | [0x0a] = KEY_AGAIN, | 2398 | { 0x0a, KEY_AGAIN }, |
2184 | [0x00] = KEY_0, | 2399 | { 0x00, KEY_0 }, |
2185 | [0x17] = KEY_MODE, | 2400 | { 0x17, KEY_MODE }, |
2186 | 2401 | ||
2187 | /* 0x14 0x10 * | 2402 | /* 0x14 0x10 * |
2188 | * ASPECT FULLSCREEN * | 2403 | * ASPECT FULLSCREEN * |
2189 | * */ | 2404 | * */ |
2190 | [0x14] = KEY_SCREEN, | 2405 | { 0x14, KEY_SCREEN }, |
2191 | [0x10] = KEY_ZOOM, | 2406 | { 0x10, KEY_ZOOM }, |
2192 | 2407 | ||
2193 | /* 0x0b * | 2408 | /* 0x0b * |
2194 | * Up * | 2409 | * Up * |
@@ -2199,17 +2414,17 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2199 | * 0x015 * | 2414 | * 0x015 * |
2200 | * Down * | 2415 | * Down * |
2201 | * */ | 2416 | * */ |
2202 | [0x0b] = KEY_CHANNELUP, | 2417 | { 0x0b, KEY_CHANNELUP }, |
2203 | [0x18] = KEY_VOLUMEDOWN, | 2418 | { 0x18, KEY_VOLUMEDOWN }, |
2204 | [0x16] = KEY_OK, /* XXX KEY_ENTER */ | 2419 | { 0x16, KEY_OK }, /* XXX KEY_ENTER */ |
2205 | [0x0c] = KEY_VOLUMEUP, | 2420 | { 0x0c, KEY_VOLUMEUP }, |
2206 | [0x15] = KEY_CHANNELDOWN, | 2421 | { 0x15, KEY_CHANNELDOWN }, |
2207 | 2422 | ||
2208 | /* 0x11 0x0d * | 2423 | /* 0x11 0x0d * |
2209 | * MUTE INFO * | 2424 | * MUTE INFO * |
2210 | * */ | 2425 | * */ |
2211 | [0x11] = KEY_MUTE, | 2426 | { 0x11, KEY_MUTE }, |
2212 | [0x0d] = KEY_INFO, | 2427 | { 0x0d, KEY_INFO }, |
2213 | 2428 | ||
2214 | /* 0x0f 0x1b 0x1a * | 2429 | /* 0x0f 0x1b 0x1a * |
2215 | * RECORD PLAY/PAUSE STOP * | 2430 | * RECORD PLAY/PAUSE STOP * |
@@ -2218,29 +2433,34 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2218 | *TELETEXT AUDIO SOURCE * | 2433 | *TELETEXT AUDIO SOURCE * |
2219 | * RED YELLOW * | 2434 | * RED YELLOW * |
2220 | * */ | 2435 | * */ |
2221 | [0x0f] = KEY_RECORD, | 2436 | { 0x0f, KEY_RECORD }, |
2222 | [0x1b] = KEY_PLAYPAUSE, | 2437 | { 0x1b, KEY_PLAYPAUSE }, |
2223 | [0x1a] = KEY_STOP, | 2438 | { 0x1a, KEY_STOP }, |
2224 | [0x0e] = KEY_TEXT, | 2439 | { 0x0e, KEY_TEXT }, |
2225 | [0x1f] = KEY_RED, /*XXX KEY_AUDIO */ | 2440 | { 0x1f, KEY_RED }, /*XXX KEY_AUDIO */ |
2226 | [0x1e] = KEY_YELLOW, /*XXX KEY_SOURCE */ | 2441 | { 0x1e, KEY_YELLOW }, /*XXX KEY_SOURCE */ |
2227 | 2442 | ||
2228 | /* 0x1d 0x13 0x19 * | 2443 | /* 0x1d 0x13 0x19 * |
2229 | * SLEEP PREVIEW DVB * | 2444 | * SLEEP PREVIEW DVB * |
2230 | * GREEN BLUE * | 2445 | * GREEN BLUE * |
2231 | * */ | 2446 | * */ |
2232 | [0x1d] = KEY_SLEEP, | 2447 | { 0x1d, KEY_SLEEP }, |
2233 | [0x13] = KEY_GREEN, | 2448 | { 0x13, KEY_GREEN }, |
2234 | [0x19] = KEY_BLUE, /* XXX KEY_SAT */ | 2449 | { 0x19, KEY_BLUE }, /* XXX KEY_SAT */ |
2235 | 2450 | ||
2236 | /* 0x58 0x5c * | 2451 | /* 0x58 0x5c * |
2237 | * FREEZE SNAPSHOT * | 2452 | * FREEZE SNAPSHOT * |
2238 | * */ | 2453 | * */ |
2239 | [0x58] = KEY_SLOW, | 2454 | { 0x58, KEY_SLOW }, |
2240 | [0x5c] = KEY_CAMERA, | 2455 | { 0x5c, KEY_CAMERA }, |
2241 | 2456 | ||
2242 | }; | 2457 | }; |
2243 | EXPORT_SYMBOL_GPL(ir_codes_behold); | 2458 | |
2459 | struct ir_scancode_table ir_codes_behold_table = { | ||
2460 | .scan = ir_codes_behold, | ||
2461 | .size = ARRAY_SIZE(ir_codes_behold), | ||
2462 | }; | ||
2463 | EXPORT_SYMBOL_GPL(ir_codes_behold_table); | ||
2244 | 2464 | ||
2245 | /* Beholder Intl. Ltd. 2008 | 2465 | /* Beholder Intl. Ltd. 2008 |
2246 | * Dmitry Belimov d.belimov@google.com | 2466 | * Dmitry Belimov d.belimov@google.com |
@@ -2250,16 +2470,16 @@ EXPORT_SYMBOL_GPL(ir_codes_behold); | |||
2250 | * the button labels (several variants when appropriate) | 2470 | * the button labels (several variants when appropriate) |
2251 | * helps to descide which keycodes to assign to the buttons. | 2471 | * helps to descide which keycodes to assign to the buttons. |
2252 | */ | 2472 | */ |
2253 | IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { | 2473 | static struct ir_scancode ir_codes_behold_columbus[] = { |
2254 | 2474 | ||
2255 | /* 0x13 0x11 0x1C 0x12 * | 2475 | /* 0x13 0x11 0x1C 0x12 * |
2256 | * Mute Source TV/FM Power * | 2476 | * Mute Source TV/FM Power * |
2257 | * */ | 2477 | * */ |
2258 | 2478 | ||
2259 | [0x13] = KEY_MUTE, | 2479 | { 0x13, KEY_MUTE }, |
2260 | [0x11] = KEY_PROPS, | 2480 | { 0x11, KEY_PROPS }, |
2261 | [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */ | 2481 | { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ |
2262 | [0x12] = KEY_POWER, | 2482 | { 0x12, KEY_POWER }, |
2263 | 2483 | ||
2264 | /* 0x01 0x02 0x03 0x0D * | 2484 | /* 0x01 0x02 0x03 0x0D * |
2265 | * 1 2 3 Stereo * | 2485 | * 1 2 3 Stereo * |
@@ -2270,173 +2490,188 @@ IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { | |||
2270 | * 0x07 0x08 0x09 0x10 * | 2490 | * 0x07 0x08 0x09 0x10 * |
2271 | * 7 8 9 Zoom * | 2491 | * 7 8 9 Zoom * |
2272 | * */ | 2492 | * */ |
2273 | [0x01] = KEY_1, | 2493 | { 0x01, KEY_1 }, |
2274 | [0x02] = KEY_2, | 2494 | { 0x02, KEY_2 }, |
2275 | [0x03] = KEY_3, | 2495 | { 0x03, KEY_3 }, |
2276 | [0x0D] = KEY_SETUP, /* Setup key */ | 2496 | { 0x0D, KEY_SETUP }, /* Setup key */ |
2277 | [0x04] = KEY_4, | 2497 | { 0x04, KEY_4 }, |
2278 | [0x05] = KEY_5, | 2498 | { 0x05, KEY_5 }, |
2279 | [0x06] = KEY_6, | 2499 | { 0x06, KEY_6 }, |
2280 | [0x19] = KEY_CAMERA, /* Snapshot key */ | 2500 | { 0x19, KEY_CAMERA }, /* Snapshot key */ |
2281 | [0x07] = KEY_7, | 2501 | { 0x07, KEY_7 }, |
2282 | [0x08] = KEY_8, | 2502 | { 0x08, KEY_8 }, |
2283 | [0x09] = KEY_9, | 2503 | { 0x09, KEY_9 }, |
2284 | [0x10] = KEY_ZOOM, | 2504 | { 0x10, KEY_ZOOM }, |
2285 | 2505 | ||
2286 | /* 0x0A 0x00 0x0B 0x0C * | 2506 | /* 0x0A 0x00 0x0B 0x0C * |
2287 | * RECALL 0 ChannelUp VolumeUp * | 2507 | * RECALL 0 ChannelUp VolumeUp * |
2288 | * */ | 2508 | * */ |
2289 | [0x0A] = KEY_AGAIN, | 2509 | { 0x0A, KEY_AGAIN }, |
2290 | [0x00] = KEY_0, | 2510 | { 0x00, KEY_0 }, |
2291 | [0x0B] = KEY_CHANNELUP, | 2511 | { 0x0B, KEY_CHANNELUP }, |
2292 | [0x0C] = KEY_VOLUMEUP, | 2512 | { 0x0C, KEY_VOLUMEUP }, |
2293 | 2513 | ||
2294 | /* 0x1B 0x1D 0x15 0x18 * | 2514 | /* 0x1B 0x1D 0x15 0x18 * |
2295 | * Timeshift Record ChannelDown VolumeDown * | 2515 | * Timeshift Record ChannelDown VolumeDown * |
2296 | * */ | 2516 | * */ |
2297 | 2517 | ||
2298 | [0x1B] = KEY_TIME, | 2518 | { 0x1B, KEY_TIME }, |
2299 | [0x1D] = KEY_RECORD, | 2519 | { 0x1D, KEY_RECORD }, |
2300 | [0x15] = KEY_CHANNELDOWN, | 2520 | { 0x15, KEY_CHANNELDOWN }, |
2301 | [0x18] = KEY_VOLUMEDOWN, | 2521 | { 0x18, KEY_VOLUMEDOWN }, |
2302 | 2522 | ||
2303 | /* 0x0E 0x1E 0x0F 0x1A * | 2523 | /* 0x0E 0x1E 0x0F 0x1A * |
2304 | * Stop Pause Previouse Next * | 2524 | * Stop Pause Previouse Next * |
2305 | * */ | 2525 | * */ |
2306 | 2526 | ||
2307 | [0x0E] = KEY_STOP, | 2527 | { 0x0E, KEY_STOP }, |
2308 | [0x1E] = KEY_PAUSE, | 2528 | { 0x1E, KEY_PAUSE }, |
2309 | [0x0F] = KEY_PREVIOUS, | 2529 | { 0x0F, KEY_PREVIOUS }, |
2310 | [0x1A] = KEY_NEXT, | 2530 | { 0x1A, KEY_NEXT }, |
2531 | |||
2532 | }; | ||
2311 | 2533 | ||
2534 | struct ir_scancode_table ir_codes_behold_columbus_table = { | ||
2535 | .scan = ir_codes_behold_columbus, | ||
2536 | .size = ARRAY_SIZE(ir_codes_behold_columbus), | ||
2312 | }; | 2537 | }; |
2313 | EXPORT_SYMBOL_GPL(ir_codes_behold_columbus); | 2538 | EXPORT_SYMBOL_GPL(ir_codes_behold_columbus_table); |
2314 | 2539 | ||
2315 | /* | 2540 | /* |
2316 | * Remote control for the Genius TVGO A11MCE | 2541 | * Remote control for the Genius TVGO A11MCE |
2317 | * Adrian Pardini <pardo.bsso@gmail.com> | 2542 | * Adrian Pardini <pardo.bsso@gmail.com> |
2318 | */ | 2543 | */ |
2319 | IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = { | 2544 | static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = { |
2320 | /* Keys 0 to 9 */ | 2545 | /* Keys 0 to 9 */ |
2321 | [0x48] = KEY_0, | 2546 | { 0x48, KEY_0 }, |
2322 | [0x09] = KEY_1, | 2547 | { 0x09, KEY_1 }, |
2323 | [0x1d] = KEY_2, | 2548 | { 0x1d, KEY_2 }, |
2324 | [0x1f] = KEY_3, | 2549 | { 0x1f, KEY_3 }, |
2325 | [0x19] = KEY_4, | 2550 | { 0x19, KEY_4 }, |
2326 | [0x1b] = KEY_5, | 2551 | { 0x1b, KEY_5 }, |
2327 | [0x11] = KEY_6, | 2552 | { 0x11, KEY_6 }, |
2328 | [0x17] = KEY_7, | 2553 | { 0x17, KEY_7 }, |
2329 | [0x12] = KEY_8, | 2554 | { 0x12, KEY_8 }, |
2330 | [0x16] = KEY_9, | 2555 | { 0x16, KEY_9 }, |
2331 | 2556 | ||
2332 | [0x54] = KEY_RECORD, /* recording */ | 2557 | { 0x54, KEY_RECORD }, /* recording */ |
2333 | [0x06] = KEY_MUTE, /* mute */ | 2558 | { 0x06, KEY_MUTE }, /* mute */ |
2334 | [0x10] = KEY_POWER, | 2559 | { 0x10, KEY_POWER }, |
2335 | [0x40] = KEY_LAST, /* recall */ | 2560 | { 0x40, KEY_LAST }, /* recall */ |
2336 | [0x4c] = KEY_CHANNELUP, /* channel / program + */ | 2561 | { 0x4c, KEY_CHANNELUP }, /* channel / program + */ |
2337 | [0x00] = KEY_CHANNELDOWN, /* channel / program - */ | 2562 | { 0x00, KEY_CHANNELDOWN }, /* channel / program - */ |
2338 | [0x0d] = KEY_VOLUMEUP, | 2563 | { 0x0d, KEY_VOLUMEUP }, |
2339 | [0x15] = KEY_VOLUMEDOWN, | 2564 | { 0x15, KEY_VOLUMEDOWN }, |
2340 | [0x4d] = KEY_OK, /* also labeled as Pause */ | 2565 | { 0x4d, KEY_OK }, /* also labeled as Pause */ |
2341 | [0x1c] = KEY_ZOOM, /* full screen and Stop*/ | 2566 | { 0x1c, KEY_ZOOM }, /* full screen and Stop*/ |
2342 | [0x02] = KEY_MODE, /* AV Source or Rewind*/ | 2567 | { 0x02, KEY_MODE }, /* AV Source or Rewind*/ |
2343 | [0x04] = KEY_LIST, /* -/-- */ | 2568 | { 0x04, KEY_LIST }, /* -/-- */ |
2344 | /* small arrows above numbers */ | 2569 | /* small arrows above numbers */ |
2345 | [0x1a] = KEY_NEXT, /* also Fast Forward */ | 2570 | { 0x1a, KEY_NEXT }, /* also Fast Forward */ |
2346 | [0x0e] = KEY_PREVIOUS, /* also Rewind */ | 2571 | { 0x0e, KEY_PREVIOUS }, /* also Rewind */ |
2347 | /* these are in a rather non standard layout and have | 2572 | /* these are in a rather non standard layout and have |
2348 | an alternate name written */ | 2573 | an alternate name written */ |
2349 | [0x1e] = KEY_UP, /* Video Setting */ | 2574 | { 0x1e, KEY_UP }, /* Video Setting */ |
2350 | [0x0a] = KEY_DOWN, /* Video Default */ | 2575 | { 0x0a, KEY_DOWN }, /* Video Default */ |
2351 | [0x05] = KEY_CAMERA, /* Snapshot */ | 2576 | { 0x05, KEY_CAMERA }, /* Snapshot */ |
2352 | [0x0c] = KEY_RIGHT, /* Hide Panel */ | 2577 | { 0x0c, KEY_RIGHT }, /* Hide Panel */ |
2353 | /* Four buttons without label */ | 2578 | /* Four buttons without label */ |
2354 | [0x49] = KEY_RED, | 2579 | { 0x49, KEY_RED }, |
2355 | [0x0b] = KEY_GREEN, | 2580 | { 0x0b, KEY_GREEN }, |
2356 | [0x13] = KEY_YELLOW, | 2581 | { 0x13, KEY_YELLOW }, |
2357 | [0x50] = KEY_BLUE, | 2582 | { 0x50, KEY_BLUE }, |
2358 | }; | 2583 | }; |
2359 | EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce); | 2584 | |
2585 | struct ir_scancode_table ir_codes_genius_tvgo_a11mce_table = { | ||
2586 | .scan = ir_codes_genius_tvgo_a11mce, | ||
2587 | .size = ARRAY_SIZE(ir_codes_genius_tvgo_a11mce), | ||
2588 | }; | ||
2589 | EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce_table); | ||
2360 | 2590 | ||
2361 | /* | 2591 | /* |
2362 | * Remote control for Powercolor Real Angel 330 | 2592 | * Remote control for Powercolor Real Angel 330 |
2363 | * Daniel Fraga <fragabr@gmail.com> | 2593 | * Daniel Fraga <fragabr@gmail.com> |
2364 | */ | 2594 | */ |
2365 | IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = { | 2595 | static struct ir_scancode ir_codes_powercolor_real_angel[] = { |
2366 | [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */ | 2596 | { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ |
2367 | [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */ | 2597 | { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ |
2368 | [0x00] = KEY_0, | 2598 | { 0x00, KEY_0 }, |
2369 | [0x01] = KEY_1, | 2599 | { 0x01, KEY_1 }, |
2370 | [0x02] = KEY_2, | 2600 | { 0x02, KEY_2 }, |
2371 | [0x03] = KEY_3, | 2601 | { 0x03, KEY_3 }, |
2372 | [0x04] = KEY_4, | 2602 | { 0x04, KEY_4 }, |
2373 | [0x05] = KEY_5, | 2603 | { 0x05, KEY_5 }, |
2374 | [0x06] = KEY_6, | 2604 | { 0x06, KEY_6 }, |
2375 | [0x07] = KEY_7, | 2605 | { 0x07, KEY_7 }, |
2376 | [0x08] = KEY_8, | 2606 | { 0x08, KEY_8 }, |
2377 | [0x09] = KEY_9, | 2607 | { 0x09, KEY_9 }, |
2378 | [0x0a] = KEY_DIGITS, /* single, double, tripple digit */ | 2608 | { 0x0a, KEY_DIGITS }, /* single, double, tripple digit */ |
2379 | [0x29] = KEY_PREVIOUS, /* previous channel */ | 2609 | { 0x29, KEY_PREVIOUS }, /* previous channel */ |
2380 | [0x12] = KEY_BRIGHTNESSUP, | 2610 | { 0x12, KEY_BRIGHTNESSUP }, |
2381 | [0x13] = KEY_BRIGHTNESSDOWN, | 2611 | { 0x13, KEY_BRIGHTNESSDOWN }, |
2382 | [0x2b] = KEY_MODE, /* stereo/mono */ | 2612 | { 0x2b, KEY_MODE }, /* stereo/mono */ |
2383 | [0x2c] = KEY_TEXT, /* teletext */ | 2613 | { 0x2c, KEY_TEXT }, /* teletext */ |
2384 | [0x20] = KEY_CHANNELUP, /* channel up */ | 2614 | { 0x20, KEY_CHANNELUP }, /* channel up */ |
2385 | [0x21] = KEY_CHANNELDOWN, /* channel down */ | 2615 | { 0x21, KEY_CHANNELDOWN }, /* channel down */ |
2386 | [0x10] = KEY_VOLUMEUP, /* volume up */ | 2616 | { 0x10, KEY_VOLUMEUP }, /* volume up */ |
2387 | [0x11] = KEY_VOLUMEDOWN, /* volume down */ | 2617 | { 0x11, KEY_VOLUMEDOWN }, /* volume down */ |
2388 | [0x0d] = KEY_MUTE, | 2618 | { 0x0d, KEY_MUTE }, |
2389 | [0x1f] = KEY_RECORD, | 2619 | { 0x1f, KEY_RECORD }, |
2390 | [0x17] = KEY_PLAY, | 2620 | { 0x17, KEY_PLAY }, |
2391 | [0x16] = KEY_PAUSE, | 2621 | { 0x16, KEY_PAUSE }, |
2392 | [0x0b] = KEY_STOP, | 2622 | { 0x0b, KEY_STOP }, |
2393 | [0x27] = KEY_FASTFORWARD, | 2623 | { 0x27, KEY_FASTFORWARD }, |
2394 | [0x26] = KEY_REWIND, | 2624 | { 0x26, KEY_REWIND }, |
2395 | [0x1e] = KEY_SEARCH, /* autoscan */ | 2625 | { 0x1e, KEY_SEARCH }, /* autoscan */ |
2396 | [0x0e] = KEY_CAMERA, /* snapshot */ | 2626 | { 0x0e, KEY_CAMERA }, /* snapshot */ |
2397 | [0x2d] = KEY_SETUP, | 2627 | { 0x2d, KEY_SETUP }, |
2398 | [0x0f] = KEY_SCREEN, /* full screen */ | 2628 | { 0x0f, KEY_SCREEN }, /* full screen */ |
2399 | [0x14] = KEY_RADIO, /* FM radio */ | 2629 | { 0x14, KEY_RADIO }, /* FM radio */ |
2400 | [0x25] = KEY_POWER, /* power */ | 2630 | { 0x25, KEY_POWER }, /* power */ |
2401 | }; | 2631 | }; |
2402 | EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel); | 2632 | |
2633 | struct ir_scancode_table ir_codes_powercolor_real_angel_table = { | ||
2634 | .scan = ir_codes_powercolor_real_angel, | ||
2635 | .size = ARRAY_SIZE(ir_codes_powercolor_real_angel), | ||
2636 | }; | ||
2637 | EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel_table); | ||
2403 | 2638 | ||
2404 | /* Kworld Plus TV Analog Lite PCI IR | 2639 | /* Kworld Plus TV Analog Lite PCI IR |
2405 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2640 | Mauro Carvalho Chehab <mchehab@infradead.org> |
2406 | */ | 2641 | */ |
2407 | IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = { | 2642 | static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = { |
2408 | [0x0c] = KEY_PROG1, /* Kworld key */ | 2643 | { 0x0c, KEY_PROG1 }, /* Kworld key */ |
2409 | [0x16] = KEY_CLOSECD, /* -> ) */ | 2644 | { 0x16, KEY_CLOSECD }, /* -> ) */ |
2410 | [0x1d] = KEY_POWER2, | 2645 | { 0x1d, KEY_POWER2 }, |
2411 | 2646 | ||
2412 | [0x00] = KEY_1, | 2647 | { 0x00, KEY_1 }, |
2413 | [0x01] = KEY_2, | 2648 | { 0x01, KEY_2 }, |
2414 | [0x02] = KEY_3, /* Two keys have the same code: 3 and left */ | 2649 | { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */ |
2415 | [0x03] = KEY_4, /* Two keys have the same code: 3 and right */ | 2650 | { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */ |
2416 | [0x04] = KEY_5, | 2651 | { 0x04, KEY_5 }, |
2417 | [0x05] = KEY_6, | 2652 | { 0x05, KEY_6 }, |
2418 | [0x06] = KEY_7, | 2653 | { 0x06, KEY_7 }, |
2419 | [0x07] = KEY_8, | 2654 | { 0x07, KEY_8 }, |
2420 | [0x08] = KEY_9, | 2655 | { 0x08, KEY_9 }, |
2421 | [0x0a] = KEY_0, | 2656 | { 0x0a, KEY_0 }, |
2422 | 2657 | ||
2423 | [0x09] = KEY_AGAIN, | 2658 | { 0x09, KEY_AGAIN }, |
2424 | [0x14] = KEY_MUTE, | 2659 | { 0x14, KEY_MUTE }, |
2425 | 2660 | ||
2426 | [0x20] = KEY_UP, | 2661 | { 0x20, KEY_UP }, |
2427 | [0x21] = KEY_DOWN, | 2662 | { 0x21, KEY_DOWN }, |
2428 | [0x0b] = KEY_ENTER, | 2663 | { 0x0b, KEY_ENTER }, |
2429 | 2664 | ||
2430 | [0x10] = KEY_CHANNELUP, | 2665 | { 0x10, KEY_CHANNELUP }, |
2431 | [0x11] = KEY_CHANNELDOWN, | 2666 | { 0x11, KEY_CHANNELDOWN }, |
2432 | 2667 | ||
2433 | /* Couldn't map key left/key right since those | 2668 | /* Couldn't map key left/key right since those |
2434 | conflict with '3' and '4' scancodes | 2669 | conflict with '3' and '4' scancodes |
2435 | I dunno what the original driver does | 2670 | I dunno what the original driver does |
2436 | */ | 2671 | */ |
2437 | 2672 | ||
2438 | [0x13] = KEY_VOLUMEUP, | 2673 | { 0x13, KEY_VOLUMEUP }, |
2439 | [0x12] = KEY_VOLUMEDOWN, | 2674 | { 0x12, KEY_VOLUMEDOWN }, |
2440 | 2675 | ||
2441 | /* The lower part of the IR | 2676 | /* The lower part of the IR |
2442 | There are several duplicated keycodes there. | 2677 | There are several duplicated keycodes there. |
@@ -2447,426 +2682,468 @@ IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = { | |||
2447 | Also, it is not related to the time between keyup | 2682 | Also, it is not related to the time between keyup |
2448 | and keydown. | 2683 | and keydown. |
2449 | */ | 2684 | */ |
2450 | [0x19] = KEY_TIME, /* Timeshift */ | 2685 | { 0x19, KEY_TIME}, /* Timeshift */ |
2451 | [0x1a] = KEY_STOP, | 2686 | { 0x1a, KEY_STOP}, |
2452 | [0x1b] = KEY_RECORD, | 2687 | { 0x1b, KEY_RECORD}, |
2453 | 2688 | ||
2454 | [0x22] = KEY_TEXT, | 2689 | { 0x22, KEY_TEXT}, |
2455 | 2690 | ||
2456 | [0x15] = KEY_AUDIO, /* ((*)) */ | 2691 | { 0x15, KEY_AUDIO}, /* ((*)) */ |
2457 | [0x0f] = KEY_ZOOM, | 2692 | { 0x0f, KEY_ZOOM}, |
2458 | [0x1c] = KEY_CAMERA, /* snapshot */ | 2693 | { 0x1c, KEY_CAMERA}, /* snapshot */ |
2459 | 2694 | ||
2460 | [0x18] = KEY_RED, /* B */ | 2695 | { 0x18, KEY_RED}, /* B */ |
2461 | [0x23] = KEY_GREEN, /* C */ | 2696 | { 0x23, KEY_GREEN}, /* C */ |
2697 | }; | ||
2698 | struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table = { | ||
2699 | .scan = ir_codes_kworld_plus_tv_analog, | ||
2700 | .size = ARRAY_SIZE(ir_codes_kworld_plus_tv_analog), | ||
2462 | }; | 2701 | }; |
2463 | EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog); | 2702 | EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog_table); |
2464 | 2703 | ||
2465 | /* Kaiomy TVnPC U2 | 2704 | /* Kaiomy TVnPC U2 |
2466 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2705 | Mauro Carvalho Chehab <mchehab@infradead.org> |
2467 | */ | 2706 | */ |
2468 | IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = { | 2707 | static struct ir_scancode ir_codes_kaiomy[] = { |
2469 | [0x43] = KEY_POWER2, | 2708 | { 0x43, KEY_POWER2}, |
2470 | [0x01] = KEY_LIST, | 2709 | { 0x01, KEY_LIST}, |
2471 | [0x0b] = KEY_ZOOM, | 2710 | { 0x0b, KEY_ZOOM}, |
2472 | [0x03] = KEY_POWER, | 2711 | { 0x03, KEY_POWER}, |
2473 | |||
2474 | [0x04] = KEY_1, | ||
2475 | [0x08] = KEY_2, | ||
2476 | [0x02] = KEY_3, | ||
2477 | |||
2478 | [0x0f] = KEY_4, | ||
2479 | [0x05] = KEY_5, | ||
2480 | [0x06] = KEY_6, | ||
2481 | |||
2482 | [0x0c] = KEY_7, | ||
2483 | [0x0d] = KEY_8, | ||
2484 | [0x0a] = KEY_9, | ||
2485 | |||
2486 | [0x11] = KEY_0, | ||
2487 | |||
2488 | [0x09] = KEY_CHANNELUP, | ||
2489 | [0x07] = KEY_CHANNELDOWN, | ||
2490 | |||
2491 | [0x0e] = KEY_VOLUMEUP, | ||
2492 | [0x13] = KEY_VOLUMEDOWN, | ||
2493 | |||
2494 | [0x10] = KEY_HOME, | ||
2495 | [0x12] = KEY_ENTER, | ||
2496 | |||
2497 | [0x14] = KEY_RECORD, | ||
2498 | [0x15] = KEY_STOP, | ||
2499 | [0x16] = KEY_PLAY, | ||
2500 | [0x17] = KEY_MUTE, | ||
2501 | |||
2502 | [0x18] = KEY_UP, | ||
2503 | [0x19] = KEY_DOWN, | ||
2504 | [0x1a] = KEY_LEFT, | ||
2505 | [0x1b] = KEY_RIGHT, | ||
2506 | |||
2507 | [0x1c] = KEY_RED, | ||
2508 | [0x1d] = KEY_GREEN, | ||
2509 | [0x1e] = KEY_YELLOW, | ||
2510 | [0x1f] = KEY_BLUE, | ||
2511 | }; | ||
2512 | EXPORT_SYMBOL_GPL(ir_codes_kaiomy); | ||
2513 | |||
2514 | IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = { | ||
2515 | [0x20] = KEY_LIST, | ||
2516 | [0x00] = KEY_POWER, | ||
2517 | [0x28] = KEY_1, | ||
2518 | [0x18] = KEY_2, | ||
2519 | [0x38] = KEY_3, | ||
2520 | [0x24] = KEY_4, | ||
2521 | [0x14] = KEY_5, | ||
2522 | [0x34] = KEY_6, | ||
2523 | [0x2c] = KEY_7, | ||
2524 | [0x1c] = KEY_8, | ||
2525 | [0x3c] = KEY_9, | ||
2526 | [0x12] = KEY_SUBTITLE, | ||
2527 | [0x22] = KEY_0, | ||
2528 | [0x32] = KEY_REWIND, | ||
2529 | [0x3a] = KEY_SHUFFLE, | ||
2530 | [0x02] = KEY_PRINT, | ||
2531 | [0x11] = KEY_CHANNELDOWN, | ||
2532 | [0x31] = KEY_CHANNELUP, | ||
2533 | [0x0c] = KEY_ZOOM, | ||
2534 | [0x1e] = KEY_VOLUMEDOWN, | ||
2535 | [0x3e] = KEY_VOLUMEUP, | ||
2536 | [0x0a] = KEY_MUTE, | ||
2537 | [0x04] = KEY_AUDIO, | ||
2538 | [0x26] = KEY_RECORD, | ||
2539 | [0x06] = KEY_PLAY, | ||
2540 | [0x36] = KEY_STOP, | ||
2541 | [0x16] = KEY_PAUSE, | ||
2542 | [0x2e] = KEY_REWIND, | ||
2543 | [0x0e] = KEY_FASTFORWARD, | ||
2544 | [0x30] = KEY_TEXT, | ||
2545 | [0x21] = KEY_GREEN, | ||
2546 | [0x01] = KEY_BLUE, | ||
2547 | [0x08] = KEY_EPG, | ||
2548 | [0x2a] = KEY_MENU, | ||
2549 | }; | ||
2550 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d); | ||
2551 | 2712 | ||
2552 | /* Encore ENLTV-FM v5.3 | 2713 | { 0x04, KEY_1}, |
2553 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2714 | { 0x08, KEY_2}, |
2554 | */ | 2715 | { 0x02, KEY_3}, |
2555 | IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = { | ||
2556 | [0x10] = KEY_POWER2, | ||
2557 | [0x06] = KEY_MUTE, | ||
2558 | |||
2559 | [0x09] = KEY_1, | ||
2560 | [0x1d] = KEY_2, | ||
2561 | [0x1f] = KEY_3, | ||
2562 | [0x19] = KEY_4, | ||
2563 | [0x1b] = KEY_5, | ||
2564 | [0x11] = KEY_6, | ||
2565 | [0x17] = KEY_7, | ||
2566 | [0x12] = KEY_8, | ||
2567 | [0x16] = KEY_9, | ||
2568 | [0x48] = KEY_0, | ||
2569 | |||
2570 | [0x04] = KEY_LIST, /* -/-- */ | ||
2571 | [0x40] = KEY_LAST, /* recall */ | ||
2572 | |||
2573 | [0x02] = KEY_MODE, /* TV/AV */ | ||
2574 | [0x05] = KEY_CAMERA, /* SNAPSHOT */ | ||
2575 | |||
2576 | [0x4c] = KEY_CHANNELUP, /* UP */ | ||
2577 | [0x00] = KEY_CHANNELDOWN, /* DOWN */ | ||
2578 | [0x0d] = KEY_VOLUMEUP, /* RIGHT */ | ||
2579 | [0x15] = KEY_VOLUMEDOWN, /* LEFT */ | ||
2580 | [0x49] = KEY_ENTER, /* OK */ | ||
2581 | |||
2582 | [0x54] = KEY_RECORD, | ||
2583 | [0x4d] = KEY_PLAY, /* pause */ | ||
2584 | |||
2585 | [0x1e] = KEY_MENU, /* video setting */ | ||
2586 | [0x0e] = KEY_RIGHT, /* <- */ | ||
2587 | [0x1a] = KEY_LEFT, /* -> */ | ||
2588 | |||
2589 | [0x0a] = KEY_CLEAR, /* video default */ | ||
2590 | [0x0c] = KEY_ZOOM, /* hide pannel */ | ||
2591 | [0x47] = KEY_SLEEP, /* shutdown */ | ||
2592 | }; | ||
2593 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53); | ||
2594 | 2716 | ||
2595 | /* Zogis Real Audio 220 - 32 keys IR */ | 2717 | { 0x0f, KEY_4}, |
2596 | IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = { | 2718 | { 0x05, KEY_5}, |
2597 | [0x1c] = KEY_RADIO, | 2719 | { 0x06, KEY_6}, |
2598 | [0x12] = KEY_POWER2, | 2720 | |
2721 | { 0x0c, KEY_7}, | ||
2722 | { 0x0d, KEY_8}, | ||
2723 | { 0x0a, KEY_9}, | ||
2724 | |||
2725 | { 0x11, KEY_0}, | ||
2726 | |||
2727 | { 0x09, KEY_CHANNELUP}, | ||
2728 | { 0x07, KEY_CHANNELDOWN}, | ||
2599 | 2729 | ||
2600 | [0x01] = KEY_1, | 2730 | { 0x0e, KEY_VOLUMEUP}, |
2601 | [0x02] = KEY_2, | 2731 | { 0x13, KEY_VOLUMEDOWN}, |
2602 | [0x03] = KEY_3, | ||
2603 | [0x04] = KEY_4, | ||
2604 | [0x05] = KEY_5, | ||
2605 | [0x06] = KEY_6, | ||
2606 | [0x07] = KEY_7, | ||
2607 | [0x08] = KEY_8, | ||
2608 | [0x09] = KEY_9, | ||
2609 | [0x00] = KEY_0, | ||
2610 | 2732 | ||
2611 | [0x0c] = KEY_VOLUMEUP, | 2733 | { 0x10, KEY_HOME}, |
2612 | [0x18] = KEY_VOLUMEDOWN, | 2734 | { 0x12, KEY_ENTER}, |
2613 | [0x0b] = KEY_CHANNELUP, | ||
2614 | [0x15] = KEY_CHANNELDOWN, | ||
2615 | [0x16] = KEY_ENTER, | ||
2616 | 2735 | ||
2617 | [0x11] = KEY_LIST, /* Source */ | 2736 | { 0x14, KEY_RECORD}, |
2618 | [0x0d] = KEY_AUDIO, /* stereo */ | 2737 | { 0x15, KEY_STOP}, |
2738 | { 0x16, KEY_PLAY}, | ||
2739 | { 0x17, KEY_MUTE}, | ||
2619 | 2740 | ||
2620 | [0x0f] = KEY_PREVIOUS, /* Prev */ | 2741 | { 0x18, KEY_UP}, |
2621 | [0x1b] = KEY_TIME, /* Timeshift */ | 2742 | { 0x19, KEY_DOWN}, |
2622 | [0x1a] = KEY_NEXT, /* Next */ | 2743 | { 0x1a, KEY_LEFT}, |
2744 | { 0x1b, KEY_RIGHT}, | ||
2745 | |||
2746 | { 0x1c, KEY_RED}, | ||
2747 | { 0x1d, KEY_GREEN}, | ||
2748 | { 0x1e, KEY_YELLOW}, | ||
2749 | { 0x1f, KEY_BLUE}, | ||
2750 | }; | ||
2751 | struct ir_scancode_table ir_codes_kaiomy_table = { | ||
2752 | .scan = ir_codes_kaiomy, | ||
2753 | .size = ARRAY_SIZE(ir_codes_kaiomy), | ||
2754 | }; | ||
2755 | EXPORT_SYMBOL_GPL(ir_codes_kaiomy_table); | ||
2756 | |||
2757 | static struct ir_scancode ir_codes_avermedia_a16d[] = { | ||
2758 | { 0x20, KEY_LIST}, | ||
2759 | { 0x00, KEY_POWER}, | ||
2760 | { 0x28, KEY_1}, | ||
2761 | { 0x18, KEY_2}, | ||
2762 | { 0x38, KEY_3}, | ||
2763 | { 0x24, KEY_4}, | ||
2764 | { 0x14, KEY_5}, | ||
2765 | { 0x34, KEY_6}, | ||
2766 | { 0x2c, KEY_7}, | ||
2767 | { 0x1c, KEY_8}, | ||
2768 | { 0x3c, KEY_9}, | ||
2769 | { 0x12, KEY_SUBTITLE}, | ||
2770 | { 0x22, KEY_0}, | ||
2771 | { 0x32, KEY_REWIND}, | ||
2772 | { 0x3a, KEY_SHUFFLE}, | ||
2773 | { 0x02, KEY_PRINT}, | ||
2774 | { 0x11, KEY_CHANNELDOWN}, | ||
2775 | { 0x31, KEY_CHANNELUP}, | ||
2776 | { 0x0c, KEY_ZOOM}, | ||
2777 | { 0x1e, KEY_VOLUMEDOWN}, | ||
2778 | { 0x3e, KEY_VOLUMEUP}, | ||
2779 | { 0x0a, KEY_MUTE}, | ||
2780 | { 0x04, KEY_AUDIO}, | ||
2781 | { 0x26, KEY_RECORD}, | ||
2782 | { 0x06, KEY_PLAY}, | ||
2783 | { 0x36, KEY_STOP}, | ||
2784 | { 0x16, KEY_PAUSE}, | ||
2785 | { 0x2e, KEY_REWIND}, | ||
2786 | { 0x0e, KEY_FASTFORWARD}, | ||
2787 | { 0x30, KEY_TEXT}, | ||
2788 | { 0x21, KEY_GREEN}, | ||
2789 | { 0x01, KEY_BLUE}, | ||
2790 | { 0x08, KEY_EPG}, | ||
2791 | { 0x2a, KEY_MENU}, | ||
2792 | }; | ||
2793 | struct ir_scancode_table ir_codes_avermedia_a16d_table = { | ||
2794 | .scan = ir_codes_avermedia_a16d, | ||
2795 | .size = ARRAY_SIZE(ir_codes_avermedia_a16d), | ||
2796 | }; | ||
2797 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d_table); | ||
2623 | 2798 | ||
2624 | [0x0e] = KEY_STOP, | 2799 | /* Encore ENLTV-FM v5.3 |
2625 | [0x1f] = KEY_PLAY, | 2800 | Mauro Carvalho Chehab <mchehab@infradead.org> |
2626 | [0x1e] = KEY_PLAYPAUSE, /* Pause */ | 2801 | */ |
2802 | static struct ir_scancode ir_codes_encore_enltv_fm53[] = { | ||
2803 | { 0x10, KEY_POWER2}, | ||
2804 | { 0x06, KEY_MUTE}, | ||
2805 | |||
2806 | { 0x09, KEY_1}, | ||
2807 | { 0x1d, KEY_2}, | ||
2808 | { 0x1f, KEY_3}, | ||
2809 | { 0x19, KEY_4}, | ||
2810 | { 0x1b, KEY_5}, | ||
2811 | { 0x11, KEY_6}, | ||
2812 | { 0x17, KEY_7}, | ||
2813 | { 0x12, KEY_8}, | ||
2814 | { 0x16, KEY_9}, | ||
2815 | { 0x48, KEY_0}, | ||
2816 | |||
2817 | { 0x04, KEY_LIST}, /* -/-- */ | ||
2818 | { 0x40, KEY_LAST}, /* recall */ | ||
2819 | |||
2820 | { 0x02, KEY_MODE}, /* TV/AV */ | ||
2821 | { 0x05, KEY_CAMERA}, /* SNAPSHOT */ | ||
2822 | |||
2823 | { 0x4c, KEY_CHANNELUP}, /* UP */ | ||
2824 | { 0x00, KEY_CHANNELDOWN}, /* DOWN */ | ||
2825 | { 0x0d, KEY_VOLUMEUP}, /* RIGHT */ | ||
2826 | { 0x15, KEY_VOLUMEDOWN}, /* LEFT */ | ||
2827 | { 0x49, KEY_ENTER}, /* OK */ | ||
2828 | |||
2829 | { 0x54, KEY_RECORD}, | ||
2830 | { 0x4d, KEY_PLAY}, /* pause */ | ||
2831 | |||
2832 | { 0x1e, KEY_MENU}, /* video setting */ | ||
2833 | { 0x0e, KEY_RIGHT}, /* <- */ | ||
2834 | { 0x1a, KEY_LEFT}, /* -> */ | ||
2835 | |||
2836 | { 0x0a, KEY_CLEAR}, /* video default */ | ||
2837 | { 0x0c, KEY_ZOOM}, /* hide pannel */ | ||
2838 | { 0x47, KEY_SLEEP}, /* shutdown */ | ||
2839 | }; | ||
2840 | struct ir_scancode_table ir_codes_encore_enltv_fm53_table = { | ||
2841 | .scan = ir_codes_encore_enltv_fm53, | ||
2842 | .size = ARRAY_SIZE(ir_codes_encore_enltv_fm53), | ||
2843 | }; | ||
2844 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53_table); | ||
2627 | 2845 | ||
2628 | [0x1d] = KEY_RECORD, | 2846 | /* Zogis Real Audio 220 - 32 keys IR */ |
2629 | [0x13] = KEY_MUTE, | 2847 | static struct ir_scancode ir_codes_real_audio_220_32_keys[] = { |
2630 | [0x19] = KEY_CAMERA, /* Snapshot */ | 2848 | { 0x1c, KEY_RADIO}, |
2849 | { 0x12, KEY_POWER2}, | ||
2850 | |||
2851 | { 0x01, KEY_1}, | ||
2852 | { 0x02, KEY_2}, | ||
2853 | { 0x03, KEY_3}, | ||
2854 | { 0x04, KEY_4}, | ||
2855 | { 0x05, KEY_5}, | ||
2856 | { 0x06, KEY_6}, | ||
2857 | { 0x07, KEY_7}, | ||
2858 | { 0x08, KEY_8}, | ||
2859 | { 0x09, KEY_9}, | ||
2860 | { 0x00, KEY_0}, | ||
2861 | |||
2862 | { 0x0c, KEY_VOLUMEUP}, | ||
2863 | { 0x18, KEY_VOLUMEDOWN}, | ||
2864 | { 0x0b, KEY_CHANNELUP}, | ||
2865 | { 0x15, KEY_CHANNELDOWN}, | ||
2866 | { 0x16, KEY_ENTER}, | ||
2867 | |||
2868 | { 0x11, KEY_LIST}, /* Source */ | ||
2869 | { 0x0d, KEY_AUDIO}, /* stereo */ | ||
2870 | |||
2871 | { 0x0f, KEY_PREVIOUS}, /* Prev */ | ||
2872 | { 0x1b, KEY_TIME}, /* Timeshift */ | ||
2873 | { 0x1a, KEY_NEXT}, /* Next */ | ||
2874 | |||
2875 | { 0x0e, KEY_STOP}, | ||
2876 | { 0x1f, KEY_PLAY}, | ||
2877 | { 0x1e, KEY_PLAYPAUSE}, /* Pause */ | ||
2878 | |||
2879 | { 0x1d, KEY_RECORD}, | ||
2880 | { 0x13, KEY_MUTE}, | ||
2881 | { 0x19, KEY_CAMERA}, /* Snapshot */ | ||
2631 | 2882 | ||
2632 | }; | 2883 | }; |
2633 | EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys); | 2884 | struct ir_scancode_table ir_codes_real_audio_220_32_keys_table = { |
2885 | .scan = ir_codes_real_audio_220_32_keys, | ||
2886 | .size = ARRAY_SIZE(ir_codes_real_audio_220_32_keys), | ||
2887 | }; | ||
2888 | EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys_table); | ||
2634 | 2889 | ||
2635 | /* ATI TV Wonder HD 600 USB | 2890 | /* ATI TV Wonder HD 600 USB |
2636 | Devin Heitmueller <devin.heitmueller@gmail.com> | 2891 | Devin Heitmueller <devin.heitmueller@gmail.com> |
2637 | */ | 2892 | */ |
2638 | IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = { | 2893 | static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = { |
2639 | [0x00] = KEY_RECORD, /* Row 1 */ | 2894 | { 0x00, KEY_RECORD}, /* Row 1 */ |
2640 | [0x01] = KEY_PLAYPAUSE, | 2895 | { 0x01, KEY_PLAYPAUSE}, |
2641 | [0x02] = KEY_STOP, | 2896 | { 0x02, KEY_STOP}, |
2642 | [0x03] = KEY_POWER, | 2897 | { 0x03, KEY_POWER}, |
2643 | [0x04] = KEY_PREVIOUS, /* Row 2 */ | 2898 | { 0x04, KEY_PREVIOUS}, /* Row 2 */ |
2644 | [0x05] = KEY_REWIND, | 2899 | { 0x05, KEY_REWIND}, |
2645 | [0x06] = KEY_FORWARD, | 2900 | { 0x06, KEY_FORWARD}, |
2646 | [0x07] = KEY_NEXT, | 2901 | { 0x07, KEY_NEXT}, |
2647 | [0x08] = KEY_EPG, /* Row 3 */ | 2902 | { 0x08, KEY_EPG}, /* Row 3 */ |
2648 | [0x09] = KEY_HOME, | 2903 | { 0x09, KEY_HOME}, |
2649 | [0x0a] = KEY_MENU, | 2904 | { 0x0a, KEY_MENU}, |
2650 | [0x0b] = KEY_CHANNELUP, | 2905 | { 0x0b, KEY_CHANNELUP}, |
2651 | [0x0c] = KEY_BACK, /* Row 4 */ | 2906 | { 0x0c, KEY_BACK}, /* Row 4 */ |
2652 | [0x0d] = KEY_UP, | 2907 | { 0x0d, KEY_UP}, |
2653 | [0x0e] = KEY_INFO, | 2908 | { 0x0e, KEY_INFO}, |
2654 | [0x0f] = KEY_CHANNELDOWN, | 2909 | { 0x0f, KEY_CHANNELDOWN}, |
2655 | [0x10] = KEY_LEFT, /* Row 5 */ | 2910 | { 0x10, KEY_LEFT}, /* Row 5 */ |
2656 | [0x11] = KEY_SELECT, | 2911 | { 0x11, KEY_SELECT}, |
2657 | [0x12] = KEY_RIGHT, | 2912 | { 0x12, KEY_RIGHT}, |
2658 | [0x13] = KEY_VOLUMEUP, | 2913 | { 0x13, KEY_VOLUMEUP}, |
2659 | [0x14] = KEY_LAST, /* Row 6 */ | 2914 | { 0x14, KEY_LAST}, /* Row 6 */ |
2660 | [0x15] = KEY_DOWN, | 2915 | { 0x15, KEY_DOWN}, |
2661 | [0x16] = KEY_MUTE, | 2916 | { 0x16, KEY_MUTE}, |
2662 | [0x17] = KEY_VOLUMEDOWN, | 2917 | { 0x17, KEY_VOLUMEDOWN}, |
2663 | }; | 2918 | }; |
2664 | EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600); | 2919 | struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table = { |
2920 | .scan = ir_codes_ati_tv_wonder_hd_600, | ||
2921 | .size = ARRAY_SIZE(ir_codes_ati_tv_wonder_hd_600), | ||
2922 | }; | ||
2923 | EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600_table); | ||
2665 | 2924 | ||
2666 | /* DVBWorld remotes | 2925 | /* DVBWorld remotes |
2667 | Igor M. Liplianin <liplianin@me.by> | 2926 | Igor M. Liplianin <liplianin@me.by> |
2668 | */ | 2927 | */ |
2669 | IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = { | 2928 | static struct ir_scancode ir_codes_dm1105_nec[] = { |
2670 | [0x0a] = KEY_POWER2, /* power */ | 2929 | { 0x0a, KEY_POWER2}, /* power */ |
2671 | [0x0c] = KEY_MUTE, /* mute */ | 2930 | { 0x0c, KEY_MUTE}, /* mute */ |
2672 | [0x11] = KEY_1, | 2931 | { 0x11, KEY_1}, |
2673 | [0x12] = KEY_2, | 2932 | { 0x12, KEY_2}, |
2674 | [0x13] = KEY_3, | 2933 | { 0x13, KEY_3}, |
2675 | [0x14] = KEY_4, | 2934 | { 0x14, KEY_4}, |
2676 | [0x15] = KEY_5, | 2935 | { 0x15, KEY_5}, |
2677 | [0x16] = KEY_6, | 2936 | { 0x16, KEY_6}, |
2678 | [0x17] = KEY_7, | 2937 | { 0x17, KEY_7}, |
2679 | [0x18] = KEY_8, | 2938 | { 0x18, KEY_8}, |
2680 | [0x19] = KEY_9, | 2939 | { 0x19, KEY_9}, |
2681 | [0x10] = KEY_0, | 2940 | { 0x10, KEY_0}, |
2682 | [0x1c] = KEY_CHANNELUP, /* ch+ */ | 2941 | { 0x1c, KEY_CHANNELUP}, /* ch+ */ |
2683 | [0x0f] = KEY_CHANNELDOWN, /* ch- */ | 2942 | { 0x0f, KEY_CHANNELDOWN}, /* ch- */ |
2684 | [0x1a] = KEY_VOLUMEUP, /* vol+ */ | 2943 | { 0x1a, KEY_VOLUMEUP}, /* vol+ */ |
2685 | [0x0e] = KEY_VOLUMEDOWN, /* vol- */ | 2944 | { 0x0e, KEY_VOLUMEDOWN}, /* vol- */ |
2686 | [0x04] = KEY_RECORD, /* rec */ | 2945 | { 0x04, KEY_RECORD}, /* rec */ |
2687 | [0x09] = KEY_CHANNEL, /* fav */ | 2946 | { 0x09, KEY_CHANNEL}, /* fav */ |
2688 | [0x08] = KEY_BACKSPACE, /* rewind */ | 2947 | { 0x08, KEY_BACKSPACE}, /* rewind */ |
2689 | [0x07] = KEY_FASTFORWARD, /* fast */ | 2948 | { 0x07, KEY_FASTFORWARD}, /* fast */ |
2690 | [0x0b] = KEY_PAUSE, /* pause */ | 2949 | { 0x0b, KEY_PAUSE}, /* pause */ |
2691 | [0x02] = KEY_ESC, /* cancel */ | 2950 | { 0x02, KEY_ESC}, /* cancel */ |
2692 | [0x03] = KEY_TAB, /* tab */ | 2951 | { 0x03, KEY_TAB}, /* tab */ |
2693 | [0x00] = KEY_UP, /* up */ | 2952 | { 0x00, KEY_UP}, /* up */ |
2694 | [0x1f] = KEY_ENTER, /* ok */ | 2953 | { 0x1f, KEY_ENTER}, /* ok */ |
2695 | [0x01] = KEY_DOWN, /* down */ | 2954 | { 0x01, KEY_DOWN}, /* down */ |
2696 | [0x05] = KEY_RECORD, /* cap */ | 2955 | { 0x05, KEY_RECORD}, /* cap */ |
2697 | [0x06] = KEY_STOP, /* stop */ | 2956 | { 0x06, KEY_STOP}, /* stop */ |
2698 | [0x40] = KEY_ZOOM, /* full */ | 2957 | { 0x40, KEY_ZOOM}, /* full */ |
2699 | [0x1e] = KEY_TV, /* tvmode */ | 2958 | { 0x1e, KEY_TV}, /* tvmode */ |
2700 | [0x1b] = KEY_B, /* recall */ | 2959 | { 0x1b, KEY_B}, /* recall */ |
2701 | }; | 2960 | }; |
2702 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec); | 2961 | struct ir_scancode_table ir_codes_dm1105_nec_table = { |
2703 | 2962 | .scan = ir_codes_dm1105_nec, | |
2963 | .size = ARRAY_SIZE(ir_codes_dm1105_nec), | ||
2964 | }; | ||
2965 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table); | ||
2704 | 2966 | ||
2705 | /* Terratec Cinergy Hybrid T USB XS | 2967 | /* Terratec Cinergy Hybrid T USB XS |
2706 | Devin Heitmueller <dheitmueller@linuxtv.org> | 2968 | Devin Heitmueller <dheitmueller@linuxtv.org> |
2707 | */ | 2969 | */ |
2708 | IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = { | 2970 | static struct ir_scancode ir_codes_terratec_cinergy_xs[] = { |
2709 | [0x41] = KEY_HOME, | 2971 | { 0x41, KEY_HOME}, |
2710 | [0x01] = KEY_POWER, | 2972 | { 0x01, KEY_POWER}, |
2711 | [0x42] = KEY_MENU, | 2973 | { 0x42, KEY_MENU}, |
2712 | [0x02] = KEY_1, | 2974 | { 0x02, KEY_1}, |
2713 | [0x03] = KEY_2, | 2975 | { 0x03, KEY_2}, |
2714 | [0x04] = KEY_3, | 2976 | { 0x04, KEY_3}, |
2715 | [0x43] = KEY_SUBTITLE, | 2977 | { 0x43, KEY_SUBTITLE}, |
2716 | [0x05] = KEY_4, | 2978 | { 0x05, KEY_4}, |
2717 | [0x06] = KEY_5, | 2979 | { 0x06, KEY_5}, |
2718 | [0x07] = KEY_6, | 2980 | { 0x07, KEY_6}, |
2719 | [0x44] = KEY_TEXT, | 2981 | { 0x44, KEY_TEXT}, |
2720 | [0x08] = KEY_7, | 2982 | { 0x08, KEY_7}, |
2721 | [0x09] = KEY_8, | 2983 | { 0x09, KEY_8}, |
2722 | [0x0a] = KEY_9, | 2984 | { 0x0a, KEY_9}, |
2723 | [0x45] = KEY_DELETE, | 2985 | { 0x45, KEY_DELETE}, |
2724 | [0x0b] = KEY_TUNER, | 2986 | { 0x0b, KEY_TUNER}, |
2725 | [0x0c] = KEY_0, | 2987 | { 0x0c, KEY_0}, |
2726 | [0x0d] = KEY_MODE, | 2988 | { 0x0d, KEY_MODE}, |
2727 | [0x46] = KEY_TV, | 2989 | { 0x46, KEY_TV}, |
2728 | [0x47] = KEY_DVD, | 2990 | { 0x47, KEY_DVD}, |
2729 | [0x49] = KEY_VIDEO, | 2991 | { 0x49, KEY_VIDEO}, |
2730 | [0x4b] = KEY_AUX, | 2992 | { 0x4b, KEY_AUX}, |
2731 | [0x10] = KEY_UP, | 2993 | { 0x10, KEY_UP}, |
2732 | [0x11] = KEY_LEFT, | 2994 | { 0x11, KEY_LEFT}, |
2733 | [0x12] = KEY_OK, | 2995 | { 0x12, KEY_OK}, |
2734 | [0x13] = KEY_RIGHT, | 2996 | { 0x13, KEY_RIGHT}, |
2735 | [0x14] = KEY_DOWN, | 2997 | { 0x14, KEY_DOWN}, |
2736 | [0x0f] = KEY_EPG, | 2998 | { 0x0f, KEY_EPG}, |
2737 | [0x16] = KEY_INFO, | 2999 | { 0x16, KEY_INFO}, |
2738 | [0x4d] = KEY_BACKSPACE, | 3000 | { 0x4d, KEY_BACKSPACE}, |
2739 | [0x1c] = KEY_VOLUMEUP, | 3001 | { 0x1c, KEY_VOLUMEUP}, |
2740 | [0x4c] = KEY_PLAY, | 3002 | { 0x4c, KEY_PLAY}, |
2741 | [0x1b] = KEY_CHANNELUP, | 3003 | { 0x1b, KEY_CHANNELUP}, |
2742 | [0x1e] = KEY_VOLUMEDOWN, | 3004 | { 0x1e, KEY_VOLUMEDOWN}, |
2743 | [0x1d] = KEY_MUTE, | 3005 | { 0x1d, KEY_MUTE}, |
2744 | [0x1f] = KEY_CHANNELDOWN, | 3006 | { 0x1f, KEY_CHANNELDOWN}, |
2745 | [0x17] = KEY_RED, | 3007 | { 0x17, KEY_RED}, |
2746 | [0x18] = KEY_GREEN, | 3008 | { 0x18, KEY_GREEN}, |
2747 | [0x19] = KEY_YELLOW, | 3009 | { 0x19, KEY_YELLOW}, |
2748 | [0x1a] = KEY_BLUE, | 3010 | { 0x1a, KEY_BLUE}, |
2749 | [0x58] = KEY_RECORD, | 3011 | { 0x58, KEY_RECORD}, |
2750 | [0x48] = KEY_STOP, | 3012 | { 0x48, KEY_STOP}, |
2751 | [0x40] = KEY_PAUSE, | 3013 | { 0x40, KEY_PAUSE}, |
2752 | [0x54] = KEY_LAST, | 3014 | { 0x54, KEY_LAST}, |
2753 | [0x4e] = KEY_REWIND, | 3015 | { 0x4e, KEY_REWIND}, |
2754 | [0x4f] = KEY_FASTFORWARD, | 3016 | { 0x4f, KEY_FASTFORWARD}, |
2755 | [0x5c] = KEY_NEXT, | 3017 | { 0x5c, KEY_NEXT}, |
2756 | }; | 3018 | }; |
2757 | EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs); | 3019 | struct ir_scancode_table ir_codes_terratec_cinergy_xs_table = { |
3020 | .scan = ir_codes_terratec_cinergy_xs, | ||
3021 | .size = ARRAY_SIZE(ir_codes_terratec_cinergy_xs), | ||
3022 | }; | ||
3023 | EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs_table); | ||
2758 | 3024 | ||
2759 | /* EVGA inDtube | 3025 | /* EVGA inDtube |
2760 | Devin Heitmueller <devin.heitmueller@gmail.com> | 3026 | Devin Heitmueller <devin.heitmueller@gmail.com> |
2761 | */ | 3027 | */ |
2762 | IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = { | 3028 | static struct ir_scancode ir_codes_evga_indtube[] = { |
2763 | [0x12] = KEY_POWER, | 3029 | { 0x12, KEY_POWER}, |
2764 | [0x02] = KEY_MODE, /* TV */ | 3030 | { 0x02, KEY_MODE}, /* TV */ |
2765 | [0x14] = KEY_MUTE, | 3031 | { 0x14, KEY_MUTE}, |
2766 | [0x1a] = KEY_CHANNELUP, | 3032 | { 0x1a, KEY_CHANNELUP}, |
2767 | [0x16] = KEY_TV2, /* PIP */ | 3033 | { 0x16, KEY_TV2}, /* PIP */ |
2768 | [0x1d] = KEY_VOLUMEUP, | 3034 | { 0x1d, KEY_VOLUMEUP}, |
2769 | [0x05] = KEY_CHANNELDOWN, | 3035 | { 0x05, KEY_CHANNELDOWN}, |
2770 | [0x0f] = KEY_PLAYPAUSE, | 3036 | { 0x0f, KEY_PLAYPAUSE}, |
2771 | [0x19] = KEY_VOLUMEDOWN, | 3037 | { 0x19, KEY_VOLUMEDOWN}, |
2772 | [0x1c] = KEY_REWIND, | 3038 | { 0x1c, KEY_REWIND}, |
2773 | [0x0d] = KEY_RECORD, | 3039 | { 0x0d, KEY_RECORD}, |
2774 | [0x18] = KEY_FORWARD, | 3040 | { 0x18, KEY_FORWARD}, |
2775 | [0x1e] = KEY_PREVIOUS, | 3041 | { 0x1e, KEY_PREVIOUS}, |
2776 | [0x1b] = KEY_STOP, | 3042 | { 0x1b, KEY_STOP}, |
2777 | [0x1f] = KEY_NEXT, | 3043 | { 0x1f, KEY_NEXT}, |
2778 | [0x13] = KEY_CAMERA, | 3044 | { 0x13, KEY_CAMERA}, |
2779 | }; | 3045 | }; |
2780 | EXPORT_SYMBOL_GPL(ir_codes_evga_indtube); | 3046 | struct ir_scancode_table ir_codes_evga_indtube_table = { |
2781 | 3047 | .scan = ir_codes_evga_indtube, | |
2782 | IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = { | 3048 | .size = ARRAY_SIZE(ir_codes_evga_indtube), |
2783 | [0x00] = KEY_TV, | 3049 | }; |
2784 | [0x01] = KEY_DVD, | 3050 | EXPORT_SYMBOL_GPL(ir_codes_evga_indtube_table); |
2785 | [0x04] = KEY_RECORD, | 3051 | |
2786 | [0x05] = KEY_VIDEO, /* TV/Video */ | 3052 | static struct ir_scancode ir_codes_videomate_s350[] = { |
2787 | [0x07] = KEY_STOP, | 3053 | { 0x00, KEY_TV}, |
2788 | [0x08] = KEY_PLAYPAUSE, | 3054 | { 0x01, KEY_DVD}, |
2789 | [0x0a] = KEY_REWIND, | 3055 | { 0x04, KEY_RECORD}, |
2790 | [0x0f] = KEY_FASTFORWARD, | 3056 | { 0x05, KEY_VIDEO}, /* TV/Video */ |
2791 | [0x10] = KEY_CHANNELUP, | 3057 | { 0x07, KEY_STOP}, |
2792 | [0x12] = KEY_VOLUMEUP, | 3058 | { 0x08, KEY_PLAYPAUSE}, |
2793 | [0x13] = KEY_CHANNELDOWN, | 3059 | { 0x0a, KEY_REWIND}, |
2794 | [0x14] = KEY_MUTE, | 3060 | { 0x0f, KEY_FASTFORWARD}, |
2795 | [0x15] = KEY_VOLUMEDOWN, | 3061 | { 0x10, KEY_CHANNELUP}, |
2796 | [0x16] = KEY_1, | 3062 | { 0x12, KEY_VOLUMEUP}, |
2797 | [0x17] = KEY_2, | 3063 | { 0x13, KEY_CHANNELDOWN}, |
2798 | [0x18] = KEY_3, | 3064 | { 0x14, KEY_MUTE}, |
2799 | [0x19] = KEY_4, | 3065 | { 0x15, KEY_VOLUMEDOWN}, |
2800 | [0x1a] = KEY_5, | 3066 | { 0x16, KEY_1}, |
2801 | [0x1b] = KEY_6, | 3067 | { 0x17, KEY_2}, |
2802 | [0x1c] = KEY_7, | 3068 | { 0x18, KEY_3}, |
2803 | [0x1d] = KEY_8, | 3069 | { 0x19, KEY_4}, |
2804 | [0x1e] = KEY_9, | 3070 | { 0x1a, KEY_5}, |
2805 | [0x1f] = KEY_0, | 3071 | { 0x1b, KEY_6}, |
2806 | [0x21] = KEY_SLEEP, | 3072 | { 0x1c, KEY_7}, |
2807 | [0x24] = KEY_ZOOM, | 3073 | { 0x1d, KEY_8}, |
2808 | [0x25] = KEY_LAST, /* Recall */ | 3074 | { 0x1e, KEY_9}, |
2809 | [0x26] = KEY_SUBTITLE, /* CC */ | 3075 | { 0x1f, KEY_0}, |
2810 | [0x27] = KEY_LANGUAGE, /* MTS */ | 3076 | { 0x21, KEY_SLEEP}, |
2811 | [0x29] = KEY_CHANNEL, /* SURF */ | 3077 | { 0x24, KEY_ZOOM}, |
2812 | [0x2b] = KEY_A, | 3078 | { 0x25, KEY_LAST}, /* Recall */ |
2813 | [0x2c] = KEY_B, | 3079 | { 0x26, KEY_SUBTITLE}, /* CC */ |
2814 | [0x2f] = KEY_CAMERA, /* Snapshot */ | 3080 | { 0x27, KEY_LANGUAGE}, /* MTS */ |
2815 | [0x23] = KEY_RADIO, | 3081 | { 0x29, KEY_CHANNEL}, /* SURF */ |
2816 | [0x02] = KEY_PREVIOUSSONG, | 3082 | { 0x2b, KEY_A}, |
2817 | [0x06] = KEY_NEXTSONG, | 3083 | { 0x2c, KEY_B}, |
2818 | [0x03] = KEY_EPG, | 3084 | { 0x2f, KEY_CAMERA}, /* Snapshot */ |
2819 | [0x09] = KEY_SETUP, | 3085 | { 0x23, KEY_RADIO}, |
2820 | [0x22] = KEY_BACKSPACE, | 3086 | { 0x02, KEY_PREVIOUSSONG}, |
2821 | [0x0c] = KEY_UP, | 3087 | { 0x06, KEY_NEXTSONG}, |
2822 | [0x0e] = KEY_DOWN, | 3088 | { 0x03, KEY_EPG}, |
2823 | [0x0b] = KEY_LEFT, | 3089 | { 0x09, KEY_SETUP}, |
2824 | [0x0d] = KEY_RIGHT, | 3090 | { 0x22, KEY_BACKSPACE}, |
2825 | [0x11] = KEY_ENTER, | 3091 | { 0x0c, KEY_UP}, |
2826 | [0x20] = KEY_TEXT, | 3092 | { 0x0e, KEY_DOWN}, |
2827 | }; | 3093 | { 0x0b, KEY_LEFT}, |
2828 | EXPORT_SYMBOL_GPL(ir_codes_videomate_s350); | 3094 | { 0x0d, KEY_RIGHT}, |
2829 | 3095 | { 0x11, KEY_ENTER}, | |
3096 | { 0x20, KEY_TEXT}, | ||
3097 | }; | ||
3098 | struct ir_scancode_table ir_codes_videomate_s350_table = { | ||
3099 | .scan = ir_codes_videomate_s350, | ||
3100 | .size = ARRAY_SIZE(ir_codes_videomate_s350), | ||
3101 | }; | ||
3102 | EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table); | ||
2830 | 3103 | ||
2831 | /* GADMEI UTV330+ RM008Z remote | 3104 | /* GADMEI UTV330+ RM008Z remote |
2832 | Shine Liu <shinel@foxmail.com> | 3105 | Shine Liu <shinel@foxmail.com> |
2833 | */ | 3106 | */ |
2834 | IR_KEYTAB_TYPE ir_codes_gadmei_rm008z[IR_KEYTAB_SIZE] = { | 3107 | static struct ir_scancode ir_codes_gadmei_rm008z[] = { |
2835 | [0x14] = KEY_POWER2, /* POWER OFF */ | 3108 | { 0x14, KEY_POWER2}, /* POWER OFF */ |
2836 | [0x0c] = KEY_MUTE, /* MUTE */ | 3109 | { 0x0c, KEY_MUTE}, /* MUTE */ |
2837 | 3110 | ||
2838 | [0x18] = KEY_TV, /* TV */ | 3111 | { 0x18, KEY_TV}, /* TV */ |
2839 | [0x0e] = KEY_VIDEO, /* AV */ | 3112 | { 0x0e, KEY_VIDEO}, /* AV */ |
2840 | [0x0b] = KEY_AUDIO, /* SV */ | 3113 | { 0x0b, KEY_AUDIO}, /* SV */ |
2841 | [0x0f] = KEY_RADIO, /* FM */ | 3114 | { 0x0f, KEY_RADIO}, /* FM */ |
2842 | 3115 | ||
2843 | [0x00] = KEY_1, | 3116 | { 0x00, KEY_1}, |
2844 | [0x01] = KEY_2, | 3117 | { 0x01, KEY_2}, |
2845 | [0x02] = KEY_3, | 3118 | { 0x02, KEY_3}, |
2846 | [0x03] = KEY_4, | 3119 | { 0x03, KEY_4}, |
2847 | [0x04] = KEY_5, | 3120 | { 0x04, KEY_5}, |
2848 | [0x05] = KEY_6, | 3121 | { 0x05, KEY_6}, |
2849 | [0x06] = KEY_7, | 3122 | { 0x06, KEY_7}, |
2850 | [0x07] = KEY_8, | 3123 | { 0x07, KEY_8}, |
2851 | [0x08] = KEY_9, | 3124 | { 0x08, KEY_9}, |
2852 | [0x09] = KEY_0, | 3125 | { 0x09, KEY_0}, |
2853 | [0x0a] = KEY_INFO, /* OSD */ | 3126 | { 0x0a, KEY_INFO}, /* OSD */ |
2854 | [0x1c] = KEY_BACKSPACE, /* LAST */ | 3127 | { 0x1c, KEY_BACKSPACE}, /* LAST */ |
2855 | 3128 | ||
2856 | [0x0d] = KEY_PLAY, /* PLAY */ | 3129 | { 0x0d, KEY_PLAY}, /* PLAY */ |
2857 | [0x1e] = KEY_CAMERA, /* SNAPSHOT */ | 3130 | { 0x1e, KEY_CAMERA}, /* SNAPSHOT */ |
2858 | [0x1a] = KEY_RECORD, /* RECORD */ | 3131 | { 0x1a, KEY_RECORD}, /* RECORD */ |
2859 | [0x17] = KEY_STOP, /* STOP */ | 3132 | { 0x17, KEY_STOP}, /* STOP */ |
2860 | 3133 | ||
2861 | [0x1f] = KEY_UP, /* UP */ | 3134 | { 0x1f, KEY_UP}, /* UP */ |
2862 | [0x44] = KEY_DOWN, /* DOWN */ | 3135 | { 0x44, KEY_DOWN}, /* DOWN */ |
2863 | [0x46] = KEY_TAB, /* BACK */ | 3136 | { 0x46, KEY_TAB}, /* BACK */ |
2864 | [0x4a] = KEY_ZOOM, /* FULLSECREEN */ | 3137 | { 0x4a, KEY_ZOOM}, /* FULLSECREEN */ |
2865 | 3138 | ||
2866 | [0x10] = KEY_VOLUMEUP, /* VOLUMEUP */ | 3139 | { 0x10, KEY_VOLUMEUP}, /* VOLUMEUP */ |
2867 | [0x11] = KEY_VOLUMEDOWN, /* VOLUMEDOWN */ | 3140 | { 0x11, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ |
2868 | [0x12] = KEY_CHANNELUP, /* CHANNELUP */ | 3141 | { 0x12, KEY_CHANNELUP}, /* CHANNELUP */ |
2869 | [0x13] = KEY_CHANNELDOWN, /* CHANNELDOWN */ | 3142 | { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ |
2870 | [0x15] = KEY_ENTER, /* OK */ | 3143 | { 0x15, KEY_ENTER}, /* OK */ |
2871 | }; | 3144 | }; |
2872 | EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z); | 3145 | struct ir_scancode_table ir_codes_gadmei_rm008z_table = { |
3146 | .scan = ir_codes_gadmei_rm008z, | ||
3147 | .size = ARRAY_SIZE(ir_codes_gadmei_rm008z), | ||
3148 | }; | ||
3149 | EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table); | ||
diff --git a/drivers/media/dvb/dm1105/dm1105.c b/drivers/media/dvb/dm1105/dm1105.c index c662fa65a339..2d099e271751 100644 --- a/drivers/media/dvb/dm1105/dm1105.c +++ b/drivers/media/dvb/dm1105/dm1105.c | |||
@@ -577,7 +577,7 @@ static irqreturn_t dm1105dvb_irq(int irq, void *dev_id) | |||
577 | int __devinit dm1105_ir_init(struct dm1105dvb *dm1105) | 577 | int __devinit dm1105_ir_init(struct dm1105dvb *dm1105) |
578 | { | 578 | { |
579 | struct input_dev *input_dev; | 579 | struct input_dev *input_dev; |
580 | IR_KEYTAB_TYPE *ir_codes = ir_codes_dm1105_nec; | 580 | struct ir_scancode_table *ir_codes = &ir_codes_dm1105_nec_table; |
581 | int ir_type = IR_TYPE_OTHER; | 581 | int ir_type = IR_TYPE_OTHER; |
582 | int err = -ENOMEM; | 582 | int err = -ENOMEM; |
583 | 583 | ||
diff --git a/drivers/media/dvb/ttpci/budget-ci.c b/drivers/media/dvb/ttpci/budget-ci.c index 371a71616810..b5c681372b6c 100644 --- a/drivers/media/dvb/ttpci/budget-ci.c +++ b/drivers/media/dvb/ttpci/budget-ci.c | |||
@@ -225,7 +225,7 @@ static int msp430_ir_init(struct budget_ci *budget_ci) | |||
225 | case 0x1012: | 225 | case 0x1012: |
226 | /* The hauppauge keymap is a superset of these remotes */ | 226 | /* The hauppauge keymap is a superset of these remotes */ |
227 | ir_input_init(input_dev, &budget_ci->ir.state, | 227 | ir_input_init(input_dev, &budget_ci->ir.state, |
228 | IR_TYPE_RC5, ir_codes_hauppauge_new); | 228 | IR_TYPE_RC5, &ir_codes_hauppauge_new_table); |
229 | 229 | ||
230 | if (rc5_device < 0) | 230 | if (rc5_device < 0) |
231 | budget_ci->ir.rc5_device = 0x1f; | 231 | budget_ci->ir.rc5_device = 0x1f; |
@@ -237,7 +237,7 @@ static int msp430_ir_init(struct budget_ci *budget_ci) | |||
237 | case 0x101a: | 237 | case 0x101a: |
238 | /* for the Technotrend 1500 bundled remote */ | 238 | /* for the Technotrend 1500 bundled remote */ |
239 | ir_input_init(input_dev, &budget_ci->ir.state, | 239 | ir_input_init(input_dev, &budget_ci->ir.state, |
240 | IR_TYPE_RC5, ir_codes_tt_1500); | 240 | IR_TYPE_RC5, &ir_codes_tt_1500_table); |
241 | 241 | ||
242 | if (rc5_device < 0) | 242 | if (rc5_device < 0) |
243 | budget_ci->ir.rc5_device = IR_DEVICE_ANY; | 243 | budget_ci->ir.rc5_device = IR_DEVICE_ANY; |
@@ -247,7 +247,7 @@ static int msp430_ir_init(struct budget_ci *budget_ci) | |||
247 | default: | 247 | default: |
248 | /* unknown remote */ | 248 | /* unknown remote */ |
249 | ir_input_init(input_dev, &budget_ci->ir.state, | 249 | ir_input_init(input_dev, &budget_ci->ir.state, |
250 | IR_TYPE_RC5, ir_codes_budget_ci_old); | 250 | IR_TYPE_RC5, &ir_codes_budget_ci_old_table); |
251 | 251 | ||
252 | if (rc5_device < 0) | 252 | if (rc5_device < 0) |
253 | budget_ci->ir.rc5_device = IR_DEVICE_ANY; | 253 | budget_ci->ir.rc5_device = IR_DEVICE_ANY; |
diff --git a/drivers/media/video/bt8xx/bttv-input.c b/drivers/media/video/bt8xx/bttv-input.c index 3e7b48e73b01..ebd51afe8761 100644 --- a/drivers/media/video/bt8xx/bttv-input.c +++ b/drivers/media/video/bt8xx/bttv-input.c | |||
@@ -245,7 +245,7 @@ static void bttv_ir_stop(struct bttv *btv) | |||
245 | int bttv_input_init(struct bttv *btv) | 245 | int bttv_input_init(struct bttv *btv) |
246 | { | 246 | { |
247 | struct card_ir *ir; | 247 | struct card_ir *ir; |
248 | IR_KEYTAB_TYPE *ir_codes = NULL; | 248 | struct ir_scancode_table *ir_codes = NULL; |
249 | struct input_dev *input_dev; | 249 | struct input_dev *input_dev; |
250 | int ir_type = IR_TYPE_OTHER; | 250 | int ir_type = IR_TYPE_OTHER; |
251 | int err = -ENOMEM; | 251 | int err = -ENOMEM; |
@@ -263,7 +263,7 @@ int bttv_input_init(struct bttv *btv) | |||
263 | case BTTV_BOARD_AVERMEDIA: | 263 | case BTTV_BOARD_AVERMEDIA: |
264 | case BTTV_BOARD_AVPHONE98: | 264 | case BTTV_BOARD_AVPHONE98: |
265 | case BTTV_BOARD_AVERMEDIA98: | 265 | case BTTV_BOARD_AVERMEDIA98: |
266 | ir_codes = ir_codes_avermedia; | 266 | ir_codes = &ir_codes_avermedia_table; |
267 | ir->mask_keycode = 0xf88000; | 267 | ir->mask_keycode = 0xf88000; |
268 | ir->mask_keydown = 0x010000; | 268 | ir->mask_keydown = 0x010000; |
269 | ir->polling = 50; // ms | 269 | ir->polling = 50; // ms |
@@ -271,14 +271,14 @@ int bttv_input_init(struct bttv *btv) | |||
271 | 271 | ||
272 | case BTTV_BOARD_AVDVBT_761: | 272 | case BTTV_BOARD_AVDVBT_761: |
273 | case BTTV_BOARD_AVDVBT_771: | 273 | case BTTV_BOARD_AVDVBT_771: |
274 | ir_codes = ir_codes_avermedia_dvbt; | 274 | ir_codes = &ir_codes_avermedia_dvbt_table; |
275 | ir->mask_keycode = 0x0f00c0; | 275 | ir->mask_keycode = 0x0f00c0; |
276 | ir->mask_keydown = 0x000020; | 276 | ir->mask_keydown = 0x000020; |
277 | ir->polling = 50; // ms | 277 | ir->polling = 50; // ms |
278 | break; | 278 | break; |
279 | 279 | ||
280 | case BTTV_BOARD_PXELVWPLTVPAK: | 280 | case BTTV_BOARD_PXELVWPLTVPAK: |
281 | ir_codes = ir_codes_pixelview; | 281 | ir_codes = &ir_codes_pixelview_table; |
282 | ir->mask_keycode = 0x003e00; | 282 | ir->mask_keycode = 0x003e00; |
283 | ir->mask_keyup = 0x010000; | 283 | ir->mask_keyup = 0x010000; |
284 | ir->polling = 50; // ms | 284 | ir->polling = 50; // ms |
@@ -286,24 +286,24 @@ int bttv_input_init(struct bttv *btv) | |||
286 | case BTTV_BOARD_PV_M4900: | 286 | case BTTV_BOARD_PV_M4900: |
287 | case BTTV_BOARD_PV_BT878P_9B: | 287 | case BTTV_BOARD_PV_BT878P_9B: |
288 | case BTTV_BOARD_PV_BT878P_PLUS: | 288 | case BTTV_BOARD_PV_BT878P_PLUS: |
289 | ir_codes = ir_codes_pixelview; | 289 | ir_codes = &ir_codes_pixelview_table; |
290 | ir->mask_keycode = 0x001f00; | 290 | ir->mask_keycode = 0x001f00; |
291 | ir->mask_keyup = 0x008000; | 291 | ir->mask_keyup = 0x008000; |
292 | ir->polling = 50; // ms | 292 | ir->polling = 50; // ms |
293 | break; | 293 | break; |
294 | 294 | ||
295 | case BTTV_BOARD_WINFAST2000: | 295 | case BTTV_BOARD_WINFAST2000: |
296 | ir_codes = ir_codes_winfast; | 296 | ir_codes = &ir_codes_winfast_table; |
297 | ir->mask_keycode = 0x1f8; | 297 | ir->mask_keycode = 0x1f8; |
298 | break; | 298 | break; |
299 | case BTTV_BOARD_MAGICTVIEW061: | 299 | case BTTV_BOARD_MAGICTVIEW061: |
300 | case BTTV_BOARD_MAGICTVIEW063: | 300 | case BTTV_BOARD_MAGICTVIEW063: |
301 | ir_codes = ir_codes_winfast; | 301 | ir_codes = &ir_codes_winfast_table; |
302 | ir->mask_keycode = 0x0008e000; | 302 | ir->mask_keycode = 0x0008e000; |
303 | ir->mask_keydown = 0x00200000; | 303 | ir->mask_keydown = 0x00200000; |
304 | break; | 304 | break; |
305 | case BTTV_BOARD_APAC_VIEWCOMP: | 305 | case BTTV_BOARD_APAC_VIEWCOMP: |
306 | ir_codes = ir_codes_apac_viewcomp; | 306 | ir_codes = &ir_codes_apac_viewcomp_table; |
307 | ir->mask_keycode = 0x001f00; | 307 | ir->mask_keycode = 0x001f00; |
308 | ir->mask_keyup = 0x008000; | 308 | ir->mask_keyup = 0x008000; |
309 | ir->polling = 50; // ms | 309 | ir->polling = 50; // ms |
@@ -311,30 +311,30 @@ int bttv_input_init(struct bttv *btv) | |||
311 | case BTTV_BOARD_ASKEY_CPH03X: | 311 | case BTTV_BOARD_ASKEY_CPH03X: |
312 | case BTTV_BOARD_CONCEPTRONIC_CTVFMI2: | 312 | case BTTV_BOARD_CONCEPTRONIC_CTVFMI2: |
313 | case BTTV_BOARD_CONTVFMI: | 313 | case BTTV_BOARD_CONTVFMI: |
314 | ir_codes = ir_codes_pixelview; | 314 | ir_codes = &ir_codes_pixelview_table; |
315 | ir->mask_keycode = 0x001F00; | 315 | ir->mask_keycode = 0x001F00; |
316 | ir->mask_keyup = 0x006000; | 316 | ir->mask_keyup = 0x006000; |
317 | ir->polling = 50; // ms | 317 | ir->polling = 50; // ms |
318 | break; | 318 | break; |
319 | case BTTV_BOARD_NEBULA_DIGITV: | 319 | case BTTV_BOARD_NEBULA_DIGITV: |
320 | ir_codes = ir_codes_nebula; | 320 | ir_codes = &ir_codes_nebula_table; |
321 | btv->custom_irq = bttv_rc5_irq; | 321 | btv->custom_irq = bttv_rc5_irq; |
322 | ir->rc5_gpio = 1; | 322 | ir->rc5_gpio = 1; |
323 | break; | 323 | break; |
324 | case BTTV_BOARD_MACHTV_MAGICTV: | 324 | case BTTV_BOARD_MACHTV_MAGICTV: |
325 | ir_codes = ir_codes_apac_viewcomp; | 325 | ir_codes = &ir_codes_apac_viewcomp_table; |
326 | ir->mask_keycode = 0x001F00; | 326 | ir->mask_keycode = 0x001F00; |
327 | ir->mask_keyup = 0x004000; | 327 | ir->mask_keyup = 0x004000; |
328 | ir->polling = 50; /* ms */ | 328 | ir->polling = 50; /* ms */ |
329 | break; | 329 | break; |
330 | case BTTV_BOARD_KOZUMI_KTV_01C: | 330 | case BTTV_BOARD_KOZUMI_KTV_01C: |
331 | ir_codes = ir_codes_pctv_sedna; | 331 | ir_codes = &ir_codes_pctv_sedna_table; |
332 | ir->mask_keycode = 0x001f00; | 332 | ir->mask_keycode = 0x001f00; |
333 | ir->mask_keyup = 0x006000; | 333 | ir->mask_keyup = 0x006000; |
334 | ir->polling = 50; /* ms */ | 334 | ir->polling = 50; /* ms */ |
335 | break; | 335 | break; |
336 | case BTTV_BOARD_ENLTV_FM_2: | 336 | case BTTV_BOARD_ENLTV_FM_2: |
337 | ir_codes = ir_codes_encore_enltv2; | 337 | ir_codes = &ir_codes_encore_enltv2_table; |
338 | ir->mask_keycode = 0x00fd00; | 338 | ir->mask_keycode = 0x00fd00; |
339 | ir->mask_keyup = 0x000080; | 339 | ir->mask_keyup = 0x000080; |
340 | ir->polling = 1; /* ms */ | 340 | ir->polling = 1; /* ms */ |
diff --git a/drivers/media/video/cx18/cx18-i2c.c b/drivers/media/video/cx18/cx18-i2c.c index ba754e8056fb..766ddce5780f 100644 --- a/drivers/media/video/cx18/cx18-i2c.c +++ b/drivers/media/video/cx18/cx18-i2c.c | |||
@@ -111,7 +111,7 @@ static int cx18_i2c_new_ir(struct i2c_adapter *adap, u32 hw, const char *type, | |||
111 | switch (hw) { | 111 | switch (hw) { |
112 | case CX18_HW_Z8F0811_IR_RX_HAUP: | 112 | case CX18_HW_Z8F0811_IR_RX_HAUP: |
113 | memset(&ir_init_data, 0, sizeof(struct IR_i2c_init_data)); | 113 | memset(&ir_init_data, 0, sizeof(struct IR_i2c_init_data)); |
114 | ir_init_data.ir_codes = ir_codes_hauppauge_new; | 114 | ir_init_data.ir_codes = &ir_codes_hauppauge_new_table; |
115 | ir_init_data.internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR; | 115 | ir_init_data.internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR; |
116 | ir_init_data.type = IR_TYPE_RC5; | 116 | ir_init_data.type = IR_TYPE_RC5; |
117 | ir_init_data.name = "CX23418 Z8F0811 Hauppauge"; | 117 | ir_init_data.name = "CX23418 Z8F0811 Hauppauge"; |
diff --git a/drivers/media/video/cx231xx/cx231xx.h b/drivers/media/video/cx231xx/cx231xx.h index a0f823ac6b8d..64e2ddd3c401 100644 --- a/drivers/media/video/cx231xx/cx231xx.h +++ b/drivers/media/video/cx231xx/cx231xx.h | |||
@@ -282,7 +282,7 @@ struct cx231xx_board { | |||
282 | 282 | ||
283 | struct cx231xx_input input[MAX_CX231XX_INPUT]; | 283 | struct cx231xx_input input[MAX_CX231XX_INPUT]; |
284 | struct cx231xx_input radio; | 284 | struct cx231xx_input radio; |
285 | IR_KEYTAB_TYPE *ir_codes; | 285 | struct ir_scancode_table *ir_codes; |
286 | }; | 286 | }; |
287 | 287 | ||
288 | /* device states */ | 288 | /* device states */ |
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c index 79c4408a6171..78b3635178af 100644 --- a/drivers/media/video/cx88/cx88-input.c +++ b/drivers/media/video/cx88/cx88-input.c | |||
@@ -191,7 +191,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
191 | { | 191 | { |
192 | struct cx88_IR *ir; | 192 | struct cx88_IR *ir; |
193 | struct input_dev *input_dev; | 193 | struct input_dev *input_dev; |
194 | IR_KEYTAB_TYPE *ir_codes = NULL; | 194 | struct ir_scancode_table *ir_codes = NULL; |
195 | int ir_type = IR_TYPE_OTHER; | 195 | int ir_type = IR_TYPE_OTHER; |
196 | int err = -ENOMEM; | 196 | int err = -ENOMEM; |
197 | 197 | ||
@@ -207,14 +207,14 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
207 | case CX88_BOARD_DNTV_LIVE_DVB_T: | 207 | case CX88_BOARD_DNTV_LIVE_DVB_T: |
208 | case CX88_BOARD_KWORLD_DVB_T: | 208 | case CX88_BOARD_KWORLD_DVB_T: |
209 | case CX88_BOARD_KWORLD_DVB_T_CX22702: | 209 | case CX88_BOARD_KWORLD_DVB_T_CX22702: |
210 | ir_codes = ir_codes_dntv_live_dvb_t; | 210 | ir_codes = &ir_codes_dntv_live_dvb_t_table; |
211 | ir->gpio_addr = MO_GP1_IO; | 211 | ir->gpio_addr = MO_GP1_IO; |
212 | ir->mask_keycode = 0x1f; | 212 | ir->mask_keycode = 0x1f; |
213 | ir->mask_keyup = 0x60; | 213 | ir->mask_keyup = 0x60; |
214 | ir->polling = 50; /* ms */ | 214 | ir->polling = 50; /* ms */ |
215 | break; | 215 | break; |
216 | case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1: | 216 | case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1: |
217 | ir_codes = ir_codes_cinergy_1400; | 217 | ir_codes = &ir_codes_cinergy_1400_table; |
218 | ir_type = IR_TYPE_PD; | 218 | ir_type = IR_TYPE_PD; |
219 | ir->sampling = 0xeb04; /* address */ | 219 | ir->sampling = 0xeb04; /* address */ |
220 | break; | 220 | break; |
@@ -229,14 +229,14 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
229 | case CX88_BOARD_PCHDTV_HD3000: | 229 | case CX88_BOARD_PCHDTV_HD3000: |
230 | case CX88_BOARD_PCHDTV_HD5500: | 230 | case CX88_BOARD_PCHDTV_HD5500: |
231 | case CX88_BOARD_HAUPPAUGE_IRONLY: | 231 | case CX88_BOARD_HAUPPAUGE_IRONLY: |
232 | ir_codes = ir_codes_hauppauge_new; | 232 | ir_codes = &ir_codes_hauppauge_new_table; |
233 | ir_type = IR_TYPE_RC5; | 233 | ir_type = IR_TYPE_RC5; |
234 | ir->sampling = 1; | 234 | ir->sampling = 1; |
235 | break; | 235 | break; |
236 | case CX88_BOARD_WINFAST_DTV2000H: | 236 | case CX88_BOARD_WINFAST_DTV2000H: |
237 | case CX88_BOARD_WINFAST_DTV2000H_J: | 237 | case CX88_BOARD_WINFAST_DTV2000H_J: |
238 | case CX88_BOARD_WINFAST_DTV1800H: | 238 | case CX88_BOARD_WINFAST_DTV1800H: |
239 | ir_codes = ir_codes_winfast; | 239 | ir_codes = &ir_codes_winfast_table; |
240 | ir->gpio_addr = MO_GP0_IO; | 240 | ir->gpio_addr = MO_GP0_IO; |
241 | ir->mask_keycode = 0x8f8; | 241 | ir->mask_keycode = 0x8f8; |
242 | ir->mask_keyup = 0x100; | 242 | ir->mask_keyup = 0x100; |
@@ -245,14 +245,14 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
245 | case CX88_BOARD_WINFAST2000XP_EXPERT: | 245 | case CX88_BOARD_WINFAST2000XP_EXPERT: |
246 | case CX88_BOARD_WINFAST_DTV1000: | 246 | case CX88_BOARD_WINFAST_DTV1000: |
247 | case CX88_BOARD_WINFAST_TV2000_XP_GLOBAL: | 247 | case CX88_BOARD_WINFAST_TV2000_XP_GLOBAL: |
248 | ir_codes = ir_codes_winfast; | 248 | ir_codes = &ir_codes_winfast_table; |
249 | ir->gpio_addr = MO_GP0_IO; | 249 | ir->gpio_addr = MO_GP0_IO; |
250 | ir->mask_keycode = 0x8f8; | 250 | ir->mask_keycode = 0x8f8; |
251 | ir->mask_keyup = 0x100; | 251 | ir->mask_keyup = 0x100; |
252 | ir->polling = 1; /* ms */ | 252 | ir->polling = 1; /* ms */ |
253 | break; | 253 | break; |
254 | case CX88_BOARD_IODATA_GVBCTV7E: | 254 | case CX88_BOARD_IODATA_GVBCTV7E: |
255 | ir_codes = ir_codes_iodata_bctv7e; | 255 | ir_codes = &ir_codes_iodata_bctv7e_table; |
256 | ir->gpio_addr = MO_GP0_IO; | 256 | ir->gpio_addr = MO_GP0_IO; |
257 | ir->mask_keycode = 0xfd; | 257 | ir->mask_keycode = 0xfd; |
258 | ir->mask_keydown = 0x02; | 258 | ir->mask_keydown = 0x02; |
@@ -260,7 +260,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
260 | break; | 260 | break; |
261 | case CX88_BOARD_PROLINK_PLAYTVPVR: | 261 | case CX88_BOARD_PROLINK_PLAYTVPVR: |
262 | case CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO: | 262 | case CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO: |
263 | ir_codes = ir_codes_pixelview; | 263 | ir_codes = &ir_codes_pixelview_table; |
264 | ir->gpio_addr = MO_GP1_IO; | 264 | ir->gpio_addr = MO_GP1_IO; |
265 | ir->mask_keycode = 0x1f; | 265 | ir->mask_keycode = 0x1f; |
266 | ir->mask_keyup = 0x80; | 266 | ir->mask_keyup = 0x80; |
@@ -268,28 +268,28 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
268 | break; | 268 | break; |
269 | case CX88_BOARD_PROLINK_PV_8000GT: | 269 | case CX88_BOARD_PROLINK_PV_8000GT: |
270 | case CX88_BOARD_PROLINK_PV_GLOBAL_XTREME: | 270 | case CX88_BOARD_PROLINK_PV_GLOBAL_XTREME: |
271 | ir_codes = ir_codes_pixelview_new; | 271 | ir_codes = &ir_codes_pixelview_new_table; |
272 | ir->gpio_addr = MO_GP1_IO; | 272 | ir->gpio_addr = MO_GP1_IO; |
273 | ir->mask_keycode = 0x3f; | 273 | ir->mask_keycode = 0x3f; |
274 | ir->mask_keyup = 0x80; | 274 | ir->mask_keyup = 0x80; |
275 | ir->polling = 1; /* ms */ | 275 | ir->polling = 1; /* ms */ |
276 | break; | 276 | break; |
277 | case CX88_BOARD_KWORLD_LTV883: | 277 | case CX88_BOARD_KWORLD_LTV883: |
278 | ir_codes = ir_codes_pixelview; | 278 | ir_codes = &ir_codes_pixelview_table; |
279 | ir->gpio_addr = MO_GP1_IO; | 279 | ir->gpio_addr = MO_GP1_IO; |
280 | ir->mask_keycode = 0x1f; | 280 | ir->mask_keycode = 0x1f; |
281 | ir->mask_keyup = 0x60; | 281 | ir->mask_keyup = 0x60; |
282 | ir->polling = 1; /* ms */ | 282 | ir->polling = 1; /* ms */ |
283 | break; | 283 | break; |
284 | case CX88_BOARD_ADSTECH_DVB_T_PCI: | 284 | case CX88_BOARD_ADSTECH_DVB_T_PCI: |
285 | ir_codes = ir_codes_adstech_dvb_t_pci; | 285 | ir_codes = &ir_codes_adstech_dvb_t_pci_table; |
286 | ir->gpio_addr = MO_GP1_IO; | 286 | ir->gpio_addr = MO_GP1_IO; |
287 | ir->mask_keycode = 0xbf; | 287 | ir->mask_keycode = 0xbf; |
288 | ir->mask_keyup = 0x40; | 288 | ir->mask_keyup = 0x40; |
289 | ir->polling = 50; /* ms */ | 289 | ir->polling = 50; /* ms */ |
290 | break; | 290 | break; |
291 | case CX88_BOARD_MSI_TVANYWHERE_MASTER: | 291 | case CX88_BOARD_MSI_TVANYWHERE_MASTER: |
292 | ir_codes = ir_codes_msi_tvanywhere; | 292 | ir_codes = &ir_codes_msi_tvanywhere_table; |
293 | ir->gpio_addr = MO_GP1_IO; | 293 | ir->gpio_addr = MO_GP1_IO; |
294 | ir->mask_keycode = 0x1f; | 294 | ir->mask_keycode = 0x1f; |
295 | ir->mask_keyup = 0x40; | 295 | ir->mask_keyup = 0x40; |
@@ -297,40 +297,40 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
297 | break; | 297 | break; |
298 | case CX88_BOARD_AVERTV_303: | 298 | case CX88_BOARD_AVERTV_303: |
299 | case CX88_BOARD_AVERTV_STUDIO_303: | 299 | case CX88_BOARD_AVERTV_STUDIO_303: |
300 | ir_codes = ir_codes_avertv_303; | 300 | ir_codes = &ir_codes_avertv_303_table; |
301 | ir->gpio_addr = MO_GP2_IO; | 301 | ir->gpio_addr = MO_GP2_IO; |
302 | ir->mask_keycode = 0xfb; | 302 | ir->mask_keycode = 0xfb; |
303 | ir->mask_keydown = 0x02; | 303 | ir->mask_keydown = 0x02; |
304 | ir->polling = 50; /* ms */ | 304 | ir->polling = 50; /* ms */ |
305 | break; | 305 | break; |
306 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: | 306 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: |
307 | ir_codes = ir_codes_dntv_live_dvbt_pro; | 307 | ir_codes = &ir_codes_dntv_live_dvbt_pro_table; |
308 | ir_type = IR_TYPE_PD; | 308 | ir_type = IR_TYPE_PD; |
309 | ir->sampling = 0xff00; /* address */ | 309 | ir->sampling = 0xff00; /* address */ |
310 | break; | 310 | break; |
311 | case CX88_BOARD_NORWOOD_MICRO: | 311 | case CX88_BOARD_NORWOOD_MICRO: |
312 | ir_codes = ir_codes_norwood; | 312 | ir_codes = &ir_codes_norwood_table; |
313 | ir->gpio_addr = MO_GP1_IO; | 313 | ir->gpio_addr = MO_GP1_IO; |
314 | ir->mask_keycode = 0x0e; | 314 | ir->mask_keycode = 0x0e; |
315 | ir->mask_keyup = 0x80; | 315 | ir->mask_keyup = 0x80; |
316 | ir->polling = 50; /* ms */ | 316 | ir->polling = 50; /* ms */ |
317 | break; | 317 | break; |
318 | case CX88_BOARD_NPGTECH_REALTV_TOP10FM: | 318 | case CX88_BOARD_NPGTECH_REALTV_TOP10FM: |
319 | ir_codes = ir_codes_npgtech; | 319 | ir_codes = &ir_codes_npgtech_table; |
320 | ir->gpio_addr = MO_GP0_IO; | 320 | ir->gpio_addr = MO_GP0_IO; |
321 | ir->mask_keycode = 0xfa; | 321 | ir->mask_keycode = 0xfa; |
322 | ir->polling = 50; /* ms */ | 322 | ir->polling = 50; /* ms */ |
323 | break; | 323 | break; |
324 | case CX88_BOARD_PINNACLE_PCTV_HD_800i: | 324 | case CX88_BOARD_PINNACLE_PCTV_HD_800i: |
325 | ir_codes = ir_codes_pinnacle_pctv_hd; | 325 | ir_codes = &ir_codes_pinnacle_pctv_hd_table; |
326 | ir_type = IR_TYPE_RC5; | 326 | ir_type = IR_TYPE_RC5; |
327 | ir->sampling = 1; | 327 | ir->sampling = 1; |
328 | break; | 328 | break; |
329 | case CX88_BOARD_POWERCOLOR_REAL_ANGEL: | 329 | case CX88_BOARD_POWERCOLOR_REAL_ANGEL: |
330 | ir_codes = ir_codes_powercolor_real_angel; | 330 | ir_codes = &ir_codes_powercolor_real_angel_table; |
331 | ir->gpio_addr = MO_GP2_IO; | 331 | ir->gpio_addr = MO_GP2_IO; |
332 | ir->mask_keycode = 0x7e; | 332 | ir->mask_keycode = 0x7e; |
333 | ir->polling = 100; /* ms */ | 333 | ir->polling = 100; /* ms */ |
334 | break; | 334 | break; |
335 | } | 335 | } |
336 | 336 | ||
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index b184d482c497..f46b8a5c3a61 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -562,7 +562,7 @@ struct em28xx_board em28xx_boards[] = { | |||
562 | .name = "Gadmei UTV330+", | 562 | .name = "Gadmei UTV330+", |
563 | .tuner_type = TUNER_TNF_5335MF, | 563 | .tuner_type = TUNER_TNF_5335MF, |
564 | .tda9887_conf = TDA9887_PRESENT, | 564 | .tda9887_conf = TDA9887_PRESENT, |
565 | .ir_codes = ir_codes_gadmei_rm008z, | 565 | .ir_codes = &ir_codes_gadmei_rm008z_table, |
566 | .decoder = EM28XX_SAA711X, | 566 | .decoder = EM28XX_SAA711X, |
567 | .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, | 567 | .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, |
568 | .input = { { | 568 | .input = { { |
@@ -736,7 +736,7 @@ struct em28xx_board em28xx_boards[] = { | |||
736 | .mts_firmware = 1, | 736 | .mts_firmware = 1, |
737 | .has_dvb = 1, | 737 | .has_dvb = 1, |
738 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, | 738 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, |
739 | .ir_codes = ir_codes_hauppauge_new, | 739 | .ir_codes = &ir_codes_hauppauge_new_table, |
740 | .decoder = EM28XX_TVP5150, | 740 | .decoder = EM28XX_TVP5150, |
741 | .input = { { | 741 | .input = { { |
742 | .type = EM28XX_VMUX_TELEVISION, | 742 | .type = EM28XX_VMUX_TELEVISION, |
@@ -761,7 +761,7 @@ struct em28xx_board em28xx_boards[] = { | |||
761 | .tuner_type = TUNER_XC2028, | 761 | .tuner_type = TUNER_XC2028, |
762 | .tuner_gpio = default_tuner_gpio, | 762 | .tuner_gpio = default_tuner_gpio, |
763 | .mts_firmware = 1, | 763 | .mts_firmware = 1, |
764 | .ir_codes = ir_codes_hauppauge_new, | 764 | .ir_codes = &ir_codes_hauppauge_new_table, |
765 | .decoder = EM28XX_TVP5150, | 765 | .decoder = EM28XX_TVP5150, |
766 | .input = { { | 766 | .input = { { |
767 | .type = EM28XX_VMUX_TELEVISION, | 767 | .type = EM28XX_VMUX_TELEVISION, |
@@ -787,7 +787,7 @@ struct em28xx_board em28xx_boards[] = { | |||
787 | .mts_firmware = 1, | 787 | .mts_firmware = 1, |
788 | .has_dvb = 1, | 788 | .has_dvb = 1, |
789 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, | 789 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, |
790 | .ir_codes = ir_codes_hauppauge_new, | 790 | .ir_codes = &ir_codes_hauppauge_new_table, |
791 | .decoder = EM28XX_TVP5150, | 791 | .decoder = EM28XX_TVP5150, |
792 | .input = { { | 792 | .input = { { |
793 | .type = EM28XX_VMUX_TELEVISION, | 793 | .type = EM28XX_VMUX_TELEVISION, |
@@ -813,7 +813,7 @@ struct em28xx_board em28xx_boards[] = { | |||
813 | .mts_firmware = 1, | 813 | .mts_firmware = 1, |
814 | .has_dvb = 1, | 814 | .has_dvb = 1, |
815 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, | 815 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, |
816 | .ir_codes = ir_codes_hauppauge_new, | 816 | .ir_codes = &ir_codes_hauppauge_new_table, |
817 | .decoder = EM28XX_TVP5150, | 817 | .decoder = EM28XX_TVP5150, |
818 | .input = { { | 818 | .input = { { |
819 | .type = EM28XX_VMUX_TELEVISION, | 819 | .type = EM28XX_VMUX_TELEVISION, |
@@ -839,7 +839,7 @@ struct em28xx_board em28xx_boards[] = { | |||
839 | .mts_firmware = 1, | 839 | .mts_firmware = 1, |
840 | .has_dvb = 1, | 840 | .has_dvb = 1, |
841 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, | 841 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, |
842 | .ir_codes = ir_codes_pinnacle_pctv_hd, | 842 | .ir_codes = &ir_codes_pinnacle_pctv_hd_table, |
843 | .decoder = EM28XX_TVP5150, | 843 | .decoder = EM28XX_TVP5150, |
844 | .input = { { | 844 | .input = { { |
845 | .type = EM28XX_VMUX_TELEVISION, | 845 | .type = EM28XX_VMUX_TELEVISION, |
@@ -865,7 +865,7 @@ struct em28xx_board em28xx_boards[] = { | |||
865 | .mts_firmware = 1, | 865 | .mts_firmware = 1, |
866 | .has_dvb = 1, | 866 | .has_dvb = 1, |
867 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, | 867 | .dvb_gpio = hauppauge_wintv_hvr_900_digital, |
868 | .ir_codes = ir_codes_ati_tv_wonder_hd_600, | 868 | .ir_codes = &ir_codes_ati_tv_wonder_hd_600_table, |
869 | .decoder = EM28XX_TVP5150, | 869 | .decoder = EM28XX_TVP5150, |
870 | .input = { { | 870 | .input = { { |
871 | .type = EM28XX_VMUX_TELEVISION, | 871 | .type = EM28XX_VMUX_TELEVISION, |
@@ -891,7 +891,7 @@ struct em28xx_board em28xx_boards[] = { | |||
891 | .decoder = EM28XX_TVP5150, | 891 | .decoder = EM28XX_TVP5150, |
892 | .has_dvb = 1, | 892 | .has_dvb = 1, |
893 | .dvb_gpio = default_digital, | 893 | .dvb_gpio = default_digital, |
894 | .ir_codes = ir_codes_terratec_cinergy_xs, | 894 | .ir_codes = &ir_codes_terratec_cinergy_xs_table, |
895 | .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */ | 895 | .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */ |
896 | .input = { { | 896 | .input = { { |
897 | .type = EM28XX_VMUX_TELEVISION, | 897 | .type = EM28XX_VMUX_TELEVISION, |
@@ -1443,7 +1443,7 @@ struct em28xx_board em28xx_boards[] = { | |||
1443 | .mts_firmware = 1, | 1443 | .mts_firmware = 1, |
1444 | .decoder = EM28XX_TVP5150, | 1444 | .decoder = EM28XX_TVP5150, |
1445 | .tuner_gpio = default_tuner_gpio, | 1445 | .tuner_gpio = default_tuner_gpio, |
1446 | .ir_codes = ir_codes_kaiomy, | 1446 | .ir_codes = &ir_codes_kaiomy_table, |
1447 | .input = { { | 1447 | .input = { { |
1448 | .type = EM28XX_VMUX_TELEVISION, | 1448 | .type = EM28XX_VMUX_TELEVISION, |
1449 | .vmux = TVP5150_COMPOSITE0, | 1449 | .vmux = TVP5150_COMPOSITE0, |
@@ -1543,7 +1543,7 @@ struct em28xx_board em28xx_boards[] = { | |||
1543 | .mts_firmware = 1, | 1543 | .mts_firmware = 1, |
1544 | .has_dvb = 1, | 1544 | .has_dvb = 1, |
1545 | .dvb_gpio = evga_indtube_digital, | 1545 | .dvb_gpio = evga_indtube_digital, |
1546 | .ir_codes = ir_codes_evga_indtube, | 1546 | .ir_codes = &ir_codes_evga_indtube_table, |
1547 | .input = { { | 1547 | .input = { { |
1548 | .type = EM28XX_VMUX_TELEVISION, | 1548 | .type = EM28XX_VMUX_TELEVISION, |
1549 | .vmux = TVP5150_COMPOSITE0, | 1549 | .vmux = TVP5150_COMPOSITE0, |
@@ -2217,17 +2217,17 @@ void em28xx_register_i2c_ir(struct em28xx *dev) | |||
2217 | break; | 2217 | break; |
2218 | case (EM2800_BOARD_TERRATEC_CINERGY_200): | 2218 | case (EM2800_BOARD_TERRATEC_CINERGY_200): |
2219 | case (EM2820_BOARD_TERRATEC_CINERGY_250): | 2219 | case (EM2820_BOARD_TERRATEC_CINERGY_250): |
2220 | init_data.ir_codes = ir_codes_em_terratec; | 2220 | init_data.ir_codes = &ir_codes_em_terratec_table; |
2221 | init_data.get_key = em28xx_get_key_terratec; | 2221 | init_data.get_key = em28xx_get_key_terratec; |
2222 | init_data.name = "i2c IR (EM28XX Terratec)"; | 2222 | init_data.name = "i2c IR (EM28XX Terratec)"; |
2223 | break; | 2223 | break; |
2224 | case (EM2820_BOARD_PINNACLE_USB_2): | 2224 | case (EM2820_BOARD_PINNACLE_USB_2): |
2225 | init_data.ir_codes = ir_codes_pinnacle_grey; | 2225 | init_data.ir_codes = &ir_codes_pinnacle_grey_table; |
2226 | init_data.get_key = em28xx_get_key_pinnacle_usb_grey; | 2226 | init_data.get_key = em28xx_get_key_pinnacle_usb_grey; |
2227 | init_data.name = "i2c IR (EM28XX Pinnacle PCTV)"; | 2227 | init_data.name = "i2c IR (EM28XX Pinnacle PCTV)"; |
2228 | break; | 2228 | break; |
2229 | case (EM2820_BOARD_HAUPPAUGE_WINTV_USB_2): | 2229 | case (EM2820_BOARD_HAUPPAUGE_WINTV_USB_2): |
2230 | init_data.ir_codes = ir_codes_hauppauge_new; | 2230 | init_data.ir_codes = &ir_codes_hauppauge_new_table; |
2231 | init_data.get_key = em28xx_get_key_em_haup; | 2231 | init_data.get_key = em28xx_get_key_em_haup; |
2232 | init_data.name = "i2c IR (EM2840 Hauppauge)"; | 2232 | init_data.name = "i2c IR (EM2840 Hauppauge)"; |
2233 | break; | 2233 | break; |
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 23f34dd691e9..217f948e03d7 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -409,7 +409,7 @@ struct em28xx_board { | |||
409 | 409 | ||
410 | struct em28xx_input input[MAX_EM28XX_INPUT]; | 410 | struct em28xx_input input[MAX_EM28XX_INPUT]; |
411 | struct em28xx_input radio; | 411 | struct em28xx_input radio; |
412 | IR_KEYTAB_TYPE *ir_codes; | 412 | struct ir_scancode_table *ir_codes; |
413 | }; | 413 | }; |
414 | 414 | ||
415 | struct em28xx_eeprom { | 415 | struct em28xx_eeprom { |
diff --git a/drivers/media/video/ir-kbd-i2c.c b/drivers/media/video/ir-kbd-i2c.c index b92ddcabf0b6..247d3115a9b7 100644 --- a/drivers/media/video/ir-kbd-i2c.c +++ b/drivers/media/video/ir-kbd-i2c.c | |||
@@ -297,7 +297,7 @@ static void ir_work(struct work_struct *work) | |||
297 | 297 | ||
298 | static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | 298 | static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) |
299 | { | 299 | { |
300 | IR_KEYTAB_TYPE *ir_codes = NULL; | 300 | struct ir_scancode_table *ir_codes = NULL; |
301 | const char *name = NULL; | 301 | const char *name = NULL; |
302 | int ir_type; | 302 | int ir_type; |
303 | struct IR_i2c *ir; | 303 | struct IR_i2c *ir; |
@@ -322,13 +322,13 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
322 | name = "Pixelview"; | 322 | name = "Pixelview"; |
323 | ir->get_key = get_key_pixelview; | 323 | ir->get_key = get_key_pixelview; |
324 | ir_type = IR_TYPE_OTHER; | 324 | ir_type = IR_TYPE_OTHER; |
325 | ir_codes = ir_codes_empty; | 325 | ir_codes = &ir_codes_empty_table; |
326 | break; | 326 | break; |
327 | case 0x4b: | 327 | case 0x4b: |
328 | name = "PV951"; | 328 | name = "PV951"; |
329 | ir->get_key = get_key_pv951; | 329 | ir->get_key = get_key_pv951; |
330 | ir_type = IR_TYPE_OTHER; | 330 | ir_type = IR_TYPE_OTHER; |
331 | ir_codes = ir_codes_pv951; | 331 | ir_codes = &ir_codes_pv951_table; |
332 | break; | 332 | break; |
333 | case 0x18: | 333 | case 0x18: |
334 | case 0x1a: | 334 | case 0x1a: |
@@ -336,22 +336,22 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
336 | ir->get_key = get_key_haup; | 336 | ir->get_key = get_key_haup; |
337 | ir_type = IR_TYPE_RC5; | 337 | ir_type = IR_TYPE_RC5; |
338 | if (hauppauge == 1) { | 338 | if (hauppauge == 1) { |
339 | ir_codes = ir_codes_hauppauge_new; | 339 | ir_codes = &ir_codes_hauppauge_new_table; |
340 | } else { | 340 | } else { |
341 | ir_codes = ir_codes_rc5_tv; | 341 | ir_codes = &ir_codes_rc5_tv_table; |
342 | } | 342 | } |
343 | break; | 343 | break; |
344 | case 0x30: | 344 | case 0x30: |
345 | name = "KNC One"; | 345 | name = "KNC One"; |
346 | ir->get_key = get_key_knc1; | 346 | ir->get_key = get_key_knc1; |
347 | ir_type = IR_TYPE_OTHER; | 347 | ir_type = IR_TYPE_OTHER; |
348 | ir_codes = ir_codes_empty; | 348 | ir_codes = &ir_codes_empty_table; |
349 | break; | 349 | break; |
350 | case 0x6b: | 350 | case 0x6b: |
351 | name = "FusionHDTV"; | 351 | name = "FusionHDTV"; |
352 | ir->get_key = get_key_fusionhdtv; | 352 | ir->get_key = get_key_fusionhdtv; |
353 | ir_type = IR_TYPE_RC5; | 353 | ir_type = IR_TYPE_RC5; |
354 | ir_codes = ir_codes_fusionhdtv_mce; | 354 | ir_codes = &ir_codes_fusionhdtv_mce_table; |
355 | break; | 355 | break; |
356 | case 0x7a: | 356 | case 0x7a: |
357 | case 0x47: | 357 | case 0x47: |
@@ -365,9 +365,9 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
365 | ir_type = IR_TYPE_RC5; | 365 | ir_type = IR_TYPE_RC5; |
366 | ir->get_key = get_key_haup_xvr; | 366 | ir->get_key = get_key_haup_xvr; |
367 | if (hauppauge == 1) { | 367 | if (hauppauge == 1) { |
368 | ir_codes = ir_codes_hauppauge_new; | 368 | ir_codes = &ir_codes_hauppauge_new_table; |
369 | } else { | 369 | } else { |
370 | ir_codes = ir_codes_rc5_tv; | 370 | ir_codes = &ir_codes_rc5_tv_table; |
371 | } | 371 | } |
372 | } else { | 372 | } else { |
373 | /* Handled by saa7134-input */ | 373 | /* Handled by saa7134-input */ |
@@ -379,7 +379,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
379 | name = "AVerMedia Cardbus remote"; | 379 | name = "AVerMedia Cardbus remote"; |
380 | ir->get_key = get_key_avermedia_cardbus; | 380 | ir->get_key = get_key_avermedia_cardbus; |
381 | ir_type = IR_TYPE_OTHER; | 381 | ir_type = IR_TYPE_OTHER; |
382 | ir_codes = ir_codes_avermedia_cardbus; | 382 | ir_codes = &ir_codes_avermedia_cardbus_table; |
383 | break; | 383 | break; |
384 | default: | 384 | default: |
385 | dprintk(1, DEVNAME ": Unsupported i2c address 0x%02x\n", addr); | 385 | dprintk(1, DEVNAME ": Unsupported i2c address 0x%02x\n", addr); |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 65fb7b17b678..9070e5fabb4e 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -394,7 +394,7 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
394 | { | 394 | { |
395 | struct card_ir *ir; | 395 | struct card_ir *ir; |
396 | struct input_dev *input_dev; | 396 | struct input_dev *input_dev; |
397 | IR_KEYTAB_TYPE *ir_codes = NULL; | 397 | struct ir_scancode_table *ir_codes = NULL; |
398 | u32 mask_keycode = 0; | 398 | u32 mask_keycode = 0; |
399 | u32 mask_keydown = 0; | 399 | u32 mask_keydown = 0; |
400 | u32 mask_keyup = 0; | 400 | u32 mask_keyup = 0; |
@@ -416,27 +416,27 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
416 | case SAA7134_BOARD_FLYTVPLATINUM_FM: | 416 | case SAA7134_BOARD_FLYTVPLATINUM_FM: |
417 | case SAA7134_BOARD_FLYTVPLATINUM_MINI2: | 417 | case SAA7134_BOARD_FLYTVPLATINUM_MINI2: |
418 | case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM: | 418 | case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM: |
419 | ir_codes = ir_codes_flyvideo; | 419 | ir_codes = &ir_codes_flyvideo_table; |
420 | mask_keycode = 0xEC00000; | 420 | mask_keycode = 0xEC00000; |
421 | mask_keydown = 0x0040000; | 421 | mask_keydown = 0x0040000; |
422 | break; | 422 | break; |
423 | case SAA7134_BOARD_CINERGY400: | 423 | case SAA7134_BOARD_CINERGY400: |
424 | case SAA7134_BOARD_CINERGY600: | 424 | case SAA7134_BOARD_CINERGY600: |
425 | case SAA7134_BOARD_CINERGY600_MK3: | 425 | case SAA7134_BOARD_CINERGY600_MK3: |
426 | ir_codes = ir_codes_cinergy; | 426 | ir_codes = &ir_codes_cinergy_table; |
427 | mask_keycode = 0x00003f; | 427 | mask_keycode = 0x00003f; |
428 | mask_keyup = 0x040000; | 428 | mask_keyup = 0x040000; |
429 | break; | 429 | break; |
430 | case SAA7134_BOARD_ECS_TVP3XP: | 430 | case SAA7134_BOARD_ECS_TVP3XP: |
431 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: | 431 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: |
432 | ir_codes = ir_codes_eztv; | 432 | ir_codes = &ir_codes_eztv_table; |
433 | mask_keycode = 0x00017c; | 433 | mask_keycode = 0x00017c; |
434 | mask_keyup = 0x000002; | 434 | mask_keyup = 0x000002; |
435 | polling = 50; // ms | 435 | polling = 50; // ms |
436 | break; | 436 | break; |
437 | case SAA7134_BOARD_KWORLD_XPERT: | 437 | case SAA7134_BOARD_KWORLD_XPERT: |
438 | case SAA7134_BOARD_AVACSSMARTTV: | 438 | case SAA7134_BOARD_AVACSSMARTTV: |
439 | ir_codes = ir_codes_pixelview; | 439 | ir_codes = &ir_codes_pixelview_table; |
440 | mask_keycode = 0x00001F; | 440 | mask_keycode = 0x00001F; |
441 | mask_keyup = 0x000020; | 441 | mask_keyup = 0x000020; |
442 | polling = 50; // ms | 442 | polling = 50; // ms |
@@ -453,7 +453,7 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
453 | case SAA7134_BOARD_AVERMEDIA_GO_007_FM: | 453 | case SAA7134_BOARD_AVERMEDIA_GO_007_FM: |
454 | case SAA7134_BOARD_AVERMEDIA_M102: | 454 | case SAA7134_BOARD_AVERMEDIA_M102: |
455 | case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS: | 455 | case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS: |
456 | ir_codes = ir_codes_avermedia; | 456 | ir_codes = &ir_codes_avermedia_table; |
457 | mask_keycode = 0x0007C8; | 457 | mask_keycode = 0x0007C8; |
458 | mask_keydown = 0x000010; | 458 | mask_keydown = 0x000010; |
459 | polling = 50; // ms | 459 | polling = 50; // ms |
@@ -462,14 +462,14 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
462 | saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4); | 462 | saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4); |
463 | break; | 463 | break; |
464 | case SAA7134_BOARD_AVERMEDIA_M135A: | 464 | case SAA7134_BOARD_AVERMEDIA_M135A: |
465 | ir_codes = ir_codes_avermedia_m135a; | 465 | ir_codes = &ir_codes_avermedia_m135a_table; |
466 | mask_keydown = 0x0040000; | 466 | mask_keydown = 0x0040000; |
467 | mask_keycode = 0x00013f; | 467 | mask_keycode = 0x00013f; |
468 | nec_gpio = 1; | 468 | nec_gpio = 1; |
469 | break; | 469 | break; |
470 | case SAA7134_BOARD_AVERMEDIA_777: | 470 | case SAA7134_BOARD_AVERMEDIA_777: |
471 | case SAA7134_BOARD_AVERMEDIA_A16AR: | 471 | case SAA7134_BOARD_AVERMEDIA_A16AR: |
472 | ir_codes = ir_codes_avermedia; | 472 | ir_codes = &ir_codes_avermedia_table; |
473 | mask_keycode = 0x02F200; | 473 | mask_keycode = 0x02F200; |
474 | mask_keydown = 0x000400; | 474 | mask_keydown = 0x000400; |
475 | polling = 50; // ms | 475 | polling = 50; // ms |
@@ -478,7 +478,7 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
478 | saa_setb(SAA7134_GPIO_GPSTATUS1, 0x1); | 478 | saa_setb(SAA7134_GPIO_GPSTATUS1, 0x1); |
479 | break; | 479 | break; |
480 | case SAA7134_BOARD_AVERMEDIA_A16D: | 480 | case SAA7134_BOARD_AVERMEDIA_A16D: |
481 | ir_codes = ir_codes_avermedia_a16d; | 481 | ir_codes = &ir_codes_avermedia_a16d_table; |
482 | mask_keycode = 0x02F200; | 482 | mask_keycode = 0x02F200; |
483 | mask_keydown = 0x000400; | 483 | mask_keydown = 0x000400; |
484 | polling = 50; /* ms */ | 484 | polling = 50; /* ms */ |
@@ -487,14 +487,14 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
487 | saa_setb(SAA7134_GPIO_GPSTATUS1, 0x1); | 487 | saa_setb(SAA7134_GPIO_GPSTATUS1, 0x1); |
488 | break; | 488 | break; |
489 | case SAA7134_BOARD_KWORLD_TERMINATOR: | 489 | case SAA7134_BOARD_KWORLD_TERMINATOR: |
490 | ir_codes = ir_codes_pixelview; | 490 | ir_codes = &ir_codes_pixelview_table; |
491 | mask_keycode = 0x00001f; | 491 | mask_keycode = 0x00001f; |
492 | mask_keyup = 0x000060; | 492 | mask_keyup = 0x000060; |
493 | polling = 50; // ms | 493 | polling = 50; // ms |
494 | break; | 494 | break; |
495 | case SAA7134_BOARD_MANLI_MTV001: | 495 | case SAA7134_BOARD_MANLI_MTV001: |
496 | case SAA7134_BOARD_MANLI_MTV002: | 496 | case SAA7134_BOARD_MANLI_MTV002: |
497 | ir_codes = ir_codes_manli; | 497 | ir_codes = &ir_codes_manli_table; |
498 | mask_keycode = 0x001f00; | 498 | mask_keycode = 0x001f00; |
499 | mask_keyup = 0x004000; | 499 | mask_keyup = 0x004000; |
500 | polling = 50; /* ms */ | 500 | polling = 50; /* ms */ |
@@ -513,25 +513,25 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
513 | case SAA7134_BOARD_BEHOLD_507_9FM: | 513 | case SAA7134_BOARD_BEHOLD_507_9FM: |
514 | case SAA7134_BOARD_BEHOLD_507RDS_MK3: | 514 | case SAA7134_BOARD_BEHOLD_507RDS_MK3: |
515 | case SAA7134_BOARD_BEHOLD_507RDS_MK5: | 515 | case SAA7134_BOARD_BEHOLD_507RDS_MK5: |
516 | ir_codes = ir_codes_manli; | 516 | ir_codes = &ir_codes_manli_table; |
517 | mask_keycode = 0x003f00; | 517 | mask_keycode = 0x003f00; |
518 | mask_keyup = 0x004000; | 518 | mask_keyup = 0x004000; |
519 | polling = 50; /* ms */ | 519 | polling = 50; /* ms */ |
520 | break; | 520 | break; |
521 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | 521 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: |
522 | ir_codes = ir_codes_behold_columbus; | 522 | ir_codes = &ir_codes_behold_columbus_table; |
523 | mask_keycode = 0x003f00; | 523 | mask_keycode = 0x003f00; |
524 | mask_keyup = 0x004000; | 524 | mask_keyup = 0x004000; |
525 | polling = 50; // ms | 525 | polling = 50; // ms |
526 | break; | 526 | break; |
527 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: | 527 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: |
528 | ir_codes = ir_codes_pctv_sedna; | 528 | ir_codes = &ir_codes_pctv_sedna_table; |
529 | mask_keycode = 0x001f00; | 529 | mask_keycode = 0x001f00; |
530 | mask_keyup = 0x004000; | 530 | mask_keyup = 0x004000; |
531 | polling = 50; // ms | 531 | polling = 50; // ms |
532 | break; | 532 | break; |
533 | case SAA7134_BOARD_GOTVIEW_7135: | 533 | case SAA7134_BOARD_GOTVIEW_7135: |
534 | ir_codes = ir_codes_gotview7135; | 534 | ir_codes = &ir_codes_gotview7135_table; |
535 | mask_keycode = 0x0003CC; | 535 | mask_keycode = 0x0003CC; |
536 | mask_keydown = 0x000010; | 536 | mask_keydown = 0x000010; |
537 | polling = 5; /* ms */ | 537 | polling = 5; /* ms */ |
@@ -540,75 +540,75 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
540 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: | 540 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: |
541 | case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS: | 541 | case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS: |
542 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: | 542 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: |
543 | ir_codes = ir_codes_videomate_tv_pvr; | 543 | ir_codes = &ir_codes_videomate_tv_pvr_table; |
544 | mask_keycode = 0x00003F; | 544 | mask_keycode = 0x00003F; |
545 | mask_keyup = 0x400000; | 545 | mask_keyup = 0x400000; |
546 | polling = 50; // ms | 546 | polling = 50; // ms |
547 | break; | 547 | break; |
548 | case SAA7134_BOARD_PROTEUS_2309: | 548 | case SAA7134_BOARD_PROTEUS_2309: |
549 | ir_codes = ir_codes_proteus_2309; | 549 | ir_codes = &ir_codes_proteus_2309_table; |
550 | mask_keycode = 0x00007F; | 550 | mask_keycode = 0x00007F; |
551 | mask_keyup = 0x000080; | 551 | mask_keyup = 0x000080; |
552 | polling = 50; // ms | 552 | polling = 50; // ms |
553 | break; | 553 | break; |
554 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: | 554 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: |
555 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: | 555 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: |
556 | ir_codes = ir_codes_videomate_tv_pvr; | 556 | ir_codes = &ir_codes_videomate_tv_pvr_table; |
557 | mask_keycode = 0x003F00; | 557 | mask_keycode = 0x003F00; |
558 | mask_keyup = 0x040000; | 558 | mask_keyup = 0x040000; |
559 | break; | 559 | break; |
560 | case SAA7134_BOARD_FLYDVBS_LR300: | 560 | case SAA7134_BOARD_FLYDVBS_LR300: |
561 | case SAA7134_BOARD_FLYDVBT_LR301: | 561 | case SAA7134_BOARD_FLYDVBT_LR301: |
562 | case SAA7134_BOARD_FLYDVBTDUO: | 562 | case SAA7134_BOARD_FLYDVBTDUO: |
563 | ir_codes = ir_codes_flydvb; | 563 | ir_codes = &ir_codes_flydvb_table; |
564 | mask_keycode = 0x0001F00; | 564 | mask_keycode = 0x0001F00; |
565 | mask_keydown = 0x0040000; | 565 | mask_keydown = 0x0040000; |
566 | break; | 566 | break; |
567 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 567 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
568 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | 568 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: |
569 | case SAA7134_BOARD_ASUSTeK_P7131_ANALOG: | 569 | case SAA7134_BOARD_ASUSTeK_P7131_ANALOG: |
570 | ir_codes = ir_codes_asus_pc39; | 570 | ir_codes = &ir_codes_asus_pc39_table; |
571 | mask_keydown = 0x0040000; | 571 | mask_keydown = 0x0040000; |
572 | rc5_gpio = 1; | 572 | rc5_gpio = 1; |
573 | break; | 573 | break; |
574 | case SAA7134_BOARD_ENCORE_ENLTV: | 574 | case SAA7134_BOARD_ENCORE_ENLTV: |
575 | case SAA7134_BOARD_ENCORE_ENLTV_FM: | 575 | case SAA7134_BOARD_ENCORE_ENLTV_FM: |
576 | ir_codes = ir_codes_encore_enltv; | 576 | ir_codes = &ir_codes_encore_enltv_table; |
577 | mask_keycode = 0x00007f; | 577 | mask_keycode = 0x00007f; |
578 | mask_keyup = 0x040000; | 578 | mask_keyup = 0x040000; |
579 | polling = 50; // ms | 579 | polling = 50; // ms |
580 | break; | 580 | break; |
581 | case SAA7134_BOARD_ENCORE_ENLTV_FM53: | 581 | case SAA7134_BOARD_ENCORE_ENLTV_FM53: |
582 | ir_codes = ir_codes_encore_enltv_fm53; | 582 | ir_codes = &ir_codes_encore_enltv_fm53_table; |
583 | mask_keydown = 0x0040000; | 583 | mask_keydown = 0x0040000; |
584 | mask_keycode = 0x00007f; | 584 | mask_keycode = 0x00007f; |
585 | nec_gpio = 1; | 585 | nec_gpio = 1; |
586 | break; | 586 | break; |
587 | case SAA7134_BOARD_10MOONSTVMASTER3: | 587 | case SAA7134_BOARD_10MOONSTVMASTER3: |
588 | ir_codes = ir_codes_encore_enltv; | 588 | ir_codes = &ir_codes_encore_enltv_table; |
589 | mask_keycode = 0x5f80000; | 589 | mask_keycode = 0x5f80000; |
590 | mask_keyup = 0x8000000; | 590 | mask_keyup = 0x8000000; |
591 | polling = 50; //ms | 591 | polling = 50; //ms |
592 | break; | 592 | break; |
593 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: | 593 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: |
594 | ir_codes = ir_codes_genius_tvgo_a11mce; | 594 | ir_codes = &ir_codes_genius_tvgo_a11mce_table; |
595 | mask_keycode = 0xff; | 595 | mask_keycode = 0xff; |
596 | mask_keydown = 0xf00000; | 596 | mask_keydown = 0xf00000; |
597 | polling = 50; /* ms */ | 597 | polling = 50; /* ms */ |
598 | break; | 598 | break; |
599 | case SAA7134_BOARD_REAL_ANGEL_220: | 599 | case SAA7134_BOARD_REAL_ANGEL_220: |
600 | ir_codes = ir_codes_real_audio_220_32_keys; | 600 | ir_codes = &ir_codes_real_audio_220_32_keys_table; |
601 | mask_keycode = 0x3f00; | 601 | mask_keycode = 0x3f00; |
602 | mask_keyup = 0x4000; | 602 | mask_keyup = 0x4000; |
603 | polling = 50; /* ms */ | 603 | polling = 50; /* ms */ |
604 | break; | 604 | break; |
605 | case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG: | 605 | case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG: |
606 | ir_codes = ir_codes_kworld_plus_tv_analog; | 606 | ir_codes = &ir_codes_kworld_plus_tv_analog_table; |
607 | mask_keycode = 0x7f; | 607 | mask_keycode = 0x7f; |
608 | polling = 40; /* ms */ | 608 | polling = 40; /* ms */ |
609 | break; | 609 | break; |
610 | case SAA7134_BOARD_VIDEOMATE_S350: | 610 | case SAA7134_BOARD_VIDEOMATE_S350: |
611 | ir_codes = ir_codes_videomate_s350; | 611 | ir_codes = &ir_codes_videomate_s350_table; |
612 | mask_keycode = 0x003f00; | 612 | mask_keycode = 0x003f00; |
613 | mask_keydown = 0x040000; | 613 | mask_keydown = 0x040000; |
614 | break; | 614 | break; |
@@ -722,23 +722,23 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
722 | init_data.name = "Pinnacle PCTV"; | 722 | init_data.name = "Pinnacle PCTV"; |
723 | if (pinnacle_remote == 0) { | 723 | if (pinnacle_remote == 0) { |
724 | init_data.get_key = get_key_pinnacle_color; | 724 | init_data.get_key = get_key_pinnacle_color; |
725 | init_data.ir_codes = ir_codes_pinnacle_color; | 725 | init_data.ir_codes = &ir_codes_pinnacle_color_table; |
726 | info.addr = 0x47; | 726 | info.addr = 0x47; |
727 | } else { | 727 | } else { |
728 | init_data.get_key = get_key_pinnacle_grey; | 728 | init_data.get_key = get_key_pinnacle_grey; |
729 | init_data.ir_codes = ir_codes_pinnacle_grey; | 729 | init_data.ir_codes = &ir_codes_pinnacle_grey_table; |
730 | info.addr = 0x47; | 730 | info.addr = 0x47; |
731 | } | 731 | } |
732 | break; | 732 | break; |
733 | case SAA7134_BOARD_UPMOST_PURPLE_TV: | 733 | case SAA7134_BOARD_UPMOST_PURPLE_TV: |
734 | init_data.name = "Purple TV"; | 734 | init_data.name = "Purple TV"; |
735 | init_data.get_key = get_key_purpletv; | 735 | init_data.get_key = get_key_purpletv; |
736 | init_data.ir_codes = ir_codes_purpletv; | 736 | init_data.ir_codes = &ir_codes_purpletv_table; |
737 | break; | 737 | break; |
738 | case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS: | 738 | case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS: |
739 | init_data.name = "MSI TV@nywhere Plus"; | 739 | init_data.name = "MSI TV@nywhere Plus"; |
740 | init_data.get_key = get_key_msi_tvanywhere_plus; | 740 | init_data.get_key = get_key_msi_tvanywhere_plus; |
741 | init_data.ir_codes = ir_codes_msi_tvanywhere_plus; | 741 | init_data.ir_codes = &ir_codes_msi_tvanywhere_plus_table; |
742 | info.addr = 0x30; | 742 | info.addr = 0x30; |
743 | /* MSI TV@nywhere Plus controller doesn't seem to | 743 | /* MSI TV@nywhere Plus controller doesn't seem to |
744 | respond to probes unless we read something from | 744 | respond to probes unless we read something from |
@@ -752,7 +752,7 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
752 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: | 752 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: |
753 | init_data.name = "HVR 1110"; | 753 | init_data.name = "HVR 1110"; |
754 | init_data.get_key = get_key_hvr1110; | 754 | init_data.get_key = get_key_hvr1110; |
755 | init_data.ir_codes = ir_codes_hauppauge_new; | 755 | init_data.ir_codes = &ir_codes_hauppauge_new_table; |
756 | break; | 756 | break; |
757 | case SAA7134_BOARD_BEHOLD_607FM_MK3: | 757 | case SAA7134_BOARD_BEHOLD_607FM_MK3: |
758 | case SAA7134_BOARD_BEHOLD_607FM_MK5: | 758 | case SAA7134_BOARD_BEHOLD_607FM_MK5: |
@@ -769,7 +769,7 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
769 | case SAA7134_BOARD_BEHOLD_X7: | 769 | case SAA7134_BOARD_BEHOLD_X7: |
770 | init_data.name = "BeholdTV"; | 770 | init_data.name = "BeholdTV"; |
771 | init_data.get_key = get_key_beholdm6xx; | 771 | init_data.get_key = get_key_beholdm6xx; |
772 | init_data.ir_codes = ir_codes_behold; | 772 | init_data.ir_codes = &ir_codes_behold_table; |
773 | break; | 773 | break; |
774 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: | 774 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: |
775 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: | 775 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: |