1175fcecfSAnssi Hannula /* 2175fcecfSAnssi Hannula * Medion X10 RF remote keytable 3175fcecfSAnssi Hannula * 4175fcecfSAnssi Hannula * Copyright (C) 2011 Anssi Hannula <anssi.hannula@?ki.fi> 5175fcecfSAnssi Hannula * 6175fcecfSAnssi Hannula * This file is based on a keytable provided by 7175fcecfSAnssi Hannula * Jan Losinski <losinski@wh2.tu-dresden.de> 8175fcecfSAnssi Hannula * 9175fcecfSAnssi Hannula * This program is free software; you can redistribute it and/or modify 10175fcecfSAnssi Hannula * it under the terms of the GNU General Public License as published by 11175fcecfSAnssi Hannula * the Free Software Foundation; either version 2 of the License, or 12175fcecfSAnssi Hannula * (at your option) any later version. 13175fcecfSAnssi Hannula * 14175fcecfSAnssi Hannula * This program is distributed in the hope that it will be useful, 15175fcecfSAnssi Hannula * but WITHOUT ANY WARRANTY; without even the implied warranty of 16175fcecfSAnssi Hannula * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17175fcecfSAnssi Hannula * GNU General Public License for more details. 18175fcecfSAnssi Hannula * 19175fcecfSAnssi Hannula * You should have received a copy of the GNU General Public License along 20175fcecfSAnssi Hannula * with this program; if not, write to the Free Software Foundation, Inc., 21175fcecfSAnssi Hannula * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22175fcecfSAnssi Hannula */ 23175fcecfSAnssi Hannula 24547d42eaSMauro Carvalho Chehab #include <linux/module.h> 25175fcecfSAnssi Hannula #include <media/rc-map.h> 26175fcecfSAnssi Hannula 27175fcecfSAnssi Hannula static struct rc_map_table medion_x10[] = { 285eefb4f0SAnssi Hannula { 0x2c, KEY_TV }, /* TV */ 295eefb4f0SAnssi Hannula { 0x2d, KEY_VCR }, /* VCR */ 305eefb4f0SAnssi Hannula { 0x04, KEY_DVD }, /* DVD */ 315eefb4f0SAnssi Hannula { 0x06, KEY_AUDIO }, /* MUSIC */ 32175fcecfSAnssi Hannula 335eefb4f0SAnssi Hannula { 0x2e, KEY_RADIO }, /* RADIO */ 345eefb4f0SAnssi Hannula { 0x05, KEY_DIRECTORY }, /* PHOTO */ 355eefb4f0SAnssi Hannula { 0x2f, KEY_INFO }, /* TV-PREVIEW */ 365eefb4f0SAnssi Hannula { 0x30, KEY_LIST }, /* CHANNEL-LST */ 37175fcecfSAnssi Hannula 385eefb4f0SAnssi Hannula { 0x1b, KEY_SETUP }, /* SETUP */ 395eefb4f0SAnssi Hannula { 0x31, KEY_VIDEO }, /* VIDEO DESKTOP */ 40175fcecfSAnssi Hannula 415eefb4f0SAnssi Hannula { 0x08, KEY_VOLUMEDOWN }, /* VOL - */ 425eefb4f0SAnssi Hannula { 0x09, KEY_VOLUMEUP }, /* VOL + */ 435eefb4f0SAnssi Hannula { 0x0b, KEY_CHANNELUP }, /* CHAN + */ 445eefb4f0SAnssi Hannula { 0x0c, KEY_CHANNELDOWN }, /* CHAN - */ 455eefb4f0SAnssi Hannula { 0x00, KEY_MUTE }, /* MUTE */ 46175fcecfSAnssi Hannula 475eefb4f0SAnssi Hannula { 0x32, KEY_RED }, /* red */ 485eefb4f0SAnssi Hannula { 0x33, KEY_GREEN }, /* green */ 495eefb4f0SAnssi Hannula { 0x34, KEY_YELLOW }, /* yellow */ 505eefb4f0SAnssi Hannula { 0x35, KEY_BLUE }, /* blue */ 515eefb4f0SAnssi Hannula { 0x16, KEY_TEXT }, /* TXT */ 52175fcecfSAnssi Hannula 535eefb4f0SAnssi Hannula { 0x0d, KEY_1 }, 545eefb4f0SAnssi Hannula { 0x0e, KEY_2 }, 555eefb4f0SAnssi Hannula { 0x0f, KEY_3 }, 565eefb4f0SAnssi Hannula { 0x10, KEY_4 }, 575eefb4f0SAnssi Hannula { 0x11, KEY_5 }, 585eefb4f0SAnssi Hannula { 0x12, KEY_6 }, 595eefb4f0SAnssi Hannula { 0x13, KEY_7 }, 605eefb4f0SAnssi Hannula { 0x14, KEY_8 }, 615eefb4f0SAnssi Hannula { 0x15, KEY_9 }, 625eefb4f0SAnssi Hannula { 0x17, KEY_0 }, 635eefb4f0SAnssi Hannula { 0x1c, KEY_SEARCH }, /* TV/RAD, CH SRC */ 645eefb4f0SAnssi Hannula { 0x20, KEY_DELETE }, /* DELETE */ 65175fcecfSAnssi Hannula 665eefb4f0SAnssi Hannula { 0x36, KEY_KEYBOARD }, /* RENAME */ 675eefb4f0SAnssi Hannula { 0x18, KEY_SCREEN }, /* SNAPSHOT */ 68175fcecfSAnssi Hannula 695eefb4f0SAnssi Hannula { 0x1a, KEY_UP }, /* up */ 705eefb4f0SAnssi Hannula { 0x22, KEY_DOWN }, /* down */ 715eefb4f0SAnssi Hannula { 0x1d, KEY_LEFT }, /* left */ 725eefb4f0SAnssi Hannula { 0x1f, KEY_RIGHT }, /* right */ 735eefb4f0SAnssi Hannula { 0x1e, KEY_OK }, /* OK */ 74175fcecfSAnssi Hannula 755eefb4f0SAnssi Hannula { 0x37, KEY_SELECT }, /* ACQUIRE IMAGE */ 765eefb4f0SAnssi Hannula { 0x38, KEY_EDIT }, /* EDIT IMAGE */ 77175fcecfSAnssi Hannula 785eefb4f0SAnssi Hannula { 0x24, KEY_REWIND }, /* rewind (<<) */ 795eefb4f0SAnssi Hannula { 0x25, KEY_PLAY }, /* play ( >) */ 805eefb4f0SAnssi Hannula { 0x26, KEY_FORWARD }, /* forward (>>) */ 815eefb4f0SAnssi Hannula { 0x27, KEY_RECORD }, /* record ( o) */ 825eefb4f0SAnssi Hannula { 0x28, KEY_STOP }, /* stop ([]) */ 835eefb4f0SAnssi Hannula { 0x29, KEY_PAUSE }, /* pause ('') */ 84175fcecfSAnssi Hannula 855eefb4f0SAnssi Hannula { 0x21, KEY_PREVIOUS }, /* prev */ 865eefb4f0SAnssi Hannula { 0x39, KEY_SWITCHVIDEOMODE }, /* F SCR */ 875eefb4f0SAnssi Hannula { 0x23, KEY_NEXT }, /* next */ 885eefb4f0SAnssi Hannula { 0x19, KEY_MENU }, /* MENU */ 895eefb4f0SAnssi Hannula { 0x3a, KEY_LANGUAGE }, /* AUDIO */ 90175fcecfSAnssi Hannula 915eefb4f0SAnssi Hannula { 0x02, KEY_POWER }, /* POWER */ 92175fcecfSAnssi Hannula }; 93175fcecfSAnssi Hannula 94175fcecfSAnssi Hannula static struct rc_map_list medion_x10_map = { 95175fcecfSAnssi Hannula .map = { 96175fcecfSAnssi Hannula .scan = medion_x10, 97175fcecfSAnssi Hannula .size = ARRAY_SIZE(medion_x10), 98175fcecfSAnssi Hannula .rc_type = RC_TYPE_OTHER, 99175fcecfSAnssi Hannula .name = RC_MAP_MEDION_X10, 100175fcecfSAnssi Hannula } 101175fcecfSAnssi Hannula }; 102175fcecfSAnssi Hannula 103175fcecfSAnssi Hannula static int __init init_rc_map_medion_x10(void) 104175fcecfSAnssi Hannula { 105175fcecfSAnssi Hannula return rc_map_register(&medion_x10_map); 106175fcecfSAnssi Hannula } 107175fcecfSAnssi Hannula 108175fcecfSAnssi Hannula static void __exit exit_rc_map_medion_x10(void) 109175fcecfSAnssi Hannula { 110175fcecfSAnssi Hannula rc_map_unregister(&medion_x10_map); 111175fcecfSAnssi Hannula } 112175fcecfSAnssi Hannula 113175fcecfSAnssi Hannula module_init(init_rc_map_medion_x10) 114175fcecfSAnssi Hannula module_exit(exit_rc_map_medion_x10) 115175fcecfSAnssi Hannula 116175fcecfSAnssi Hannula MODULE_LICENSE("GPL"); 117175fcecfSAnssi Hannula MODULE_AUTHOR("Anssi Hannula <anssi.hannula@iki.fi>"); 118