Smart Remote 3 nRF52 v1.2
sr3_config_hid.h
1 /*$$$LICENCE_NORDIC_STANDARD<2016>$$$*/
2 
3 #ifndef _SR3_CONFIG_HID_H
4 #define _SR3_CONFIG_HID_H
5 
6 #if (!defined(__ASSEMBLER__) && !defined(__IAR_SYSTEMS_ASM__))
7 #include "app_util.h"
8 
9 #define KEYBOARD_KEY_ID(_row, _column) ((0x00 << 8) | (((_row) & 0x0F) << 4) | ((_column) & 0x0F))
10 #define MOUSE_KEY_ID(_button) ((0x01 << 8) | ((_button) & 0xFF))
11 #define KEY_ID_INVALID 0xFFFF
12 
13 #define HID_USAGE(_page, _id) (((unsigned long)((_page) & 0xFFFF) << 16) | ((_id) & 0xFFFF))
14 #define HID_USAGE_ID(_usage) (((_usage) >> 0) & 0xFFFF)
15 #define HID_USAGE_PAGE(_usage) (((_usage) >> 16) & 0xFFFF)
16 
17 #if defined(CONFIG_BOARD_NRF52832_PCA20023) || \
18  defined(CONFIG_BOARD_NRF52832_PCA63519) || \
19  defined(CONFIG_BOARD_NRF52832_CUSTOM) || \
20  defined(CONFIG_BOARD_NRF52810_PCA20031) || \
21  defined(CONFIG_BOARD_NRF52810_CUSTOM)
22 
23 /*
24  * Names of the keys to simplify keymap creation.
25  * Keep names ordered by the Key ID. The keymap tables must have the same order.
26  */
27 #define KEY_MEDIA KEYBOARD_KEY_ID(0, 0)
28 #define KEY_0 KEYBOARD_KEY_ID(0, 1)
29 #define KEY_BACK KEYBOARD_KEY_ID(0, 2)
30 #define KEY_7 KEYBOARD_KEY_ID(0, 3)
31 #define KEY_8 KEYBOARD_KEY_ID(0, 4)
32 #define KEY_9 KEYBOARD_KEY_ID(0, 5)
33 #define KEY_4 KEYBOARD_KEY_ID(0, 6)
34 #define KEY_5 KEYBOARD_KEY_ID(0, 7)
35 #define KEY_6 KEYBOARD_KEY_ID(1, 0)
36 #define KEY_1 KEYBOARD_KEY_ID(1, 1)
37 #define KEY_2 KEYBOARD_KEY_ID(1, 2)
38 #define KEY_3 KEYBOARD_KEY_ID(1, 3)
39 #define KEY_AC_SEARCH KEYBOARD_KEY_ID(2, 0)
40 #define KEY_VOL_DOWN KEYBOARD_KEY_ID(2, 2)
41 #define KEY_CH_DOWN KEYBOARD_KEY_ID(2, 4)
42 #define KEY_VOL_UP KEYBOARD_KEY_ID(2, 5)
43 #define KEY_CH_UP KEYBOARD_KEY_ID(2, 7)
44 #define KEY_DOWN KEYBOARD_KEY_ID(3, 1)
45 #define KEY_LEFT KEYBOARD_KEY_ID(3, 3)
46 #define KEY_OK KEYBOARD_KEY_ID(3, 4)
47 #define KEY_RIGHT KEYBOARD_KEY_ID(3, 5)
48 #define KEY_UP KEYBOARD_KEY_ID(4, 0)
49 #define KEY_PLAY_PAUSE KEYBOARD_KEY_ID(4, 2)
50 #define KEY_PREV_TRACK KEYBOARD_KEY_ID(4, 3)
51 #define KEY_NEXT_TRACK KEYBOARD_KEY_ID(4, 4)
52 #define KEY_STOP KEYBOARD_KEY_ID(4, 5)
53 #define KEY_MUTE KEYBOARD_KEY_ID(4, 6)
54 #define KEY_POWER KEYBOARD_KEY_ID(4, 7)
55 
56 #endif
57 
59 typedef struct
60 {
61  uint16_t key_id;
62  uint32_t hid_usage;
64 
65 extern const sr3_hid_keymap_t g_sr3_hid_keymap[];
66 extern const size_t g_sr3_hid_keymap_size;
68 #endif /* !defined(__ASSEMBLER__) && !defined(__IAR_SYSTEMS_ASM__) */
69 #endif /* _SR3_CONFIG_HID_H */

Documentation feedback | Developer Zone | Subscribe | Updated