diff options
author | Joel Challis <[email protected]> | 2023-11-26 18:36:45 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-27 05:36:45 +1100 |
commit | 1ed03f498fa204178c2696c510ac6a2cd8524e2d (patch) | |
tree | b97c1f983b7e4b57c007d0feedadd3ad3e39062b /users/ericgebhart/extensions/mod_lock.c | |
parent | 4908d4b1ca260efecf3613e6517aa3a6f2034876 (diff) | |
download | qmk_firmware-1ed03f498fa204178c2696c510ac6a2cd8524e2d.tar.gz qmk_firmware-1ed03f498fa204178c2696c510ac6a2cd8524e2d.zip |
Remove userspace keymaps (#22544)
Diffstat (limited to 'users/ericgebhart/extensions/mod_lock.c')
-rw-r--r-- | users/ericgebhart/extensions/mod_lock.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/users/ericgebhart/extensions/mod_lock.c b/users/ericgebhart/extensions/mod_lock.c deleted file mode 100644 index c78f7cdfe8..0000000000 --- a/users/ericgebhart/extensions/mod_lock.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright 2022 Eric Gebhart <[email protected]>, @possumvibes - - 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/>. -*/ -// Derived from mod_lock by @possumvibes. - -#include "mod_lock.h" - -#undef MODL -#define MODL(KEYCODE, MODKC) \ - {false, MODKC, KEYCODE}, - -#define A_KEY(KEYCODE) case KEYCODE: -#define BLANK(...) - -#undef IGNORE_KC -#define IGNORE_KC BLANK - -mod_lock_state_t modlock_states[] = { -#ifdef MOD_LOCK_ENABLE -#include "mod_lock.def" -#endif -}; -uint8_t NUM_MODLOCK_STATES = sizeof(modlock_states) / sizeof(mod_lock_state_t); - -void process_mod_lock(uint16_t keycode, keyrecord_t *record) { -#ifdef MOD_LOCK_ENABLE - mod_lock_state_t *curr_state = NULL; - - for (int i = 0; i < NUM_MODLOCK_STATES; ++i) { - curr_state = &modlock_states[i]; - - if (keycode == curr_state->trigger) { - if (record->event.pressed) { - if (curr_state->locking) { - unregister_code(curr_state->mod); - } else { - register_code(curr_state->mod); - } - - curr_state->locking = !curr_state->locking; - } - } else { - // check for cancel condition on keydown and keyup - if (curr_state->locking && is_mod_lock_cancel_key(keycode)) { - unregister_code(curr_state->mod); - curr_state->locking = false; - } - } - } -#endif -} - -#undef MODL -#undef IGNORE_KC -#define MODL BLANK -#define IGNORE_KC A_KEY -bool is_mod_lock_cancel_key(uint16_t keycode) { - // Mod locks are exclusively used on the nav layer. - // any key besides nav keys should cancel the lock. - switch (keycode) { -#ifdef MOD_LOCK_ENABLE -#include "mod_lock.def" -#endif - return false; - default: - return true; - } -} |