67 lines · c
1// SPDX-License-Identifier: GPL-2.0+2// proteus-2309.h - Keytable for proteus_2309 Remote Controller3//4// keymap imported from ir-keymaps.c5//6// Copyright (c) 2010 by Mauro Carvalho Chehab7 8#include <media/rc-map.h>9#include <linux/module.h>10 11/* Michal Majchrowicz <mmajchrowicz@gmail.com> */12 13static struct rc_map_table proteus_2309[] = {14 /* numeric */15 { 0x00, KEY_NUMERIC_0 },16 { 0x01, KEY_NUMERIC_1 },17 { 0x02, KEY_NUMERIC_2 },18 { 0x03, KEY_NUMERIC_3 },19 { 0x04, KEY_NUMERIC_4 },20 { 0x05, KEY_NUMERIC_5 },21 { 0x06, KEY_NUMERIC_6 },22 { 0x07, KEY_NUMERIC_7 },23 { 0x08, KEY_NUMERIC_8 },24 { 0x09, KEY_NUMERIC_9 },25 26 { 0x5c, KEY_POWER }, /* power */27 { 0x20, KEY_ZOOM }, /* full screen */28 { 0x0f, KEY_BACKSPACE }, /* recall */29 { 0x1b, KEY_ENTER }, /* mute */30 { 0x41, KEY_RECORD }, /* record */31 { 0x43, KEY_STOP }, /* stop */32 { 0x16, KEY_S },33 { 0x1a, KEY_POWER2 }, /* off */34 { 0x2e, KEY_RED },35 { 0x1f, KEY_CHANNELDOWN }, /* channel - */36 { 0x1c, KEY_CHANNELUP }, /* channel + */37 { 0x10, KEY_VOLUMEDOWN }, /* volume - */38 { 0x1e, KEY_VOLUMEUP }, /* volume + */39 { 0x14, KEY_F1 },40};41 42static struct rc_map_list proteus_2309_map = {43 .map = {44 .scan = proteus_2309,45 .size = ARRAY_SIZE(proteus_2309),46 .rc_proto = RC_PROTO_UNKNOWN, /* Legacy IR type */47 .name = RC_MAP_PROTEUS_2309,48 }49};50 51static int __init init_rc_map_proteus_2309(void)52{53 return rc_map_register(&proteus_2309_map);54}55 56static void __exit exit_rc_map_proteus_2309(void)57{58 rc_map_unregister(&proteus_2309_map);59}60 61module_init(init_rc_map_proteus_2309)62module_exit(exit_rc_map_proteus_2309)63 64MODULE_LICENSE("GPL");65MODULE_AUTHOR("Mauro Carvalho Chehab");66MODULE_DESCRIPTION("proteus-2309 remote controller keytable");67