summaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_connection.c
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2025-04-21 22:27:56 +0100
committerGitHub <noreply@github.com>2025-04-21 22:27:56 +0100
commitc7cb7ba9765b35930a26ec247e362615ffd10ed2 (patch)
treebbab7782a3c1937f69a8c105dc06cfa1b7f54346 /quantum/process_keycode/process_connection.c
parentec324af22eddff1f89f33a30c77a678b111c420c (diff)
Implement connection keycode logic (#25176)
Diffstat (limited to 'quantum/process_keycode/process_connection.c')
-rw-r--r--quantum/process_keycode/process_connection.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/quantum/process_keycode/process_connection.c b/quantum/process_keycode/process_connection.c
index b0e230d680..501529ede7 100644
--- a/quantum/process_keycode/process_connection.c
+++ b/quantum/process_keycode/process_connection.c
@@ -1,24 +1,34 @@
1// Copyright 2024 Nick Brassel (@tzarc) 1// Copyright 2024 Nick Brassel (@tzarc)
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3#include "outputselect.h" 3#include "connection.h"
4#include "process_connection.h" 4#include "process_connection.h"
5 5
6bool process_connection(uint16_t keycode, keyrecord_t *record) { 6bool process_connection(uint16_t keycode, keyrecord_t *record) {
7 if (record->event.pressed) { 7 if (record->event.pressed) {
8 switch (keycode) { 8 switch (keycode) {
9 case QK_OUTPUT_NEXT: 9 case QK_OUTPUT_NEXT:
10 set_output(OUTPUT_AUTO); // This should cycle through the outputs going forward. Ensure `docs/keycodes.md`, `docs/features/bluetooth.md` are updated when it does. 10 connection_next_host();
11 return false;
12 case QK_OUTPUT_PREV:
13 connection_prev_host();
14 return false;
15
16 case QK_OUTPUT_AUTO:
17 connection_set_host(CONNECTION_HOST_AUTO);
18 return false;
19 case QK_OUTPUT_NONE:
20 connection_set_host(CONNECTION_HOST_NONE);
11 return false; 21 return false;
12 case QK_OUTPUT_USB: 22 case QK_OUTPUT_USB:
13 set_output(OUTPUT_USB); 23 connection_set_host(CONNECTION_HOST_USB);
14 return false; 24 return false;
15 case QK_OUTPUT_BLUETOOTH: 25 case QK_OUTPUT_BLUETOOTH:
16 set_output(OUTPUT_BLUETOOTH); 26 connection_set_host(CONNECTION_HOST_BLUETOOTH);
17 return false; 27 return false;
18
19 case QK_OUTPUT_PREV:
20 case QK_OUTPUT_NONE:
21 case QK_OUTPUT_2P4GHZ: 28 case QK_OUTPUT_2P4GHZ:
29 connection_set_host(CONNECTION_HOST_2P4GHZ);
30 return false;
31
22 case QK_BLUETOOTH_PROFILE_NEXT: 32 case QK_BLUETOOTH_PROFILE_NEXT:
23 case QK_BLUETOOTH_PROFILE_PREV: 33 case QK_BLUETOOTH_PROFILE_PREV:
24 case QK_BLUETOOTH_UNPAIR: 34 case QK_BLUETOOTH_UNPAIR: