mirror of
https://github.com/qmk/qmk_firmware
synced 2025-01-07 15:31:37 +00:00
[Keymap] Add Minidox keymap by dustypomerleau (#5101)
* add dusty keymap * change keymap folder to match my github username * initial keymap completed in comments only * layout without NAV completed in comments only * disable Command to prevent interference with Space Cadet keys * switch _ and \ in the symbol layer * Layers complete through _NAV * add thumb keys to _NAV * complete _NUM * all layouts complete; still needs `process_user_record()` * completed first draft of keymap; still needs config.h to match * corrected keycodes for Mac macro-volume keys * fix Mac mute keycode * add missing Mac keycodes for previous and next track * placeholder for qwerty layout, not yet completed; remove unnecessary breaks; add todos * eliminate Preonic branch before switching to Minidox branch: • delete dustypomerleau Preonic keymap folder • complete keymap.c (QWERTY layer, vanilla numbers layer) TODO: • add preferences to config.h • complete the README * edit commented keymap diagrams for clarity in dual function keys * define initial config.h and add rules.mk for mouse key support * fix redundant line after implementation of tap_code() * fixed key_timer declaration, added README and rules * formatting of keymap * add CTPC to config * cycle thumb keys to favor center position * modify config.h for temporary Pro Micro compatibility * remove superfluous call to use serial; homebrewed mod tap keys are still broken with OSL * merge _SYS and _MEDIA on new Z_SYS key * ALT_OP example of new MT macro complete * initial narze-inspired MT fixes in PRU * add (currently superfluous) custom keycode for the _SYS layer * rudimentary `OSL` symbol macros that immediately register the mod and fail to reset the oneshot layer, but do output the proper keys—fix both of these things * remove permissive hold to improve tapping performance * remove calls to `clear_oneshot_layer_state()`, as they have no effect inside `process_record_user()`. Tapdance appears to be the way forward. * final commit before tapdance code; correct layout in comments * initial tapdance code for shifted mod taps * add numeric and ergo NUM layers and pinky shifts for keycuts * add TD() wrappers to tapdance codes and clean up commented layout guides * add faux return to cur_dance to allow compilation - TODO: research what the default clause should be in cur_dance * update commented schematics for better readability * add backspace and delete to lockable layers, Z_SYS -> SYS_Z for consistency, fix schematic errors * add `DOUBLE_SINGLE_TAP` to tapdance cases to allow doubling of the single tap character without waiting tapping term * remove reduced oneshot tapping toggles * update README * newline tweak :) * Update keyboards/minidox/keymaps/dustypomerleau/keymap.c Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com> * Update keyboards/minidox/keymaps/dustypomerleau/config.h Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com> * Update keyboards/minidox/keymaps/dustypomerleau/config.h Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com> * Update keyboards/minidox/keymaps/dustypomerleau/config.h Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com> * Update keyboards/minidox/keymaps/dustypomerleau/config.h Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com> * remove `PREVENT_STUCK_MODIFIERS`, as this is default behavior
This commit is contained in:
Dusty Pomerleau
committed by
Drashna Jaelre
parent
d3f7910e68
commit
15297bcfce
28
keyboards/minidox/keymaps/dustypomerleau/README.md
Normal file
28
keyboards/minidox/keymaps/dustypomerleau/README.md
Normal file
@ -0,0 +1,28 @@
|
||||
## dustypomerleau, Minidox layout
|
||||
|
||||
The rationale behind my layout can be summarized as follows:
|
||||
|
||||
- Symmetry is important because use-cases are hard to predict. Whenever possible, modifiers and layer keys should be available from either hand.
|
||||
- Inward rolls should be leveraged not just for alphas (Colemak DHm), but also for coding/symbols.
|
||||
- Number order—like alpha order—should be designed to favor use of the strongest fingers.
|
||||
- One-shot keys can greatly reduce the strain of typing, and should be leveraged.
|
||||
|
||||
Some aspects of my layout are optimized for macOS (order of modifiers, manner of producing en and em dashes, coding of micro-volume adjustments, etc.), but can be easily tweaked for the OS of your choice.
|
||||
|
||||
Shift can be a tricky modifier when used in `MT()` combinations, particularly for fast typists on split boards using serial. This can be partially mitigated with options in `config.h`, but still requires a relatively strict typing style/accuracy from the fast typist. The tendency is for faster typists to combat mod/tap mistakes by using very short intervals for `TAPPING_TERM`, but this can introduce its own set of complications. Shift is also one of the highest-yield opportunities to use `OSM()`. For these reasons, I pulled Shift onto dedicated keys in the thumbs for use during regular typing (the home row Shifts have been left in place for use during selection and keycuts).
|
||||
|
||||
The tapdance code that I used to create mod/tap keys inside my symbol layer allows up to 2 consecutive symbols within `TAPPING_TERM`. If you think you will need to quickly nest more than that, feel free to add more `case`s.
|
||||
|
||||
### Special thanks
|
||||
|
||||
- Everyone on the QMK Discord, for helping me work out the code for mod/tap keys using shifted symbols.
|
||||
- Everyone on the Colemak Discord, for their initial feedback on the layout.
|
||||
- @stevep and @DreymaR, for their work on Colemak DH(m), a truly awesome typing experience (and of course Shai Coleman, for starting it all off!).
|
||||
- @ckofy, for offering a dramatic improvement on Dvorak's original number order.
|
||||
- u/That-Canadian, for designing this awesome keyboard.
|
||||
|
||||
### Questions or comments?
|
||||
|
||||
- GitHub @dustypomerleau
|
||||
- Twitter @duspom
|
||||
- Discord @dusty#8897
|
26
keyboards/minidox/keymaps/dustypomerleau/config.h
Normal file
26
keyboards/minidox/keymaps/dustypomerleau/config.h
Normal file
@ -0,0 +1,26 @@
|
||||
// dustypomerleau, Minidox config
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define EE_HANDS
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define ONESHOT_TIMEOUT 1000
|
||||
#define TAPPING_TERM 200
|
||||
#define USE_SERIAL
|
||||
|
||||
// optional configuration:
|
||||
|
||||
// #define CONVERT_TO_PROTON_C
|
||||
// #define ONESHOT_TAP_TOGGLE 2 // not compatible with TAPPING_FORCE_HOLD
|
||||
// #define PERMISSIVE_HOLD
|
||||
// #define TAPPING_FORCE_HOLD // allows rapid mod use after tap event, but sacrifices double-tap to repeat
|
||||
|
||||
// #define MOUSEKEY_DELAY 0 // delay before cursor movement (high feels sluggish, low makes fine movement difficult)
|
||||
// #define MOUSEKEY_INTERVAL 20 // time between movement reports - low settings feel like high mouse speed
|
||||
// #define MOUSEKEY_MAX_SPEED 10
|
||||
// #define MOUSEKEY_TIME_TO_MAX 60
|
||||
// #define MOUSEKEY_WHEEL_DELAY 0
|
||||
// #define MOUSEKEY_WHEEL_MAX_SPEED 8
|
||||
// #define MOUSEKEY_WHEEL_TIME_TO_MAX 4
|
||||
|
489
keyboards/minidox/keymaps/dustypomerleau/keymap.c
Normal file
489
keyboards/minidox/keymaps/dustypomerleau/keymap.c
Normal file
File diff suppressed because it is too large
Load Diff
4
keyboards/minidox/keymaps/dustypomerleau/rules.mk
Normal file
4
keyboards/minidox/keymaps/dustypomerleau/rules.mk
Normal file
@ -0,0 +1,4 @@
|
||||
# dustypomerleau, Minidox rules
|
||||
|
||||
MOUSEKEY_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
Reference in New Issue
Block a user