]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
adds keycode shortcuts for OSL and OSM
authorJack Humbert <jack.humb@gmail.com>
Fri, 6 May 2016 01:50:51 +0000 (21:50 -0400)
committerJack Humbert <jack.humb@gmail.com>
Fri, 6 May 2016 01:50:51 +0000 (21:50 -0400)
quantum/keymap_common.c
quantum/keymap_common.h

index 5e78d1157d865ca0ee93894e23246659735bd2d0..8f00f9cc32226ec1cff4acf986d64a168ae8ab2c 100644 (file)
@@ -272,6 +272,14 @@ static action_t keycode_to_action(uint16_t keycode)
                 // Set default layer
                 int layer = keycode & 0xFF;
                 action.code = ACTION_LAYER_TOGGLE(layer);
+            } else if (type == 0x5) {
+                // OSL(layer) - One-shot layer
+                int layer = keycode & 0xFF;
+                action.code = ACTION_LAYER_ONESHOT(layer);
+            } else if (type == 0x6) {
+                // OSM(mod) - One-shot mod
+                int mod = keycode & 0xFF;
+                action.code = ACTION_MODS_ONESHOT(mod);
             }
             break;
     #ifdef MIDI_ENABLE
index 0ede0296b98fbe013f71f37595d249815409bb0c..ae10bc78d6d5704ace80e11065e08df5896de687 100644 (file)
@@ -205,6 +205,12 @@ extern const uint16_t fn_actions[];
 // Toggle to layer - 256 layer max
 #define TG(layer) (layer | 0x5400)
 
+// One-shot layer - 256 layer max
+#define OSL(layer) (layer | 0x5500)
+
+// One-shot mod
+#define OSM(layer) (layer | 0x5600)
+
 // M-od, T-ap - 256 keycode max
 #define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8))
 #define CTL_T(kc) MT(0x1, kc)