forked from kofal.net/zmk
feat(studio): Initial RPC infrastructure and subsystems.
* UART and BLE/GATT transports for a protobuf encoded RPC request/response protocol. * Custom framing protocol is used to frame a give message. * Requests/responses are divided into major "subsystems" which handle requests and create response messages. * Notification support, including mapping local events to RPC notifications by a given subsystem. * Meta responses for "no response" and "unlock needed". * Initial basic lock state support in a new core section, and allow specifying if a given RPC callback requires unlocked state or not. * Add behavior subsystem with full metadata support and examples of using callback to serialize a repeated field without extra stack space needed. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
This commit is contained in:
committed by
Pete Johanson
parent
ea64fcaf71
commit
feda96eb40
@@ -249,8 +249,9 @@ static inline int check_keyboard_usage(zmk_key_t usage) {
|
||||
#endif
|
||||
|
||||
#define TOGGLE_CONSUMER(match, val) \
|
||||
COND_CODE_1(IS_ENABLED(CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC), \
|
||||
(if (val > 0xFF) { return -ENOTSUP; }), ()) \
|
||||
if (val > ZMK_HID_CONSUMER_MAX_USAGE) { \
|
||||
return -ENOTSUP; \
|
||||
} \
|
||||
for (int idx = 0; idx < CONFIG_ZMK_HID_CONSUMER_REPORT_SIZE; idx++) { \
|
||||
if (consumer_report.body.keys[idx] != match) { \
|
||||
continue; \
|
||||
|
||||
Reference in New Issue
Block a user