This is an NEC remote control device shipped with the Videostrong KII Pro tv box as well as other devices from videostrong. Signed-off-by: Mohammad Rasim <mohammad.rasim96@xxxxxxxxx> --- drivers/media/rc/keymaps/Makefile | 1 + .../media/rc/keymaps/rc-videostrong-kii-pro.c | 85 +++++++++++++++++++ include/media/rc-map.h | 1 + 3 files changed, 87 insertions(+) create mode 100644 drivers/media/rc/keymaps/rc-videostrong-kii-pro.c diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile index a56fc634d2d6..ea91a9afa6a0 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile @@ -117,6 +117,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-videomate-m1f.o \ rc-videomate-s350.o \ rc-videomate-tv-pvr.o \ + rc-videostrong-kii-pro.o \ rc-wetek-hub.o \ rc-wetek-play2.o \ rc-winfast.o \ diff --git a/drivers/media/rc/keymaps/rc-videostrong-kii-pro.c b/drivers/media/rc/keymaps/rc-videostrong-kii-pro.c new file mode 100644 index 000000000000..7b5808526d16 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-videostrong-kii-pro.c @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright (C) 2019 Mohammad Rasim <mohammad.rasim96@xxxxxxxxx> + +#include <media/rc-map.h> +#include <linux/module.h> + +// +// Keytable for the Videostrong KII Pro STB remote control +// + +static struct rc_map_table kii_pro[] = { + { 0x59, KEY_POWER }, + { 0x19, KEY_MUTE }, + { 0x42, KEY_RED }, + { 0x40, KEY_GREEN }, + { 0x00, KEY_YELLOW }, + { 0x03, KEY_BLUE }, + { 0x4a, KEY_BACK }, + { 0x48, KEY_FORWARD }, + { 0x08, KEY_PREVIOUSSONG}, + { 0x0b, KEY_NEXTSONG}, + { 0x46, KEY_PLAYPAUSE }, + { 0x44, KEY_STOP }, + { 0x1f,KEY_FAVORITES},//KEY_F5? + { 0x04,KEY_RECORD}, + { 0x4d,KEY_EPG}, + { 0x02,KEY_INFO}, + { 0x09,KEY_SUBTITLE}, + { 0x01,KEY_AUDIO}, + { 0x0d,KEY_HOMEPAGE}, + { 0x11,KEY_G},// DTV ? + { 0x06,KEY_UP}, + { 0x5a,KEY_LEFT}, + { 0x1a,KEY_ENTER},// KEY_OK ? + { 0x1b,KEY_RIGHT}, + { 0x16,KEY_DOWN}, + + { 0x45,KEY_MENU}, + { 0x05,KEY_ESC}, + { 0x13, KEY_VOLUMEUP }, + { 0x17, KEY_VOLUMEDOWN }, + { 0x58,KEY_F6}, + { 0x12,KEY_KATAKANA}, // mouse? + { 0x55,KEY_PAGEUP}, // KEY_CHANNELUP ? + { 0x15,KEY_PAGEDOWN}, //KEY_CHANNELDOWN ? + { 0x52,KEY_1}, + { 0x50,KEY_2}, + { 0x10,KEY_3}, + { 0x56,KEY_4}, + { 0x54,KEY_5}, + { 0x14,KEY_6}, + { 0x4e,KEY_7}, + { 0x4c,KEY_8}, + { 0x0c,KEY_9}, + { 0x18,KEY_F7}, + { 0x0f,KEY_0}, + { 0x51,KEY_BACKSPACE}, + +}; + +static struct rc_map_list kii_pro_map = { + .map = { + .scan = kii_pro, + .size = ARRAY_SIZE(kii_pro), + .rc_proto = RC_PROTO_NEC, + .name = RC_MAP_KII_PRO, + } +}; + +static int __init init_rc_map_kii_pro(void) +{ + return rc_map_register(&kii_pro_map); +} + +static void __exit exit_rc_map_kii_pro(void) +{ + rc_map_unregister(&kii_pro_map); +} + +module_init(init_rc_map_kii_pro) +module_exit(exit_rc_map_kii_pro) + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Mohammad Rasim <mohammad.rasim96@xxxxxxxxx>"); diff --git a/include/media/rc-map.h b/include/media/rc-map.h index afd2ab31bdf2..b4e70d22a9d5 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h @@ -271,6 +271,7 @@ struct rc_map *rc_map_get(const char *name); #define RC_MAP_VIDEOMATE_K100 "rc-videomate-k100" #define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350" #define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr" +#define RC_MAP_KII_PRO "rc-videostrong-kii-pro" #define RC_MAP_WETEK_HUB "rc-wetek-hub" #define RC_MAP_WETEK_PLAY2 "rc-wetek-play2" #define RC_MAP_WINFAST "rc-winfast" -- 2.23.0