summaryrefslogtreecommitdiff
path: root/users/alfrdmalr/alfrdmalr.c
diff options
context:
space:
mode:
authorAlfred Maler <alfrdmalr@gmail.com>2020-03-03 13:13:42 -0500
committerGitHub <noreply@github.com>2020-03-03 10:13:42 -0800
commited6586e25bd854f445193566150439b25853f831 (patch)
tree19e1b0973782f7d11eab0c85f7ab3e54e540b390 /users/alfrdmalr/alfrdmalr.c
parentacaecb4f94e3f1dc45cce53b10d1b89052b25ca7 (diff)
[Keymap] Feature/alfrdmalr/keymap update (#8174)
* WIP do not merge * first pass at custom preonic layout * add auto shift and reset via leader key * Update readme * update copyright notice * formatting changes * fix: use MO instead of process_record_user * added backslash and moved grave position * remove extraneous 'j' characer in NUMPAD template * update template formatting * remove process_record_user * swap "!" with "@" * fix readme formatting * update readme layout image * restore settings layer * add windows minimize sequence * fix: switch to correct seq function for three-key sequence * fix: missing semicolon * refactor: move keymap to userspace and generic 5x12 layout * add numlock to numpad layer * add readme * update readme formatting * remove unused wrappers from layout keymap * update readme title to reflect new location * remove alfrdmalr directory from preonic/keymaps * add ortho 4x12 support * add 'trilayer' settings and update keymap * update SYMBOLS layer to SYMBOL * remove minimize sequence * clean up user config * add brightness controls * update settings ascii * moved some symbols around to make vim/linux smoother
Diffstat (limited to 'users/alfrdmalr/alfrdmalr.c')
-rw-r--r--users/alfrdmalr/alfrdmalr.c59
1 files changed, 55 insertions, 4 deletions
diff --git a/users/alfrdmalr/alfrdmalr.c b/users/alfrdmalr/alfrdmalr.c
index 39d2b62e00..18ce8bad7c 100644
--- a/users/alfrdmalr/alfrdmalr.c
+++ b/users/alfrdmalr/alfrdmalr.c
@@ -35,10 +35,61 @@ void matrix_scan_user(void) {
SEQ_FIVE_KEYS(KC_R, KC_E, KC_S, KC_E, KC_T) {
reset_keyboard();
}
- // minimize window (Windows)
- SEQ_THREE_KEYS(KC_M, KC_I, KC_N) {
- SEND_STRING(SS_LALT(" ")"n");
- }
leader_end();
}
+}
+
+bool syml_pressed = false;
+bool symr_pressed = false;
+bool settings_active = false;
+bool symbols_active = false;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case SYML:
+ if (record->event.pressed) {
+ syml_pressed = true;
+ } else {
+ syml_pressed = false;
+ }
+ break;
+ case SYMR:
+ if (record->event.pressed) {
+ symr_pressed = true;
+ } else {
+ symr_pressed = false;
+ }
+ break;
+ }
+
+ // trilayer-esque behavior. If both SYMBOL layer keys are held, then the
+ // settings layer is open. If only one is held, SYMBOL is active.
+ if (syml_pressed && symr_pressed) {
+ layer_on(_SETTINGS);
+ settings_active = true;
+ } else if (syml_pressed || symr_pressed) {
+ if (settings_active) {
+ layer_off(_SETTINGS);
+ settings_active = false;
+ }
+ layer_on(_SYMBOL);
+ symbols_active = true;
+ } else {
+ if (symbols_active) {
+ layer_off(_SYMBOL);
+ symbols_active = false;
+ }
+ }
+
+ return true;
+}
+
+// allow access to the settings layer to turn music mode back off
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case SYML:
+ case SYMR:
+ return false;
+ default:
+ return true;
+ }
} \ No newline at end of file