| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 1 | /* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use | 
|  | 2 | * with the Media Center Edition eHome Infrared Transceiver. | 
|  | 3 | * | 
|  | 4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | 
|  | 5 | * | 
| Jarod Wilson | 86ee659 | 2011-01-18 02:27:45 -0300 | [diff] [blame] | 6 | * See http://mediacenterguides.com/book/export/html/31 for details on | 
|  | 7 | * key mappings. | 
|  | 8 | * | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 9 | * This program is free software; you can redistribute it and/or modify | 
|  | 10 | * it under the terms of the GNU General Public License as published by | 
|  | 11 | * the Free Software Foundation; either version 2 of the License, or | 
|  | 12 | * (at your option) any later version. | 
|  | 13 | */ | 
|  | 14 |  | 
|  | 15 | #include <media/rc-map.h> | 
|  | 16 |  | 
| Mauro Carvalho Chehab | 2f4f58d | 2010-11-17 15:46:09 -0300 | [diff] [blame] | 17 | static struct rc_map_table rc6_mce[] = { | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 18 |  | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 19 | { 0x800f0400, KEY_NUMERIC_0 }, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 20 | { 0x800f0401, KEY_NUMERIC_1 }, | 
|  | 21 | { 0x800f0402, KEY_NUMERIC_2 }, | 
|  | 22 | { 0x800f0403, KEY_NUMERIC_3 }, | 
|  | 23 | { 0x800f0404, KEY_NUMERIC_4 }, | 
|  | 24 | { 0x800f0405, KEY_NUMERIC_5 }, | 
|  | 25 | { 0x800f0406, KEY_NUMERIC_6 }, | 
|  | 26 | { 0x800f0407, KEY_NUMERIC_7 }, | 
|  | 27 | { 0x800f0408, KEY_NUMERIC_8 }, | 
|  | 28 | { 0x800f0409, KEY_NUMERIC_9 }, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 29 |  | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 30 | { 0x800f040a, KEY_DELETE }, | 
|  | 31 | { 0x800f040b, KEY_ENTER }, | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 32 | { 0x800f040c, KEY_POWER },		/* PC Power */ | 
| Jarod Wilson | 56c0893 | 2011-04-05 18:42:30 -0300 | [diff] [blame] | 33 | { 0x800f040d, KEY_MEDIA },		/* Windows MCE button */ | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 34 | { 0x800f040e, KEY_MUTE }, | 
|  | 35 | { 0x800f040f, KEY_INFO }, | 
|  | 36 |  | 
|  | 37 | { 0x800f0410, KEY_VOLUMEUP }, | 
|  | 38 | { 0x800f0411, KEY_VOLUMEDOWN }, | 
|  | 39 | { 0x800f0412, KEY_CHANNELUP }, | 
|  | 40 | { 0x800f0413, KEY_CHANNELDOWN }, | 
|  | 41 |  | 
|  | 42 | { 0x800f0414, KEY_FASTFORWARD }, | 
|  | 43 | { 0x800f0415, KEY_REWIND }, | 
|  | 44 | { 0x800f0416, KEY_PLAY }, | 
|  | 45 | { 0x800f0417, KEY_RECORD }, | 
|  | 46 | { 0x800f0418, KEY_PAUSE }, | 
|  | 47 | { 0x800f046e, KEY_PLAYPAUSE }, | 
|  | 48 | { 0x800f0419, KEY_STOP }, | 
|  | 49 | { 0x800f041a, KEY_NEXT }, | 
|  | 50 | { 0x800f041b, KEY_PREVIOUS }, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 51 | { 0x800f041c, KEY_NUMERIC_POUND }, | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 52 | { 0x800f041d, KEY_NUMERIC_STAR }, | 
|  | 53 |  | 
|  | 54 | { 0x800f041e, KEY_UP }, | 
|  | 55 | { 0x800f041f, KEY_DOWN }, | 
|  | 56 | { 0x800f0420, KEY_LEFT }, | 
|  | 57 | { 0x800f0421, KEY_RIGHT }, | 
|  | 58 |  | 
|  | 59 | { 0x800f0422, KEY_OK }, | 
|  | 60 | { 0x800f0423, KEY_EXIT }, | 
|  | 61 | { 0x800f0424, KEY_DVD }, | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 62 | { 0x800f0425, KEY_TUNER },		/* LiveTV */ | 
|  | 63 | { 0x800f0426, KEY_EPG },		/* Guide */ | 
|  | 64 | { 0x800f0427, KEY_ZOOM },		/* Aspect */ | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 65 |  | 
| Jarod Wilson | 86ee659 | 2011-01-18 02:27:45 -0300 | [diff] [blame] | 66 | { 0x800f0432, KEY_MODE },		/* Visualization */ | 
|  | 67 | { 0x800f0433, KEY_PRESENTATION },	/* Slide Show */ | 
|  | 68 | { 0x800f0434, KEY_EJECTCD }, | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 69 | { 0x800f043a, KEY_BRIGHTNESSUP }, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 70 |  | 
|  | 71 | { 0x800f0446, KEY_TV }, | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 72 | { 0x800f0447, KEY_AUDIO },		/* My Music */ | 
|  | 73 | { 0x800f0448, KEY_PVR },		/* RecordedTV */ | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 74 | { 0x800f0449, KEY_CAMERA }, | 
|  | 75 | { 0x800f044a, KEY_VIDEO }, | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 76 | { 0x800f044c, KEY_LANGUAGE }, | 
|  | 77 | { 0x800f044d, KEY_TITLE }, | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 78 | { 0x800f044e, KEY_PRINT },	/* Print - HP OEM version of remote */ | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 79 |  | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 80 | { 0x800f0450, KEY_RADIO }, | 
|  | 81 |  | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 82 | { 0x800f045a, KEY_SUBTITLE },		/* Caption/Teletext */ | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 83 | { 0x800f045b, KEY_RED }, | 
|  | 84 | { 0x800f045c, KEY_GREEN }, | 
|  | 85 | { 0x800f045d, KEY_YELLOW }, | 
|  | 86 | { 0x800f045e, KEY_BLUE }, | 
|  | 87 |  | 
| Jarod Wilson | 2d6e588 | 2010-11-09 18:42:37 -0300 | [diff] [blame] | 88 | { 0x800f0465, KEY_POWER2 },	/* TV Power */ | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 89 | { 0x800f046e, KEY_PLAYPAUSE }, | 
| Jarod Wilson | 56c0893 | 2011-04-05 18:42:30 -0300 | [diff] [blame] | 90 | { 0x800f046f, KEY_PLAYER },	/* Start media application (NEW) */ | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 91 |  | 
| Maxim Levitsky | 2a48489 | 2010-10-15 13:06:35 -0300 | [diff] [blame] | 92 | { 0x800f0480, KEY_BRIGHTNESSDOWN }, | 
|  | 93 | { 0x800f0481, KEY_PLAYPAUSE }, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 94 | }; | 
|  | 95 |  | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 96 | static struct rc_map_list rc6_mce_map = { | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 97 | .map = { | 
|  | 98 | .scan    = rc6_mce, | 
|  | 99 | .size    = ARRAY_SIZE(rc6_mce), | 
| Mauro Carvalho Chehab | 52b6614 | 2010-11-17 14:20:52 -0300 | [diff] [blame] | 100 | .rc_type = RC_TYPE_RC6, | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 101 | .name    = RC_MAP_RC6_MCE, | 
|  | 102 | } | 
|  | 103 | }; | 
|  | 104 |  | 
|  | 105 | static int __init init_rc_map_rc6_mce(void) | 
|  | 106 | { | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 107 | return rc_map_register(&rc6_mce_map); | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 108 | } | 
|  | 109 |  | 
|  | 110 | static void __exit exit_rc_map_rc6_mce(void) | 
|  | 111 | { | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 112 | rc_map_unregister(&rc6_mce_map); | 
| Jarod Wilson | 0204fe2a | 2010-06-01 17:30:35 -0300 | [diff] [blame] | 113 | } | 
|  | 114 |  | 
|  | 115 | module_init(init_rc_map_rc6_mce) | 
|  | 116 | module_exit(exit_rc_map_rc6_mce) | 
|  | 117 |  | 
|  | 118 | MODULE_LICENSE("GPL"); | 
|  | 119 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); |