diff options
author | QMK Bot <hello@qmk.fm> | 2022-01-11 00:45:05 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2022-01-11 00:45:05 +0000 |
commit | 93149711f6d34daed62dca9c7455e9d1902f7950 (patch) | |
tree | 852467230b346a2142d02d5c8a45e548657e0c63 /keyboards/orthocode/orthocode.c | |
parent | dfecad43624a0f2ba07744a8bef11bc4fbe9da95 (diff) | |
parent | ecc06a97001163232e2dd58b3add603636587413 (diff) |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/orthocode/orthocode.c')
-rw-r--r-- | keyboards/orthocode/orthocode.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/keyboards/orthocode/orthocode.c b/keyboards/orthocode/orthocode.c index 23596d3e5b..8ddd32c396 100644 --- a/keyboards/orthocode/orthocode.c +++ b/keyboards/orthocode/orthocode.c @@ -15,6 +15,36 @@ */ #include "orthocode.h" +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + + static bool shiftspace_mods = false; + switch (keycode) { + case SHIFTSPACE: + if (record->event.pressed) { + if(get_mods() & MOD_BIT(KC_RSFT)) { + register_code(KC_MINS); + shiftspace_mods = true; + } + else { + register_code(KC_SPC); + } + } else { + if (shiftspace_mods) { + unregister_code(KC_MINS); + shiftspace_mods = false; + } else { + unregister_code(KC_SPC); + } + } + return false; + break; + } + return true; +} + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } |