diff options
| author | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2018-08-31 14:49:18 -0700 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-08-31 14:49:18 -0700 |
| commit | fb79015049ebd1309cd4f69a7584db614f50d1db (patch) | |
| tree | e298559d4a92e0123083d54d1e50df91debdb1bd /users/mechmerlin | |
| parent | acc06a0848380fbeb2688d18bc19fee07797046c (diff) | |
| download | qmk_firmware-fb79015049ebd1309cd4f69a7584db614f50d1db.tar.gz qmk_firmware-fb79015049ebd1309cd4f69a7584db614f50d1db.zip | |
Keymap: Merlin Learns to QMK (#3820)
* Fix up my keymaps to use more QMK features
* update 60_ansi readme
* add the start of my userspace
* begin to use my new userspace
* use more of my userspace
* spread userspace love to my clueboard
* spread userspace love to 75 layout
* add a fairly vanilla readme
* put the FNX into a userspace incase I ever want to use it for something else
* respond to drashna's code review comments
Diffstat (limited to 'users/mechmerlin')
| -rw-r--r-- | users/mechmerlin/mechmerlin.c | 20 | ||||
| -rw-r--r-- | users/mechmerlin/mechmerlin.h | 17 | ||||
| -rw-r--r-- | users/mechmerlin/readme.md | 3 | ||||
| -rw-r--r-- | users/mechmerlin/rules.mk | 1 |
4 files changed, 41 insertions, 0 deletions
diff --git a/users/mechmerlin/mechmerlin.c b/users/mechmerlin/mechmerlin.c new file mode 100644 index 000000000..8d6cecd18 --- /dev/null +++ b/users/mechmerlin/mechmerlin.c | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #include "mechmerlin.h" | ||
| 2 | |||
| 3 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 4 | static uint16_t fnx_layer_timer; | ||
| 5 | |||
| 6 | switch (keycode){ | ||
| 7 | case KC_FNX: | ||
| 8 | if(record->event.pressed){ | ||
| 9 | fnx_layer_timer = timer_read(); | ||
| 10 | layer_on(_FL); | ||
| 11 | } else { | ||
| 12 | layer_off(_FL); | ||
| 13 | if (timer_elapsed(fnx_layer_timer) < 150) { | ||
| 14 | layer_invert(_AL); | ||
| 15 | } | ||
| 16 | } | ||
| 17 | return false; | ||
| 18 | } | ||
| 19 | return true; | ||
| 20 | } \ No newline at end of file | ||
diff --git a/users/mechmerlin/mechmerlin.h b/users/mechmerlin/mechmerlin.h new file mode 100644 index 000000000..c140ac70c --- /dev/null +++ b/users/mechmerlin/mechmerlin.h | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "quantum.h" | ||
| 4 | |||
| 5 | enum userspace_layers { | ||
| 6 | _BL = 0, // Base Layer | ||
| 7 | _FL, // Function Layer | ||
| 8 | _AL // Arrow Layer | ||
| 9 | }; | ||
| 10 | |||
| 11 | // Enum of custom keycodes defined in process_record_user | ||
| 12 | enum keycodes { | ||
| 13 | KC_FNX, // Hold for FN layer, tap to toggle ARROWS layer. | ||
| 14 | }; | ||
| 15 | |||
| 16 | // Custom #defined keycodes | ||
| 17 | #define KC_CTCP MT(KC_LCTL, KC_CAPS) | ||
diff --git a/users/mechmerlin/readme.md b/users/mechmerlin/readme.md new file mode 100644 index 000000000..6a76dd2a9 --- /dev/null +++ b/users/mechmerlin/readme.md | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | # MechMerlin's Userspace | ||
| 2 | |||
| 3 | This is a collection of my most commonly used QMK functions | ||
diff --git a/users/mechmerlin/rules.mk b/users/mechmerlin/rules.mk new file mode 100644 index 000000000..70c20ec71 --- /dev/null +++ b/users/mechmerlin/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| SRC += mechmerlin.c \ No newline at end of file | |||
