RDK Documentation (Open Sourced RDK Components)
IrInputRemoteKeyCodes_SkyQ.h
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2018 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21 * @file IRInputRemoteKeyCodes.h
22 *
23 * @brief Map IR Remote Keys to standard Linux Input Keys.
24 *
25 * @par Document
26 * Document reference.is
27 *
28 * @par Open Issues (in no particular order)
29 * -# None
30 *
31 * @par Assumptions
32 * -# None
33 *
34 * @par Abbreviations
35 * - RDK: Reference Design Kit.
36 * - _t: Type (suffix).
37 *
38 * @par Implementation Notes
39 * -# None
40 *
41 */
42 #ifndef _IARM_IR_KEYCODES_H_
43 #define _IARM_IR_KEYCODES_H_
44 
45 
46 #include <linux/input.h>
47 #include <stdint.h>
48 #include "comcastIrKeyCodes.h"
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 #define _KEY_INVALID (KEY_RESERVED)
55 typedef struct
56 {
57  uint32_t iCode;
58  uint32_t uCode;
59  uint32_t uModi;
61 
62 #define IARM_TO_LINUX_KEY(iCode, uCode) { iCode, uCode, _KEY_INVALID},
63 #define IARM_TO_LINUX_CTL(iCode, uCode) { iCode, uCode, KEY_LEFTCTRL},
64 
65 
66 /*-------------------------------------------------------------------
67  End of Macro Defines
68 -------------------------------------------------------------------*/
69 static IARM_keycodes kcodesMap_IARM2Linux[] =
70 {
71  IARM_TO_LINUX_KEY( KED_MENU, KEY_HOME)
72  IARM_TO_LINUX_KEY( KED_GUIDE,KEY_HOME)
73  IARM_TO_LINUX_KEY( KED_INFO, KEY_F9)
74  IARM_TO_LINUX_KEY( KED_STAR, KEY_F6)
75  IARM_TO_LINUX_KEY( KED_INFO, KEY_F9)
76  IARM_TO_LINUX_KEY( KED_TVPOWER, KEY_F1)
77  IARM_TO_LINUX_KEY( KED_INPUTKEY, KEY_F15)
78  IARM_TO_LINUX_KEY( KED_OK, KEY_OK)
79  IARM_TO_LINUX_KEY( KED_SELECT, KEY_ENTER)
80  IARM_TO_LINUX_KEY( KED_EXIT, KEY_ESC)
81  IARM_TO_LINUX_KEY( KED_PERIOD, KEY_F5)
82  IARM_TO_LINUX_KEY( KED_PUSH_TO_TALK, KEY_F8)
83  IARM_TO_LINUX_KEY( KED_POWER, KEY_POWER) //FP
84  IARM_TO_LINUX_CTL( KED_CHANNELUP, KEY_UP)
85  IARM_TO_LINUX_CTL( KED_CHANNELDOWN, KEY_DOWN)
86  IARM_TO_LINUX_KEY( KED_VOLUMEUP, KEY_KPPLUS)
87  IARM_TO_LINUX_KEY( KED_VOLUMEDOWN, KEY_KPMINUS)
88  IARM_TO_LINUX_KEY( KED_MUTE, KEY_KPASTERISK)
89  IARM_TO_LINUX_KEY( KED_DIGIT1, KEY_1)
90  IARM_TO_LINUX_KEY( KED_DIGIT2, KEY_2)
91  IARM_TO_LINUX_KEY( KED_DIGIT3, KEY_3)
92  IARM_TO_LINUX_KEY( KED_DIGIT4, KEY_4)
93  IARM_TO_LINUX_KEY( KED_DIGIT5, KEY_5)
94  IARM_TO_LINUX_KEY( KED_DIGIT6, KEY_6)
95  IARM_TO_LINUX_KEY( KED_DIGIT7, KEY_7)
96  IARM_TO_LINUX_KEY( KED_DIGIT8, KEY_8)
97  IARM_TO_LINUX_KEY( KED_DIGIT9, KEY_9)
98  IARM_TO_LINUX_KEY( KED_DIGIT0, KEY_0)
99  IARM_TO_LINUX_KEY( KED_FASTFORWARD, KEY_F12)
100  IARM_TO_LINUX_KEY( KED_REWIND, KEY_F10)
101  IARM_TO_LINUX_KEY( KED_PAUSE, KEY_F11)
102  IARM_TO_LINUX_KEY( KED_PLAY, KEY_F11)
103  IARM_TO_LINUX_CTL( KED_STOP, KEY_S)
104  IARM_TO_LINUX_KEY( KED_RECORD, KEY_F7)
105  IARM_TO_LINUX_KEY( KED_ARROWUP, KEY_UP)
106  IARM_TO_LINUX_KEY( KED_ARROWDOWN, KEY_DOWN)
107  IARM_TO_LINUX_KEY( KED_ARROWLEFT, KEY_LEFT)
108  IARM_TO_LINUX_KEY( KED_ARROWRIGHT, KEY_RIGHT)
109  IARM_TO_LINUX_KEY( KED_PAGEUP, KEY_PAGEUP)
110  IARM_TO_LINUX_KEY( KED_PAGEDOWN, KEY_PAGEDOWN)
111  IARM_TO_LINUX_CTL( KED_LAST, KEY_L)
112  IARM_TO_LINUX_CTL( KED_FAVORITE, KEY_N)
113  IARM_TO_LINUX_KEY( KED_KEYA, KEY_INSERT)
114  IARM_TO_LINUX_KEY( KED_KEYB, KEY_END)
115  IARM_TO_LINUX_KEY( KED_KEYC, KEY_F4)
116  IARM_TO_LINUX_KEY( KED_KEYD, KEY_DELETE)
117  IARM_TO_LINUX_KEY( KED_HELP, KEY_F2)
118  IARM_TO_LINUX_KEY( KED_SETUP, KEY_SETUP)
119  IARM_TO_LINUX_KEY( KED_NEXT, KEY_NEXT)
120  IARM_TO_LINUX_KEY( KED_PREVIOUS, KEY_PREVIOUS)
121  IARM_TO_LINUX_KEY( KED_ONDEMAND, KEY_F5)
122  IARM_TO_LINUX_KEY( KED_POUND, KEY_BATTERY)
123  IARM_TO_LINUX_KEY( KED_AUDIO, KEY_F23)
124  IARM_TO_LINUX_KEY( KED_CLOSED_CAPTIONING, KEY_F24)
125 
126  IARM_TO_LINUX_CTL( KED_REPLAY, KEY_B)
127  IARM_TO_LINUX_KEY( KED_SEARCH, KEY_F3)
128 
129  IARM_TO_LINUX_KEY( KED_RF_PAIR_GHOST, KEY_BLUETOOTH)
130 
131 
132  IARM_TO_LINUX_KEY( KED_UNDEFINEDKEY, KEY_UNKNOWN)
133 };
134 
135 #ifdef __cplusplus
136 }
137 #endif
138 
139 #endif /* _IARM_IR_KEYCODES_H_ */
140 
141 
142 /* End of IARM_BUS_IRMGR_API doxygen group */
143 /**
144  * @}
145  */
146 
147 
148 /** @} */
149 /** @} */
150 
IARM_keycodes
Definition: IrInputRemoteKeyCodes.h:55