1999d6bc9SAnssi Hannula /*
2999d6bc9SAnssi Hannula  * SnapStream Firefly X10 RF remote keytable
3999d6bc9SAnssi Hannula  *
4999d6bc9SAnssi Hannula  * Copyright (C) 2011 Anssi Hannula <anssi.hannula@?ki.fi>
5999d6bc9SAnssi Hannula  *
6999d6bc9SAnssi Hannula  * This program is free software; you can redistribute it and/or modify
7999d6bc9SAnssi Hannula  * it under the terms of the GNU General Public License as published by
8999d6bc9SAnssi Hannula  * the Free Software Foundation; either version 2 of the License, or
9999d6bc9SAnssi Hannula  * (at your option) any later version.
10999d6bc9SAnssi Hannula  *
11999d6bc9SAnssi Hannula  * This program is distributed in the hope that it will be useful,
12999d6bc9SAnssi Hannula  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13999d6bc9SAnssi Hannula  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14999d6bc9SAnssi Hannula  * GNU General Public License for more details.
15999d6bc9SAnssi Hannula  *
16999d6bc9SAnssi Hannula  * You should have received a copy of the GNU General Public License along
17999d6bc9SAnssi Hannula  * with this program; if not, write to the Free Software Foundation, Inc.,
18999d6bc9SAnssi Hannula  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19999d6bc9SAnssi Hannula  */
20999d6bc9SAnssi Hannula 
21999d6bc9SAnssi Hannula #include <media/rc-map.h>
22999d6bc9SAnssi Hannula 
23999d6bc9SAnssi Hannula static struct rc_map_table snapstream_firefly[] = {
24999d6bc9SAnssi Hannula 	{ 0xf12c, KEY_ZOOM },       /* Maximize */
25999d6bc9SAnssi Hannula 	{ 0xc702, KEY_CLOSE },
26999d6bc9SAnssi Hannula 
27999d6bc9SAnssi Hannula 	{ 0xd20d, KEY_1 },
28999d6bc9SAnssi Hannula 	{ 0xd30e, KEY_2 },
29999d6bc9SAnssi Hannula 	{ 0xd40f, KEY_3 },
30999d6bc9SAnssi Hannula 	{ 0xd510, KEY_4 },
31999d6bc9SAnssi Hannula 	{ 0xd611, KEY_5 },
32999d6bc9SAnssi Hannula 	{ 0xd712, KEY_6 },
33999d6bc9SAnssi Hannula 	{ 0xd813, KEY_7 },
34999d6bc9SAnssi Hannula 	{ 0xd914, KEY_8 },
35999d6bc9SAnssi Hannula 	{ 0xda15, KEY_9 },
36999d6bc9SAnssi Hannula 	{ 0xdc17, KEY_0 },
37999d6bc9SAnssi Hannula 	{ 0xdb16, KEY_BACK },
38999d6bc9SAnssi Hannula 	{ 0xdd18, KEY_KPENTER },    /* ent */
39999d6bc9SAnssi Hannula 
40999d6bc9SAnssi Hannula 	{ 0xce09, KEY_VOLUMEUP },
41999d6bc9SAnssi Hannula 	{ 0xcd08, KEY_VOLUMEDOWN },
42999d6bc9SAnssi Hannula 	{ 0xcf0a, KEY_MUTE },
43999d6bc9SAnssi Hannula 	{ 0xd00b, KEY_CHANNELUP },
44999d6bc9SAnssi Hannula 	{ 0xd10c, KEY_CHANNELDOWN },
45999d6bc9SAnssi Hannula 	{ 0xc500, KEY_VENDOR },     /* firefly */
46999d6bc9SAnssi Hannula 
47999d6bc9SAnssi Hannula 	{ 0xf32e, KEY_INFO },
48999d6bc9SAnssi Hannula 	{ 0xf42f, KEY_OPTION },
49999d6bc9SAnssi Hannula 
50999d6bc9SAnssi Hannula 	{ 0xe21d, KEY_LEFT },
51999d6bc9SAnssi Hannula 	{ 0xe41f, KEY_RIGHT },
52999d6bc9SAnssi Hannula 	{ 0xe722, KEY_DOWN },
53999d6bc9SAnssi Hannula 	{ 0xdf1a, KEY_UP },
54999d6bc9SAnssi Hannula 	{ 0xe31e, KEY_OK },
55999d6bc9SAnssi Hannula 
56999d6bc9SAnssi Hannula 	{ 0xe11c, KEY_MENU },
57999d6bc9SAnssi Hannula 	{ 0xe520, KEY_EXIT },
58999d6bc9SAnssi Hannula 
59999d6bc9SAnssi Hannula 	{ 0xec27, KEY_RECORD },
60999d6bc9SAnssi Hannula 	{ 0xea25, KEY_PLAY },
61999d6bc9SAnssi Hannula 	{ 0xed28, KEY_STOP },
62999d6bc9SAnssi Hannula 	{ 0xe924, KEY_REWIND },
63999d6bc9SAnssi Hannula 	{ 0xeb26, KEY_FORWARD },
64999d6bc9SAnssi Hannula 	{ 0xee29, KEY_PAUSE },
65999d6bc9SAnssi Hannula 	{ 0xf02b, KEY_PREVIOUS },
66999d6bc9SAnssi Hannula 	{ 0xef2a, KEY_NEXT },
67999d6bc9SAnssi Hannula 
68999d6bc9SAnssi Hannula 	{ 0xcb06, KEY_AUDIO },      /* Music */
69999d6bc9SAnssi Hannula 	{ 0xca05, KEY_IMAGES },     /* Photos */
70999d6bc9SAnssi Hannula 	{ 0xc904, KEY_DVD },
71999d6bc9SAnssi Hannula 	{ 0xc803, KEY_TV },
72999d6bc9SAnssi Hannula 	{ 0xcc07, KEY_VIDEO },
73999d6bc9SAnssi Hannula 
74999d6bc9SAnssi Hannula 	{ 0xc601, KEY_HELP },
75999d6bc9SAnssi Hannula 	{ 0xf22d, KEY_MODE },       /* Mouse */
76999d6bc9SAnssi Hannula 
77999d6bc9SAnssi Hannula 	{ 0xde19, KEY_A },
78999d6bc9SAnssi Hannula 	{ 0xe01b, KEY_B },
79999d6bc9SAnssi Hannula 	{ 0xe621, KEY_C },
80999d6bc9SAnssi Hannula 	{ 0xe823, KEY_D },
81999d6bc9SAnssi Hannula };
82999d6bc9SAnssi Hannula 
83999d6bc9SAnssi Hannula static struct rc_map_list snapstream_firefly_map = {
84999d6bc9SAnssi Hannula 	.map = {
85999d6bc9SAnssi Hannula 		.scan    = snapstream_firefly,
86999d6bc9SAnssi Hannula 		.size    = ARRAY_SIZE(snapstream_firefly),
87999d6bc9SAnssi Hannula 		.rc_type = RC_TYPE_OTHER,
88999d6bc9SAnssi Hannula 		.name    = RC_MAP_SNAPSTREAM_FIREFLY,
89999d6bc9SAnssi Hannula 	}
90999d6bc9SAnssi Hannula };
91999d6bc9SAnssi Hannula 
92999d6bc9SAnssi Hannula static int __init init_rc_map_snapstream_firefly(void)
93999d6bc9SAnssi Hannula {
94999d6bc9SAnssi Hannula 	return rc_map_register(&snapstream_firefly_map);
95999d6bc9SAnssi Hannula }
96999d6bc9SAnssi Hannula 
97999d6bc9SAnssi Hannula static void __exit exit_rc_map_snapstream_firefly(void)
98999d6bc9SAnssi Hannula {
99999d6bc9SAnssi Hannula 	rc_map_unregister(&snapstream_firefly_map);
100999d6bc9SAnssi Hannula }
101999d6bc9SAnssi Hannula 
102999d6bc9SAnssi Hannula module_init(init_rc_map_snapstream_firefly)
103999d6bc9SAnssi Hannula module_exit(exit_rc_map_snapstream_firefly)
104999d6bc9SAnssi Hannula 
105999d6bc9SAnssi Hannula MODULE_LICENSE("GPL");
106999d6bc9SAnssi Hannula MODULE_AUTHOR("Anssi Hannula <anssi.hannula@iki.fi>");
107