95 lines · c
1// SPDX-License-Identifier: GPL-2.0+2// avermedia-cardbus.h - Keytable for avermedia_cardbus 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/* Oldrich Jedlicka <oldium.pro@seznam.cz> */12 13static struct rc_map_table avermedia_cardbus[] = {14 { 0x00, KEY_POWER },15 { 0x01, KEY_TUNER }, /* TV/FM */16 { 0x03, KEY_TEXT }, /* Teletext */17 { 0x04, KEY_EPG },18 { 0x05, KEY_NUMERIC_1 },19 { 0x06, KEY_NUMERIC_2 },20 { 0x07, KEY_NUMERIC_3 },21 { 0x08, KEY_AUDIO },22 { 0x09, KEY_NUMERIC_4 },23 { 0x0a, KEY_NUMERIC_5 },24 { 0x0b, KEY_NUMERIC_6 },25 { 0x0c, KEY_ZOOM }, /* Full screen */26 { 0x0d, KEY_NUMERIC_7 },27 { 0x0e, KEY_NUMERIC_8 },28 { 0x0f, KEY_NUMERIC_9 },29 { 0x10, KEY_PAGEUP }, /* 16-CH PREV */30 { 0x11, KEY_NUMERIC_0 },31 { 0x12, KEY_INFO },32 { 0x13, KEY_AGAIN }, /* CH RTN - channel return */33 { 0x14, KEY_MUTE },34 { 0x15, KEY_EDIT }, /* Autoscan */35 { 0x17, KEY_SAVE }, /* Screenshot */36 { 0x18, KEY_PLAYPAUSE },37 { 0x19, KEY_RECORD },38 { 0x1a, KEY_PLAY },39 { 0x1b, KEY_STOP },40 { 0x1c, KEY_FASTFORWARD },41 { 0x1d, KEY_REWIND },42 { 0x1e, KEY_VOLUMEDOWN },43 { 0x1f, KEY_VOLUMEUP },44 { 0x22, KEY_SLEEP }, /* Sleep */45 { 0x23, KEY_ZOOM }, /* Aspect */46 { 0x26, KEY_SCREEN }, /* Pos */47 { 0x27, KEY_ANGLE }, /* Size */48 { 0x28, KEY_SELECT }, /* Select */49 { 0x29, KEY_BLUE }, /* Blue/Picture */50 { 0x2a, KEY_BACKSPACE }, /* Back */51 { 0x2b, KEY_VIDEO }, /* PIP (Picture-in-picture) */52 { 0x2c, KEY_DOWN },53 { 0x2e, KEY_DOT },54 { 0x2f, KEY_TV }, /* Live TV */55 { 0x32, KEY_LEFT },56 { 0x33, KEY_CLEAR }, /* Clear */57 { 0x35, KEY_RED }, /* Red/TV */58 { 0x36, KEY_UP },59 { 0x37, KEY_HOME }, /* Home */60 { 0x39, KEY_GREEN }, /* Green/Video */61 { 0x3d, KEY_YELLOW }, /* Yellow/Music */62 { 0x3e, KEY_OK }, /* Ok */63 { 0x3f, KEY_RIGHT },64 { 0x40, KEY_NEXT }, /* Next */65 { 0x41, KEY_PREVIOUS }, /* Previous */66 { 0x42, KEY_CHANNELDOWN }, /* Channel down */67 { 0x43, KEY_CHANNELUP }, /* Channel up */68};69 70static struct rc_map_list avermedia_cardbus_map = {71 .map = {72 .scan = avermedia_cardbus,73 .size = ARRAY_SIZE(avermedia_cardbus),74 .rc_proto = RC_PROTO_UNKNOWN, /* Legacy IR type */75 .name = RC_MAP_AVERMEDIA_CARDBUS,76 }77};78 79static int __init init_rc_map_avermedia_cardbus(void)80{81 return rc_map_register(&avermedia_cardbus_map);82}83 84static void __exit exit_rc_map_avermedia_cardbus(void)85{86 rc_map_unregister(&avermedia_cardbus_map);87}88 89module_init(init_rc_map_avermedia_cardbus)90module_exit(exit_rc_map_avermedia_cardbus)91 92MODULE_LICENSE("GPL");93MODULE_AUTHOR("Mauro Carvalho Chehab");94MODULE_DESCRIPTION("avermedia-cardbus remote controller keytable");95