fix(hid): More limited consumer page range.
* For better compatibility with various HID hosts, restrict our consumer page range to 0x00 to 0xFE.
This commit is contained in:
parent
9e189d5be7
commit
8965ce0535
2 changed files with 13 additions and 9 deletions
|
@ -116,20 +116,18 @@ static const uint8_t zmk_hid_report_desc[] = {
|
|||
/* LOGICAL_MINIMUM (0) */
|
||||
HID_GI_LOGICAL_MIN(1),
|
||||
0x00,
|
||||
/* LOGICAL_MAXIMUM (0xFFFF) */
|
||||
HID_GI_LOGICAL_MAX(2),
|
||||
0xFF,
|
||||
/* LOGICAL_MAXIMUM (0xFF) */
|
||||
HID_GI_LOGICAL_MAX(1),
|
||||
0xFF,
|
||||
HID_LI_USAGE_MIN(1),
|
||||
0x00,
|
||||
/* USAGE_MAXIMUM (0xFFFF) */
|
||||
HID_LI_USAGE_MAX(2),
|
||||
0xFF,
|
||||
/* USAGE_MAXIMUM (0xFF) */
|
||||
HID_LI_USAGE_MAX(1),
|
||||
0xFF,
|
||||
/* INPUT (Data,Ary,Abs) */
|
||||
/* REPORT_SIZE (16) */
|
||||
/* REPORT_SIZE (8) */
|
||||
HID_GI_REPORT_SIZE,
|
||||
0x10,
|
||||
0x08,
|
||||
/* REPORT_COUNT (ZMK_HID_CONSUMER_NKRO_SIZE) */
|
||||
HID_GI_REPORT_COUNT,
|
||||
ZMK_HID_CONSUMER_NKRO_SIZE,
|
||||
|
@ -158,7 +156,7 @@ struct zmk_hid_keyboard_report {
|
|||
} __packed;
|
||||
|
||||
struct zmk_hid_consumer_report_body {
|
||||
uint16_t keys[ZMK_HID_CONSUMER_NKRO_SIZE];
|
||||
uint8_t keys[ZMK_HID_CONSUMER_NKRO_SIZE];
|
||||
} __packed;
|
||||
|
||||
struct zmk_hid_consumer_report {
|
||||
|
|
|
@ -120,11 +120,17 @@ int zmk_hid_keyboard_release(zmk_key_t code) {
|
|||
void zmk_hid_keyboard_clear() { memset(&keyboard_report.body, 0, sizeof(keyboard_report.body)); }
|
||||
|
||||
int zmk_hid_consumer_press(zmk_key_t code) {
|
||||
if (code >= 0xFF) {
|
||||
return -EINVAL;
|
||||
}
|
||||
TOGGLE_CONSUMER(0U, code);
|
||||
return 0;
|
||||
};
|
||||
|
||||
int zmk_hid_consumer_release(zmk_key_t code) {
|
||||
if (code >= 0xFF) {
|
||||
return -EINVAL;
|
||||
}
|
||||
TOGGLE_CONSUMER(code, 0U);
|
||||
return 0;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue