1 // SPDX-License-Identifier: GPL-2.0+ 2 // Keytable for Xbox DVD remote 3 // Copyright (c) 2018 by Benjamin Valentin <benpicco@googlemail.com> 4 5 #include <media/rc-map.h> 6 #include <linux/module.h> 7 8 /* based on lircd.conf.xbox */ 9 static struct rc_map_table xbox_dvd[] = { 10 {0x0b, KEY_OK}, 11 {0xa6, KEY_UP}, 12 {0xa7, KEY_DOWN}, 13 {0xa8, KEY_RIGHT}, 14 {0xa9, KEY_LEFT}, 15 {0xc3, KEY_INFO}, 16 17 {0xc6, KEY_9}, 18 {0xc7, KEY_8}, 19 {0xc8, KEY_7}, 20 {0xc9, KEY_6}, 21 {0xca, KEY_5}, 22 {0xcb, KEY_4}, 23 {0xcc, KEY_3}, 24 {0xcd, KEY_2}, 25 {0xce, KEY_1}, 26 {0xcf, KEY_0}, 27 28 {0xd5, KEY_ANGLE}, 29 {0xd8, KEY_BACK}, 30 {0xdd, KEY_PREVIOUSSONG}, 31 {0xdf, KEY_NEXTSONG}, 32 {0xe0, KEY_STOP}, 33 {0xe2, KEY_REWIND}, 34 {0xe3, KEY_FASTFORWARD}, 35 {0xe5, KEY_TITLE}, 36 {0xe6, KEY_PAUSE}, 37 {0xea, KEY_PLAY}, 38 {0xf7, KEY_MENU}, 39 }; 40 41 static struct rc_map_list xbox_dvd_map = { 42 .map = { 43 .scan = xbox_dvd, 44 .size = ARRAY_SIZE(xbox_dvd), 45 .rc_proto = RC_PROTO_UNKNOWN, 46 .name = RC_MAP_XBOX_DVD, 47 } 48 }; 49 50 static int __init init_rc_map(void) 51 { 52 return rc_map_register(&xbox_dvd_map); 53 } 54 55 static void __exit exit_rc_map(void) 56 { 57 rc_map_unregister(&xbox_dvd_map); 58 } 59 60 module_init(init_rc_map) 61 module_exit(exit_rc_map) 62 63 MODULE_LICENSE("GPL"); 64