1126f6846SMartin Blumenstingl /* 2126f6846SMartin Blumenstingl * Keytable for the GeekBox remote controller 3126f6846SMartin Blumenstingl * 4126f6846SMartin Blumenstingl * Copyright (C) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com> 5126f6846SMartin Blumenstingl * 6126f6846SMartin Blumenstingl * This program is free software; you can redistribute it and/or modify 7126f6846SMartin Blumenstingl * it under the terms of the GNU General Public License version 2 as 8126f6846SMartin Blumenstingl * published by the Free Software Foundation. 9126f6846SMartin Blumenstingl * 10126f6846SMartin Blumenstingl * You should have received a copy of the GNU General Public License 11126f6846SMartin Blumenstingl * along with this program. If not, see <http://www.gnu.org/licenses/>. 12126f6846SMartin Blumenstingl */ 13126f6846SMartin Blumenstingl 14126f6846SMartin Blumenstingl #include <media/rc-map.h> 15126f6846SMartin Blumenstingl #include <linux/module.h> 16126f6846SMartin Blumenstingl 17126f6846SMartin Blumenstingl static struct rc_map_table geekbox[] = { 18126f6846SMartin Blumenstingl { 0x01, KEY_BACK }, 19126f6846SMartin Blumenstingl { 0x02, KEY_DOWN }, 20126f6846SMartin Blumenstingl { 0x03, KEY_UP }, 21126f6846SMartin Blumenstingl { 0x07, KEY_OK }, 22126f6846SMartin Blumenstingl { 0x0b, KEY_VOLUMEUP }, 23126f6846SMartin Blumenstingl { 0x0e, KEY_LEFT }, 24126f6846SMartin Blumenstingl { 0x13, KEY_MENU }, 25126f6846SMartin Blumenstingl { 0x14, KEY_POWER }, 26126f6846SMartin Blumenstingl { 0x1a, KEY_RIGHT }, 27126f6846SMartin Blumenstingl { 0x48, KEY_HOME }, 28126f6846SMartin Blumenstingl { 0x58, KEY_VOLUMEDOWN }, 29126f6846SMartin Blumenstingl { 0x5c, KEY_SCREEN }, 30126f6846SMartin Blumenstingl }; 31126f6846SMartin Blumenstingl 32126f6846SMartin Blumenstingl static struct rc_map_list geekbox_map = { 33126f6846SMartin Blumenstingl .map = { 34126f6846SMartin Blumenstingl .scan = geekbox, 35126f6846SMartin Blumenstingl .size = ARRAY_SIZE(geekbox), 36126f6846SMartin Blumenstingl .rc_type = RC_TYPE_NEC, 37126f6846SMartin Blumenstingl .name = RC_MAP_GEEKBOX, 38126f6846SMartin Blumenstingl } 39126f6846SMartin Blumenstingl }; 40126f6846SMartin Blumenstingl 41126f6846SMartin Blumenstingl static int __init init_rc_map_geekbox(void) 42126f6846SMartin Blumenstingl { 43126f6846SMartin Blumenstingl return rc_map_register(&geekbox_map); 44126f6846SMartin Blumenstingl } 45126f6846SMartin Blumenstingl 46126f6846SMartin Blumenstingl static void __exit exit_rc_map_geekbox(void) 47126f6846SMartin Blumenstingl { 48126f6846SMartin Blumenstingl rc_map_unregister(&geekbox_map); 49126f6846SMartin Blumenstingl } 50126f6846SMartin Blumenstingl 51126f6846SMartin Blumenstingl module_init(init_rc_map_geekbox) 52126f6846SMartin Blumenstingl module_exit(exit_rc_map_geekbox) 53126f6846SMartin Blumenstingl 54126f6846SMartin Blumenstingl MODULE_LICENSE("GPL"); 55126f6846SMartin Blumenstingl MODULE_AUTHOR("Martin Blumenstingl <martin.blumenstingl@googlemail.com>"); 56