root/drivers/media/rc/keymaps/rc-imon-mce.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. init_rc_map_imon_mce
  2. exit_rc_map_imon_mce

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /* rc5-imon-mce.c - Keytable for Windows Media Center RC-6 remotes for use
   3  * with the SoundGraph iMON/Antec Veris hardware IR decoder
   4  *
   5  * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com>
   6  */
   7 
   8 #include <media/rc-map.h>
   9 #include <linux/module.h>
  10 
  11 /* mce-mode imon mce remote key table */
  12 static struct rc_map_table imon_mce[] = {
  13         /* keys sorted mostly by frequency of use to optimize lookups */
  14         { 0x800ff415, KEY_REWIND },
  15         { 0x800ff414, KEY_FASTFORWARD },
  16         { 0x800ff41b, KEY_PREVIOUS },
  17         { 0x800ff41a, KEY_NEXT },
  18 
  19         { 0x800ff416, KEY_PLAY },
  20         { 0x800ff418, KEY_PAUSE },
  21         { 0x800ff419, KEY_STOP },
  22         { 0x800ff417, KEY_RECORD },
  23 
  24         { 0x02000052, KEY_UP },
  25         { 0x02000051, KEY_DOWN },
  26         { 0x02000050, KEY_LEFT },
  27         { 0x0200004f, KEY_RIGHT },
  28 
  29         { 0x800ff41e, KEY_UP },
  30         { 0x800ff41f, KEY_DOWN },
  31         { 0x800ff420, KEY_LEFT },
  32         { 0x800ff421, KEY_RIGHT },
  33 
  34         /* 0x800ff40b also KEY_NUMERIC_POUND on some receivers */
  35         { 0x800ff40b, KEY_ENTER },
  36         { 0x02000028, KEY_ENTER },
  37 /* the OK and Enter buttons decode to the same value on some remotes
  38         { 0x02000028, KEY_OK }, */
  39         { 0x800ff422, KEY_OK },
  40         { 0x0200002a, KEY_EXIT },
  41         { 0x800ff423, KEY_EXIT },
  42         { 0x02000029, KEY_DELETE },
  43         /* 0x800ff40a also KEY_NUMERIC_STAR on some receivers */
  44         { 0x800ff40a, KEY_DELETE },
  45 
  46         { 0x800ff40e, KEY_MUTE },
  47         { 0x800ff410, KEY_VOLUMEUP },
  48         { 0x800ff411, KEY_VOLUMEDOWN },
  49         { 0x800ff412, KEY_CHANNELUP },
  50         { 0x800ff413, KEY_CHANNELDOWN },
  51 
  52         { 0x0200001e, KEY_NUMERIC_1 },
  53         { 0x0200001f, KEY_NUMERIC_2 },
  54         { 0x02000020, KEY_NUMERIC_3 },
  55         { 0x02000021, KEY_NUMERIC_4 },
  56         { 0x02000022, KEY_NUMERIC_5 },
  57         { 0x02000023, KEY_NUMERIC_6 },
  58         { 0x02000024, KEY_NUMERIC_7 },
  59         { 0x02000025, KEY_NUMERIC_8 },
  60         { 0x02000026, KEY_NUMERIC_9 },
  61         { 0x02000027, KEY_NUMERIC_0 },
  62 
  63         { 0x800ff401, KEY_NUMERIC_1 },
  64         { 0x800ff402, KEY_NUMERIC_2 },
  65         { 0x800ff403, KEY_NUMERIC_3 },
  66         { 0x800ff404, KEY_NUMERIC_4 },
  67         { 0x800ff405, KEY_NUMERIC_5 },
  68         { 0x800ff406, KEY_NUMERIC_6 },
  69         { 0x800ff407, KEY_NUMERIC_7 },
  70         { 0x800ff408, KEY_NUMERIC_8 },
  71         { 0x800ff409, KEY_NUMERIC_9 },
  72         { 0x800ff400, KEY_NUMERIC_0 },
  73 
  74         { 0x02200025, KEY_NUMERIC_STAR },
  75         { 0x02200020, KEY_NUMERIC_POUND },
  76         /* 0x800ff41d also KEY_BLUE on some receivers */
  77         { 0x800ff41d, KEY_NUMERIC_STAR },
  78         /* 0x800ff41c also KEY_PREVIOUS on some receivers */
  79         { 0x800ff41c, KEY_NUMERIC_POUND },
  80 
  81         { 0x800ff446, KEY_TV },
  82         { 0x800ff447, KEY_AUDIO }, /* My Music */
  83         { 0x800ff448, KEY_PVR }, /* RecordedTV */
  84         { 0x800ff449, KEY_CAMERA },
  85         { 0x800ff44a, KEY_VIDEO },
  86         /* 0x800ff424 also KEY_MENU on some receivers */
  87         { 0x800ff424, KEY_DVD },
  88         /* 0x800ff425 also KEY_GREEN on some receivers */
  89         { 0x800ff425, KEY_TUNER }, /* LiveTV */
  90         { 0x800ff450, KEY_RADIO },
  91 
  92         { 0x800ff44c, KEY_LANGUAGE },
  93         { 0x800ff427, KEY_ZOOM }, /* Aspect */
  94 
  95         { 0x800ff45b, KEY_RED },
  96         { 0x800ff45c, KEY_GREEN },
  97         { 0x800ff45d, KEY_YELLOW },
  98         { 0x800ff45e, KEY_BLUE },
  99 
 100         { 0x800ff466, KEY_RED },
 101         /* { 0x800ff425, KEY_GREEN }, */
 102         { 0x800ff468, KEY_YELLOW },
 103         /* { 0x800ff41d, KEY_BLUE }, */
 104 
 105         { 0x800ff40f, KEY_INFO },
 106         { 0x800ff426, KEY_EPG }, /* Guide */
 107         { 0x800ff45a, KEY_SUBTITLE }, /* Caption/Teletext */
 108         { 0x800ff44d, KEY_TITLE },
 109 
 110         { 0x800ff40c, KEY_POWER },
 111         { 0x800ff40d, KEY_MEDIA }, /* Windows MCE button */
 112 
 113 };
 114 
 115 static struct rc_map_list imon_mce_map = {
 116         .map = {
 117                 .scan     = imon_mce,
 118                 .size     = ARRAY_SIZE(imon_mce),
 119                 /* its RC6, but w/a hardware decoder */
 120                 .rc_proto = RC_PROTO_RC6_MCE,
 121                 .name     = RC_MAP_IMON_MCE,
 122         }
 123 };
 124 
 125 static int __init init_rc_map_imon_mce(void)
 126 {
 127         return rc_map_register(&imon_mce_map);
 128 }
 129 
 130 static void __exit exit_rc_map_imon_mce(void)
 131 {
 132         rc_map_unregister(&imon_mce_map);
 133 }
 134 
 135 module_init(init_rc_map_imon_mce)
 136 module_exit(exit_rc_map_imon_mce)
 137 
 138 MODULE_LICENSE("GPL");
 139 MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>");

/* [<][>][^][v][top][bottom][index][help] */