qmk_firmware/keyboards/splitkb/kyria/keymaps/ohlin
Albert Y cbabc8dbe6
[Core] Replace Tapping Force Hold feature with Quick Tap Term (#17007)
* Replace Tapping Force Hold feature with Quick Tap Term

* Replace keyboard level TAPPING_FORCE_HOLD with QUICK_TAP_TERM 0

* Deprecate force hold in info_config.json

* Before and after quick tap term unit tests

* Quick tap unit tests iteration

* Keymap config.h correction

* Remove TAPPING_FORCE_HOLD_PER_KEY macros that were missed

* Add two more test cases for quick tap

* Replace TAPPING_FORCE_HOLD with QUICK_TAP_TERM in configs #2

* Replace TAPPING_FORCE_HOLD_PER_KEY with QUICK_TAP_TERM_PER_KEY in configs #2

* Add function declaration for get_quick_tap_term

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-12-12 16:52:22 +01:00
..
config.h
keymap.c
readme.md
rules.mk

@ohlin's Kyria Keymap

This keymap is a work in progress.

I am a Product Manager and QA Lead, not a developer, so I spend a lot of my time doing things that require a mouse, so one handed keyboard shortcuts are very useful to me.

This keymap is used on a Mac in conjunction with a Ploopy Nano trackball.

,-----------------------------.                      ,-----------------------------.   .--------------.
|    |    |    |    |    |    |                      |    |    |    |    |    |    |  |      ----      |
|----+----+----+----+----+----|                      |----|----+----+----+----+----|  |   PL°°°°°°PY   |
|    |    |    |    |    |    |                      |    |    |    |    |    |    |  |  PL°°°°°°°°PY  |
|----+----+----+----+----+----+---------.  ,---------+----+----+----+----+----+----|  |  PL°°°°°°°°PY  |
|    |    |    |    |    |    |    |    |  |    |    |    |    |    |    |    |    |  |   PL°°°°°°PY   |
`-------------------+----+----+----+----|  |----+----+----+----+----+----+---------'  |      ----      |
               |    |    |    |    |    |  |    |    |    |    |    |                  '--------------'
               `------------------------'  `------------------------'

Home Row Mods

Home row mods help came from @precondition's in-depth article, A guide to home row mods. CAGS makes the most sense to me as a Mac user.

Karabiner Elements

Karabiner Elements has been a part of my Mac workflow for years now, so when I switched from a Planck to this Kyria, it fit neatly around this keymap to make things easier. Karabiner serves two primary functions here:

  • Change Caps Lock to Hyper (ctrl + opt + cmd + shift)
  • Hold mouse button 5 to enable mouse_motion_to_scroll

Caps Lock to Hyper

Years ago, following Brett Terpstra's article A useful Caps Lock key, I swapped caps lock for hyper, then mapped a number of system-wide keyboard shortcuts to Hyper + [key], such as launching apps using Alfred workflows, resizing and moving windows using Rectangle, and changing all of my montiors' brightness levels together using Display Buddy.

Remapping the Caps Lock key in Karabiner ensures I can still easily use these shortcuts with the built-in keyboard on my laptop as well as with any QMK keyboard (where I use the KC_HYPR key code directly).

Scrolling with the Ploopy Nano

Initially, I tried using the NumLock scroll developed by @zealws (Reddit post here), but had some difficulty making it work on Mac. Since I was already using Karabiner for the Caps Lock to Hyper Switch, I decided to just use it for mouse motion to scroll as well by holding Mouse Button 5. Easily done.

Despite not being able to make the NumLock scroll work, I did keep the Ploopy Acceleration from @zealws' code, as it made using the Nano much easier when moving across the 3 monitors I typically use for work.

I created my own OLED logo in Figma, converted it with @javl's image2cpp, and cleaned up the result with @joric's QMK Logo Editor.

‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡/1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡! ,‡‡‡‡‡‡‡‡‡z!!!!!!!!!!!!r‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡!       .1‡‡‡‡‡‡‡@!  '&‡‡‡‡‡‡_"                ';1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡'       `‡‡‡‡‡‡‡BI ` `‡‡‡‡‡‡<                      `‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡?        ;‡‡‡‡‡‡@l.;j'>‡‡‡‡‡&'         .""""`         .j‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡!       `‡‡‡‡‡‡@I ,‡r ,‡‡‡‡‡‡l        `M‡‡‡‡‡‡‡(         M‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡1.       "#‡‡‡‡z>';j‡; '&‡‡‡‡‡‡.       i‡‡‡‡‡‡‡‡‡‡l        .‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡^       ;8‡‡‡‡('.;#‡‡" >‡‡‡‡‡‡‡‡        ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡/        )‡‡‡‡r`.{‡‡‡‡` M‡‡‡‡‡‡‡‡‡        ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ""       "j‡‡‡j".;#‡‡‡c  .""""""""""""""""1/‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡                 ,‡‡‡1' ,‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡<  `!  ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡                 'M‡`.;j‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡1'',;'   ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡                   \<                .‡‡‡‡(  /!      ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡;        >‡‡‡‡‡‡‡‡‡‡‡‡1 '1‡‡j;''1‡'       ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡M        !‡‡‡‡‡‡‡‡‡‡' ^‡‡‡` .<‡‡‡        ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡r        .(‡‡‡‡‡‡‡' ;‡1" ,j‡‡‡‡‡        ‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡l        >‡‡‡‡; `jl."1@‡‡‡‡‡‡‡        >‡‡‡‡‡‡‡‡‡‡-         ‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡B.       I‡z  "^  t‡‡‡‡‡‡‡‡‡‡;        I‡‡‡‡‡‡‡‡t         c‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡x       ./'   ^/‡‡‡‡‡‡‡‡‡‡‡‡z.         `""""".         (‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡`    `<   Ir‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡!                      `‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡         ‡‡‡‡‡‡‡‡‡‡‡,  "^  ""1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡i`                ."1‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡!!!!!!!!!‡‡‡‡‡‡‡‡‡‡‡‡!{` !‡!!!!‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡x!!!!!!!!!!!!?M‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡>';#‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡u8‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡