Due to cbbrowne@acm.org Christopher Browne
This was originally based on the default keyboard map, but I have been doing sundry experimentation:
It made sense to mess around some with keyboard maps.
The keypad layer also includes some sample "hacks" of cool things, all using actions attached in using the function action_get_macro()
Trying out sgoodwin's "hold Enter down to get Shift"
Alt needs to move, and get a RHS
I have added an alternate ADJUST layer that is activated via update_tri_layer()
The _ADJUST layer provides a good place to have RESET
Each layer is given a name to aid in readability, which is then used in the keymap matrix below. The underscores do not denote anything - you can have a layer called STUFF or any other name.
Layer names don't all need to be of the same length, obviously, and you could also skip them entirely and just use numbers, though that means needing to manage the numbers.
It is preferable to keep the symbols short so that a line worth of key mappings fits compactly onto a line of code. It might be an interesting idea to express the maps rotated 90%, so that you only need to fit 4 symbols onto each line, rather than 12.
I use enums to manage layer IDs and macro IDs so that I don't need to care (beyond "start at 0", and arguably even that's not needed) about their values.
I have tried some things out that didn't turn out particularly well. I'll note some of these for posterity, hopefully helpful in not doing unwise things again…
I tried added Workman alongside Dvorak and Colemak
Space Cadet Shift; switching L_SHIFT to KC_LSP0, so that when I just hit SHIFT, I get a left parens. In principle, this is great for Lisping.
I use tmux quite a lot; the mollat keymap seems to have some interesting helpers. It might be interesting to add a "tmux layer," or to have a few keys in a layer oriented towards that
Keys for…
The jeebak keymap seems to have some neat ideas:
TouchCursor layer seems interesting
The jeremy-dev keymap has some very interesting concepts
, +
, …