qmk-firmware/keyboards/mitosis/keymaps/datagrok/readme.md

3.8 KiB

mitosis:datagrok layout image

Keyboard layout editor source

a layout for the Mitosis

  • Emphasis on momentary modifiers, all usable from either hand, arranged symmetrically, but distinguishable left/right by the OS. Shift, Red ("Lower"), Blue ("Raise"), Super ("Windows"), Meta ("Alt"), Hyper.

  • Red and Blue are used to momentary-enable (like a shift key) one of three layers:

    • Red: Symbols layer
    • Blue: Numbers layer
    • "Purple" (both Red and Blue): Functions layer
  • The base layer is QWERTY. A slight variant of Workman may be toggled-on.

  • Emphasis on minimizing hand travel, so as not to lose orientation with homerow.

  • Paired programming symbols (braces, brackets, parentheses) are arranged symmetrically in the symbols layer.

  • ? and ! are moved to take the place of < and >. Rationale: unmodded and shifted keys should be for prose, while symbols useful for programming should be colocated on their own layer.

  • No OS keymap modification required.

Design notes

  • I use an 8Mhz Pro Micro. If you want to use this keymap with the standard 16Mhz Pro Micro specified in the Mitosis design:

    • Remove the lines in rules.mk mentioning F_CPU and F_USB.
    • Remove the lines in config.h mentioning SERIAL_UART_BAUD.
  • Workman layout

    • I'm learning a new physical key placement, so I might as well go all out and use an optimal non-QWERTY layout.

    • I like the way Workman feels and some of its advantages over Colemak. Unfortunately, it was designed using a weighting system based on a standard column-staggered keyboard so is probably not as optimal as one could achieve on an ergonomic board like the Mitosis. Maybe run an optimizer routine after I determine good values for key difficulty on the Mitosis.

  • Arrows in the home position (on a layer). Mod+Arrows = PgUp/PgDn/Home/End, which is intuitive for me

  • I use tab all the time for autocompletion. To allow it to live on the base layer it is now Mod-Tapped with left shift.

Abandoned ideas

  • "Since QWERTY and Workman keep angle brackets together, place other enclosing symbols on the same keys. This informs the numbers placement, which informs the function-key placement."

    • I tried this and it was bad. I don't like having to pick the right modifier to get the right flavor of bracket. Instead, now, one modifier activates a symbols layer where all brackets are easily accessible.
  • Space/Enter to the left of layer select for Enter doesn't work well; I always trigger space first when mashing the keys simultaneously. This might not continue to be true if I change the angle at which I strike the keys e.g. with a neoprene base or a wrist support.

  • I used to have Blue on ring finger, but that was too hard to use in conjunction with shift.

To do

  • Figure out where to place non-numpad numbers so we don't need num lock turned on to type them?
  • Improve LED indications (may require modding bluetooth firmware):
    • Is any board nonresponsive (which one?)
    • Does either board have a low battery?
  • Add Insert, PrintScr, Pause/Break
  • Make QWERTY base layer for people who customize layout in software? I default to QWERTY now.
  • Store default base layer in eeprom?
  • See if the henkan/muhenkan placement is at all useful for Japanese speakers, or abuse different keysyms for Left/Right Hyper. (Original space cadet used scancodes 145/175. 145 is LANG2, 175 is "reserved" in USB HID spec.)
  • Mod a buzzer onto my receiver and enable tones
  • Implement "layer lock" key
  • Improve tri-layer behavior