feat(endpoints): add preferred endpoint setting

Added a new setting to remember the user's preferred endpoint. When both USB and
BLE are connected, the preferred endpoint will be used.

Added a new behavior to control this setting. It supports commands:

    &end END_USB - Prefer USB output
    &end END_BLE - Prefer BLE output
    &end END_TOG - Toggle between USB and BLE
This commit is contained in:
Joel Spadin
2020-10-24 16:28:58 -05:00
parent b538e60532
commit 600bba25f0
10 changed files with 239 additions and 19 deletions

View File

@@ -0,0 +1,13 @@
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#define ENDPOINT_TOGGLE_CMD 0
#define ENDPOINT_USB_CMD 1
#define ENDPOINT_BLE_CMD 2
#define END_TOG ENDPOINT_TOGGLE_CMD
#define END_USB ENDPOINT_USB_CMD
#define END_BLE ENDPOINT_BLE_CMD

View File

@@ -9,4 +9,12 @@
#include <zmk/keys.h>
#include <zmk/hid.h>
enum zmk_endpoint {
ZMK_ENDPOINT_USB,
ZMK_ENDPOINT_BLE,
};
int zmk_endpoints_select(enum zmk_endpoint endpoint);
int zmk_endpoints_toggle();
int zmk_endpoints_send_report(u8_t usage_report);