~ruther/qmk_firmware

41b3e399b1d43db9574c6016951d92974b3d93e7 — Jack Humbert 9 years ago 74e97ee
adds keycode shortcuts for OSL and OSM
2 files changed, 14 insertions(+), 0 deletions(-)

M quantum/keymap_common.c
M quantum/keymap_common.h
M quantum/keymap_common.c => quantum/keymap_common.c +8 -0
@@ 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

M quantum/keymap_common.h => quantum/keymap_common.h +6 -0
@@ 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)