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 readmepull/1966/head
parent
80e489e122
commit
e899cb8940
@ -0,0 +1,22 @@
|
|||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
|
// I use a pro micro clocked at 8Mhz. It can't reach 1M baud, so this is the
|
||||||
|
// next fastest possible baud without errors. I don't notice any difference in
|
||||||
|
// behavior at this slower speed. (So I think it should maybe be the default,
|
||||||
|
// to allow a single codebase to support both available flavors of pro micro.)
|
||||||
|
// This requires a corresponding change to the wireless module firmware; see
|
||||||
|
// https://github.com/reversebias/mitosis/pull/10
|
||||||
|
#undef SERIAL_UART_BAUD // avoids redefinition warning
|
||||||
|
#define SERIAL_UART_BAUD 250000
|
||||||
|
|
||||||
|
// TODO: figure out which of these I can safely enable to reduce firmware size.
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT // can't; errors
|
||||||
|
//#define NO_ACTION_MACRO
|
||||||
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,74 @@
|
|||||||
|
![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/
|
@ -0,0 +1,15 @@
|
|||||||
|
# I use an 8Mhz Pro Micro
|
||||||
|
F_CPU = 8000000
|
||||||
|
# Necessary, with above change?
|
||||||
|
F_USB = $(F_CPU)
|
||||||
|
|
||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
# vim: set ts=8 noet:
|
Loading…
Reference in new issue