1a49de26aSEvgeny Plehov /* rc-su3000.h - Keytable for Geniatech HDStar Remote Controller 2a49de26aSEvgeny Plehov * 3a49de26aSEvgeny Plehov * Copyright (c) 2013 by Evgeny Plehov <Evgeny Plehov@ukr.net> 4a49de26aSEvgeny Plehov * 5a49de26aSEvgeny Plehov * This program is free software; you can redistribute it and/or modify 6a49de26aSEvgeny Plehov * it under the terms of the GNU General Public License as published by 7a49de26aSEvgeny Plehov * the Free Software Foundation; either version 2 of the License, or 8a49de26aSEvgeny Plehov * (at your option) any later version. 9a49de26aSEvgeny Plehov */ 10a49de26aSEvgeny Plehov 11a49de26aSEvgeny Plehov #include <media/rc-map.h> 12a49de26aSEvgeny Plehov #include <linux/module.h> 13a49de26aSEvgeny Plehov 14a49de26aSEvgeny Plehov static struct rc_map_table su3000[] = { 15a49de26aSEvgeny Plehov { 0x25, KEY_POWER }, /* right-bottom Red */ 16a49de26aSEvgeny Plehov { 0x0a, KEY_MUTE }, /* -/-- */ 17a49de26aSEvgeny Plehov { 0x01, KEY_1 }, 18a49de26aSEvgeny Plehov { 0x02, KEY_2 }, 19a49de26aSEvgeny Plehov { 0x03, KEY_3 }, 20a49de26aSEvgeny Plehov { 0x04, KEY_4 }, 21a49de26aSEvgeny Plehov { 0x05, KEY_5 }, 22a49de26aSEvgeny Plehov { 0x06, KEY_6 }, 23a49de26aSEvgeny Plehov { 0x07, KEY_7 }, 24a49de26aSEvgeny Plehov { 0x08, KEY_8 }, 25a49de26aSEvgeny Plehov { 0x09, KEY_9 }, 26a49de26aSEvgeny Plehov { 0x00, KEY_0 }, 27a49de26aSEvgeny Plehov { 0x20, KEY_UP }, /* CH+ */ 28a49de26aSEvgeny Plehov { 0x21, KEY_DOWN }, /* CH+ */ 29a49de26aSEvgeny Plehov { 0x12, KEY_VOLUMEUP }, /* Brightness Up */ 30a49de26aSEvgeny Plehov { 0x13, KEY_VOLUMEDOWN },/* Brightness Down */ 31a49de26aSEvgeny Plehov { 0x1f, KEY_RECORD }, 32a49de26aSEvgeny Plehov { 0x17, KEY_PLAY }, 33a49de26aSEvgeny Plehov { 0x16, KEY_PAUSE }, 34a49de26aSEvgeny Plehov { 0x0b, KEY_STOP }, 35a49de26aSEvgeny Plehov { 0x27, KEY_FASTFORWARD },/* >> */ 36a49de26aSEvgeny Plehov { 0x26, KEY_REWIND }, /* << */ 37a49de26aSEvgeny Plehov { 0x0d, KEY_OK }, /* Mute */ 38a49de26aSEvgeny Plehov { 0x11, KEY_LEFT }, /* VOL- */ 39a49de26aSEvgeny Plehov { 0x10, KEY_RIGHT }, /* VOL+ */ 40a49de26aSEvgeny Plehov { 0x29, KEY_BACK }, /* button under 9 */ 41a49de26aSEvgeny Plehov { 0x2c, KEY_MENU }, /* TTX */ 42a49de26aSEvgeny Plehov { 0x2b, KEY_EPG }, /* EPG */ 43a49de26aSEvgeny Plehov { 0x1e, KEY_RED }, /* OSD */ 44a49de26aSEvgeny Plehov { 0x0e, KEY_GREEN }, /* Window */ 45a49de26aSEvgeny Plehov { 0x2d, KEY_YELLOW }, /* button under << */ 46a49de26aSEvgeny Plehov { 0x0f, KEY_BLUE }, /* bottom yellow button */ 47a49de26aSEvgeny Plehov { 0x14, KEY_AUDIO }, /* Snapshot */ 48a49de26aSEvgeny Plehov { 0x38, KEY_TV }, /* TV/Radio */ 49a49de26aSEvgeny Plehov { 0x0c, KEY_ESC } /* upper Red button */ 50a49de26aSEvgeny Plehov }; 51a49de26aSEvgeny Plehov 52a49de26aSEvgeny Plehov static struct rc_map_list su3000_map = { 53a49de26aSEvgeny Plehov .map = { 54a49de26aSEvgeny Plehov .scan = su3000, 55a49de26aSEvgeny Plehov .size = ARRAY_SIZE(su3000), 566d741bfeSSean Young .rc_proto = RC_PROTO_RC5, 57a49de26aSEvgeny Plehov .name = RC_MAP_SU3000, 58a49de26aSEvgeny Plehov } 59a49de26aSEvgeny Plehov }; 60a49de26aSEvgeny Plehov 61a49de26aSEvgeny Plehov static int __init init_rc_map_su3000(void) 62a49de26aSEvgeny Plehov { 63a49de26aSEvgeny Plehov return rc_map_register(&su3000_map); 64a49de26aSEvgeny Plehov } 65a49de26aSEvgeny Plehov 66a49de26aSEvgeny Plehov static void __exit exit_rc_map_su3000(void) 67a49de26aSEvgeny Plehov { 68a49de26aSEvgeny Plehov rc_map_unregister(&su3000_map); 69a49de26aSEvgeny Plehov } 70a49de26aSEvgeny Plehov 71a49de26aSEvgeny Plehov module_init(init_rc_map_su3000) 72a49de26aSEvgeny Plehov module_exit(exit_rc_map_su3000) 73a49de26aSEvgeny Plehov 74a49de26aSEvgeny Plehov MODULE_LICENSE("GPL"); 75a49de26aSEvgeny Plehov MODULE_AUTHOR("Evgeny Plehov <Evgeny Plehov@ukr.net>"); 76