]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/quantum.c
Add layer switcher keycodes: OUT_AUTO, OUT_USB, OUT_BT, OUT_BLE
[qmk_firmware.git] / quantum / quantum.c
index f653564a67dea8396b04db82500c4b9dc531a480..1d1a691e243de7efe1ede7b7e26afd2f673d6fdc 100644 (file)
@@ -1,4 +1,5 @@
 #include "quantum.h"
+#include "outputselect.h"
 
 #ifndef TAPPING_TERM
 #define TAPPING_TERM 200
@@ -21,6 +22,8 @@ static void do_code16 (uint16_t code, void (*f) (uint8_t)) {
   if (code & QK_LGUI)
     f(KC_LGUI);
 
+  if (code < QK_RMODS_MIN) return;
+
   if (code & QK_RCTL)
     f(KC_RCTL);
   if (code & QK_RSFT)
@@ -210,6 +213,34 @@ bool process_record_quantum(keyrecord_t *record) {
          return false;
       break;
        #endif
+    case OUT_AUTO:
+      if (record->event.pressed) {
+        set_output(OUTPUT_AUTO);
+      }
+      return false;
+      break;
+    case OUT_USB:
+      if (record->event.pressed) {
+        set_output(OUTPUT_USB);
+      }
+      return false;
+      break;
+    #ifdef BLUETOOTH_ENABLE
+    case OUT_BT:
+      if (record->event.pressed) {
+        set_output(OUTPUT_BLUETOOTH);
+      }
+      return false;
+      break;
+    #endif
+    #ifdef ADAFRUIT_BLE_ENABLE
+    case OUT_BLE:
+      if (record->event.pressed) {
+        set_output(OUTPUT_ADAFRUIT_BLE);
+      }
+      return false;
+      break;
+    #endif
     case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_NKRO:
       if (record->event.pressed) {
         // MAGIC actions (BOOTMAGIC without the boot)