diff options
author | Jeremy Bernhardt <[email protected]> | 2019-08-06 11:20:48 -0600 |
---|---|---|
committer | Drashna Jaelre <[email protected]> | 2019-08-06 10:20:48 -0700 |
commit | 07bdc8f4b7268f69a789bfe7656e8384bfcfed57 (patch) | |
tree | 50110933438d9fc4b928f9d6e225f8a8e397af8f /keyboards/butterstick/sten.h | |
parent | ae934c389e755ae780eb6e385f55b687581c5db4 (diff) | |
download | qmk_firmware-07bdc8f4b7268f69a789bfe7656e8384bfcfed57.tar.gz qmk_firmware-07bdc8f4b7268f69a789bfe7656e8384bfcfed57.zip |
[Keyboard] Added little fixes and bootmagic for gBoard keebs (#6477)
* Added little fixes and bootmagic
* Update keyboards/gergo/keymaps/oled/rules.mk
Co-Authored-By: Drashna Jaelre <[email protected]>
* whacked out quantum_libs
Diffstat (limited to 'keyboards/butterstick/sten.h')
-rw-r--r-- | keyboards/butterstick/sten.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/keyboards/butterstick/sten.h b/keyboards/butterstick/sten.h index 5a9771d9a0..84635a554c 100644 --- a/keyboards/butterstick/sten.h +++ b/keyboards/butterstick/sten.h @@ -13,11 +13,14 @@ extern size_t keymapsCount; // Total keymaps extern uint32_t cChord; // Current Chord +extern uint32_t stenoLayers[]; // Chords that simulate QMK layers +extern size_t stenoLayerCount; // Number of simulated layers +uint32_t refChord; // Reference chord for PC macro // Function defs void processChord(bool useFakeSteno); -uint32_t processQwerty(bool lookup); -uint32_t processFakeSteno(bool lookup); +uint32_t processQwerty(bool lookup); +uint32_t processFakeSteno(bool lookup); void saveState(uint32_t cChord); void restoreState(void); @@ -30,6 +33,11 @@ void CLICK_MOUSE(uint8_t); // Keymap helper #define P(chord, act) if (cChord == (chord)) { if (!lookup) {act;} return chord;} +#define PC(chord, act) if (cChord == (chord)) { if (!lookup) {act;} return chord;} \ + for(int i = 0; i < stenoLayerCount; i++) { \ + refChord = stenoLayers[i] | chord; \ + if (cChord == (refChord)) { if (!lookup) {act;} return refChord;}; \ +} // Shift to internal representation // i.e) S(teno)R(ight)F |