Smart Remote 3 nRF52 v1.2
Introduction
API Reference
Modules
Data Structures
All
Data Structures
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
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_NRF52810_PCA20031)
20
21
/*
22
* Names of the keys to simplify keymap creation.
23
* Keep names ordered by the Key ID. The keymap tables must have the same order.
24
*/
25
#define KEY_MEDIA KEYBOARD_KEY_ID(0, 0)
26
#define KEY_0 KEYBOARD_KEY_ID(0, 1)
27
#define KEY_BACK KEYBOARD_KEY_ID(0, 2)
28
#define KEY_7 KEYBOARD_KEY_ID(0, 3)
29
#define KEY_8 KEYBOARD_KEY_ID(0, 4)
30
#define KEY_9 KEYBOARD_KEY_ID(0, 5)
31
#define KEY_4 KEYBOARD_KEY_ID(0, 6)
32
#define KEY_5 KEYBOARD_KEY_ID(0, 7)
33
#define KEY_6 KEYBOARD_KEY_ID(1, 0)
34
#define KEY_1 KEYBOARD_KEY_ID(1, 1)
35
#define KEY_2 KEYBOARD_KEY_ID(1, 2)
36
#define KEY_3 KEYBOARD_KEY_ID(1, 3)
37
#define KEY_AC_SEARCH KEYBOARD_KEY_ID(2, 0)
38
#define KEY_VOL_DOWN KEYBOARD_KEY_ID(2, 2)
39
#define KEY_CH_DOWN KEYBOARD_KEY_ID(2, 4)
40
#define KEY_VOL_UP KEYBOARD_KEY_ID(2, 5)
41
#define KEY_CH_UP KEYBOARD_KEY_ID(2, 7)
42
#define KEY_DOWN KEYBOARD_KEY_ID(3, 1)
43
#define KEY_LEFT KEYBOARD_KEY_ID(3, 3)
44
#define KEY_OK KEYBOARD_KEY_ID(3, 4)
45
#define KEY_RIGHT KEYBOARD_KEY_ID(3, 5)
46
#define KEY_UP KEYBOARD_KEY_ID(4, 0)
47
#define KEY_PLAY_PAUSE KEYBOARD_KEY_ID(4, 2)
48
#define KEY_PREV_TRACK KEYBOARD_KEY_ID(4, 3)
49
#define KEY_NEXT_TRACK KEYBOARD_KEY_ID(4, 4)
50
#define KEY_STOP KEYBOARD_KEY_ID(4, 5)
51
#define KEY_MUTE KEYBOARD_KEY_ID(4, 6)
52
#define KEY_POWER KEYBOARD_KEY_ID(4, 7)
53
54
#elif defined(CONFIG_BOARD_NRF52832_CUSTOM) || \
55
defined(CONFIG_BOARD_NRF52810_CUSTOM)
56
57
/*
58
* Names of the keys to simplify keymap creation.
59
* Keep names ordered by the Key ID. The keymap tables must have the same order.
60
*/
61
#define KEY_POWER KEYBOARD_KEY_ID(0, 0)
62
#define KEY_MIC KEYBOARD_KEY_ID(0, 1)
63
#define KEY_UP KEYBOARD_KEY_ID(0, 2)
64
#define KEY_LEFT KEYBOARD_KEY_ID(0, 3)
65
#define KEY_OK KEYBOARD_KEY_ID(1, 0)
66
#define KEY_RIGHT KEYBOARD_KEY_ID(1, 1)
67
#define KEY_DOWN KEYBOARD_KEY_ID(1, 2)
68
#define KEY_BACK KEYBOARD_KEY_ID(1, 3)
69
#define KEY_HOME KEYBOARD_KEY_ID(2, 0)
70
#define KEY_ALL_APPS KEYBOARD_KEY_ID(2, 1)
71
#define KEY_MUTE KEYBOARD_KEY_ID(2, 2)
72
#define KEY_PLAY_PAUSE KEYBOARD_KEY_ID(2, 3)
73
#define KEY_VOL_UP KEYBOARD_KEY_ID(3, 0)
74
#define KEY_REW KEYBOARD_KEY_ID(3, 1)
75
#define KEY_FF KEYBOARD_KEY_ID(3, 2)
76
#define KEY_VOL_DOWN KEYBOARD_KEY_ID(3, 3)
77
#endif
78
80
typedef
struct
81
{
82
uint16_t
key_id
;
83
uint32_t
hid_usage
;
84
}
sr3_hid_keymap_t
;
85
86
extern
const
sr3_hid_keymap_t
g_sr3_hid_keymap[];
87
extern
const
size_t
g_sr3_hid_keymap_size;
89
#endif
/* !defined(__ASSEMBLER__) && !defined(__IAR_SYSTEMS_ASM__) */
90
#endif
/* _SR3_CONFIG_HID_H */
Documentation feedback
|
Developer Zone
|
Subscribe
| Updated