Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use
0003  * with the Media Center Edition eHome Infrared Transceiver.
0004  *
0005  * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com>
0006  *
0007  * See http://mediacenterguides.com/book/export/html/31 for details on
0008  * key mappings.
0009  */
0010 
0011 #include <media/rc-map.h>
0012 #include <linux/module.h>
0013 
0014 static struct rc_map_table rc6_mce[] = {
0015 
0016     { 0x800f0400, KEY_NUMERIC_0 },
0017     { 0x800f0401, KEY_NUMERIC_1 },
0018     { 0x800f0402, KEY_NUMERIC_2 },
0019     { 0x800f0403, KEY_NUMERIC_3 },
0020     { 0x800f0404, KEY_NUMERIC_4 },
0021     { 0x800f0405, KEY_NUMERIC_5 },
0022     { 0x800f0406, KEY_NUMERIC_6 },
0023     { 0x800f0407, KEY_NUMERIC_7 },
0024     { 0x800f0408, KEY_NUMERIC_8 },
0025     { 0x800f0409, KEY_NUMERIC_9 },
0026 
0027     { 0x800f040a, KEY_DELETE },
0028     { 0x800f040b, KEY_ENTER },
0029     { 0x800f040c, KEY_SLEEP },      /* Formerly PC Power */
0030     { 0x800f040d, KEY_MEDIA },      /* Windows MCE button */
0031     { 0x800f040e, KEY_MUTE },
0032     { 0x800f040f, KEY_INFO },
0033 
0034     { 0x800f0410, KEY_VOLUMEUP },
0035     { 0x800f0411, KEY_VOLUMEDOWN },
0036     { 0x800f0412, KEY_CHANNELUP },
0037     { 0x800f0413, KEY_CHANNELDOWN },
0038 
0039     { 0x800f0414, KEY_FASTFORWARD },
0040     { 0x800f0415, KEY_REWIND },
0041     { 0x800f0416, KEY_PLAY },
0042     { 0x800f0417, KEY_RECORD },
0043     { 0x800f0418, KEY_PAUSE },
0044     { 0x800f0419, KEY_STOP },
0045     { 0x800f041a, KEY_NEXT },
0046     { 0x800f041b, KEY_PREVIOUS },
0047     { 0x800f041c, KEY_NUMERIC_POUND },
0048     { 0x800f041d, KEY_NUMERIC_STAR },
0049 
0050     { 0x800f041e, KEY_UP },
0051     { 0x800f041f, KEY_DOWN },
0052     { 0x800f0420, KEY_LEFT },
0053     { 0x800f0421, KEY_RIGHT },
0054 
0055     { 0x800f0422, KEY_OK },
0056     { 0x800f0423, KEY_EXIT },
0057     { 0x800f0424, KEY_DVD },
0058     { 0x800f0425, KEY_TUNER },      /* LiveTV */
0059     { 0x800f0426, KEY_EPG },        /* Guide */
0060     { 0x800f0427, KEY_ZOOM },       /* Aspect */
0061 
0062     { 0x800f0432, KEY_MODE },       /* Visualization */
0063     { 0x800f0433, KEY_PRESENTATION },   /* Slide Show */
0064     { 0x800f0434, KEY_EJECTCD },
0065     { 0x800f043a, KEY_BRIGHTNESSUP },
0066 
0067     { 0x800f0446, KEY_TV },
0068     { 0x800f0447, KEY_AUDIO },      /* My Music */
0069     { 0x800f0448, KEY_PVR },        /* RecordedTV */
0070     { 0x800f0449, KEY_CAMERA },
0071     { 0x800f044a, KEY_VIDEO },
0072     { 0x800f044c, KEY_LANGUAGE },
0073     { 0x800f044d, KEY_TITLE },
0074     { 0x800f044e, KEY_PRINT },  /* Print - HP OEM version of remote */
0075 
0076     { 0x800f0450, KEY_RADIO },
0077 
0078     { 0x800f045a, KEY_SUBTITLE },       /* Caption/Teletext */
0079     { 0x800f045b, KEY_RED },
0080     { 0x800f045c, KEY_GREEN },
0081     { 0x800f045d, KEY_YELLOW },
0082     { 0x800f045e, KEY_BLUE },
0083 
0084     { 0x800f0465, KEY_POWER2 }, /* TV Power */
0085     { 0x800f0469, KEY_MESSENGER },
0086     { 0x800f046e, KEY_PLAYPAUSE },
0087     { 0x800f046f, KEY_PLAYER }, /* Start media application (NEW) */
0088 
0089     { 0x800f0480, KEY_BRIGHTNESSDOWN },
0090     { 0x800f0481, KEY_PLAYPAUSE },
0091 };
0092 
0093 static struct rc_map_list rc6_mce_map = {
0094     .map = {
0095         .scan     = rc6_mce,
0096         .size     = ARRAY_SIZE(rc6_mce),
0097         .rc_proto = RC_PROTO_RC6_MCE,
0098         .name     = RC_MAP_RC6_MCE,
0099     }
0100 };
0101 
0102 static int __init init_rc_map_rc6_mce(void)
0103 {
0104     return rc_map_register(&rc6_mce_map);
0105 }
0106 
0107 static void __exit exit_rc_map_rc6_mce(void)
0108 {
0109     rc_map_unregister(&rc6_mce_map);
0110 }
0111 
0112 module_init(init_rc_map_rc6_mce)
0113 module_exit(exit_rc_map_rc6_mce)
0114 
0115 MODULE_LICENSE("GPL");
0116 MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>");