diff options
| author | Joel Challis <git@zvecr.com> | 2025-05-06 06:47:44 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-06 06:47:44 +0100 |
| commit | ab1332bb6cc798c037a0bd58c22d954755226dbf (patch) | |
| tree | 1b1308c8035c1e2aeb07197cbd001a4b281a7f26 /tmk_core | |
| parent | ac991405d0c9f47e815786f4732edd00d0f4f571 (diff) | |
Remove force disable of NKRO when Bluetooth enabled (#25201)
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/protocol.mk | 8 | ||||
| -rw-r--r-- | tmk_core/protocol/host.c | 18 | ||||
| -rw-r--r-- | tmk_core/protocol/host.h | 1 |
3 files changed, 21 insertions, 6 deletions
diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index 8f01976548..2930efc283 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk | |||
| @@ -46,12 +46,8 @@ else | |||
| 46 | endif | 46 | endif |
| 47 | 47 | ||
| 48 | ifeq ($(strip $(NKRO_ENABLE)), yes) | 48 | ifeq ($(strip $(NKRO_ENABLE)), yes) |
| 49 | ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) | 49 | OPT_DEFS += -DNKRO_ENABLE |
| 50 | $(info NKRO is not currently supported with Bluetooth, and has been disabled.) | 50 | SHARED_EP_ENABLE = yes |
| 51 | else | ||
| 52 | OPT_DEFS += -DNKRO_ENABLE | ||
| 53 | SHARED_EP_ENABLE = yes | ||
| 54 | endif | ||
| 55 | endif | 51 | endif |
| 56 | 52 | ||
| 57 | ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes) | 53 | ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes) |
diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 4f3867df08..e785cb24cc 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c | |||
| @@ -21,6 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 21 | #include "host.h" | 21 | #include "host.h" |
| 22 | #include "util.h" | 22 | #include "util.h" |
| 23 | #include "debug.h" | 23 | #include "debug.h" |
| 24 | #include "usb_device_state.h" | ||
| 24 | 25 | ||
| 25 | #ifdef DIGITIZER_ENABLE | 26 | #ifdef DIGITIZER_ENABLE |
| 26 | # include "digitizer.h" | 27 | # include "digitizer.h" |
| @@ -90,6 +91,23 @@ static host_driver_t *host_get_active_driver(void) { | |||
| 90 | return driver; | 91 | return driver; |
| 91 | } | 92 | } |
| 92 | 93 | ||
| 94 | bool host_can_send_nkro(void) { | ||
| 95 | #ifdef CONNECTION_ENABLE | ||
| 96 | switch (connection_get_host()) { | ||
| 97 | # ifdef BLUETOOTH_ENABLE | ||
| 98 | case CONNECTION_HOST_BLUETOOTH: | ||
| 99 | return bluetooth_can_send_nkro(); | ||
| 100 | # endif | ||
| 101 | case CONNECTION_HOST_NONE: | ||
| 102 | return false; | ||
| 103 | default: | ||
| 104 | break; | ||
| 105 | } | ||
| 106 | #endif | ||
| 107 | |||
| 108 | return usb_device_state_get_protocol() == USB_PROTOCOL_REPORT; | ||
| 109 | } | ||
| 110 | |||
| 93 | #ifdef SPLIT_KEYBOARD | 111 | #ifdef SPLIT_KEYBOARD |
| 94 | uint8_t split_led_state = 0; | 112 | uint8_t split_led_state = 0; |
| 95 | void set_split_host_keyboard_leds(uint8_t led_state) { | 113 | void set_split_host_keyboard_leds(uint8_t led_state) { |
diff --git a/tmk_core/protocol/host.h b/tmk_core/protocol/host.h index d824fca077..8e8a18e2ed 100644 --- a/tmk_core/protocol/host.h +++ b/tmk_core/protocol/host.h | |||
| @@ -32,6 +32,7 @@ void host_set_driver(host_driver_t *driver); | |||
| 32 | host_driver_t *host_get_driver(void); | 32 | host_driver_t *host_get_driver(void); |
| 33 | 33 | ||
| 34 | /* host driver interface */ | 34 | /* host driver interface */ |
| 35 | bool host_can_send_nkro(void); | ||
| 35 | uint8_t host_keyboard_leds(void); | 36 | uint8_t host_keyboard_leds(void); |
| 36 | led_t host_keyboard_led_state(void); | 37 | led_t host_keyboard_led_state(void); |
| 37 | void host_keyboard_send(report_keyboard_t *report); | 38 | void host_keyboard_send(report_keyboard_t *report); |
