85 lines · c
1// SPDX-License-Identifier: GPL-2.0+2//3// Copyright (C) 2019 Christian Hewitt <christianshewitt@gmail.com>4 5#include <media/rc-map.h>6#include <linux/module.h>7 8//9// Keytable for the X96-max STB remote control10//11 12static struct rc_map_table x96max[] = {13 { 0x140, KEY_POWER },14 15 // ** TV CONTROL **16 // SET17 // AV/TV18 // POWER19 // VOLUME UP20 // VOLUME DOWN21 22 { 0x118, KEY_VOLUMEUP },23 { 0x110, KEY_VOLUMEDOWN },24 25 { 0x143, KEY_MUTE }, // config26 27 { 0x100, KEY_EPG }, // mouse28 { 0x119, KEY_BACK },29 30 { 0x116, KEY_UP },31 { 0x151, KEY_LEFT },32 { 0x150, KEY_RIGHT },33 { 0x11a, KEY_DOWN },34 { 0x113, KEY_OK },35 36 { 0x111, KEY_HOME },37 { 0x14c, KEY_CONTEXT_MENU },38 39 { 0x159, KEY_PREVIOUS },40 { 0x15a, KEY_PLAYPAUSE },41 { 0x158, KEY_NEXT },42 43 { 0x147, KEY_MENU }, // @ key44 { 0x101, KEY_NUMERIC_0 },45 { 0x142, KEY_BACKSPACE },46 47 { 0x14e, KEY_NUMERIC_1 },48 { 0x10d, KEY_NUMERIC_2 },49 { 0x10c, KEY_NUMERIC_3 },50 51 { 0x14a, KEY_NUMERIC_4 },52 { 0x109, KEY_NUMERIC_5 },53 { 0x108, KEY_NUMERIC_6 },54 55 { 0x146, KEY_NUMERIC_7 },56 { 0x105, KEY_NUMERIC_8 },57 { 0x104, KEY_NUMERIC_9 },58};59 60static struct rc_map_list x96max_map = {61 .map = {62 .scan = x96max,63 .size = ARRAY_SIZE(x96max),64 .rc_proto = RC_PROTO_NEC,65 .name = RC_MAP_X96MAX,66 }67};68 69static int __init init_rc_map_x96max(void)70{71 return rc_map_register(&x96max_map);72}73 74static void __exit exit_rc_map_x96max(void)75{76 rc_map_unregister(&x96max_map);77}78 79module_init(init_rc_map_x96max)80module_exit(exit_rc_map_x96max)81 82MODULE_LICENSE("GPL");83MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com");84MODULE_DESCRIPTION("X96-max STB remote controller keytable");85