1 /* 2 * Medion X10 RF remote keytable 3 * 4 * Copyright (C) 2011 Anssi Hannula <anssi.hannula@?ki.fi> 5 * 6 * This file is based on a keytable provided by 7 * Jan Losinski <losinski@wh2.tu-dresden.de> 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License along 20 * with this program; if not, write to the Free Software Foundation, Inc., 21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 */ 23 24 #include <linux/module.h> 25 #include <media/rc-map.h> 26 27 static struct rc_map_table medion_x10[] = { 28 { 0xf12c, KEY_TV }, /* TV */ 29 { 0xf22d, KEY_VCR }, /* VCR */ 30 { 0xc904, KEY_DVD }, /* DVD */ 31 { 0xcb06, KEY_AUDIO }, /* MUSIC */ 32 33 { 0xf32e, KEY_RADIO }, /* RADIO */ 34 { 0xca05, KEY_DIRECTORY }, /* PHOTO */ 35 { 0xf42f, KEY_INFO }, /* TV-PREVIEW */ 36 { 0xf530, KEY_LIST }, /* CHANNEL-LST */ 37 38 { 0xe01b, KEY_SETUP }, /* SETUP */ 39 { 0xf631, KEY_VIDEO }, /* VIDEO DESKTOP */ 40 41 { 0xcd08, KEY_VOLUMEDOWN }, /* VOL - */ 42 { 0xce09, KEY_VOLUMEUP }, /* VOL + */ 43 { 0xd00b, KEY_CHANNELUP }, /* CHAN + */ 44 { 0xd10c, KEY_CHANNELDOWN }, /* CHAN - */ 45 { 0xc500, KEY_MUTE }, /* MUTE */ 46 47 { 0xf732, KEY_RED }, /* red */ 48 { 0xf833, KEY_GREEN }, /* green */ 49 { 0xf934, KEY_YELLOW }, /* yellow */ 50 { 0xfa35, KEY_BLUE }, /* blue */ 51 { 0xdb16, KEY_TEXT }, /* TXT */ 52 53 { 0xd20d, KEY_1 }, 54 { 0xd30e, KEY_2 }, 55 { 0xd40f, KEY_3 }, 56 { 0xd510, KEY_4 }, 57 { 0xd611, KEY_5 }, 58 { 0xd712, KEY_6 }, 59 { 0xd813, KEY_7 }, 60 { 0xd914, KEY_8 }, 61 { 0xda15, KEY_9 }, 62 { 0xdc17, KEY_0 }, 63 { 0xe11c, KEY_SEARCH }, /* TV/RAD, CH SRC */ 64 { 0xe520, KEY_DELETE }, /* DELETE */ 65 66 { 0xfb36, KEY_KEYBOARD }, /* RENAME */ 67 { 0xdd18, KEY_SCREEN }, /* SNAPSHOT */ 68 69 { 0xdf1a, KEY_UP }, /* up */ 70 { 0xe722, KEY_DOWN }, /* down */ 71 { 0xe21d, KEY_LEFT }, /* left */ 72 { 0xe41f, KEY_RIGHT }, /* right */ 73 { 0xe31e, KEY_OK }, /* OK */ 74 75 { 0xfc37, KEY_SELECT }, /* ACQUIRE IMAGE */ 76 { 0xfd38, KEY_EDIT }, /* EDIT IMAGE */ 77 78 { 0xe924, KEY_REWIND }, /* rewind (<<) */ 79 { 0xea25, KEY_PLAY }, /* play ( >) */ 80 { 0xeb26, KEY_FORWARD }, /* forward (>>) */ 81 { 0xec27, KEY_RECORD }, /* record ( o) */ 82 { 0xed28, KEY_STOP }, /* stop ([]) */ 83 { 0xee29, KEY_PAUSE }, /* pause ('') */ 84 85 { 0xe621, KEY_PREVIOUS }, /* prev */ 86 { 0xfe39, KEY_SWITCHVIDEOMODE }, /* F SCR */ 87 { 0xe823, KEY_NEXT }, /* next */ 88 { 0xde19, KEY_MENU }, /* MENU */ 89 { 0xff3a, KEY_LANGUAGE }, /* AUDIO */ 90 91 { 0xc702, KEY_POWER }, /* POWER */ 92 }; 93 94 static struct rc_map_list medion_x10_map = { 95 .map = { 96 .scan = medion_x10, 97 .size = ARRAY_SIZE(medion_x10), 98 .rc_type = RC_TYPE_OTHER, 99 .name = RC_MAP_MEDION_X10, 100 } 101 }; 102 103 static int __init init_rc_map_medion_x10(void) 104 { 105 return rc_map_register(&medion_x10_map); 106 } 107 108 static void __exit exit_rc_map_medion_x10(void) 109 { 110 rc_map_unregister(&medion_x10_map); 111 } 112 113 module_init(init_rc_map_medion_x10) 114 module_exit(exit_rc_map_medion_x10) 115 116 MODULE_LICENSE("GPL"); 117 MODULE_AUTHOR("Anssi Hannula <anssi.hannula@iki.fi>"); 118