split chords

monday, 10 may 2021

waiting on 15g springs for the Splitography, porting the chorded home row layout to it was inevitable as i further explore this minimal finger travel layout approach and the power of DennyTom’s chording engine.

While my own QMK libraries have been refactored over time to facilitate usage across the several keyboard types i use, i can say unequivocally that the json file parsing approach taken by DennyTom is vastly preferred with its table driven specification eliminating almost all of the keyboard layer and custom keycode C language code whilst improving the readability of the layout design and rendering much easier maintenance. Simply brilliant.

In this particular configuration, the Splitography’s steno number row has been relegated to just that function—those keys are available for a myriad of applications, i just don’t have a use case need for them outside of steno. So the bottom two rows, just like in steno (and the Georgi), it is.

The primary difference lies in the four steno thumb keys (to the Georgi’s six), requiring chording of the keys to allow the same number of thumb layers—a minor change that retains the overall BEAKL Wi layout of the Georgi and is a snap to define in the json file for the parser to do the rest! The other difference is the assignment of the inner (versus outer) columns for the toggle layer keys—this is a function of the keyboard’s different physical design, and thumb and at rest finger key positions..

beakl wi

Splitography BEAKL

chord output
: Y ” :: “
Shift Esc Enter
Shift I Space
Space Backspace Enter
Shift Backspace Backspace (autorepeat)

shift chords

Splitography BEAKL Wi</span> Shift

chord output
Shift : ;
Shift , ?
Shift . !
Shift - _
Shift ‘

leader capitalization

Splitography BEAKL WI</span> Leader Capitalization

chord output
: Space ”: “ + one_shot_shift
, Space ”, “ + one_shot_shift
. Space ”. “ + one_shot_shift
Shift : Space ”; “ + one_shot_shift
Shift , Space ”? “ + one_shot_shift
Shift . Space ”! “ + one_shot_shift
Shift Space ” ” + one_shot_shift
: Space Backspace : <enter> + one_shot_shift
, Space Backspace , <enter> + one_shot_shift
. Space Backspace . <enter> + one_shot_shift
Shift : Space Backspace ; <enter> + one_shot_shift
Shift , Space Backspace ? <enter> + one_shot_shift
Shift . Space Backspace ! <enter> + one_shot_shift
Shift Space Backspace <enter> + one_shot_shift

symbols and regex

Splitography BEAKL Wi</span> Symbols

chord output
J < ” <- “
> % ” -> “
Esc = !=
* & ~/

Splitography BEAKL Wi Regex

chord output
* [ .*

Splitography BEAKL Wi Symbols Regex

numbers and fn keys

Splitography BEAKL Wi</span> Number Pad

chord output
/ 4 :
, 8 ;
Postfix G or “ “
Postfix 0 0x
toggle action
Postfix G -> “ “
Caps Upper case HEX (retoggle to disable CapsLock on exiting layer)
Brkt Square -> Round -> Curly brackets

Splitography BEAKL Wi Fn Keys

shortcuts and cursor

Splitography BEAKL Wi</span> Cursor

chord output
XPaste Private Compile time string
Paste Public Compile time stringString


Splitography BEAKL Wi</span> Steno


the only gotchas during this port were the NKRO and mouse key configuration options. While enabled for the non-chorded Splitography configuration, these needed to be disabled with the chording engine—at present**.

Not doing so causes a dfu-programmer “Bootloader and code overlap” error. This is a good reminder to always initially turn off ALL configuration options when configuring new keyboards.

Other than that, configuring the Splitography with the DennyTom chording engine could not have been simpler.

**Memory requirements are dependent on the keyboard and its MCU. Future chording engine code optimizations may free up the necessary memory. This use case has no need for these options, the parsing/chording paradigm far outweighing any negatives AFAIAC.

»»  chording engine macros

comment ?