diff options
Diffstat (limited to 'drivers/media/rc/keymaps/rc-dign.c')
-rw-r--r-- | drivers/media/rc/keymaps/rc-dign.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/drivers/media/rc/keymaps/rc-dign.c b/drivers/media/rc/keymaps/rc-dign.c new file mode 100644 index 000000000000..a70bb5f89278 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dign.c @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// Keymap for Dign Remote for Ahanix D.Vine 5 Case +// +// Copyright (C) 2018 by Sean Young <sean@mess.org> + +#include <media/rc-map.h> +#include <linux/module.h> + +static struct rc_map_table dign[] = { + { 0x8000, KEY_POWER }, + { 0x8002, KEY_EJECTCD }, + { 0x8008, KEY_1 }, + { 0x8009, KEY_2 }, + { 0x800a, KEY_3 }, + { 0x8010, KEY_4 }, + { 0x8011, KEY_5 }, + { 0x8012, KEY_6 }, + { 0x8018, KEY_7 }, + { 0x8019, KEY_8 }, + { 0x801a, KEY_9 }, + + { 0x8040, KEY_ENTER }, /* Start/Windows */ + { 0x8041, KEY_0 }, + { 0x8006, KEY_MENU }, + + { 0x800f, KEY_VOLUMEDOWN }, + { 0x800e, KEY_VOLUMEUP }, + + { 0x8005, KEY_ESC }, + { 0x8007, KEY_CLOSE }, + { 0x800b, KEY_UP }, + { 0x8003, KEY_LEFT }, + { 0x801b, KEY_RIGHT }, + { 0x8043, KEY_DOWN }, + { 0x8013, KEY_ENTER }, + + { 0x800c, KEY_PREVIOUSSONG }, + { 0x8001, KEY_NEXTSONG }, + + { 0x800d, KEY_MUTE }, + { 0x8004, KEY_FRAMEFORWARD }, /* Step */ + { 0x8049, KEY_PLAYPAUSE }, + { 0x8048, KEY_STOP }, +}; + +static struct rc_map_list dign_map = { + .map = { + .scan = dign, + .size = ARRAY_SIZE(dign), + .rc_proto = RC_PROTO_NEC, + .name = RC_MAP_DIGN, + } +}; + +static int __init init_rc_map_dign(void) +{ + return rc_map_register(&dign_map); +} + +static void __exit exit_rc_map_dign(void) +{ + rc_map_unregister(&dign_map); +} + +module_init(init_rc_map_dign) +module_exit(exit_rc_map_dign) + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Sean Young <sean@mess.org>"); |