diff options
author | Draevin <[email protected]> | 2020-10-22 19:46:46 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-10-22 19:46:46 -0700 |
commit | 619eb0071e36b5b724b713f2b785978f0e1b1e28 (patch) | |
tree | 37dff79c90588023fb52eeb5fedaea88c7071294 /users/draevin/draevin.c | |
parent | 2b9b267e8ee1a49c448b5f0f5b9fd634bd6c4489 (diff) | |
download | qmk_firmware-619eb0071e36b5b724b713f2b785978f0e1b1e28.tar.gz qmk_firmware-619eb0071e36b5b724b713f2b785978f0e1b1e28.zip |
[Keymap] Add Draevin userspace and maps (#10581)
* Initial userspace
* DZ60 map
* Quefrency map
* Sinc map
* Set up MAKE key for all personal maps
* Light userspace cleanup
* Formatting and comments zzz...
* Licensing and userspace README
* Swap: EXTRAFLAGS -> LTO_ENABLE in userspace rules.mk
Co-authored-by: Ryan <[email protected]>
* Improve KC_MAKE: KC_ENT -> \n
Co-authored-by: Ryan <[email protected]>
* Swap left grouping on _FN for pairs
* Add '?' -> backslash on _FN
* Remove commented code
* Organize lines in rules.mk
* Add left hand scroll keys
* Move configs to config.h
* License blitz
Co-authored-by: Ryan <[email protected]>
Diffstat (limited to 'users/draevin/draevin.c')
-rw-r--r-- | users/draevin/draevin.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/users/draevin/draevin.c b/users/draevin/draevin.c new file mode 100644 index 0000000000..95570bf377 --- /dev/null +++ b/users/draevin/draevin.c @@ -0,0 +1,59 @@ +/* +Copyright 2020 Copyright 2020 Draevin Luke <[email protected]> @draevin + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "draevin.h" + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case CM_QW: // Switch between Colemak and QWERTY + if (record->event.pressed) { + layer_invert(_CM); + layer_invert(_QW); + } + return false; + case KC_MAKE: + if (!record->event.pressed) { + SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP ":flash\n"); + reset_keyboard(); + } + break; + case PRNPAIR: + if (record->event.pressed) { + SEND_STRING("()"); + tap_code(KC_LEFT); + } + break; + case BRCPAIR: + if (record->event.pressed) { + uint8_t shifted = get_mods() & (MOD_MASK_SHIFT); + if (shifted) { + unregister_code(KC_LSFT); + unregister_code(KC_RSFT); + SEND_STRING("{}"SS_TAP(X_LEFT)); + } + else { + SEND_STRING("[]"SS_TAP(X_LEFT)); + } + } + break; + } + return true; +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS) // shift/caps TD +}; |