| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 1 | /* rc-streamzap.c - Keytable for Streamzap PC Remote, for use | 
|  | 2 | * with the Streamzap PC Remote IR Receiver. | 
|  | 3 | * | 
|  | 4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | 
|  | 5 | * | 
|  | 6 | * This program is free software; you can redistribute it and/or modify | 
|  | 7 | * it under the terms of the GNU General Public License as published by | 
|  | 8 | * the Free Software Foundation; either version 2 of the License, or | 
|  | 9 | * (at your option) any later version. | 
|  | 10 | */ | 
|  | 11 |  | 
|  | 12 | #include <media/rc-map.h> | 
| Paul Gortmaker | 7a707b8 | 2011-07-03 14:03:12 -0400 | [diff] [blame] | 13 | #include <linux/module.h> | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 14 |  | 
| Mauro Carvalho Chehab | 2f4f58d | 2010-11-17 15:46:09 -0300 | [diff] [blame] | 15 | static struct rc_map_table streamzap[] = { | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 16 | /* | 
|  | 17 | * The Streamzap remote is almost, but not quite, RC-5, as it has an extra | 
|  | 18 | * bit in it, which throws the in-kernel RC-5 decoder for a loop. Currently, | 
|  | 19 | * an additional RC-5-sz decoder is being deployed to support it, but it | 
|  | 20 | * may be possible to merge it back with the standard RC-5 decoder. | 
|  | 21 | */ | 
|  | 22 | { 0x28c0, KEY_NUMERIC_0 }, | 
|  | 23 | { 0x28c1, KEY_NUMERIC_1 }, | 
|  | 24 | { 0x28c2, KEY_NUMERIC_2 }, | 
|  | 25 | { 0x28c3, KEY_NUMERIC_3 }, | 
|  | 26 | { 0x28c4, KEY_NUMERIC_4 }, | 
|  | 27 | { 0x28c5, KEY_NUMERIC_5 }, | 
|  | 28 | { 0x28c6, KEY_NUMERIC_6 }, | 
|  | 29 | { 0x28c7, KEY_NUMERIC_7 }, | 
|  | 30 | { 0x28c8, KEY_NUMERIC_8 }, | 
|  | 31 | { 0x28c9, KEY_NUMERIC_9 }, | 
|  | 32 | { 0x28ca, KEY_POWER }, | 
|  | 33 | { 0x28cb, KEY_MUTE }, | 
|  | 34 | { 0x28cc, KEY_CHANNELUP }, | 
|  | 35 | { 0x28cd, KEY_VOLUMEUP }, | 
|  | 36 | { 0x28ce, KEY_CHANNELDOWN }, | 
|  | 37 | { 0x28cf, KEY_VOLUMEDOWN }, | 
|  | 38 | { 0x28d0, KEY_UP }, | 
|  | 39 | { 0x28d1, KEY_LEFT }, | 
|  | 40 | { 0x28d2, KEY_OK }, | 
|  | 41 | { 0x28d3, KEY_RIGHT }, | 
|  | 42 | { 0x28d4, KEY_DOWN }, | 
|  | 43 | { 0x28d5, KEY_MENU }, | 
|  | 44 | { 0x28d6, KEY_EXIT }, | 
|  | 45 | { 0x28d7, KEY_PLAY }, | 
|  | 46 | { 0x28d8, KEY_PAUSE }, | 
|  | 47 | { 0x28d9, KEY_STOP }, | 
|  | 48 | { 0x28da, KEY_BACK }, | 
|  | 49 | { 0x28db, KEY_FORWARD }, | 
|  | 50 | { 0x28dc, KEY_RECORD }, | 
|  | 51 | { 0x28dd, KEY_REWIND }, | 
|  | 52 | { 0x28de, KEY_FASTFORWARD }, | 
|  | 53 | { 0x28e0, KEY_RED }, | 
|  | 54 | { 0x28e1, KEY_GREEN }, | 
|  | 55 | { 0x28e2, KEY_YELLOW }, | 
|  | 56 | { 0x28e3, KEY_BLUE }, | 
|  | 57 |  | 
|  | 58 | }; | 
|  | 59 |  | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 60 | static struct rc_map_list streamzap_map = { | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 61 | .map = { | 
|  | 62 | .scan    = streamzap, | 
|  | 63 | .size    = ARRAY_SIZE(streamzap), | 
| Mauro Carvalho Chehab | 52b6614 | 2010-11-17 14:20:52 -0300 | [diff] [blame] | 64 | .rc_type = RC_TYPE_RC5_SZ, | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 65 | .name    = RC_MAP_STREAMZAP, | 
|  | 66 | } | 
|  | 67 | }; | 
|  | 68 |  | 
|  | 69 | static int __init init_rc_map_streamzap(void) | 
|  | 70 | { | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 71 | return rc_map_register(&streamzap_map); | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 72 | } | 
|  | 73 |  | 
|  | 74 | static void __exit exit_rc_map_streamzap(void) | 
|  | 75 | { | 
| Mauro Carvalho Chehab | d100e65 | 2010-11-17 15:56:53 -0300 | [diff] [blame] | 76 | rc_map_unregister(&streamzap_map); | 
| Jarod Wilson | 7a569f5 | 2010-08-07 13:31:40 -0300 | [diff] [blame] | 77 | } | 
|  | 78 |  | 
|  | 79 | module_init(init_rc_map_streamzap) | 
|  | 80 | module_exit(exit_rc_map_streamzap) | 
|  | 81 |  | 
|  | 82 | MODULE_LICENSE("GPL"); | 
|  | 83 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); |