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 { 0x2c, KEY_TV }, /* TV */ 29 { 0x2d, KEY_VCR }, /* VCR */ 30 { 0x04, KEY_DVD }, /* DVD */ 31 { 0x06, KEY_AUDIO }, /* MUSIC */ 32 33 { 0x2e, KEY_RADIO }, /* RADIO */ 34 { 0x05, KEY_DIRECTORY }, /* PHOTO */ 35 { 0x2f, KEY_INFO }, /* TV-PREVIEW */ 36 { 0x30, KEY_LIST }, /* CHANNEL-LST */ 37 38 { 0x1b, KEY_SETUP }, /* SETUP */ 39 { 0x31, KEY_VIDEO }, /* VIDEO DESKTOP */ 40 41 { 0x08, KEY_VOLUMEDOWN }, /* VOL - */ 42 { 0x09, KEY_VOLUMEUP }, /* VOL + */ 43 { 0x0b, KEY_CHANNELUP }, /* CHAN + */ 44 { 0x0c, KEY_CHANNELDOWN }, /* CHAN - */ 45 { 0x00, KEY_MUTE }, /* MUTE */ 46 47 { 0x32, KEY_RED }, /* red */ 48 { 0x33, KEY_GREEN }, /* green */ 49 { 0x34, KEY_YELLOW }, /* yellow */ 50 { 0x35, KEY_BLUE }, /* blue */ 51 { 0x16, KEY_TEXT }, /* TXT */ 52 53 { 0x0d, KEY_1 }, 54 { 0x0e, KEY_2 }, 55 { 0x0f, KEY_3 }, 56 { 0x10, KEY_4 }, 57 { 0x11, KEY_5 }, 58 { 0x12, KEY_6 }, 59 { 0x13, KEY_7 }, 60 { 0x14, KEY_8 }, 61 { 0x15, KEY_9 }, 62 { 0x17, KEY_0 }, 63 { 0x1c, KEY_SEARCH }, /* TV/RAD, CH SRC */ 64 { 0x20, KEY_DELETE }, /* DELETE */ 65 66 { 0x36, KEY_KEYBOARD }, /* RENAME */ 67 { 0x18, KEY_SCREEN }, /* SNAPSHOT */ 68 69 { 0x1a, KEY_UP }, /* up */ 70 { 0x22, KEY_DOWN }, /* down */ 71 { 0x1d, KEY_LEFT }, /* left */ 72 { 0x1f, KEY_RIGHT }, /* right */ 73 { 0x1e, KEY_OK }, /* OK */ 74 75 { 0x37, KEY_SELECT }, /* ACQUIRE IMAGE */ 76 { 0x38, KEY_EDIT }, /* EDIT IMAGE */ 77 78 { 0x24, KEY_REWIND }, /* rewind (<<) */ 79 { 0x25, KEY_PLAY }, /* play ( >) */ 80 { 0x26, KEY_FORWARD }, /* forward (>>) */ 81 { 0x27, KEY_RECORD }, /* record ( o) */ 82 { 0x28, KEY_STOP }, /* stop ([]) */ 83 { 0x29, KEY_PAUSE }, /* pause ('') */ 84 85 { 0x21, KEY_PREVIOUS }, /* prev */ 86 { 0x39, KEY_SWITCHVIDEOMODE }, /* F SCR */ 87 { 0x23, KEY_NEXT }, /* next */ 88 { 0x19, KEY_MENU }, /* MENU */ 89 { 0x3a, KEY_LANGUAGE }, /* AUDIO */ 90 91 { 0x02, 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