qmk_firmware/keyboards/mitosis/keymaps/datagrok/readme.md
Michael F. Lamb e899cb8940 several improvements for mitosis:datagrok (#1960)
* mitosis/datagrok: reduce features from rules.mk

* mitosis/datagrok: make both layer keys neighbor shift

* mitosis/datagrok: (no-op) tweak some comments

* mitosis/datagrok: set baudrate to 250k

This requires a corresponding change to the mitosis wireless firmware:
https://github.com/reversebias/mitosis/pull/10

* mitosis/datagrok: move design description from code comment to a readme

* mitosis/datagrok: new layout, new shifted keys, efficient LED code

This is experimental, but compiles and seems to work correctly.

* mitosis/datagrok: whoops, move readme.md

* mitosis/datagrok: a minor layout improvement simplifies custom-shifted code

instead of [, .] [? !], using [, ?] [. !] greatly simplifies the code
needed to perform the shifted-key switching. (And keeps , and . on the
same keys that they are under qwerty.)

also: layout improvements for symbols

* mitosis/datagrok: make my code conform to QMK style guidelines

* mitosis/datagrok: TODO note for layout table in README

* mitosis/datagrok: remove led_set_user until i figure out other changes

need to see if the corresponding changes needed in the keyboard-level code
is okay.

* mitosis/datagrok: simpler layer indicator

* mitosis/datagrok: undo change to keyboard baud; make it in my layout dir.

* mitosis/datagrok: apply same punctuation hack to qwerty layer

* mitosis/datagrok: enable qwerty layer toggle

* mitosis/datagrok: update readme
2017-11-03 11:56:06 -04:00

75 lines
2.9 KiB
Markdown

![mitosis:datagrok layout image](https://i.imgur.com/Lt0t0nq.png)
[Keyboard layout editor source](http://www.keyboard-layout-editor.com/#/gists/e1a6a7a480fd4984c0bed38ee35f6c4f)
# a layout for the Mitosis
- Emphasis on momentary modifiers, all usable from either hand, arranged
symmetrically, but distinguishable left/right by the OS. Shift, Fn1
("Lower"), Fn2 ("Raise"), Super ("Windows"), Meta ("Alt"), Hyper.
- Fn1 and Fn2 are used to momentary-enable (like a shift key) one of three layers:
- Fn1 (Red): Symbols layer
- Fn2 (Blue): Numbers layer
- Both: Functions layer
- The base layer is a slight variant of [Workman][]. QWERTY may be toggled-on.
- Paired programming symbols (braces, brackets, parentheses) are arranged
symmetrically in the symbols layer. `?` and `!` are moved to take the place
of `<` and `>`.
- 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`.
- I'm learning a new key placement, so 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.
- Arrows in the home position (on a layer). Mod+Arrows = PgUp/PgDn/Home/End,
which is intuitive for me
### 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.
- I used to have Blue layer on ring finger, but that was too hard to use in
conjunction with shift.
## To do
- 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? Store
default base layer in eeprom?
- See if the henkans placement is at all useful for Japanese speakers, or abuse
different keysyms
- Mod a speaker onto my receiver and enable tones
- Implement "layer lock" key
- Improve tri-layer behavior
[Workman]: https://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/