keychron_qmk_firmware/keyboards/kyria/keymaps/plattfot
Fredrik Salomonsson 0a8accae06
[Keymap] plattfot - Keymap updates for Kyria (#13449)
- Major change in the keymap to work with EurKey. Which relaxes some
  constraints it had before when it had to take in consideration two
  layouts.

  With this the parenthesis can be moved to a better location instead
  of being in the top right corner.

  This also allows esc, del and rctrl to be moved to the base layer.

  Only downside is that ctrl+lalt needed to be removed and instead
  AltGr takes it's place. Add rctrl on right thumb cluster to
  compensate for this which need some reorganization on the thumb
  cluster.

- Split the symbol and function keys layer into two layers, one for
  each hand. Make it easier to press symbols and function keys.

- Add some symbols specific for the EurKey layout.

- Change from running C-<tab> S-C-<tab> to page up/down for the right
  rotary. As holding ctrl and using page up/down works the same in
  firefox. Which allows the rotary to be useful for other things.

- Move scroll lock and insert to right rotary.

- Introducing close tap (CLO_TAP), which is a combination of the
  double tap feature and my macros. E.g. pressing CLO_TAP and ( will
  generate ()←. Which removes the need of the macros and makes it more
  useful than DBL_TAP as it now saves me some keypresses. CLO_TAP exist
  on both the left and right hand layers to make it easy to use.

- Use text for the secondary oled, firmware is too big after rebasing
  on upstream master.

- Update image in the readme to reflect my new layout.
2021-07-10 22:37:28 -07:00
..
config.h
keymap.c
README.md
rules.mk

plattfot's keymap for Kyria

Keyboard

Designed to be ease of use when programming, typing in both English and Swedish and navigating around in a tiling window manager, in my case sway. Uses the two rotary encoders (lower left/right thumb row) as two palm buttons.

This keymap avoids Mod-tap as they do not work for me. Kyria has enough thumb keys to make it work without them.

The symbols are split into two layers, one for each hand. Then the layers are activated by the opposite thumb. Found that having all symbols on one layer then have one thumb activate them made it awkward to press keys with the index finger on the same hand.

Custom feature I call the close tap (Clotap) key, I based on a code snippet from a reddit post. When pressed, it will insert the closing equivivalent key and press (left arrow). For example tapping Clotap then press ( will result in the keypresses ()←, if pressing " will result in ""←, if pressing ) will result in )←(. Really nice to have when programming, it is editor agnostic and saves me two keypresses (need to press NAV+j for ). It also removes the need for having specific macros for these as I had before.

Base Layer: Default

//  ,-------------------------------------------.                              ,-------------------------------------------.
//  |  Esc   |   Q  |   W  |   E  |   R  |   T  |                              |   Y  |   U  |   I  |   O  |   P  |  Del   |
//  |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
//  |  Tab   |   A  |   S  |  D   |   F  |   G  |                              |   H  |   J  |   K  |   L  |   ;  |   '    |
//  |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
//  | LShift |   Z  |   X  |   C  |   V  |   B  | Lead | RAISE|  | LOWER|BSpace|   N  |   M  |   ,  |   .  |   /  | RShift |
//  `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
//                         | MPlay| GUI  | LCtrl| Space| LALT |  | RCtrl| Enter| NAV  | RALT |Scroll|
//                         |      |      |      |      |      |  |      |      |      |      | Lock |
//                         `----------------------------------'  `----------------------------------'

Setup for using the EurKey layout. As it's annoying to have to toggle us and swedish layout which shifts symbols around.

AltGr is used to access the extra keys in the EurKey layout.

Notable features on this layer

Left rotary encoder

  • Press: play/pause
  • Rotate: Volume control

Right rotary encoder

  • Press: Scroll lock
  • Rotate: Page up/Page down. Used mouse scrolling at first. But scrolling only works in the window where the mouse pointer is. Which kind of defeated the purpose of having the scroll on the keyboard, as I still needed to move my hand to the mouse and then I could just use the scroll on the mouse.

Leader key is mainly used for jumping between workspaces. Otherwise I would need to use both hands everytime I need to switch. With the leader key I can jump between 1-5 with just the left hand.

Lower Layer: Left symbols/Right function keys

//  ,-------------------------------------------.                              ,-------------------------------------------.
//  |        |  !   |  @   |  #   |  $   |  %   |                              |  F6  |  F7  |  F8  |  F9  | F10  |        |
//  |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
//  |        |  |   |  _   |  \   |  -   |  +   |                              | F12  |      |      |      |      |        |
//  |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
//  |        |  °   |  :   |  (   |  )   |  ×   |      |ADJUST|  |      |      |CLOTAP|      |      |      |      |        |
//  `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
//                         |      |      |      |      |      |  |      |      |      |      |      |
//                         |      |      |      |      |      |  |      |      |      |      |      |
//                         `----------------------------------'  `----------------------------------'

Symbols for the left hand, function keys for the right hand.

I had the function keys at the bottom on the navigation layer. But it was annoying when typing version strings. Hitting f1-5+f11 involved both hands. And it turned out that my keybinding for closing a window (Super+Shift+c) and rebooting my machine (Super+Shift+f3) ended up on the same physical keys.

Splitting them up like this allows me to hit all the function keys with just one hand and I wont accidentally reboot my machine when trying to close a window.

Notable features on this layer

Left rotary encoder

  • Rotate: Skip next/previous song

Clotap on the right hand.

Has two Eurkey specific symbols ° and × on the left hand.

Raise Layer: Left function/Right symbols + state keys

//  ,-------------------------------------------.                              ,-------------------------------------------.
//  |        |  F1  |  F2  |  F3  |  F4  |  F5  |                              |   ^  |  &   |  *   |  ~   |  ?   |        |
//  |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
//  |        |      |      |      |      | F11  |                              |   =  |  {   |  }   |  [   |  ]   |   `    |
//  |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
//  |        |      |      |      |      |CLOTAP|      |      |  |ADJUST|      |   …  |  "   |  <   |  >   |  /   |CapsLock|
//  `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
//                         | Mute |      |      |      |      |  |      |      |      |      |Insert|
//                         |      |      |      |      |      |  |      |      |      |      |      |
//                         `----------------------------------'  `----------------------------------'

Function keys for the left hand, symbols for the right hand.

This layer also includes caps lock and insert.

Notable features on this layer

Left rotary encoder

  • Press: mute

Right rotary encoder

  • Press: Toggle insert mode
  • Rotate: Scrolling between workspaces in sway.

Clotap on the left hand.

Navigation Layer: Number keys, navigation

 //
 // ,-------------------------------------------.                              ,-------------------------------------------.
 // |        |   1  |  2   |  3   |  4   |  5   |                              |  6   |  7   |  8   |  9   |  0   |        |
 // |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 // |        |      |      |      |      |      |                              |      | Left | Up   | Down | Right|        |
 // |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 // |        |      |      |      |      |      |      |      |  |      |      |      |      |      |      |      |        |
 // `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 //                        |      |      |      |      |      |  |      |      |      |      |      |
 //                        |      |      |      |      |      |  |      |      |      |      |      |
 //                        `----------------------------------'  `----------------------------------'

Access to the number and the arrow keys. Got use to the number row after using ErgoDox keyboards for a few years. Do not feel I need a numpad layer, which seems to be quite common with small keyboards like this.

Adjust Layer: RGB

 //
 // ,-------------------------------------------.                              ,-------------------------------------------.
 // |        |      |      |      |      |      |                              |      |      |      |      |      |        |
 // |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 // |        | TOG  | SAI  | HUI  | VAI  | MOD  |                              |      |      |      |      |      |        |
 // |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 // |        |      | SAD  | HUD  | VAD  | RMOD |      |      |  |      |      |      |      |      |      |      |        |
 // `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 //                        |      |      |      |      |      |  |      |      |      |      |      |
 //                        |      |      |      |      |      |  |      |      |      |      |      |
 //                        `----------------------------------'  `----------------------------------'

Right now it only contains adjustment to the underglow. Activated by holding down RAISE and LOWER at the same time.