linux/drivers/media/common/ir-keymaps.c
<<
>>
Prefs
   1/*
   2
   3
   4    Keytables for supported remote controls. This file is part of
   5    video4linux.
   6
   7    This program is free software; you can redistribute it and/or modify
   8    it under the terms of the GNU General Public License as published by
   9    the Free Software Foundation; either version 2 of the License, or
  10    (at your option) any later version.
  11
  12    This program is distributed in the hope that it will be useful,
  13    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15    GNU General Public License for more details.
  16
  17    You should have received a copy of the GNU General Public License
  18    along with this program; if not, write to the Free Software
  19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20
  21 */
  22#include <linux/module.h>
  23
  24#include <linux/input.h>
  25#include <media/ir-common.h>
  26
  27/* empty keytable, can be used as placeholder for not-yet created keytables */
  28IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
  29        [ 0x2a ] = KEY_COFFEE,
  30};
  31
  32EXPORT_SYMBOL_GPL(ir_codes_empty);
  33
  34/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
  35IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
  36        /* numeric */
  37        [ 0x00 ] = KEY_0,
  38        [ 0x01 ] = KEY_1,
  39        [ 0x02 ] = KEY_2,
  40        [ 0x03 ] = KEY_3,
  41        [ 0x04 ] = KEY_4,
  42        [ 0x05 ] = KEY_5,
  43        [ 0x06 ] = KEY_6,
  44        [ 0x07 ] = KEY_7,
  45        [ 0x08 ] = KEY_8,
  46        [ 0x09 ] = KEY_9,
  47
  48        [ 0x5c ] = KEY_POWER,     /* power       */
  49        [ 0x20 ] = KEY_F,         /* full screen */
  50        [ 0x0f ] = KEY_BACKSPACE, /* recall      */
  51        [ 0x1b ] = KEY_ENTER,     /* mute        */
  52        [ 0x41 ] = KEY_RECORD,    /* record      */
  53        [ 0x43 ] = KEY_STOP,      /* stop        */
  54        [ 0x16 ] = KEY_S,
  55        [ 0x1a ] = KEY_Q,         /* off         */
  56        [ 0x2e ] = KEY_RED,
  57        [ 0x1f ] = KEY_DOWN,      /* channel -   */
  58        [ 0x1c ] = KEY_UP,        /* channel +   */
  59        [ 0x10 ] = KEY_LEFT,      /* volume -    */
  60        [ 0x1e ] = KEY_RIGHT,     /* volume +    */
  61        [ 0x14 ] = KEY_F1,
  62};
  63
  64EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
  65/* Matt Jesson <dvb@jesson.eclipse.co.uk */
  66IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
  67        [ 0x28 ] = KEY_0,         //'0' / 'enter'
  68        [ 0x22 ] = KEY_1,         //'1'
  69        [ 0x12 ] = KEY_2,         //'2' / 'up arrow'
  70        [ 0x32 ] = KEY_3,         //'3'
  71        [ 0x24 ] = KEY_4,         //'4' / 'left arrow'
  72        [ 0x14 ] = KEY_5,         //'5'
  73        [ 0x34 ] = KEY_6,         //'6' / 'right arrow'
  74        [ 0x26 ] = KEY_7,         //'7'
  75        [ 0x16 ] = KEY_8,         //'8' / 'down arrow'
  76        [ 0x36 ] = KEY_9,         //'9'
  77
  78        [ 0x20 ] = KEY_LIST,        // 'source'
  79        [ 0x10 ] = KEY_TEXT,        // 'teletext'
  80        [ 0x00 ] = KEY_POWER,       // 'power'
  81        [ 0x04 ] = KEY_AUDIO,       // 'audio'
  82        [ 0x06 ] = KEY_ZOOM,        // 'full screen'
  83        [ 0x18 ] = KEY_VIDEO,       // 'display'
  84        [ 0x38 ] = KEY_SEARCH,      // 'loop'
  85        [ 0x08 ] = KEY_INFO,        // 'preview'
  86        [ 0x2a ] = KEY_REWIND,      // 'backward <<'
  87        [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>'
  88        [ 0x3a ] = KEY_RECORD,      // 'capture'
  89        [ 0x0a ] = KEY_MUTE,        // 'mute'
  90        [ 0x2c ] = KEY_RECORD,      // 'record'
  91        [ 0x1c ] = KEY_PAUSE,       // 'pause'
  92        [ 0x3c ] = KEY_STOP,        // 'stop'
  93        [ 0x0c ] = KEY_PLAY,        // 'play'
  94        [ 0x2e ] = KEY_RED,         // 'red'
  95        [ 0x01 ] = KEY_BLUE,        // 'blue' / 'cancel'
  96        [ 0x0e ] = KEY_YELLOW,      // 'yellow' / 'ok'
  97        [ 0x21 ] = KEY_GREEN,       // 'green'
  98        [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -'
  99        [ 0x31 ] = KEY_CHANNELUP,   // 'channel +'
 100        [ 0x1e ] = KEY_VOLUMEDOWN,  // 'volume -'
 101        [ 0x3e ] = KEY_VOLUMEUP,    // 'volume +'
 102};
 103
 104EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
 105
 106/* Attila Kondoros <attila.kondoros@chello.hu> */
 107IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
 108
 109        [ 0x01 ] = KEY_1,
 110        [ 0x02 ] = KEY_2,
 111        [ 0x03 ] = KEY_3,
 112        [ 0x04 ] = KEY_4,
 113        [ 0x05 ] = KEY_5,
 114        [ 0x06 ] = KEY_6,
 115        [ 0x07 ] = KEY_7,
 116        [ 0x08 ] = KEY_8,
 117        [ 0x09 ] = KEY_9,
 118        [ 0x00 ] = KEY_0,
 119        [ 0x17 ] = KEY_LAST,        // +100
 120        [ 0x0a ] = KEY_LIST,        // recall
 121
 122
 123        [ 0x1c ] = KEY_TUNER,       // TV/FM
 124        [ 0x15 ] = KEY_SEARCH,      // scan
 125        [ 0x12 ] = KEY_POWER,       // power
 126        [ 0x1f ] = KEY_VOLUMEDOWN,  // vol up
 127        [ 0x1b ] = KEY_VOLUMEUP,    // vol down
 128        [ 0x1e ] = KEY_CHANNELDOWN, // chn up
 129        [ 0x1a ] = KEY_CHANNELUP,   // chn down
 130
 131        [ 0x11 ] = KEY_VIDEO,       // video
 132        [ 0x0f ] = KEY_ZOOM,        // full screen
 133        [ 0x13 ] = KEY_MUTE,        // mute/unmute
 134        [ 0x10 ] = KEY_TEXT,        // min
 135
 136        [ 0x0d ] = KEY_STOP,        // freeze
 137        [ 0x0e ] = KEY_RECORD,      // record
 138        [ 0x1d ] = KEY_PLAYPAUSE,   // stop
 139        [ 0x19 ] = KEY_PLAY,        // play
 140
 141        [ 0x16 ] = KEY_GOTO,        // osd
 142        [ 0x14 ] = KEY_REFRESH,     // default
 143        [ 0x0c ] = KEY_KPPLUS,      // fine tune >>>>
 144        [ 0x18 ] = KEY_KPMINUS      // fine tune <<<<
 145};
 146
 147EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
 148
 149/* ---------------------------------------------------------------------- */
 150
 151IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
 152
 153        [ 0x1e ] = KEY_POWER,       // power
 154        [ 0x07 ] = KEY_MEDIA,       // source
 155        [ 0x1c ] = KEY_SEARCH,      // scan
 156
 157/* FIXME: duplicate keycodes?
 158 *
 159 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
 160 * The GPIO values are
 161 * 6397fb for both "Scan <" and "CH -",
 162 * 639ffb for "Scan >" and "CH+",
 163 * 6384fb for "Tune <" and "<<<",
 164 * 638cfb for "Tune >" and ">>>", regardless of the mask.
 165 *
 166 *      [ 0x17 ] = KEY_BACK,        // fm scan <<
 167 *      [ 0x1f ] = KEY_FORWARD,     // fm scan >>
 168 *
 169 *      [ 0x04 ] = KEY_LEFT,        // fm tuning <
 170 *      [ 0x0c ] = KEY_RIGHT,       // fm tuning >
 171 *
 172 * For now, these four keys are disabled. Pressing them will generate
 173 * the CH+/CH-/<<</>>> events
 174 */
 175
 176        [ 0x03 ] = KEY_TUNER,       // TV/FM
 177
 178        [ 0x00 ] = KEY_RECORD,
 179        [ 0x08 ] = KEY_STOP,
 180        [ 0x11 ] = KEY_PLAY,
 181
 182        [ 0x1a ] = KEY_PLAYPAUSE,   // freeze
 183        [ 0x19 ] = KEY_ZOOM,        // zoom
 184        [ 0x0f ] = KEY_TEXT,        // min
 185
 186        [ 0x01 ] = KEY_1,
 187        [ 0x0b ] = KEY_2,
 188        [ 0x1b ] = KEY_3,
 189        [ 0x05 ] = KEY_4,
 190        [ 0x09 ] = KEY_5,
 191        [ 0x15 ] = KEY_6,
 192        [ 0x06 ] = KEY_7,
 193        [ 0x0a ] = KEY_8,
 194        [ 0x12 ] = KEY_9,
 195        [ 0x02 ] = KEY_0,
 196        [ 0x10 ] = KEY_LAST,        // +100
 197        [ 0x13 ] = KEY_LIST,        // recall
 198
 199        [ 0x1f ] = KEY_CHANNELUP,   // chn down
 200        [ 0x17 ] = KEY_CHANNELDOWN, // chn up
 201        [ 0x16 ] = KEY_VOLUMEUP,    // vol down
 202        [ 0x14 ] = KEY_VOLUMEDOWN,  // vol up
 203
 204        [ 0x04 ] = KEY_KPMINUS,     // <<<
 205        [ 0x0e ] = KEY_SETUP,       // function
 206        [ 0x0c ] = KEY_KPPLUS,      // >>>
 207
 208        [ 0x0d ] = KEY_GOTO,        // mts
 209        [ 0x1d ] = KEY_REFRESH,     // reset
 210        [ 0x18 ] = KEY_MUTE         // mute/unmute
 211};
 212
 213EXPORT_SYMBOL_GPL(ir_codes_pixelview);
 214
 215IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
 216        [ 0x00 ] = KEY_0,
 217        [ 0x01 ] = KEY_1,
 218        [ 0x02 ] = KEY_2,
 219        [ 0x03 ] = KEY_3,
 220        [ 0x04 ] = KEY_4,
 221        [ 0x05 ] = KEY_5,
 222        [ 0x06 ] = KEY_6,
 223        [ 0x07 ] = KEY_7,
 224        [ 0x08 ] = KEY_8,
 225        [ 0x09 ] = KEY_9,
 226        [ 0x0a ] = KEY_TV,
 227        [ 0x0b ] = KEY_AUX,
 228        [ 0x0c ] = KEY_DVD,
 229        [ 0x0d ] = KEY_POWER,
 230        [ 0x0e ] = KEY_MHP,     /* labelled 'Picture' */
 231        [ 0x0f ] = KEY_AUDIO,
 232        [ 0x10 ] = KEY_INFO,
 233        [ 0x11 ] = KEY_F13,     /* 16:9 */
 234        [ 0x12 ] = KEY_F14,     /* 14:9 */
 235        [ 0x13 ] = KEY_EPG,
 236        [ 0x14 ] = KEY_EXIT,
 237        [ 0x15 ] = KEY_MENU,
 238        [ 0x16 ] = KEY_UP,
 239        [ 0x17 ] = KEY_DOWN,
 240        [ 0x18 ] = KEY_LEFT,
 241        [ 0x19 ] = KEY_RIGHT,
 242        [ 0x1a ] = KEY_ENTER,
 243        [ 0x1b ] = KEY_CHANNELUP,
 244        [ 0x1c ] = KEY_CHANNELDOWN,
 245        [ 0x1d ] = KEY_VOLUMEUP,
 246        [ 0x1e ] = KEY_VOLUMEDOWN,
 247        [ 0x1f ] = KEY_RED,
 248        [ 0x20 ] = KEY_GREEN,
 249        [ 0x21 ] = KEY_YELLOW,
 250        [ 0x22 ] = KEY_BLUE,
 251        [ 0x23 ] = KEY_SUBTITLE,
 252        [ 0x24 ] = KEY_F15,     /* AD */
 253        [ 0x25 ] = KEY_TEXT,
 254        [ 0x26 ] = KEY_MUTE,
 255        [ 0x27 ] = KEY_REWIND,
 256        [ 0x28 ] = KEY_STOP,
 257        [ 0x29 ] = KEY_PLAY,
 258        [ 0x2a ] = KEY_FASTFORWARD,
 259        [ 0x2b ] = KEY_F16,     /* chapter */
 260        [ 0x2c ] = KEY_PAUSE,
 261        [ 0x2d ] = KEY_PLAY,
 262        [ 0x2e ] = KEY_RECORD,
 263        [ 0x2f ] = KEY_F17,     /* picture in picture */
 264        [ 0x30 ] = KEY_KPPLUS,  /* zoom in */
 265        [ 0x31 ] = KEY_KPMINUS, /* zoom out */
 266        [ 0x32 ] = KEY_F18,     /* capture */
 267        [ 0x33 ] = KEY_F19,     /* web */
 268        [ 0x34 ] = KEY_EMAIL,
 269        [ 0x35 ] = KEY_PHONE,
 270        [ 0x36 ] = KEY_PC
 271};
 272
 273EXPORT_SYMBOL_GPL(ir_codes_nebula);
 274
 275/* DigitalNow DNTV Live DVB-T Remote */
 276IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
 277        [ 0x00 ] = KEY_ESC,             /* 'go up a level?' */
 278        /* Keys 0 to 9 */
 279        [ 0x0a ] = KEY_0,
 280        [ 0x01 ] = KEY_1,
 281        [ 0x02 ] = KEY_2,
 282        [ 0x03 ] = KEY_3,
 283        [ 0x04 ] = KEY_4,
 284        [ 0x05 ] = KEY_5,
 285        [ 0x06 ] = KEY_6,
 286        [ 0x07 ] = KEY_7,
 287        [ 0x08 ] = KEY_8,
 288        [ 0x09 ] = KEY_9,
 289
 290        [ 0x0b ] = KEY_TUNER,           /* tv/fm */
 291        [ 0x0c ] = KEY_SEARCH,          /* scan */
 292        [ 0x0d ] = KEY_STOP,
 293        [ 0x0e ] = KEY_PAUSE,
 294        [ 0x0f ] = KEY_LIST,            /* source */
 295
 296        [ 0x10 ] = KEY_MUTE,
 297        [ 0x11 ] = KEY_REWIND,          /* backward << */
 298        [ 0x12 ] = KEY_POWER,
 299        [ 0x13 ] = KEY_S,                       /* snap */
 300        [ 0x14 ] = KEY_AUDIO,           /* stereo */
 301        [ 0x15 ] = KEY_CLEAR,           /* reset */
 302        [ 0x16 ] = KEY_PLAY,
 303        [ 0x17 ] = KEY_ENTER,
 304        [ 0x18 ] = KEY_ZOOM,            /* full screen */
 305        [ 0x19 ] = KEY_FASTFORWARD,     /* forward >> */
 306        [ 0x1a ] = KEY_CHANNELUP,
 307        [ 0x1b ] = KEY_VOLUMEUP,
 308        [ 0x1c ] = KEY_INFO,            /* preview */
 309        [ 0x1d ] = KEY_RECORD,          /* record */
 310        [ 0x1e ] = KEY_CHANNELDOWN,
 311        [ 0x1f ] = KEY_VOLUMEDOWN,
 312};
 313
 314EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
 315
 316/* ---------------------------------------------------------------------- */
 317
 318/* IO-DATA BCTV7E Remote */
 319IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
 320        [ 0x40 ] = KEY_TV,
 321        [ 0x20 ] = KEY_RADIO,           /* FM */
 322        [ 0x60 ] = KEY_EPG,
 323        [ 0x00 ] = KEY_POWER,
 324
 325        /* Keys 0 to 9 */
 326        [ 0x44 ] = KEY_0,               /* 10 */
 327        [ 0x50 ] = KEY_1,
 328        [ 0x30 ] = KEY_2,
 329        [ 0x70 ] = KEY_3,
 330        [ 0x48 ] = KEY_4,
 331        [ 0x28 ] = KEY_5,
 332        [ 0x68 ] = KEY_6,
 333        [ 0x58 ] = KEY_7,
 334        [ 0x38 ] = KEY_8,
 335        [ 0x78 ] = KEY_9,
 336
 337        [ 0x10 ] = KEY_L,                       /* Live */
 338        [ 0x08 ] = KEY_T,                       /* Time Shift */
 339
 340        [ 0x18 ] = KEY_PLAYPAUSE,               /* Play */
 341
 342        [ 0x24 ] = KEY_ENTER,           /* 11 */
 343        [ 0x64 ] = KEY_ESC,             /* 12 */
 344        [ 0x04 ] = KEY_M,                       /* Multi */
 345
 346        [ 0x54 ] = KEY_VIDEO,
 347        [ 0x34 ] = KEY_CHANNELUP,
 348        [ 0x74 ] = KEY_VOLUMEUP,
 349        [ 0x14 ] = KEY_MUTE,
 350
 351        [ 0x4c ] = KEY_S,                       /* SVIDEO */
 352        [ 0x2c ] = KEY_CHANNELDOWN,
 353        [ 0x6c ] = KEY_VOLUMEDOWN,
 354        [ 0x0c ] = KEY_ZOOM,
 355
 356        [ 0x5c ] = KEY_PAUSE,
 357        [ 0x3c ] = KEY_C,                       /* || (red) */
 358        [ 0x7c ] = KEY_RECORD,          /* recording */
 359        [ 0x1c ] = KEY_STOP,
 360
 361        [ 0x41 ] = KEY_REWIND,          /* backward << */
 362        [ 0x21 ] = KEY_PLAY,
 363        [ 0x61 ] = KEY_FASTFORWARD,     /* forward >> */
 364        [ 0x01 ] = KEY_NEXT,            /* skip >| */
 365};
 366
 367EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
 368
 369/* ---------------------------------------------------------------------- */
 370
 371/* ADS Tech Instant TV DVB-T PCI Remote */
 372IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
 373        /* Keys 0 to 9 */
 374        [ 0x4d ] = KEY_0,
 375        [ 0x57 ] = KEY_1,
 376        [ 0x4f ] = KEY_2,
 377        [ 0x53 ] = KEY_3,
 378        [ 0x56 ] = KEY_4,
 379        [ 0x4e ] = KEY_5,
 380        [ 0x5e ] = KEY_6,
 381        [ 0x54 ] = KEY_7,
 382        [ 0x4c ] = KEY_8,
 383        [ 0x5c ] = KEY_9,
 384
 385        [ 0x5b ] = KEY_POWER,
 386        [ 0x5f ] = KEY_MUTE,
 387        [ 0x55 ] = KEY_GOTO,
 388        [ 0x5d ] = KEY_SEARCH,
 389        [ 0x17 ] = KEY_EPG,             /* Guide */
 390        [ 0x1f ] = KEY_MENU,
 391        [ 0x0f ] = KEY_UP,
 392        [ 0x46 ] = KEY_DOWN,
 393        [ 0x16 ] = KEY_LEFT,
 394        [ 0x1e ] = KEY_RIGHT,
 395        [ 0x0e ] = KEY_SELECT,          /* Enter */
 396        [ 0x5a ] = KEY_INFO,
 397        [ 0x52 ] = KEY_EXIT,
 398        [ 0x59 ] = KEY_PREVIOUS,
 399        [ 0x51 ] = KEY_NEXT,
 400        [ 0x58 ] = KEY_REWIND,
 401        [ 0x50 ] = KEY_FORWARD,
 402        [ 0x44 ] = KEY_PLAYPAUSE,
 403        [ 0x07 ] = KEY_STOP,
 404        [ 0x1b ] = KEY_RECORD,
 405        [ 0x13 ] = KEY_TUNER,           /* Live */
 406        [ 0x0a ] = KEY_A,
 407        [ 0x12 ] = KEY_B,
 408        [ 0x03 ] = KEY_PROG1,           /* 1 */
 409        [ 0x01 ] = KEY_PROG2,           /* 2 */
 410        [ 0x00 ] = KEY_PROG3,           /* 3 */
 411        [ 0x06 ] = KEY_DVD,
 412        [ 0x48 ] = KEY_AUX,             /* Photo */
 413        [ 0x40 ] = KEY_VIDEO,
 414        [ 0x19 ] = KEY_AUDIO,           /* Music */
 415        [ 0x0b ] = KEY_CHANNELUP,
 416        [ 0x08 ] = KEY_CHANNELDOWN,
 417        [ 0x15 ] = KEY_VOLUMEUP,
 418        [ 0x1c ] = KEY_VOLUMEDOWN,
 419};
 420
 421EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
 422
 423/* ---------------------------------------------------------------------- */
 424
 425/* MSI TV@nywhere remote */
 426IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
 427        /* Keys 0 to 9 */
 428        [ 0x00 ] = KEY_0,
 429        [ 0x01 ] = KEY_1,
 430        [ 0x02 ] = KEY_2,
 431        [ 0x03 ] = KEY_3,
 432        [ 0x04 ] = KEY_4,
 433        [ 0x05 ] = KEY_5,
 434        [ 0x06 ] = KEY_6,
 435        [ 0x07 ] = KEY_7,
 436        [ 0x08 ] = KEY_8,
 437        [ 0x09 ] = KEY_9,
 438
 439        [ 0x0c ] = KEY_MUTE,
 440        [ 0x0f ] = KEY_SCREEN,          /* Full Screen */
 441        [ 0x10 ] = KEY_F,                       /* Funtion */
 442        [ 0x11 ] = KEY_T,                       /* Time shift */
 443        [ 0x12 ] = KEY_POWER,
 444        [ 0x13 ] = KEY_MEDIA,           /* MTS */
 445        [ 0x14 ] = KEY_SLOW,
 446        [ 0x16 ] = KEY_REWIND,          /* backward << */
 447        [ 0x17 ] = KEY_ENTER,           /* Return */
 448        [ 0x18 ] = KEY_FASTFORWARD,     /* forward >> */
 449        [ 0x1a ] = KEY_CHANNELUP,
 450        [ 0x1b ] = KEY_VOLUMEUP,
 451        [ 0x1e ] = KEY_CHANNELDOWN,
 452        [ 0x1f ] = KEY_VOLUMEDOWN,
 453};
 454
 455EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
 456
 457/* ---------------------------------------------------------------------- */
 458
 459/* Cinergy 1400 DVB-T */
 460IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
 461        [ 0x01 ] = KEY_POWER,
 462        [ 0x02 ] = KEY_1,
 463        [ 0x03 ] = KEY_2,
 464        [ 0x04 ] = KEY_3,
 465        [ 0x05 ] = KEY_4,
 466        [ 0x06 ] = KEY_5,
 467        [ 0x07 ] = KEY_6,
 468        [ 0x08 ] = KEY_7,
 469        [ 0x09 ] = KEY_8,
 470        [ 0x0a ] = KEY_9,
 471        [ 0x0c ] = KEY_0,
 472
 473        [ 0x0b ] = KEY_VIDEO,
 474        [ 0x0d ] = KEY_REFRESH,
 475        [ 0x0e ] = KEY_SELECT,
 476        [ 0x0f ] = KEY_EPG,
 477        [ 0x10 ] = KEY_UP,
 478        [ 0x11 ] = KEY_LEFT,
 479        [ 0x12 ] = KEY_OK,
 480        [ 0x13 ] = KEY_RIGHT,
 481        [ 0x14 ] = KEY_DOWN,
 482        [ 0x15 ] = KEY_TEXT,
 483        [ 0x16 ] = KEY_INFO,
 484
 485        [ 0x17 ] = KEY_RED,
 486        [ 0x18 ] = KEY_GREEN,
 487        [ 0x19 ] = KEY_YELLOW,
 488        [ 0x1a ] = KEY_BLUE,
 489
 490        [ 0x1b ] = KEY_CHANNELUP,
 491        [ 0x1c ] = KEY_VOLUMEUP,
 492        [ 0x1d ] = KEY_MUTE,
 493        [ 0x1e ] = KEY_VOLUMEDOWN,
 494        [ 0x1f ] = KEY_CHANNELDOWN,
 495
 496        [ 0x40 ] = KEY_PAUSE,
 497        [ 0x4c ] = KEY_PLAY,
 498        [ 0x58 ] = KEY_RECORD,
 499        [ 0x54 ] = KEY_PREVIOUS,
 500        [ 0x48 ] = KEY_STOP,
 501        [ 0x5c ] = KEY_NEXT,
 502};
 503
 504EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
 505
 506/* ---------------------------------------------------------------------- */
 507
 508/* AVERTV STUDIO 303 Remote */
 509IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
 510        [ 0x2a ] = KEY_1,
 511        [ 0x32 ] = KEY_2,
 512        [ 0x3a ] = KEY_3,
 513        [ 0x4a ] = KEY_4,
 514        [ 0x52 ] = KEY_5,
 515        [ 0x5a ] = KEY_6,
 516        [ 0x6a ] = KEY_7,
 517        [ 0x72 ] = KEY_8,
 518        [ 0x7a ] = KEY_9,
 519        [ 0x0e ] = KEY_0,
 520
 521        [ 0x02 ] = KEY_POWER,
 522        [ 0x22 ] = KEY_VIDEO,
 523        [ 0x42 ] = KEY_AUDIO,
 524        [ 0x62 ] = KEY_ZOOM,
 525        [ 0x0a ] = KEY_TV,
 526        [ 0x12 ] = KEY_CD,
 527        [ 0x1a ] = KEY_TEXT,
 528
 529        [ 0x16 ] = KEY_SUBTITLE,
 530        [ 0x1e ] = KEY_REWIND,
 531        [ 0x06 ] = KEY_PRINT,
 532
 533        [ 0x2e ] = KEY_SEARCH,
 534        [ 0x36 ] = KEY_SLEEP,
 535        [ 0x3e ] = KEY_SHUFFLE,
 536        [ 0x26 ] = KEY_MUTE,
 537
 538        [ 0x4e ] = KEY_RECORD,
 539        [ 0x56 ] = KEY_PAUSE,
 540        [ 0x5e ] = KEY_STOP,
 541        [ 0x46 ] = KEY_PLAY,
 542
 543        [ 0x6e ] = KEY_RED,
 544        [ 0x0b ] = KEY_GREEN,
 545        [ 0x66 ] = KEY_YELLOW,
 546        [ 0x03 ] = KEY_BLUE,
 547
 548        [ 0x76 ] = KEY_LEFT,
 549        [ 0x7e ] = KEY_RIGHT,
 550        [ 0x13 ] = KEY_DOWN,
 551        [ 0x1b ] = KEY_UP,
 552};
 553
 554EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
 555
 556/* ---------------------------------------------------------------------- */
 557
 558/* DigitalNow DNTV Live! DVB-T Pro Remote */
 559IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
 560        [ 0x16 ] = KEY_POWER,
 561        [ 0x5b ] = KEY_HOME,
 562
 563        [ 0x55 ] = KEY_TV,              /* live tv */
 564        [ 0x58 ] = KEY_TUNER,           /* digital Radio */
 565        [ 0x5a ] = KEY_RADIO,           /* FM radio */
 566        [ 0x59 ] = KEY_DVD,             /* dvd menu */
 567        [ 0x03 ] = KEY_1,
 568        [ 0x01 ] = KEY_2,
 569        [ 0x06 ] = KEY_3,
 570        [ 0x09 ] = KEY_4,
 571        [ 0x1d ] = KEY_5,
 572        [ 0x1f ] = KEY_6,
 573        [ 0x0d ] = KEY_7,
 574        [ 0x19 ] = KEY_8,
 575        [ 0x1b ] = KEY_9,
 576        [ 0x0c ] = KEY_CANCEL,
 577        [ 0x15 ] = KEY_0,
 578        [ 0x4a ] = KEY_CLEAR,
 579        [ 0x13 ] = KEY_BACK,
 580        [ 0x00 ] = KEY_TAB,
 581        [ 0x4b ] = KEY_UP,
 582        [ 0x4e ] = KEY_LEFT,
 583        [ 0x4f ] = KEY_OK,
 584        [ 0x52 ] = KEY_RIGHT,
 585        [ 0x51 ] = KEY_DOWN,
 586        [ 0x1e ] = KEY_VOLUMEUP,
 587        [ 0x0a ] = KEY_VOLUMEDOWN,
 588        [ 0x02 ] = KEY_CHANNELDOWN,
 589        [ 0x05 ] = KEY_CHANNELUP,
 590        [ 0x11 ] = KEY_RECORD,
 591        [ 0x14 ] = KEY_PLAY,
 592        [ 0x4c ] = KEY_PAUSE,
 593        [ 0x1a ] = KEY_STOP,
 594        [ 0x40 ] = KEY_REWIND,
 595        [ 0x12 ] = KEY_FASTFORWARD,
 596        [ 0x41 ] = KEY_PREVIOUSSONG,    /* replay |< */
 597        [ 0x42 ] = KEY_NEXTSONG,        /* skip >| */
 598        [ 0x54 ] = KEY_CAMERA,          /* capture */
 599        [ 0x50 ] = KEY_LANGUAGE,        /* sap */
 600        [ 0x47 ] = KEY_TV2,             /* pip */
 601        [ 0x4d ] = KEY_SCREEN,
 602        [ 0x43 ] = KEY_SUBTITLE,
 603        [ 0x10 ] = KEY_MUTE,
 604        [ 0x49 ] = KEY_AUDIO,           /* l/r */
 605        [ 0x07 ] = KEY_SLEEP,
 606        [ 0x08 ] = KEY_VIDEO,           /* a/v */
 607        [ 0x0e ] = KEY_PREVIOUS,        /* recall */
 608        [ 0x45 ] = KEY_ZOOM,            /* zoom + */
 609        [ 0x46 ] = KEY_ANGLE,           /* zoom - */
 610        [ 0x56 ] = KEY_RED,
 611        [ 0x57 ] = KEY_GREEN,
 612        [ 0x5c ] = KEY_YELLOW,
 613        [ 0x5d ] = KEY_BLUE,
 614};
 615
 616EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
 617
 618IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
 619        [ 0x01 ] = KEY_CHANNEL,
 620        [ 0x02 ] = KEY_SELECT,
 621        [ 0x03 ] = KEY_MUTE,
 622        [ 0x04 ] = KEY_POWER,
 623        [ 0x05 ] = KEY_1,
 624        [ 0x06 ] = KEY_2,
 625        [ 0x07 ] = KEY_3,
 626        [ 0x08 ] = KEY_CHANNELUP,
 627        [ 0x09 ] = KEY_4,
 628        [ 0x0a ] = KEY_5,
 629        [ 0x0b ] = KEY_6,
 630        [ 0x0c ] = KEY_CHANNELDOWN,
 631        [ 0x0d ] = KEY_7,
 632        [ 0x0e ] = KEY_8,
 633        [ 0x0f ] = KEY_9,
 634        [ 0x10 ] = KEY_VOLUMEUP,
 635        [ 0x11 ] = KEY_0,
 636        [ 0x12 ] = KEY_MENU,
 637        [ 0x13 ] = KEY_PRINT,
 638        [ 0x14 ] = KEY_VOLUMEDOWN,
 639        [ 0x16 ] = KEY_PAUSE,
 640        [ 0x18 ] = KEY_RECORD,
 641        [ 0x19 ] = KEY_REWIND,
 642        [ 0x1a ] = KEY_PLAY,
 643        [ 0x1b ] = KEY_FORWARD,
 644        [ 0x1c ] = KEY_BACKSPACE,
 645        [ 0x1e ] = KEY_STOP,
 646        [ 0x40 ] = KEY_ZOOM,
 647};
 648
 649EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
 650
 651IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
 652        [ 0x3a ] = KEY_0,
 653        [ 0x31 ] = KEY_1,
 654        [ 0x32 ] = KEY_2,
 655        [ 0x33 ] = KEY_3,
 656        [ 0x34 ] = KEY_4,
 657        [ 0x35 ] = KEY_5,
 658        [ 0x36 ] = KEY_6,
 659        [ 0x37 ] = KEY_7,
 660        [ 0x38 ] = KEY_8,
 661        [ 0x39 ] = KEY_9,
 662
 663        [ 0x2f ] = KEY_POWER,
 664
 665        [ 0x2e ] = KEY_P,
 666        [ 0x1f ] = KEY_L,
 667        [ 0x2b ] = KEY_I,
 668
 669        [ 0x2d ] = KEY_SCREEN,
 670        [ 0x1e ] = KEY_ZOOM,
 671        [ 0x1b ] = KEY_VOLUMEUP,
 672        [ 0x0f ] = KEY_VOLUMEDOWN,
 673        [ 0x17 ] = KEY_CHANNELUP,
 674        [ 0x1c ] = KEY_CHANNELDOWN,
 675        [ 0x25 ] = KEY_INFO,
 676
 677        [ 0x3c ] = KEY_MUTE,
 678
 679        [ 0x3d ] = KEY_LEFT,
 680        [ 0x3b ] = KEY_RIGHT,
 681
 682        [ 0x3f ] = KEY_UP,
 683        [ 0x3e ] = KEY_DOWN,
 684        [ 0x1a ] = KEY_ENTER,
 685
 686        [ 0x1d ] = KEY_MENU,
 687        [ 0x19 ] = KEY_AGAIN,
 688        [ 0x16 ] = KEY_PREVIOUSSONG,
 689        [ 0x13 ] = KEY_NEXTSONG,
 690        [ 0x15 ] = KEY_PAUSE,
 691        [ 0x0e ] = KEY_REWIND,
 692        [ 0x0d ] = KEY_PLAY,
 693        [ 0x0b ] = KEY_STOP,
 694        [ 0x07 ] = KEY_FORWARD,
 695        [ 0x27 ] = KEY_RECORD,
 696        [ 0x26 ] = KEY_TUNER,
 697        [ 0x29 ] = KEY_TEXT,
 698        [ 0x2a ] = KEY_MEDIA,
 699        [ 0x18 ] = KEY_EPG,
 700};
 701
 702EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
 703
 704IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
 705        [ 0x0f ] = KEY_0,
 706        [ 0x03 ] = KEY_1,
 707        [ 0x04 ] = KEY_2,
 708        [ 0x05 ] = KEY_3,
 709        [ 0x07 ] = KEY_4,
 710        [ 0x08 ] = KEY_5,
 711        [ 0x09 ] = KEY_6,
 712        [ 0x0b ] = KEY_7,
 713        [ 0x0c ] = KEY_8,
 714        [ 0x0d ] = KEY_9,
 715
 716        [ 0x0e ] = KEY_MODE,         // Air/Cable
 717        [ 0x11 ] = KEY_VIDEO,        // Video
 718        [ 0x15 ] = KEY_AUDIO,        // Audio
 719        [ 0x00 ] = KEY_POWER,        // Power
 720        [ 0x18 ] = KEY_TUNER,        // AV Source
 721        [ 0x02 ] = KEY_ZOOM,         // Fullscreen
 722        [ 0x1a ] = KEY_LANGUAGE,     // Stereo
 723        [ 0x1b ] = KEY_MUTE,         // Mute
 724        [ 0x14 ] = KEY_VOLUMEUP,     // Volume +
 725        [ 0x17 ] = KEY_VOLUMEDOWN,   // Volume -
 726        [ 0x12 ] = KEY_CHANNELUP,    // Channel +
 727        [ 0x13 ] = KEY_CHANNELDOWN,  // Channel -
 728        [ 0x06 ] = KEY_AGAIN,        // Recall
 729        [ 0x10 ] = KEY_ENTER,      // Enter
 730};
 731
 732EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
 733
 734IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
 735        [ 0x01 ] = KEY_ZOOM,            // Full Screen
 736        [ 0x00 ] = KEY_POWER,           // Power
 737
 738        [ 0x03 ] = KEY_1,
 739        [ 0x04 ] = KEY_2,
 740        [ 0x05 ] = KEY_3,
 741        [ 0x07 ] = KEY_4,
 742        [ 0x08 ] = KEY_5,
 743        [ 0x09 ] = KEY_6,
 744        [ 0x0b ] = KEY_7,
 745        [ 0x0c ] = KEY_8,
 746        [ 0x0d ] = KEY_9,
 747        [ 0x06 ] = KEY_AGAIN,           // Recall
 748        [ 0x0f ] = KEY_0,
 749        [ 0x10 ] = KEY_MUTE,            // Mute
 750        [ 0x02 ] = KEY_RADIO,           // TV/Radio
 751        [ 0x1b ] = KEY_LANGUAGE,                // SAP (Second Audio Program)
 752
 753        [ 0x14 ] = KEY_VOLUMEUP,                // VOL+
 754        [ 0x17 ] = KEY_VOLUMEDOWN,      // VOL-
 755        [ 0x12 ] = KEY_CHANNELUP,               // CH+
 756        [ 0x13 ] = KEY_CHANNELDOWN,     // CH-
 757        [ 0x1d ] = KEY_ENTER,           // Enter
 758
 759        [ 0x1a ] = KEY_MODE,            // PIP
 760        [ 0x18 ] = KEY_TUNER,           // Source
 761
 762        [ 0x1e ] = KEY_RECORD,          // Record/Pause
 763        [ 0x15 ] = KEY_ANGLE,           // Swap (no label on key)
 764        [ 0x1c ] = KEY_PAUSE,           // Timeshift/Pause
 765        [ 0x19 ] = KEY_BACK,            // Rewind <<
 766        [ 0x0a ] = KEY_PLAYPAUSE,               // Play/Pause
 767        [ 0x1f ] = KEY_FORWARD,         // Forward >>
 768        [ 0x16 ] = KEY_PREVIOUS,                // Back |<<
 769        [ 0x11 ] = KEY_STOP,            // Stop
 770        [ 0x0e ] = KEY_NEXT,            // End >>|
 771};
 772
 773EXPORT_SYMBOL_GPL(ir_codes_flydvb);
 774
 775IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
 776        [ 0x00 ] = KEY_0,
 777        [ 0x01 ] = KEY_1,
 778        [ 0x02 ] = KEY_2,
 779        [ 0x03 ] = KEY_3,
 780        [ 0x04 ] = KEY_4,
 781        [ 0x05 ] = KEY_5,
 782        [ 0x06 ] = KEY_6,
 783        [ 0x07 ] = KEY_7,
 784        [ 0x08 ] = KEY_8,
 785        [ 0x09 ] = KEY_9,
 786
 787        [ 0x0a ] = KEY_POWER,
 788        [ 0x0b ] = KEY_PROG1,           // app
 789        [ 0x0c ] = KEY_ZOOM,            // zoom/fullscreen
 790        [ 0x0d ] = KEY_CHANNELUP,       // channel
 791        [ 0x0e ] = KEY_CHANNELDOWN,     // channel-
 792        [ 0x0f ] = KEY_VOLUMEUP,
 793        [ 0x10 ] = KEY_VOLUMEDOWN,
 794        [ 0x11 ] = KEY_TUNER,           // AV
 795        [ 0x12 ] = KEY_NUMLOCK,         // -/--
 796        [ 0x13 ] = KEY_AUDIO,           // audio
 797        [ 0x14 ] = KEY_MUTE,
 798        [ 0x15 ] = KEY_UP,
 799        [ 0x16 ] = KEY_DOWN,
 800        [ 0x17 ] = KEY_LEFT,
 801        [ 0x18 ] = KEY_RIGHT,
 802        [ 0x19 ] = BTN_LEFT,
 803        [ 0x1a ] = BTN_RIGHT,
 804        [ 0x1b ] = KEY_WWW,             // text
 805        [ 0x1c ] = KEY_REWIND,
 806        [ 0x1d ] = KEY_FORWARD,
 807        [ 0x1e ] = KEY_RECORD,
 808        [ 0x1f ] = KEY_PLAY,
 809        [ 0x20 ] = KEY_PREVIOUSSONG,
 810        [ 0x21 ] = KEY_NEXTSONG,
 811        [ 0x22 ] = KEY_PAUSE,
 812        [ 0x23 ] = KEY_STOP,
 813};
 814
 815EXPORT_SYMBOL_GPL(ir_codes_cinergy);
 816
 817/* Alfons Geser <a.geser@cox.net>
 818 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
 819IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
 820        [ 0x12 ] = KEY_POWER,
 821        [ 0x01 ] = KEY_TV,             // DVR
 822        [ 0x15 ] = KEY_DVD,            // DVD
 823        [ 0x17 ] = KEY_AUDIO,          // music
 824                                     // DVR mode / DVD mode / music mode
 825
 826        [ 0x1b ] = KEY_MUTE,           // mute
 827        [ 0x02 ] = KEY_LANGUAGE,       // MTS/SAP / audio / autoseek
 828        [ 0x1e ] = KEY_SUBTITLE,       // closed captioning / subtitle / seek
 829        [ 0x16 ] = KEY_ZOOM,           // full screen
 830        [ 0x1c ] = KEY_VIDEO,          // video source / eject / delall
 831        [ 0x1d ] = KEY_RESTART,        // playback / angle / del
 832        [ 0x2f ] = KEY_SEARCH,         // scan / menu / playlist
 833        [ 0x30 ] = KEY_CHANNEL,        // CH surfing / bookmark / memo
 834
 835        [ 0x31 ] = KEY_HELP,           // help
 836        [ 0x32 ] = KEY_MODE,           // num/memo
 837        [ 0x33 ] = KEY_ESC,            // cancel
 838
 839        [ 0x0c ] = KEY_UP,             // up
 840        [ 0x10 ] = KEY_DOWN,           // down
 841        [ 0x08 ] = KEY_LEFT,           // left
 842        [ 0x04 ] = KEY_RIGHT,          // right
 843        [ 0x03 ] = KEY_SELECT,         // select
 844
 845        [ 0x1f ] = KEY_REWIND,         // rewind
 846        [ 0x20 ] = KEY_PLAYPAUSE,      // play/pause
 847        [ 0x29 ] = KEY_FORWARD,        // forward
 848        [ 0x14 ] = KEY_AGAIN,          // repeat
 849        [ 0x2b ] = KEY_RECORD,         // recording
 850        [ 0x2c ] = KEY_STOP,           // stop
 851        [ 0x2d ] = KEY_PLAY,           // play
 852        [ 0x2e ] = KEY_SHUFFLE,        // snapshot / shuffle
 853
 854        [ 0x00 ] = KEY_0,
 855        [ 0x05 ] = KEY_1,
 856        [ 0x06 ] = KEY_2,
 857        [ 0x07 ] = KEY_3,
 858        [ 0x09 ] = KEY_4,
 859        [ 0x0a ] = KEY_5,
 860        [ 0x0b ] = KEY_6,
 861        [ 0x0d ] = KEY_7,
 862        [ 0x0e ] = KEY_8,
 863        [ 0x0f ] = KEY_9,
 864
 865        [ 0x2a ] = KEY_VOLUMEUP,
 866        [ 0x11 ] = KEY_VOLUMEDOWN,
 867        [ 0x18 ] = KEY_CHANNELUP,      // CH.tracking up
 868        [ 0x19 ] = KEY_CHANNELDOWN,    // CH.tracking down
 869
 870        [ 0x13 ] = KEY_ENTER,        // enter
 871        [ 0x21 ] = KEY_DOT,          // . (decimal dot)
 872};
 873
 874EXPORT_SYMBOL_GPL(ir_codes_eztv);
 875
 876/* Alex Hermann <gaaf@gmx.net> */
 877IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
 878        [ 0x28 ] = KEY_1,
 879        [ 0x18 ] = KEY_2,
 880        [ 0x38 ] = KEY_3,
 881        [ 0x24 ] = KEY_4,
 882        [ 0x14 ] = KEY_5,
 883        [ 0x34 ] = KEY_6,
 884        [ 0x2c ] = KEY_7,
 885        [ 0x1c ] = KEY_8,
 886        [ 0x3c ] = KEY_9,
 887        [ 0x22 ] = KEY_0,
 888
 889        [ 0x20 ] = KEY_TV,              /* TV/FM */
 890        [ 0x10 ] = KEY_CD,              /* CD */
 891        [ 0x30 ] = KEY_TEXT,            /* TELETEXT */
 892        [ 0x00 ] = KEY_POWER,           /* POWER */
 893
 894        [ 0x08 ] = KEY_VIDEO,           /* VIDEO */
 895        [ 0x04 ] = KEY_AUDIO,           /* AUDIO */
 896        [ 0x0c ] = KEY_ZOOM,            /* FULL SCREEN */
 897
 898        [ 0x12 ] = KEY_SUBTITLE,        /* DISPLAY */
 899        [ 0x32 ] = KEY_REWIND,          /* LOOP */
 900        [ 0x02 ] = KEY_PRINT,           /* PREVIEW */
 901
 902        [ 0x2a ] = KEY_SEARCH,          /* AUTOSCAN */
 903        [ 0x1a ] = KEY_SLEEP,           /* FREEZE */
 904        [ 0x3a ] = KEY_SHUFFLE,         /* SNAPSHOT */
 905        [ 0x0a ] = KEY_MUTE,            /* MUTE */
 906
 907        [ 0x26 ] = KEY_RECORD,          /* RECORD */
 908        [ 0x16 ] = KEY_PAUSE,           /* PAUSE */
 909        [ 0x36 ] = KEY_STOP,            /* STOP */
 910        [ 0x06 ] = KEY_PLAY,            /* PLAY */
 911
 912        [ 0x2e ] = KEY_RED,             /* RED */
 913        [ 0x21 ] = KEY_GREEN,           /* GREEN */
 914        [ 0x0e ] = KEY_YELLOW,          /* YELLOW */
 915        [ 0x01 ] = KEY_BLUE,            /* BLUE */
 916
 917        [ 0x1e ] = KEY_VOLUMEDOWN,      /* VOLUME- */
 918        [ 0x3e ] = KEY_VOLUMEUP,        /* VOLUME+ */
 919        [ 0x11 ] = KEY_CHANNELDOWN,     /* CHANNEL/PAGE- */
 920        [ 0x31 ] = KEY_CHANNELUP        /* CHANNEL/PAGE+ */
 921};
 922
 923EXPORT_SYMBOL_GPL(ir_codes_avermedia);
 924
 925IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
 926        [ 0x14 ] = KEY_MUTE,
 927        [ 0x24 ] = KEY_ZOOM,
 928
 929        [ 0x01 ] = KEY_DVD,
 930        [ 0x23 ] = KEY_RADIO,
 931        [ 0x00 ] = KEY_TV,
 932
 933        [ 0x0a ] = KEY_REWIND,
 934        [ 0x08 ] = KEY_PLAYPAUSE,
 935        [ 0x0f ] = KEY_FORWARD,
 936
 937        [ 0x02 ] = KEY_PREVIOUS,
 938        [ 0x07 ] = KEY_STOP,
 939        [ 0x06 ] = KEY_NEXT,
 940
 941        [ 0x0c ] = KEY_UP,
 942        [ 0x0e ] = KEY_DOWN,
 943        [ 0x0b ] = KEY_LEFT,
 944        [ 0x0d ] = KEY_RIGHT,
 945        [ 0x11 ] = KEY_OK,
 946
 947        [ 0x03 ] = KEY_MENU,
 948        [ 0x09 ] = KEY_SETUP,
 949        [ 0x05 ] = KEY_VIDEO,
 950        [ 0x22 ] = KEY_CHANNEL,
 951
 952        [ 0x12 ] = KEY_VOLUMEUP,
 953        [ 0x15 ] = KEY_VOLUMEDOWN,
 954        [ 0x10 ] = KEY_CHANNELUP,
 955        [ 0x13 ] = KEY_CHANNELDOWN,
 956
 957        [ 0x04 ] = KEY_RECORD,
 958
 959        [ 0x16 ] = KEY_1,
 960        [ 0x17 ] = KEY_2,
 961        [ 0x18 ] = KEY_3,
 962        [ 0x19 ] = KEY_4,
 963        [ 0x1a ] = KEY_5,
 964        [ 0x1b ] = KEY_6,
 965        [ 0x1c ] = KEY_7,
 966        [ 0x1d ] = KEY_8,
 967        [ 0x1e ] = KEY_9,
 968        [ 0x1f ] = KEY_0,
 969
 970        [ 0x20 ] = KEY_LANGUAGE,
 971        [ 0x21 ] = KEY_SLEEP,
 972};
 973
 974EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
 975
 976/* Michael Tokarev <mjt@tls.msk.ru>
 977   http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
 978   keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
 979   least, and probably other cards too.
 980   The "ascii-art picture" below (in comments, first row
 981   is the keycode in hex, and subsequent row(s) shows
 982   the button labels (several variants when appropriate)
 983   helps to descide which keycodes to assign to the buttons.
 984 */
 985IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
 986
 987        /*  0x1c            0x12  *
 988         * FUNCTION         POWER *
 989         *   FM              (|)  *
 990         *                        */
 991        [ 0x1c ] = KEY_RADIO,   /*XXX*/
 992        [ 0x12 ] = KEY_POWER,
 993
 994        /*  0x01    0x02    0x03  *
 995         *   1       2       3    *
 996         *                        *
 997         *  0x04    0x05    0x06  *
 998         *   4       5       6    *
 999         *                        *
1000         *  0x07    0x08    0x09  *
1001         *   7       8       9    *
1002         *                        */
1003        [ 0x01 ] = KEY_1,
1004        [ 0x02 ] = KEY_2,
1005        [ 0x03 ] = KEY_3,
1006        [ 0x04 ] = KEY_4,
1007        [ 0x05 ] = KEY_5,
1008        [ 0x06 ] = KEY_6,
1009        [ 0x07 ] = KEY_7,
1010        [ 0x08 ] = KEY_8,
1011        [ 0x09 ] = KEY_9,
1012
1013        /*  0x0a    0x00    0x17  *
1014         * RECALL    0      +100  *
1015         *                  PLUS  *
1016         *                        */
1017        [ 0x0a ] = KEY_AGAIN,   /*XXX KEY_REWIND? */
1018        [ 0x00 ] = KEY_0,
1019        [ 0x17 ] = KEY_DIGITS,  /*XXX*/
1020
1021        /*  0x14            0x10  *
1022         *  MENU            INFO  *
1023         *  OSD                   */
1024        [ 0x14 ] = KEY_MENU,
1025        [ 0x10 ] = KEY_INFO,
1026
1027        /*          0x0b          *
1028         *           Up           *
1029         *                        *
1030         *  0x18    0x16    0x0c  *
1031         *  Left     Ok     Right *
1032         *                        *
1033         *         0x015          *
1034         *         Down           *
1035         *                        */
1036        [ 0x0b ] = KEY_UP,      /*XXX KEY_SCROLLUP? */
1037        [ 0x18 ] = KEY_LEFT,    /*XXX KEY_BACK? */
1038        [ 0x16 ] = KEY_OK,      /*XXX KEY_SELECT? KEY_ENTER? */
1039        [ 0x0c ] = KEY_RIGHT,   /*XXX KEY_FORWARD? */
1040        [ 0x15 ] = KEY_DOWN,    /*XXX KEY_SCROLLDOWN? */
1041
1042        /*  0x11            0x0d  *
1043         *  TV/AV           MODE  *
1044         *  SOURCE         STEREO *
1045         *                        */
1046        [ 0x11 ] = KEY_TV,      /*XXX*/
1047        [ 0x0d ] = KEY_MODE,    /*XXX there's no KEY_STEREO */
1048
1049        /*  0x0f    0x1b    0x1a  *
1050         *  AUDIO   Vol+    Chan+ *
1051         *        TIMESHIFT???    *
1052         *                        *
1053         *  0x0e    0x1f    0x1e  *
1054         *  SLEEP   Vol-    Chan- *
1055         *                        */
1056        [ 0x0f ] = KEY_AUDIO,
1057        [ 0x1b ] = KEY_VOLUMEUP,
1058        [ 0x1a ] = KEY_CHANNELUP,
1059        [ 0x0e ] = KEY_SLEEP,   /*XXX maybe KEY_PAUSE */
1060        [ 0x1f ] = KEY_VOLUMEDOWN,
1061        [ 0x1e ] = KEY_CHANNELDOWN,
1062
1063        /*         0x13     0x19  *
1064         *         MUTE   SNAPSHOT*
1065         *                        */
1066        [ 0x13 ] = KEY_MUTE,
1067        [ 0x19 ] = KEY_RECORD,  /*XXX*/
1068
1069        // 0x1d unused ?
1070};
1071
1072EXPORT_SYMBOL_GPL(ir_codes_manli);
1073
1074/* Mike Baikov <mike@baikov.com> */
1075IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1076
1077        [ 0x11 ] = KEY_POWER,
1078        [ 0x35 ] = KEY_TV,
1079        [ 0x1b ] = KEY_0,
1080        [ 0x29 ] = KEY_1,
1081        [ 0x19 ] = KEY_2,
1082        [ 0x39 ] = KEY_3,
1083        [ 0x1f ] = KEY_4,
1084        [ 0x2c ] = KEY_5,
1085        [ 0x21 ] = KEY_6,
1086        [ 0x24 ] = KEY_7,
1087        [ 0x18 ] = KEY_8,
1088        [ 0x2b ] = KEY_9,
1089        [ 0x3b ] = KEY_AGAIN, /* LOOP */
1090        [ 0x06 ] = KEY_AUDIO,
1091        [ 0x31 ] = KEY_PRINT, /* PREVIEW */
1092        [ 0x3e ] = KEY_VIDEO,
1093        [ 0x10 ] = KEY_CHANNELUP,
1094        [ 0x20 ] = KEY_CHANNELDOWN,
1095        [ 0x0c ] = KEY_VOLUMEDOWN,
1096        [ 0x28 ] = KEY_VOLUMEUP,
1097        [ 0x08 ] = KEY_MUTE,
1098        [ 0x26 ] = KEY_SEARCH, /*SCAN*/
1099        [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
1100        [ 0x12 ] = KEY_RECORD,
1101        [ 0x32 ] = KEY_STOP,
1102        [ 0x3c ] = KEY_PLAY,
1103        [ 0x1d ] = KEY_REWIND,
1104        [ 0x2d ] = KEY_PAUSE,
1105        [ 0x0d ] = KEY_FORWARD,
1106        [ 0x05 ] = KEY_ZOOM,  /*FULL*/
1107
1108        [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
1109        [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
1110        [ 0x1e ] = KEY_F23, /* TIMESHIFT */
1111        [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
1112};
1113
1114EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1115
1116IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1117        [ 0x03 ] = KEY_POWER,
1118        [ 0x6f ] = KEY_MUTE,
1119        [ 0x10 ] = KEY_BACKSPACE,       /* Recall */
1120
1121        [ 0x11 ] = KEY_0,
1122        [ 0x04 ] = KEY_1,
1123        [ 0x05 ] = KEY_2,
1124        [ 0x06 ] = KEY_3,
1125        [ 0x08 ] = KEY_4,
1126        [ 0x09 ] = KEY_5,
1127        [ 0x0a ] = KEY_6,
1128        [ 0x0c ] = KEY_7,
1129        [ 0x0d ] = KEY_8,
1130        [ 0x0e ] = KEY_9,
1131        [ 0x12 ] = KEY_DOT,           /* 100+ */
1132
1133        [ 0x07 ] = KEY_VOLUMEUP,
1134        [ 0x0b ] = KEY_VOLUMEDOWN,
1135        [ 0x1a ] = KEY_KPPLUS,
1136        [ 0x18 ] = KEY_KPMINUS,
1137        [ 0x15 ] = KEY_UP,
1138        [ 0x1d ] = KEY_DOWN,
1139        [ 0x0f ] = KEY_CHANNELUP,
1140        [ 0x13 ] = KEY_CHANNELDOWN,
1141        [ 0x48 ] = KEY_ZOOM,
1142
1143        [ 0x1b ] = KEY_VIDEO,           /* Video source */
1144        [ 0x49 ] = KEY_LANGUAGE,        /* MTS Select */
1145        [ 0x19 ] = KEY_SEARCH,          /* Auto Scan */
1146
1147        [ 0x4b ] = KEY_RECORD,
1148        [ 0x46 ] = KEY_PLAY,
1149        [ 0x45 ] = KEY_PAUSE,           /* Pause */
1150        [ 0x44 ] = KEY_STOP,
1151        [ 0x40 ] = KEY_FORWARD,         /* Forward ? */
1152        [ 0x42 ] = KEY_REWIND,          /* Backward ? */
1153
1154};
1155
1156EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1157
1158/* Mapping for the 28 key remote control as seen at
1159   http://www.sednacomputer.com/photo/cardbus-tv.jpg
1160   Pavel Mihaylov <bin@bash.info> */
1161IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1162        [ 0x00 ] = KEY_0,
1163        [ 0x01 ] = KEY_1,
1164        [ 0x02 ] = KEY_2,
1165        [ 0x03 ] = KEY_3,
1166        [ 0x04 ] = KEY_4,
1167        [ 0x05 ] = KEY_5,
1168        [ 0x06 ] = KEY_6,
1169        [ 0x07 ] = KEY_7,
1170        [ 0x08 ] = KEY_8,
1171        [ 0x09 ] = KEY_9,
1172
1173        [ 0x0a ] = KEY_AGAIN,          /* Recall */
1174        [ 0x0b ] = KEY_CHANNELUP,
1175        [ 0x0c ] = KEY_VOLUMEUP,
1176        [ 0x0d ] = KEY_MODE,           /* Stereo */
1177        [ 0x0e ] = KEY_STOP,
1178        [ 0x0f ] = KEY_PREVIOUSSONG,
1179        [ 0x10 ] = KEY_ZOOM,
1180        [ 0x11 ] = KEY_TUNER,          /* Source */
1181        [ 0x12 ] = KEY_POWER,
1182        [ 0x13 ] = KEY_MUTE,
1183        [ 0x15 ] = KEY_CHANNELDOWN,
1184        [ 0x18 ] = KEY_VOLUMEDOWN,
1185        [ 0x19 ] = KEY_SHUFFLE,        /* Snapshot */
1186        [ 0x1a ] = KEY_NEXTSONG,
1187        [ 0x1b ] = KEY_TEXT,           /* Time Shift */
1188        [ 0x1c ] = KEY_RADIO,          /* FM Radio */
1189        [ 0x1d ] = KEY_RECORD,
1190        [ 0x1e ] = KEY_PAUSE,
1191};
1192
1193EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1194
1195/* Mark Phalan <phalanm@o2.ie> */
1196IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1197        [ 0x00 ] = KEY_0,
1198        [ 0x01 ] = KEY_1,
1199        [ 0x02 ] = KEY_2,
1200        [ 0x03 ] = KEY_3,
1201        [ 0x04 ] = KEY_4,
1202        [ 0x05 ] = KEY_5,
1203        [ 0x06 ] = KEY_6,
1204        [ 0x07 ] = KEY_7,
1205        [ 0x08 ] = KEY_8,
1206        [ 0x09 ] = KEY_9,
1207
1208        [ 0x12 ] = KEY_POWER,
1209        [ 0x10 ] = KEY_MUTE,
1210        [ 0x1f ] = KEY_VOLUMEDOWN,
1211        [ 0x1b ] = KEY_VOLUMEUP,
1212        [ 0x1a ] = KEY_CHANNELUP,
1213        [ 0x1e ] = KEY_CHANNELDOWN,
1214        [ 0x0e ] = KEY_PAGEUP,
1215        [ 0x1d ] = KEY_PAGEDOWN,
1216        [ 0x13 ] = KEY_SOUND,
1217
1218        [ 0x18 ] = KEY_KPPLUSMINUS,     /* CH +/- */
1219        [ 0x16 ] = KEY_SUBTITLE,                /* CC */
1220        [ 0x0d ] = KEY_TEXT,            /* TTX */
1221        [ 0x0b ] = KEY_TV,              /* AIR/CBL */
1222        [ 0x11 ] = KEY_PC,              /* PC/TV */
1223        [ 0x17 ] = KEY_OK,              /* CH RTN */
1224        [ 0x19 ] = KEY_MODE,            /* FUNC */
1225        [ 0x0c ] = KEY_SEARCH,          /* AUTOSCAN */
1226
1227        /* Not sure what to do with these ones! */
1228        [ 0x0f ] = KEY_SELECT,          /* SOURCE */
1229        [ 0x0a ] = KEY_KPPLUS,          /* +100 */
1230        [ 0x14 ] = KEY_EQUAL,           /* SYNC */
1231        [ 0x1c ] = KEY_MEDIA,             /* PC/TV */
1232};
1233
1234EXPORT_SYMBOL_GPL(ir_codes_pv951);
1235
1236/* generic RC5 keytable                                          */
1237/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1238/* used by old (black) Hauppauge remotes                         */
1239IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1240        /* Keys 0 to 9 */
1241        [ 0x00 ] = KEY_0,
1242        [ 0x01 ] = KEY_1,
1243        [ 0x02 ] = KEY_2,
1244        [ 0x03 ] = KEY_3,
1245        [ 0x04 ] = KEY_4,
1246        [ 0x05 ] = KEY_5,
1247        [ 0x06 ] = KEY_6,
1248        [ 0x07 ] = KEY_7,
1249        [ 0x08 ] = KEY_8,
1250        [ 0x09 ] = KEY_9,
1251
1252        [ 0x0b ] = KEY_CHANNEL,         /* channel / program (japan: 11) */
1253        [ 0x0c ] = KEY_POWER,           /* standby */
1254        [ 0x0d ] = KEY_MUTE,            /* mute / demute */
1255        [ 0x0f ] = KEY_TV,              /* display */
1256        [ 0x10 ] = KEY_VOLUMEUP,
1257        [ 0x11 ] = KEY_VOLUMEDOWN,
1258        [ 0x12 ] = KEY_BRIGHTNESSUP,
1259        [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1260        [ 0x1e ] = KEY_SEARCH,          /* search + */
1261        [ 0x20 ] = KEY_CHANNELUP,       /* channel / program + */
1262        [ 0x21 ] = KEY_CHANNELDOWN,     /* channel / program - */
1263        [ 0x22 ] = KEY_CHANNEL,         /* alt / channel */
1264        [ 0x23 ] = KEY_LANGUAGE,        /* 1st / 2nd language */
1265        [ 0x26 ] = KEY_SLEEP,           /* sleeptimer */
1266        [ 0x2e ] = KEY_MENU,            /* 2nd controls (USA: menu) */
1267        [ 0x30 ] = KEY_PAUSE,
1268        [ 0x32 ] = KEY_REWIND,
1269        [ 0x33 ] = KEY_GOTO,
1270        [ 0x35 ] = KEY_PLAY,
1271        [ 0x36 ] = KEY_STOP,
1272        [ 0x37 ] = KEY_RECORD,          /* recording */
1273        [ 0x3c ] = KEY_TEXT,            /* teletext submode (Japan: 12) */
1274        [ 0x3d ] = KEY_SUSPEND,         /* system standby */
1275
1276};
1277
1278EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1279
1280/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1281IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1282        /* Keys 0 to 9 */
1283        [ 0x12 ] = KEY_0,
1284        [ 0x05 ] = KEY_1,
1285        [ 0x06 ] = KEY_2,
1286        [ 0x07 ] = KEY_3,
1287        [ 0x09 ] = KEY_4,
1288        [ 0x0a ] = KEY_5,
1289        [ 0x0b ] = KEY_6,
1290        [ 0x0d ] = KEY_7,
1291        [ 0x0e ] = KEY_8,
1292        [ 0x0f ] = KEY_9,
1293
1294        [ 0x00 ] = KEY_POWER,
1295        [ 0x1b ] = KEY_AUDIO,           /* Audio Source */
1296        [ 0x02 ] = KEY_TUNER,           /* TV/FM, not on Y0400052 */
1297        [ 0x1e ] = KEY_VIDEO,           /* Video Source */
1298        [ 0x16 ] = KEY_INFO,            /* Display information */
1299        [ 0x04 ] = KEY_VOLUMEUP,
1300        [ 0x08 ] = KEY_VOLUMEDOWN,
1301        [ 0x0c ] = KEY_CHANNELUP,
1302        [ 0x10 ] = KEY_CHANNELDOWN,
1303        [ 0x03 ] = KEY_ZOOM,            /* fullscreen */
1304        [ 0x1f ] = KEY_TEXT,            /* closed caption/teletext */
1305        [ 0x20 ] = KEY_SLEEP,
1306        [ 0x29 ] = KEY_CLEAR,           /* boss key */
1307        [ 0x14 ] = KEY_MUTE,
1308        [ 0x2b ] = KEY_RED,
1309        [ 0x2c ] = KEY_GREEN,
1310        [ 0x2d ] = KEY_YELLOW,
1311        [ 0x2e ] = KEY_BLUE,
1312        [ 0x18 ] = KEY_KPPLUS,          /* fine tune + , not on Y040052 */
1313        [ 0x19 ] = KEY_KPMINUS,         /* fine tune - , not on Y040052 */
1314        [ 0x2a ] = KEY_MEDIA,           /* PIP (Picture in picture */
1315        [ 0x21 ] = KEY_DOT,
1316        [ 0x13 ] = KEY_ENTER,
1317        [ 0x11 ] = KEY_LAST,            /* Recall (last channel */
1318        [ 0x22 ] = KEY_PREVIOUS,
1319        [ 0x23 ] = KEY_PLAYPAUSE,
1320        [ 0x24 ] = KEY_NEXT,
1321        [ 0x25 ] = KEY_ARCHIVE,       /* Time Shifting */
1322        [ 0x26 ] = KEY_STOP,
1323        [ 0x27 ] = KEY_RECORD,
1324        [ 0x28 ] = KEY_SAVE,          /* Screenshot */
1325        [ 0x2f ] = KEY_MENU,
1326        [ 0x30 ] = KEY_CANCEL,
1327        [ 0x31 ] = KEY_CHANNEL,       /* Channel Surf */
1328        [ 0x32 ] = KEY_SUBTITLE,
1329        [ 0x33 ] = KEY_LANGUAGE,
1330        [ 0x34 ] = KEY_REWIND,
1331        [ 0x35 ] = KEY_FASTFORWARD,
1332        [ 0x36 ] = KEY_TV,
1333        [ 0x37 ] = KEY_RADIO,         /* FM */
1334        [ 0x38 ] = KEY_DVD
1335};
1336
1337EXPORT_SYMBOL_GPL(ir_codes_winfast);
1338
1339IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
1340        [ 0x59 ] = KEY_MUTE,
1341        [ 0x4a ] = KEY_POWER,
1342
1343        [ 0x18 ] = KEY_TEXT,
1344        [ 0x26 ] = KEY_TV,
1345        [ 0x3d ] = KEY_PRINT,
1346
1347        [ 0x48 ] = KEY_RED,
1348        [ 0x04 ] = KEY_GREEN,
1349        [ 0x11 ] = KEY_YELLOW,
1350        [ 0x00 ] = KEY_BLUE,
1351
1352        [ 0x2d ] = KEY_VOLUMEUP,
1353        [ 0x1e ] = KEY_VOLUMEDOWN,
1354
1355        [ 0x49 ] = KEY_MENU,
1356
1357        [ 0x16 ] = KEY_CHANNELUP,
1358        [ 0x17 ] = KEY_CHANNELDOWN,
1359
1360        [ 0x20 ] = KEY_UP,
1361        [ 0x21 ] = KEY_DOWN,
1362        [ 0x22 ] = KEY_LEFT,
1363        [ 0x23 ] = KEY_RIGHT,
1364        [ 0x0d ] = KEY_SELECT,
1365
1366
1367
1368        [ 0x08 ] = KEY_BACK,
1369        [ 0x07 ] = KEY_REFRESH,
1370
1371        [ 0x2f ] = KEY_ZOOM,
1372        [ 0x29 ] = KEY_RECORD,
1373
1374        [ 0x4b ] = KEY_PAUSE,
1375        [ 0x4d ] = KEY_REWIND,
1376        [ 0x2e ] = KEY_PLAY,
1377        [ 0x4e ] = KEY_FORWARD,
1378        [ 0x53 ] = KEY_PREVIOUS,
1379        [ 0x4c ] = KEY_STOP,
1380        [ 0x54 ] = KEY_NEXT,
1381
1382        [ 0x69 ] = KEY_0,
1383        [ 0x6a ] = KEY_1,
1384        [ 0x6b ] = KEY_2,
1385        [ 0x6c ] = KEY_3,
1386        [ 0x6d ] = KEY_4,
1387        [ 0x6e ] = KEY_5,
1388        [ 0x6f ] = KEY_6,
1389        [ 0x70 ] = KEY_7,
1390        [ 0x71 ] = KEY_8,
1391        [ 0x72 ] = KEY_9,
1392
1393        [ 0x74 ] = KEY_CHANNEL,
1394        [ 0x0a ] = KEY_BACKSPACE,
1395};
1396
1397EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
1398
1399/* Hauppauge: the newer, gray remotes (seems there are multiple
1400 * slightly different versions), shipped with cx88+ivtv cards.
1401 * almost rc5 coding, but some non-standard keys */
1402IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1403        /* Keys 0 to 9 */
1404        [ 0x00 ] = KEY_0,
1405        [ 0x01 ] = KEY_1,
1406        [ 0x02 ] = KEY_2,
1407        [ 0x03 ] = KEY_3,
1408        [ 0x04 ] = KEY_4,
1409        [ 0x05 ] = KEY_5,
1410        [ 0x06 ] = KEY_6,
1411        [ 0x07 ] = KEY_7,
1412        [ 0x08 ] = KEY_8,
1413        [ 0x09 ] = KEY_9,
1414
1415        [ 0x0a ] = KEY_TEXT,            /* keypad asterisk as well */
1416        [ 0x0b ] = KEY_RED,             /* red button */
1417        [ 0x0c ] = KEY_RADIO,
1418        [ 0x0d ] = KEY_MENU,
1419        [ 0x0e ] = KEY_SUBTITLE,        /* also the # key */
1420        [ 0x0f ] = KEY_MUTE,
1421        [ 0x10 ] = KEY_VOLUMEUP,
1422        [ 0x11 ] = KEY_VOLUMEDOWN,
1423        [ 0x12 ] = KEY_PREVIOUS,        /* previous channel */
1424        [ 0x14 ] = KEY_UP,
1425        [ 0x15 ] = KEY_DOWN,
1426        [ 0x16 ] = KEY_LEFT,
1427        [ 0x17 ] = KEY_RIGHT,
1428        [ 0x18 ] = KEY_VIDEO,           /* Videos */
1429        [ 0x19 ] = KEY_AUDIO,           /* Music */
1430        /* 0x1a: Pictures - presume this means
1431           "Multimedia Home Platform" -
1432           no "PICTURES" key in input.h
1433         */
1434        [ 0x1a ] = KEY_MHP,
1435
1436        [ 0x1b ] = KEY_EPG,             /* Guide */
1437        [ 0x1c ] = KEY_TV,
1438        [ 0x1e ] = KEY_NEXTSONG,        /* skip >| */
1439        [ 0x1f ] = KEY_EXIT,            /* back/exit */
1440        [ 0x20 ] = KEY_CHANNELUP,       /* channel / program + */
1441        [ 0x21 ] = KEY_CHANNELDOWN,     /* channel / program - */
1442        [ 0x22 ] = KEY_CHANNEL,         /* source (old black remote) */
1443        [ 0x24 ] = KEY_PREVIOUSSONG,    /* replay |< */
1444        [ 0x25 ] = KEY_ENTER,           /* OK */
1445        [ 0x26 ] = KEY_SLEEP,           /* minimize (old black remote) */
1446        [ 0x29 ] = KEY_BLUE,            /* blue key */
1447        [ 0x2e ] = KEY_GREEN,           /* green button */
1448        [ 0x30 ] = KEY_PAUSE,           /* pause */
1449        [ 0x32 ] = KEY_REWIND,          /* backward << */
1450        [ 0x34 ] = KEY_FASTFORWARD,     /* forward >> */
1451        [ 0x35 ] = KEY_PLAY,
1452        [ 0x36 ] = KEY_STOP,
1453        [ 0x37 ] = KEY_RECORD,          /* recording */
1454        [ 0x38 ] = KEY_YELLOW,          /* yellow key */
1455        [ 0x3b ] = KEY_SELECT,          /* top right button */
1456        [ 0x3c ] = KEY_ZOOM,            /* full */
1457        [ 0x3d ] = KEY_POWER,           /* system power (green button) */
1458};
1459
1460EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
1461
1462IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1463        [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1464        [ 0x2a ] = KEY_FRONT,
1465
1466        [ 0x3e ] = KEY_1,
1467        [ 0x02 ] = KEY_2,
1468        [ 0x06 ] = KEY_3,
1469        [ 0x0a ] = KEY_4,
1470        [ 0x0e ] = KEY_5,
1471        [ 0x12 ] = KEY_6,
1472        [ 0x16 ] = KEY_7,
1473        [ 0x1a ] = KEY_8,
1474        [ 0x1e ] = KEY_9,
1475        [ 0x3a ] = KEY_0,
1476        [ 0x22 ] = KEY_NUMLOCK,         /* -/-- */
1477        [ 0x20 ] = KEY_REFRESH,
1478
1479        [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1480        [ 0x28 ] = KEY_AUDIO,
1481        [ 0x3c ] = KEY_UP,
1482        [ 0x3f ] = KEY_LEFT,
1483        [ 0x2e ] = KEY_MUTE,
1484        [ 0x3b ] = KEY_RIGHT,
1485        [ 0x00 ] = KEY_DOWN,
1486        [ 0x07 ] = KEY_BRIGHTNESSUP,
1487        [ 0x2c ] = KEY_TEXT,
1488
1489        [ 0x37 ] = KEY_RECORD,
1490        [ 0x17 ] = KEY_PLAY,
1491        [ 0x13 ] = KEY_PAUSE,
1492        [ 0x26 ] = KEY_STOP,
1493        [ 0x18 ] = KEY_FASTFORWARD,
1494        [ 0x14 ] = KEY_REWIND,
1495        [ 0x33 ] = KEY_ZOOM,
1496        [ 0x32 ] = KEY_KEYBOARD,
1497        [ 0x30 ] = KEY_GOTO,            /* Pointing arrow */
1498        [ 0x36 ] = KEY_MACRO,           /* Maximize/Minimize (yellow) */
1499        [ 0x0b ] = KEY_RADIO,
1500        [ 0x10 ] = KEY_POWER,
1501
1502};
1503
1504EXPORT_SYMBOL_GPL(ir_codes_npgtech);
1505
1506/* Norwood Micro (non-Pro) TV Tuner
1507   By Peter Naulls <peter@chocky.org>
1508   Key comments are the functions given in the manual */
1509IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1510        /* Keys 0 to 9 */
1511        [ 0x20 ] = KEY_0,
1512        [ 0x21 ] = KEY_1,
1513        [ 0x22 ] = KEY_2,
1514        [ 0x23 ] = KEY_3,
1515        [ 0x24 ] = KEY_4,
1516        [ 0x25 ] = KEY_5,
1517        [ 0x26 ] = KEY_6,
1518        [ 0x27 ] = KEY_7,
1519        [ 0x28 ] = KEY_8,
1520        [ 0x29 ] = KEY_9,
1521
1522        [ 0x78 ] = KEY_TUNER,             /* Video Source        */
1523        [ 0x2c ] = KEY_EXIT,              /* Open/Close software */
1524        [ 0x2a ] = KEY_SELECT,            /* 2 Digit Select      */
1525        [ 0x69 ] = KEY_AGAIN,             /* Recall              */
1526
1527        [ 0x32 ] = KEY_BRIGHTNESSUP,      /* Brightness increase */
1528        [ 0x33 ] = KEY_BRIGHTNESSDOWN,    /* Brightness decrease */
1529        [ 0x6b ] = KEY_KPPLUS,            /* (not named >>>>>)   */
1530        [ 0x6c ] = KEY_KPMINUS,           /* (not named <<<<<)   */
1531
1532        [ 0x2d ] = KEY_MUTE,              /* Mute                */
1533        [ 0x30 ] = KEY_VOLUMEUP,          /* Volume up           */
1534        [ 0x31 ] = KEY_VOLUMEDOWN,        /* Volume down         */
1535        [ 0x60 ] = KEY_CHANNELUP,         /* Channel up          */
1536        [ 0x61 ] = KEY_CHANNELDOWN,       /* Channel down        */
1537
1538        [ 0x3f ] = KEY_RECORD,            /* Record              */
1539        [ 0x37 ] = KEY_PLAY,              /* Play                */
1540        [ 0x36 ] = KEY_PAUSE,             /* Pause               */
1541        [ 0x2b ] = KEY_STOP,              /* Stop                */
1542        [ 0x67 ] = KEY_FASTFORWARD,       /* Foward              */
1543        [ 0x66 ] = KEY_REWIND,            /* Rewind              */
1544        [ 0x3e ] = KEY_SEARCH,            /* Auto Scan           */
1545        [ 0x2e ] = KEY_CAMERA,            /* Capture Video       */
1546        [ 0x6d ] = KEY_MENU,              /* Show/Hide Control   */
1547        [ 0x2f ] = KEY_ZOOM,              /* Full Screen         */
1548        [ 0x34 ] = KEY_RADIO,             /* FM                  */
1549        [ 0x65 ] = KEY_POWER,             /* Computer power      */
1550};
1551
1552EXPORT_SYMBOL_GPL(ir_codes_norwood);
1553
1554/* From reading the following remotes:
1555 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1556 * Hauppauge (from NOVA-CI-s box product)
1557 * This is a "middle of the road" approach, differences are noted
1558 */
1559IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1560        [ 0x00 ] = KEY_0,
1561        [ 0x01 ] = KEY_1,
1562        [ 0x02 ] = KEY_2,
1563        [ 0x03 ] = KEY_3,
1564        [ 0x04 ] = KEY_4,
1565        [ 0x05 ] = KEY_5,
1566        [ 0x06 ] = KEY_6,
1567        [ 0x07 ] = KEY_7,
1568        [ 0x08 ] = KEY_8,
1569        [ 0x09 ] = KEY_9,
1570        [ 0x0a ] = KEY_ENTER,
1571        [ 0x0b ] = KEY_RED,
1572        [ 0x0c ] = KEY_POWER,             /* RADIO on Hauppauge */
1573        [ 0x0d ] = KEY_MUTE,
1574        [ 0x0f ] = KEY_A,                 /* TV on Hauppauge */
1575        [ 0x10 ] = KEY_VOLUMEUP,
1576        [ 0x11 ] = KEY_VOLUMEDOWN,
1577        [ 0x14 ] = KEY_B,
1578        [ 0x1c ] = KEY_UP,
1579        [ 0x1d ] = KEY_DOWN,
1580        [ 0x1e ] = KEY_OPTION,            /* RESERVED on Hauppauge */
1581        [ 0x1f ] = KEY_BREAK,
1582        [ 0x20 ] = KEY_CHANNELUP,
1583        [ 0x21 ] = KEY_CHANNELDOWN,
1584        [ 0x22 ] = KEY_PREVIOUS,          /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1585        [ 0x24 ] = KEY_RESTART,
1586        [ 0x25 ] = KEY_OK,
1587        [ 0x26 ] = KEY_CYCLEWINDOWS,      /* MINIMIZE on Hauppauge */
1588        [ 0x28 ] = KEY_ENTER,             /* VCR mode on Zenith */
1589        [ 0x29 ] = KEY_PAUSE,
1590        [ 0x2b ] = KEY_RIGHT,
1591        [ 0x2c ] = KEY_LEFT,
1592        [ 0x2e ] = KEY_MENU,              /* FULL SCREEN on Hauppauge */
1593        [ 0x30 ] = KEY_SLOW,
1594        [ 0x31 ] = KEY_PREVIOUS,          /* VCR mode on Zenith */
1595        [ 0x32 ] = KEY_REWIND,
1596        [ 0x34 ] = KEY_FASTFORWARD,
1597        [ 0x35 ] = KEY_PLAY,
1598        [ 0x36 ] = KEY_STOP,
1599        [ 0x37 ] = KEY_RECORD,
1600        [ 0x38 ] = KEY_TUNER,             /* TV/VCR on Zenith */
1601        [ 0x3a ] = KEY_C,
1602        [ 0x3c ] = KEY_EXIT,
1603        [ 0x3d ] = KEY_POWER2,
1604        [ 0x3e ] = KEY_TUNER,
1605};
1606
1607EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
1608
1609/*
1610 * Marc Fargas <telenieko@telenieko.com>
1611 * this is the remote control that comes with the asus p7131
1612 * which has a label saying is "Model PC-39"
1613 */
1614IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1615        /* Keys 0 to 9 */
1616        [ 0x15 ] = KEY_0,
1617        [ 0x29 ] = KEY_1,
1618        [ 0x2d ] = KEY_2,
1619        [ 0x2b ] = KEY_3,
1620        [ 0x09 ] = KEY_4,
1621        [ 0x0d ] = KEY_5,
1622        [ 0x0b ] = KEY_6,
1623        [ 0x31 ] = KEY_7,
1624        [ 0x35 ] = KEY_8,
1625        [ 0x33 ] = KEY_9,
1626
1627        [ 0x3e ] = KEY_RADIO,           /* radio */
1628        [ 0x03 ] = KEY_MENU,            /* dvd/menu */
1629        [ 0x2a ] = KEY_VOLUMEUP,
1630        [ 0x19 ] = KEY_VOLUMEDOWN,
1631        [ 0x37 ] = KEY_UP,
1632        [ 0x3b ] = KEY_DOWN,
1633        [ 0x27 ] = KEY_LEFT,
1634        [ 0x2f ] = KEY_RIGHT,
1635        [ 0x25 ] = KEY_VIDEO,           /* video */
1636        [ 0x39 ] = KEY_AUDIO,           /* music */
1637
1638        [ 0x21 ] = KEY_TV,              /* tv */
1639        [ 0x1d ] = KEY_EXIT,            /* back */
1640        [ 0x0a ] = KEY_CHANNELUP,       /* channel / program + */
1641        [ 0x1b ] = KEY_CHANNELDOWN,     /* channel / program - */
1642        [ 0x1a ] = KEY_ENTER,           /* enter */
1643
1644        [ 0x06 ] = KEY_PAUSE,           /* play/pause */
1645        [ 0x1e ] = KEY_PREVIOUS,        /* rew */
1646        [ 0x26 ] = KEY_NEXT,            /* forward */
1647        [ 0x0e ] = KEY_REWIND,          /* backward << */
1648        [ 0x3a ] = KEY_FASTFORWARD,     /* forward >> */
1649        [ 0x36 ] = KEY_STOP,
1650        [ 0x2e ] = KEY_RECORD,          /* recording */
1651        [ 0x16 ] = KEY_POWER,           /* the button that reads "close" */
1652
1653        [ 0x11 ] = KEY_ZOOM,            /* full screen */
1654        [ 0x13 ] = KEY_MACRO,           /* recall */
1655        [ 0x23 ] = KEY_HOME,            /* home */
1656        [ 0x05 ] = KEY_PVR,             /* picture */
1657        [ 0x3d ] = KEY_MUTE,            /* mute */
1658        [ 0x01 ] = KEY_DVD,             /* dvd */
1659};
1660
1661EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
1662
1663
1664/* Encore ENLTV-FM  - black plastic, white front cover with white glowing buttons
1665    Juan Pablo Sormani <sorman@gmail.com> */
1666IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1667
1668        /* Power button does nothing, neither in Windows app,
1669         although it sends data (used for BIOS wakeup?) */
1670        [ 0x0d ] = KEY_MUTE,
1671
1672        [ 0x1e ] = KEY_TV,
1673        [ 0x00 ] = KEY_VIDEO,
1674        [ 0x01 ] = KEY_AUDIO,           /* music */
1675        [ 0x02 ] = KEY_MHP,             /* picture */
1676
1677        [ 0x1f ] = KEY_1,
1678        [ 0x03 ] = KEY_2,
1679        [ 0x04 ] = KEY_3,
1680        [ 0x05 ] = KEY_4,
1681        [ 0x1c ] = KEY_5,
1682        [ 0x06 ] = KEY_6,
1683        [ 0x07 ] = KEY_7,
1684        [ 0x08 ] = KEY_8,
1685        [ 0x1d ] = KEY_9,
1686        [ 0x0a ] = KEY_0,
1687
1688        [ 0x09 ] = KEY_LIST,        /* -/-- */
1689        [ 0x0b ] = KEY_LAST,        /* recall */
1690
1691        [ 0x14 ] = KEY_HOME,            /* win start menu */
1692        [ 0x15 ] = KEY_EXIT,            /* exit */
1693        [ 0x16 ] = KEY_UP,
1694        [ 0x12 ] = KEY_DOWN,
1695        [ 0x0c ] = KEY_RIGHT,
1696        [ 0x17 ] = KEY_LEFT,
1697
1698        [ 0x18 ] = KEY_ENTER,           /* OK */
1699
1700        [ 0x0e ] = KEY_ESC,
1701        [ 0x13 ] = KEY_D,               /* desktop */
1702        [ 0x11 ] = KEY_TAB,
1703        [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1704
1705        [ 0x1a ] = KEY_MENU,
1706        [ 0x1b ] = KEY_ZOOM,            /* fullscreen */
1707        [ 0x44 ] = KEY_TIME,            /* time shift */
1708        [ 0x40 ] = KEY_MODE,            /* source */
1709
1710        [ 0x5a ] = KEY_RECORD,
1711        [ 0x42 ] = KEY_PLAY,            /* play/pause */
1712        [ 0x45 ] = KEY_STOP,
1713        [ 0x43 ] = KEY_CAMERA,          /* camera icon */
1714
1715        [ 0x48 ] = KEY_REWIND,
1716        [ 0x4a ] = KEY_FASTFORWARD,
1717        [ 0x49 ] = KEY_PREVIOUS,
1718        [ 0x4b ] = KEY_NEXT,
1719
1720        [ 0x4c ] = KEY_FAVORITES,       /* tv wall */
1721        [ 0x4d ] = KEY_SOUND,           /* DVD sound */
1722        [ 0x4e ] = KEY_LANGUAGE,        /* DVD lang */
1723        [ 0x4f ] = KEY_TEXT,            /* DVD text */
1724
1725        [ 0x50 ] = KEY_SLEEP,           /* shutdown */
1726        [ 0x51 ] = KEY_MODE,            /* stereo > main */
1727        [ 0x52 ] = KEY_SELECT,          /* stereo > sap */
1728        [ 0x53 ] = KEY_PROG1,           /* teletext */
1729
1730
1731        [ 0x59 ] = KEY_RED,             /* AP1 */
1732        [ 0x41 ] = KEY_GREEN,           /* AP2 */
1733        [ 0x47 ] = KEY_YELLOW,          /* AP3 */
1734        [ 0x57 ] = KEY_BLUE,            /* AP4 */
1735
1736
1737};
1738
1739EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
1740
1741/* for the Technotrend 1500 bundled remotes (grey and black): */
1742IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
1743        [ 0x01 ] = KEY_POWER,
1744        [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
1745        [ 0x03 ] = KEY_1,
1746        [ 0x04 ] = KEY_2,
1747        [ 0x05 ] = KEY_3,
1748        [ 0x06 ] = KEY_4,
1749        [ 0x07 ] = KEY_5,
1750        [ 0x08 ] = KEY_6,
1751        [ 0x09 ] = KEY_7,
1752        [ 0x0a ] = KEY_8,
1753        [ 0x0b ] = KEY_9,
1754        [ 0x0c ] = KEY_0,
1755        [ 0x0d ] = KEY_UP,
1756        [ 0x0e ] = KEY_LEFT,
1757        [ 0x0f ] = KEY_OK,
1758        [ 0x10 ] = KEY_RIGHT,
1759        [ 0x11 ] = KEY_DOWN,
1760        [ 0x12 ] = KEY_INFO,
1761        [ 0x13 ] = KEY_EXIT,
1762        [ 0x14 ] = KEY_RED,
1763        [ 0x15 ] = KEY_GREEN,
1764        [ 0x16 ] = KEY_YELLOW,
1765        [ 0x17 ] = KEY_BLUE,
1766        [ 0x18 ] = KEY_MUTE,
1767        [ 0x19 ] = KEY_TEXT,
1768        [ 0x1a ] = KEY_MODE,    /* ? TV/Radio */
1769        [ 0x21 ] = KEY_OPTION,
1770        [ 0x22 ] = KEY_EPG,
1771        [ 0x23 ] = KEY_CHANNELUP,
1772        [ 0x24 ] = KEY_CHANNELDOWN,
1773        [ 0x25 ] = KEY_VOLUMEUP,
1774        [ 0x26 ] = KEY_VOLUMEDOWN,
1775        [ 0x27 ] = KEY_SETUP,
1776        [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
1777        [ 0x3b ] = KEY_PLAY,
1778        [ 0x3c ] = KEY_STOP,
1779        [ 0x3d ] = KEY_REWIND,
1780        [ 0x3e ] = KEY_PAUSE,
1781        [ 0x3f ] = KEY_FORWARD,
1782};
1783
1784EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
1785
1786/* DViCO FUSION HDTV MCE remote */
1787IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
1788
1789        [ 0x0b ] = KEY_1,
1790        [ 0x17 ] = KEY_2,
1791        [ 0x1b ] = KEY_3,
1792        [ 0x07 ] = KEY_4,
1793        [ 0x50 ] = KEY_5,
1794        [ 0x54 ] = KEY_6,
1795        [ 0x48 ] = KEY_7,
1796        [ 0x4c ] = KEY_8,
1797        [ 0x58 ] = KEY_9,
1798        [ 0x03 ] = KEY_0,
1799
1800        [ 0x5e ] = KEY_OK,
1801        [ 0x51 ] = KEY_UP,
1802        [ 0x53 ] = KEY_DOWN,
1803        [ 0x5b ] = KEY_LEFT,
1804        [ 0x5f ] = KEY_RIGHT,
1805
1806        [ 0x02 ] = KEY_TV,              /* Labeled DTV on remote */
1807        [ 0x0e ] = KEY_MP3,
1808        [ 0x1a ] = KEY_DVD,
1809        [ 0x1e ] = KEY_FAVORITES,       /* Labeled CPF on remote */
1810        [ 0x16 ] = KEY_SETUP,
1811        [ 0x46 ] = KEY_POWER2,          /* TV On/Off button on remote */
1812        [ 0x0a ] = KEY_EPG,             /* Labeled Guide on remote */
1813
1814        [ 0x49 ] = KEY_BACK,
1815        [ 0x59 ] = KEY_INFO,            /* Labeled MORE on remote */
1816        [ 0x4d ] = KEY_MENU,            /* Labeled DVDMENU on remote */
1817        [ 0x55 ] = KEY_CYCLEWINDOWS,    /* Labeled ALT-TAB on remote */
1818
1819        [ 0x0f ] = KEY_PREVIOUSSONG,    /* Labeled |<< REPLAY on remote */
1820        [ 0x12 ] = KEY_NEXTSONG,        /* Labeled >>| SKIP on remote */
1821        [ 0x42 ] = KEY_ENTER,           /* Labeled START with a green
1822                                         * MS windows logo on remote */
1823
1824        [ 0x15 ] = KEY_VOLUMEUP,
1825        [ 0x05 ] = KEY_VOLUMEDOWN,
1826        [ 0x11 ] = KEY_CHANNELUP,
1827        [ 0x09 ] = KEY_CHANNELDOWN,
1828
1829        [ 0x52 ] = KEY_CAMERA,
1830        [ 0x5a ] = KEY_TUNER,
1831        [ 0x19 ] = KEY_OPEN,
1832
1833        [ 0x13 ] = KEY_MODE,            /* 4:3 16:9 select */
1834        [ 0x1f ] = KEY_ZOOM,
1835
1836        [ 0x43 ] = KEY_REWIND,
1837        [ 0x47 ] = KEY_PLAYPAUSE,
1838        [ 0x4f ] = KEY_FASTFORWARD,
1839        [ 0x57 ] = KEY_MUTE,
1840        [ 0x0d ] = KEY_STOP,
1841        [ 0x01 ] = KEY_RECORD,
1842        [ 0x4e ] = KEY_POWER,
1843};
1844
1845EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
1846