* edge_keys.h - defines the edges and bottom/thumb keys of a keyboard.
* layers.h - defines actual layers for navigation, symbols, keypad, layers, top rows, etc.
Process_records.c
--------------------
This is where the keycodes are processed...
Custom keys
-------------------
I have a lot of custom keys because of bepo. It is somewhat confusing this interaction
between a keyboard and the software that receives it.
A lot of my pain is invoked by my desire to have dvorak on bepo. Which works just fine,
although an english/cyrillic situation may not work so well. Currently I have
dvorak and beakl on bepo in addition to bepo it's self.
Alternate keycodes for emulating a layout on another locale/language.
-----------------------------
Because of wanting dvorak and beakl on bepo there was the necessity to create keys
from keycodes which were not combined. For this I have a special function that
takes a keycode and gives a proper shifted character for it. It is only a 2 keycode
definition, but it does the basic non-shifted and shifted characters as you define them.
Combos/Chords
----------------------------
This is recently new to me. I'm using them on my thumb keys which are all LT's.
the combos allow for layer locking for the Nav layer, and a oneshot for symbols
among other things.
I followed the simple example at the end of the doc than uses the
combos.def file to define the combos.
Tap-mods
-------------------------------------
I had been using MT on my thumbs for GUI,CTRL,ALT on hold along with
Escape, Enter, space and backspace, my thumb keys. I then added shift to my home row pinky key.
I had layer shifts to symbols, numbers, navigation all on the home row of both hands.
It worked nicely but choppy I think, switching hands for the holder of the layer is
a little like having no caps lock. It was a lot of work adding them to all my maps.
This is what prompted my mod_layer. So much easier. No maps to modify.
Then I moved to all home row mods with layers on my thumb keys.
This does allow for more rolls, and I have found chord/rolls simply from having my
xmonad controls be GUI-some-home-row-key-or-close. When Gui is your index finger,
everything gets easier.
Somewhere along the way I got a corne, and everything had to be small. and I realized
that everything really was small. My layers are blending back, with LTs near the
home row, and all the thumbs. On my dactyl I currently have 8 thumb keys per thumb,
I don't know what to do with them all. Remembering a time I thought that would be
awesome.
### tap_taplong and open_openclose
In process_records.c I have a nice couple of functions,
tap_taplong(), and open_openclose() for my non MT/LT functionality.
* I have home row mods for Shift, Ctrl, Alt, and Gui on both hands.
* I have a number of LT mods to raise layers nearby. Nav, toprows, symbol, keypad
are on both hands on the first and third rows around home row.
* Xmonad tap_taplong to pull up desktops or terminals with tap or hold.
* C-c/C-v, C-t/C-n, C-w/C-q are all on my Navigation layer as custom keys with tap_taplong.
* My thumbs are Enter/space and Esc/backspace which are also Navigation and toprows and symbol layers. They used to be GUI,CTRL,ALT,SFT. but all that's on the home row now.
* All of the paired characters on my symbol layer have a hold which closes them, and moves the cursor back between.
### caps word
Holding both pinkies on home row for double tapping term, is effectively
right-shift and left-shift, invokes caps-word. The next word will be capitalized.
I only have bepo, dvorak and beakl on bepo. There are a bunch for Qwerty.
I have a ton of basic layers. I'm most interested in beakl at the moment, but I've used Dvorak for more than 20 years. There is also qwerty, colemak, norman, carplax, etc.