1*32cf86f6SMauro Carvalho Chehab /* rc-dvb0700-big.c - Keytable for devices in dvb0700 2*32cf86f6SMauro Carvalho Chehab * 3*32cf86f6SMauro Carvalho Chehab * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> 4*32cf86f6SMauro Carvalho Chehab * 5*32cf86f6SMauro Carvalho Chehab * TODO: This table is a real mess, as it merges RC codes from several 6*32cf86f6SMauro Carvalho Chehab * devices into a big table. It also has both RC-5 and NEC codes inside. 7*32cf86f6SMauro Carvalho Chehab * It should be broken into small tables, and the protocols should properly 8*32cf86f6SMauro Carvalho Chehab * be indentificated. 9*32cf86f6SMauro Carvalho Chehab * 10*32cf86f6SMauro Carvalho Chehab * The table were imported from dib0700_devices.c. 11*32cf86f6SMauro Carvalho Chehab * 12*32cf86f6SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify 13*32cf86f6SMauro Carvalho Chehab * it under the terms of the GNU General Public License as published by 14*32cf86f6SMauro Carvalho Chehab * the Free Software Foundation; either version 2 of the License, or 15*32cf86f6SMauro Carvalho Chehab * (at your option) any later version. 16*32cf86f6SMauro Carvalho Chehab */ 17*32cf86f6SMauro Carvalho Chehab 18*32cf86f6SMauro Carvalho Chehab #include <media/rc-map.h> 19*32cf86f6SMauro Carvalho Chehab 20*32cf86f6SMauro Carvalho Chehab static struct ir_scancode dib0700_rc5_table[] = { 21*32cf86f6SMauro Carvalho Chehab /* Key codes for the tiny Pinnacle remote*/ 22*32cf86f6SMauro Carvalho Chehab { 0x0700, KEY_MUTE }, 23*32cf86f6SMauro Carvalho Chehab { 0x0701, KEY_MENU }, /* Pinnacle logo */ 24*32cf86f6SMauro Carvalho Chehab { 0x0739, KEY_POWER }, 25*32cf86f6SMauro Carvalho Chehab { 0x0703, KEY_VOLUMEUP }, 26*32cf86f6SMauro Carvalho Chehab { 0x0709, KEY_VOLUMEDOWN }, 27*32cf86f6SMauro Carvalho Chehab { 0x0706, KEY_CHANNELUP }, 28*32cf86f6SMauro Carvalho Chehab { 0x070c, KEY_CHANNELDOWN }, 29*32cf86f6SMauro Carvalho Chehab { 0x070f, KEY_1 }, 30*32cf86f6SMauro Carvalho Chehab { 0x0715, KEY_2 }, 31*32cf86f6SMauro Carvalho Chehab { 0x0710, KEY_3 }, 32*32cf86f6SMauro Carvalho Chehab { 0x0718, KEY_4 }, 33*32cf86f6SMauro Carvalho Chehab { 0x071b, KEY_5 }, 34*32cf86f6SMauro Carvalho Chehab { 0x071e, KEY_6 }, 35*32cf86f6SMauro Carvalho Chehab { 0x0711, KEY_7 }, 36*32cf86f6SMauro Carvalho Chehab { 0x0721, KEY_8 }, 37*32cf86f6SMauro Carvalho Chehab { 0x0712, KEY_9 }, 38*32cf86f6SMauro Carvalho Chehab { 0x0727, KEY_0 }, 39*32cf86f6SMauro Carvalho Chehab { 0x0724, KEY_SCREEN }, /* 'Square' key */ 40*32cf86f6SMauro Carvalho Chehab { 0x072a, KEY_TEXT }, /* 'T' key */ 41*32cf86f6SMauro Carvalho Chehab { 0x072d, KEY_REWIND }, 42*32cf86f6SMauro Carvalho Chehab { 0x0730, KEY_PLAY }, 43*32cf86f6SMauro Carvalho Chehab { 0x0733, KEY_FASTFORWARD }, 44*32cf86f6SMauro Carvalho Chehab { 0x0736, KEY_RECORD }, 45*32cf86f6SMauro Carvalho Chehab { 0x073c, KEY_STOP }, 46*32cf86f6SMauro Carvalho Chehab { 0x073f, KEY_CANCEL }, /* '?' key */ 47*32cf86f6SMauro Carvalho Chehab 48*32cf86f6SMauro Carvalho Chehab /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */ 49*32cf86f6SMauro Carvalho Chehab { 0xeb01, KEY_POWER }, 50*32cf86f6SMauro Carvalho Chehab { 0xeb02, KEY_1 }, 51*32cf86f6SMauro Carvalho Chehab { 0xeb03, KEY_2 }, 52*32cf86f6SMauro Carvalho Chehab { 0xeb04, KEY_3 }, 53*32cf86f6SMauro Carvalho Chehab { 0xeb05, KEY_4 }, 54*32cf86f6SMauro Carvalho Chehab { 0xeb06, KEY_5 }, 55*32cf86f6SMauro Carvalho Chehab { 0xeb07, KEY_6 }, 56*32cf86f6SMauro Carvalho Chehab { 0xeb08, KEY_7 }, 57*32cf86f6SMauro Carvalho Chehab { 0xeb09, KEY_8 }, 58*32cf86f6SMauro Carvalho Chehab { 0xeb0a, KEY_9 }, 59*32cf86f6SMauro Carvalho Chehab { 0xeb0b, KEY_VIDEO }, 60*32cf86f6SMauro Carvalho Chehab { 0xeb0c, KEY_0 }, 61*32cf86f6SMauro Carvalho Chehab { 0xeb0d, KEY_REFRESH }, 62*32cf86f6SMauro Carvalho Chehab { 0xeb0f, KEY_EPG }, 63*32cf86f6SMauro Carvalho Chehab { 0xeb10, KEY_UP }, 64*32cf86f6SMauro Carvalho Chehab { 0xeb11, KEY_LEFT }, 65*32cf86f6SMauro Carvalho Chehab { 0xeb12, KEY_OK }, 66*32cf86f6SMauro Carvalho Chehab { 0xeb13, KEY_RIGHT }, 67*32cf86f6SMauro Carvalho Chehab { 0xeb14, KEY_DOWN }, 68*32cf86f6SMauro Carvalho Chehab { 0xeb16, KEY_INFO }, 69*32cf86f6SMauro Carvalho Chehab { 0xeb17, KEY_RED }, 70*32cf86f6SMauro Carvalho Chehab { 0xeb18, KEY_GREEN }, 71*32cf86f6SMauro Carvalho Chehab { 0xeb19, KEY_YELLOW }, 72*32cf86f6SMauro Carvalho Chehab { 0xeb1a, KEY_BLUE }, 73*32cf86f6SMauro Carvalho Chehab { 0xeb1b, KEY_CHANNELUP }, 74*32cf86f6SMauro Carvalho Chehab { 0xeb1c, KEY_VOLUMEUP }, 75*32cf86f6SMauro Carvalho Chehab { 0xeb1d, KEY_MUTE }, 76*32cf86f6SMauro Carvalho Chehab { 0xeb1e, KEY_VOLUMEDOWN }, 77*32cf86f6SMauro Carvalho Chehab { 0xeb1f, KEY_CHANNELDOWN }, 78*32cf86f6SMauro Carvalho Chehab { 0xeb40, KEY_PAUSE }, 79*32cf86f6SMauro Carvalho Chehab { 0xeb41, KEY_HOME }, 80*32cf86f6SMauro Carvalho Chehab { 0xeb42, KEY_MENU }, /* DVD Menu */ 81*32cf86f6SMauro Carvalho Chehab { 0xeb43, KEY_SUBTITLE }, 82*32cf86f6SMauro Carvalho Chehab { 0xeb44, KEY_TEXT }, /* Teletext */ 83*32cf86f6SMauro Carvalho Chehab { 0xeb45, KEY_DELETE }, 84*32cf86f6SMauro Carvalho Chehab { 0xeb46, KEY_TV }, 85*32cf86f6SMauro Carvalho Chehab { 0xeb47, KEY_DVD }, 86*32cf86f6SMauro Carvalho Chehab { 0xeb48, KEY_STOP }, 87*32cf86f6SMauro Carvalho Chehab { 0xeb49, KEY_VIDEO }, 88*32cf86f6SMauro Carvalho Chehab { 0xeb4a, KEY_AUDIO }, /* Music */ 89*32cf86f6SMauro Carvalho Chehab { 0xeb4b, KEY_SCREEN }, /* Pic */ 90*32cf86f6SMauro Carvalho Chehab { 0xeb4c, KEY_PLAY }, 91*32cf86f6SMauro Carvalho Chehab { 0xeb4d, KEY_BACK }, 92*32cf86f6SMauro Carvalho Chehab { 0xeb4e, KEY_REWIND }, 93*32cf86f6SMauro Carvalho Chehab { 0xeb4f, KEY_FASTFORWARD }, 94*32cf86f6SMauro Carvalho Chehab { 0xeb54, KEY_PREVIOUS }, 95*32cf86f6SMauro Carvalho Chehab { 0xeb58, KEY_RECORD }, 96*32cf86f6SMauro Carvalho Chehab { 0xeb5c, KEY_NEXT }, 97*32cf86f6SMauro Carvalho Chehab 98*32cf86f6SMauro Carvalho Chehab /* Key codes for the Haupauge WinTV Nova-TD, copied from nova-t-usb2.c (Nova-T USB2) */ 99*32cf86f6SMauro Carvalho Chehab { 0x1e00, KEY_0 }, 100*32cf86f6SMauro Carvalho Chehab { 0x1e01, KEY_1 }, 101*32cf86f6SMauro Carvalho Chehab { 0x1e02, KEY_2 }, 102*32cf86f6SMauro Carvalho Chehab { 0x1e03, KEY_3 }, 103*32cf86f6SMauro Carvalho Chehab { 0x1e04, KEY_4 }, 104*32cf86f6SMauro Carvalho Chehab { 0x1e05, KEY_5 }, 105*32cf86f6SMauro Carvalho Chehab { 0x1e06, KEY_6 }, 106*32cf86f6SMauro Carvalho Chehab { 0x1e07, KEY_7 }, 107*32cf86f6SMauro Carvalho Chehab { 0x1e08, KEY_8 }, 108*32cf86f6SMauro Carvalho Chehab { 0x1e09, KEY_9 }, 109*32cf86f6SMauro Carvalho Chehab { 0x1e0a, KEY_KPASTERISK }, 110*32cf86f6SMauro Carvalho Chehab { 0x1e0b, KEY_RED }, 111*32cf86f6SMauro Carvalho Chehab { 0x1e0c, KEY_RADIO }, 112*32cf86f6SMauro Carvalho Chehab { 0x1e0d, KEY_MENU }, 113*32cf86f6SMauro Carvalho Chehab { 0x1e0e, KEY_GRAVE }, /* # */ 114*32cf86f6SMauro Carvalho Chehab { 0x1e0f, KEY_MUTE }, 115*32cf86f6SMauro Carvalho Chehab { 0x1e10, KEY_VOLUMEUP }, 116*32cf86f6SMauro Carvalho Chehab { 0x1e11, KEY_VOLUMEDOWN }, 117*32cf86f6SMauro Carvalho Chehab { 0x1e12, KEY_CHANNEL }, 118*32cf86f6SMauro Carvalho Chehab { 0x1e14, KEY_UP }, 119*32cf86f6SMauro Carvalho Chehab { 0x1e15, KEY_DOWN }, 120*32cf86f6SMauro Carvalho Chehab { 0x1e16, KEY_LEFT }, 121*32cf86f6SMauro Carvalho Chehab { 0x1e17, KEY_RIGHT }, 122*32cf86f6SMauro Carvalho Chehab { 0x1e18, KEY_VIDEO }, 123*32cf86f6SMauro Carvalho Chehab { 0x1e19, KEY_AUDIO }, 124*32cf86f6SMauro Carvalho Chehab { 0x1e1a, KEY_MEDIA }, 125*32cf86f6SMauro Carvalho Chehab { 0x1e1b, KEY_EPG }, 126*32cf86f6SMauro Carvalho Chehab { 0x1e1c, KEY_TV }, 127*32cf86f6SMauro Carvalho Chehab { 0x1e1e, KEY_NEXT }, 128*32cf86f6SMauro Carvalho Chehab { 0x1e1f, KEY_BACK }, 129*32cf86f6SMauro Carvalho Chehab { 0x1e20, KEY_CHANNELUP }, 130*32cf86f6SMauro Carvalho Chehab { 0x1e21, KEY_CHANNELDOWN }, 131*32cf86f6SMauro Carvalho Chehab { 0x1e24, KEY_LAST }, /* Skip backwards */ 132*32cf86f6SMauro Carvalho Chehab { 0x1e25, KEY_OK }, 133*32cf86f6SMauro Carvalho Chehab { 0x1e29, KEY_BLUE}, 134*32cf86f6SMauro Carvalho Chehab { 0x1e2e, KEY_GREEN }, 135*32cf86f6SMauro Carvalho Chehab { 0x1e30, KEY_PAUSE }, 136*32cf86f6SMauro Carvalho Chehab { 0x1e32, KEY_REWIND }, 137*32cf86f6SMauro Carvalho Chehab { 0x1e34, KEY_FASTFORWARD }, 138*32cf86f6SMauro Carvalho Chehab { 0x1e35, KEY_PLAY }, 139*32cf86f6SMauro Carvalho Chehab { 0x1e36, KEY_STOP }, 140*32cf86f6SMauro Carvalho Chehab { 0x1e37, KEY_RECORD }, 141*32cf86f6SMauro Carvalho Chehab { 0x1e38, KEY_YELLOW }, 142*32cf86f6SMauro Carvalho Chehab { 0x1e3b, KEY_GOTO }, 143*32cf86f6SMauro Carvalho Chehab { 0x1e3d, KEY_POWER }, 144*32cf86f6SMauro Carvalho Chehab 145*32cf86f6SMauro Carvalho Chehab /* Key codes for the Leadtek Winfast DTV Dongle */ 146*32cf86f6SMauro Carvalho Chehab { 0x0042, KEY_POWER }, 147*32cf86f6SMauro Carvalho Chehab { 0x077c, KEY_TUNER }, 148*32cf86f6SMauro Carvalho Chehab { 0x0f4e, KEY_PRINT }, /* PREVIEW */ 149*32cf86f6SMauro Carvalho Chehab { 0x0840, KEY_SCREEN }, /* full screen toggle*/ 150*32cf86f6SMauro Carvalho Chehab { 0x0f71, KEY_DOT }, /* frequency */ 151*32cf86f6SMauro Carvalho Chehab { 0x0743, KEY_0 }, 152*32cf86f6SMauro Carvalho Chehab { 0x0c41, KEY_1 }, 153*32cf86f6SMauro Carvalho Chehab { 0x0443, KEY_2 }, 154*32cf86f6SMauro Carvalho Chehab { 0x0b7f, KEY_3 }, 155*32cf86f6SMauro Carvalho Chehab { 0x0e41, KEY_4 }, 156*32cf86f6SMauro Carvalho Chehab { 0x0643, KEY_5 }, 157*32cf86f6SMauro Carvalho Chehab { 0x097f, KEY_6 }, 158*32cf86f6SMauro Carvalho Chehab { 0x0d7e, KEY_7 }, 159*32cf86f6SMauro Carvalho Chehab { 0x057c, KEY_8 }, 160*32cf86f6SMauro Carvalho Chehab { 0x0a40, KEY_9 }, 161*32cf86f6SMauro Carvalho Chehab { 0x0e4e, KEY_CLEAR }, 162*32cf86f6SMauro Carvalho Chehab { 0x047c, KEY_CHANNEL }, /* show channel number */ 163*32cf86f6SMauro Carvalho Chehab { 0x0f41, KEY_LAST }, /* recall */ 164*32cf86f6SMauro Carvalho Chehab { 0x0342, KEY_MUTE }, 165*32cf86f6SMauro Carvalho Chehab { 0x064c, KEY_RESERVED }, /* PIP button*/ 166*32cf86f6SMauro Carvalho Chehab { 0x0172, KEY_SHUFFLE }, /* SNAPSHOT */ 167*32cf86f6SMauro Carvalho Chehab { 0x0c4e, KEY_PLAYPAUSE }, /* TIMESHIFT */ 168*32cf86f6SMauro Carvalho Chehab { 0x0b70, KEY_RECORD }, 169*32cf86f6SMauro Carvalho Chehab { 0x037d, KEY_VOLUMEUP }, 170*32cf86f6SMauro Carvalho Chehab { 0x017d, KEY_VOLUMEDOWN }, 171*32cf86f6SMauro Carvalho Chehab { 0x0242, KEY_CHANNELUP }, 172*32cf86f6SMauro Carvalho Chehab { 0x007d, KEY_CHANNELDOWN }, 173*32cf86f6SMauro Carvalho Chehab 174*32cf86f6SMauro Carvalho Chehab /* Key codes for Nova-TD "credit card" remote control. */ 175*32cf86f6SMauro Carvalho Chehab { 0x1d00, KEY_0 }, 176*32cf86f6SMauro Carvalho Chehab { 0x1d01, KEY_1 }, 177*32cf86f6SMauro Carvalho Chehab { 0x1d02, KEY_2 }, 178*32cf86f6SMauro Carvalho Chehab { 0x1d03, KEY_3 }, 179*32cf86f6SMauro Carvalho Chehab { 0x1d04, KEY_4 }, 180*32cf86f6SMauro Carvalho Chehab { 0x1d05, KEY_5 }, 181*32cf86f6SMauro Carvalho Chehab { 0x1d06, KEY_6 }, 182*32cf86f6SMauro Carvalho Chehab { 0x1d07, KEY_7 }, 183*32cf86f6SMauro Carvalho Chehab { 0x1d08, KEY_8 }, 184*32cf86f6SMauro Carvalho Chehab { 0x1d09, KEY_9 }, 185*32cf86f6SMauro Carvalho Chehab { 0x1d0a, KEY_TEXT }, 186*32cf86f6SMauro Carvalho Chehab { 0x1d0d, KEY_MENU }, 187*32cf86f6SMauro Carvalho Chehab { 0x1d0f, KEY_MUTE }, 188*32cf86f6SMauro Carvalho Chehab { 0x1d10, KEY_VOLUMEUP }, 189*32cf86f6SMauro Carvalho Chehab { 0x1d11, KEY_VOLUMEDOWN }, 190*32cf86f6SMauro Carvalho Chehab { 0x1d12, KEY_CHANNEL }, 191*32cf86f6SMauro Carvalho Chehab { 0x1d14, KEY_UP }, 192*32cf86f6SMauro Carvalho Chehab { 0x1d15, KEY_DOWN }, 193*32cf86f6SMauro Carvalho Chehab { 0x1d16, KEY_LEFT }, 194*32cf86f6SMauro Carvalho Chehab { 0x1d17, KEY_RIGHT }, 195*32cf86f6SMauro Carvalho Chehab { 0x1d1c, KEY_TV }, 196*32cf86f6SMauro Carvalho Chehab { 0x1d1e, KEY_NEXT }, 197*32cf86f6SMauro Carvalho Chehab { 0x1d1f, KEY_BACK }, 198*32cf86f6SMauro Carvalho Chehab { 0x1d20, KEY_CHANNELUP }, 199*32cf86f6SMauro Carvalho Chehab { 0x1d21, KEY_CHANNELDOWN }, 200*32cf86f6SMauro Carvalho Chehab { 0x1d24, KEY_LAST }, 201*32cf86f6SMauro Carvalho Chehab { 0x1d25, KEY_OK }, 202*32cf86f6SMauro Carvalho Chehab { 0x1d30, KEY_PAUSE }, 203*32cf86f6SMauro Carvalho Chehab { 0x1d32, KEY_REWIND }, 204*32cf86f6SMauro Carvalho Chehab { 0x1d34, KEY_FASTFORWARD }, 205*32cf86f6SMauro Carvalho Chehab { 0x1d35, KEY_PLAY }, 206*32cf86f6SMauro Carvalho Chehab { 0x1d36, KEY_STOP }, 207*32cf86f6SMauro Carvalho Chehab { 0x1d37, KEY_RECORD }, 208*32cf86f6SMauro Carvalho Chehab { 0x1d3b, KEY_GOTO }, 209*32cf86f6SMauro Carvalho Chehab { 0x1d3d, KEY_POWER }, 210*32cf86f6SMauro Carvalho Chehab }; 211*32cf86f6SMauro Carvalho Chehab 212*32cf86f6SMauro Carvalho Chehab static struct rc_keymap dib0700_rc5_map = { 213*32cf86f6SMauro Carvalho Chehab .map = { 214*32cf86f6SMauro Carvalho Chehab .scan = dib0700_rc5_table, 215*32cf86f6SMauro Carvalho Chehab .size = ARRAY_SIZE(dib0700_rc5_table), 216*32cf86f6SMauro Carvalho Chehab .ir_type = IR_TYPE_RC5, 217*32cf86f6SMauro Carvalho Chehab .name = RC_MAP_DIB0700_RC5_TABLE, 218*32cf86f6SMauro Carvalho Chehab } 219*32cf86f6SMauro Carvalho Chehab }; 220*32cf86f6SMauro Carvalho Chehab 221*32cf86f6SMauro Carvalho Chehab static int __init init_rc_map(void) 222*32cf86f6SMauro Carvalho Chehab { 223*32cf86f6SMauro Carvalho Chehab return ir_register_map(&dib0700_rc5_map); 224*32cf86f6SMauro Carvalho Chehab } 225*32cf86f6SMauro Carvalho Chehab 226*32cf86f6SMauro Carvalho Chehab static void __exit exit_rc_map(void) 227*32cf86f6SMauro Carvalho Chehab { 228*32cf86f6SMauro Carvalho Chehab ir_unregister_map(&dib0700_rc5_map); 229*32cf86f6SMauro Carvalho Chehab } 230*32cf86f6SMauro Carvalho Chehab 231*32cf86f6SMauro Carvalho Chehab module_init(init_rc_map) 232*32cf86f6SMauro Carvalho Chehab module_exit(exit_rc_map) 233*32cf86f6SMauro Carvalho Chehab 234*32cf86f6SMauro Carvalho Chehab MODULE_LICENSE("GPL"); 235*32cf86f6SMauro Carvalho Chehab MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); 236