Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: rc: add keymap for Khadas VIM/EDGE remote

Khadas VIM and Edge SBC devices use the same NEC remote device. The
remote includes a mouse button for Android use. This has been mapped
to KEY_MUTE.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

authored by

Christian Hewitt and committed by
Mauro Carvalho Chehab
a53dee7b 9b9e9e5b

+56
+1
drivers/media/rc/keymaps/Makefile
··· 58 58 rc-it913x-v1.o \ 59 59 rc-it913x-v2.o \ 60 60 rc-kaiomy.o \ 61 + rc-khadas.o \ 61 62 rc-kworld-315u.o \ 62 63 rc-kworld-pc150u.o \ 63 64 rc-kworld-plus-tv-analog.o \
+54
drivers/media/rc/keymaps/rc-khadas.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + // 3 + // Copyright (C) 2019 Christian Hewitt <christianshewitt@gmail.com> 4 + 5 + /* 6 + * Keytable for the Khadas VIM/EDGE SBC remote control 7 + */ 8 + 9 + #include <media/rc-map.h> 10 + #include <linux/module.h> 11 + 12 + static struct rc_map_table khadas[] = { 13 + { 0x14, KEY_POWER }, 14 + 15 + { 0x03, KEY_UP }, 16 + { 0x02, KEY_DOWN }, 17 + { 0x0e, KEY_LEFT }, 18 + { 0x1a, KEY_RIGHT }, 19 + { 0x07, KEY_OK }, 20 + 21 + { 0x01, KEY_BACK }, 22 + { 0x5b, KEY_MUTE }, // mouse 23 + { 0x13, KEY_MENU }, 24 + 25 + { 0x58, KEY_VOLUMEDOWN }, 26 + { 0x0b, KEY_VOLUMEUP }, 27 + 28 + { 0x48, KEY_HOME }, 29 + }; 30 + 31 + static struct rc_map_list khadas_map = { 32 + .map = { 33 + .scan = khadas, 34 + .size = ARRAY_SIZE(khadas), 35 + .rc_proto = RC_PROTO_NEC, 36 + .name = RC_MAP_KHADAS, 37 + } 38 + }; 39 + 40 + static int __init init_rc_map_khadas(void) 41 + { 42 + return rc_map_register(&khadas_map); 43 + } 44 + 45 + static void __exit exit_rc_map_khadas(void) 46 + { 47 + rc_map_unregister(&khadas_map); 48 + } 49 + 50 + module_init(init_rc_map_khadas) 51 + module_exit(exit_rc_map_khadas) 52 + 53 + MODULE_LICENSE("GPL"); 54 + MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com>");
+1
include/media/rc-map.h
··· 211 211 #define RC_MAP_IT913X_V1 "rc-it913x-v1" 212 212 #define RC_MAP_IT913X_V2 "rc-it913x-v2" 213 213 #define RC_MAP_KAIOMY "rc-kaiomy" 214 + #define RC_MAP_KHADAS "rc-khadas" 214 215 #define RC_MAP_KWORLD_315U "rc-kworld-315u" 215 216 #define RC_MAP_KWORLD_PC150U "rc-kworld-pc150u" 216 217 #define RC_MAP_KWORLD_PLUS_TV_ANALOG "rc-kworld-plus-tv-analog"