diff options
author | Casey Webster <[email protected]> | 2020-10-18 15:55:38 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2020-10-18 13:55:38 -0700 |
commit | 8bb2eeaabb6d79e774c6aae6c651857ce2e380dc (patch) | |
tree | 2bed24bc62765fa3aceb3bd771d12ac65652da10 /users/cwebster2/keycodes.c | |
parent | c492dd791243b98a119fbf29c9b041d14238b102 (diff) | |
download | qmk_firmware-8bb2eeaabb6d79e774c6aae6c651857ce2e380dc.tar.gz qmk_firmware-8bb2eeaabb6d79e774c6aae6c651857ce2e380dc.zip |
[Keymap] add cwebster2 userspace and keymaps (#10541)
* Adding my keymap
* Add a starter keymap for kyria
* Updated keymap
* Add auto shift, tapping modifications and gravatar oled bitmap
* Add flashing helper scripts
* Updates to my keymap
* Enable raw hid and rgblight sleep
* Cleanup
* Updated keymap and board features
* Remove some RGB modes for space
* Start working on a miryoku-like keymap.
This adds homerow mods to my keymap on the base layer and adds
a game layer that doesnt have them
* more work on keymaps
* Fine tuning home row mods
* update keymap
* Keymap update
* add split transport
* keymap
* cherry pick from develop
* merge develop
* fix
* keymap iterations
* Refactoring
* continued refactoring
* messing with rgb
* update layer coloring
* continued refactoring
* more features
* modifier color
* Move stuff to userspace
* Moving stuff out to userspace
* refactoring into userspace
* More refactoring
* Fixing some errors in the keymap and changing the oled output
* Sync zen1 keymap to my userspace config
* Update copyright notices and revert transport.c to master
* Swap tab and esc
* Remove a file accidentally created
* Use LTO_ENABLE to turn on Link_Time_Optimization
* Drop modtap thumbs on game layout
* Update game keymap
* More iteration on the game keymap
* Add oled indications of kitty and i3 mod
* Promote colemak to default
* Update tapping term for modtap keys
* Add per key tapping term
* Use left modifiers on right side
Diffstat (limited to 'users/cwebster2/keycodes.c')
-rw-r--r-- | users/cwebster2/keycodes.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/users/cwebster2/keycodes.c b/users/cwebster2/keycodes.c new file mode 100644 index 0000000000..39b4341bd0 --- /dev/null +++ b/users/cwebster2/keycodes.c @@ -0,0 +1,53 @@ +/* Copyright 2020 Casey Webster <[email protected]> + * + * 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 "keycodes.h" + +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint16_t my_colon_timer; + + switch (keycode) { + case KC_LCCL: + if (record->event.pressed) { + my_colon_timer = timer_read(); + register_code(KC_LCTL); + } else { + unregister_code(KC_LCTL); + if (timer_elapsed(my_colon_timer) < TAPPING_TERM) { + SEND_STRING(":"); + } + } + return false; + } + return process_record_keymap(keycode, record); +} + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LGUI_T(KC_A): + case LALT_T(KC_S): + case LCTL_T(KC_D): + case LSFT_T(KC_F): + case RSFT_T(KC_J): + case RCTL_T(KC_K): + case RALT_T(KC_L): + case RGUI_T(KC_SCLN): + return TAPPING_TERM + 150; + default: + return TAPPING_TERM; + } +} |