128 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
jeebak's layout
 | 
						|
=======================
 | 
						|
This WIP keymap attempts to minimize fingers straying away from the home row.
 | 
						|
To aid in this endeavor, when additional modifyer keys to switch layers are
 | 
						|
needed, they will be mapped to home row keys. The `keymap.c` file will contain
 | 
						|
the exact changes. The diagrams in this README shows the highlights of the
 | 
						|
changes from the default mappings.
 | 
						|
 | 
						|
I also decided to change all calls to `persistant_default_layer_set()` to
 | 
						|
`default_layer_set()` since this is my personal perference.
 | 
						|
 | 
						|
## Macros
 | 
						|
```
 | 
						|
#define ALT_TAB     M(KC_ALT_TAB)
 | 
						|
```
 | 
						|
 | 
						|
## Base Layers (Qwerty/Colemak/Dvorak)
 | 
						|
These base layers are mostly the same as the default mappings. The interesting
 | 
						|
changes are shown below.
 | 
						|
 | 
						|
- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held,
 | 
						|
- `GUI/;` as `;` and `GUI`,
 | 
						|
- `Alt/"` as `"` and `Alt`,
 | 
						|
- `Sft/Ent` as `Enter` and `Shift`, and
 | 
						|
- `Hyper/Tab` as `Tab` and `Hyper`
 | 
						|
 | 
						|
A `TODO` item is to see if it can also act as a `CapsLock` when double-tapped.
 | 
						|
The arrow keys, which have been moved to the
 | 
						|
[TouchCursor](http://martin-stone.github.io/touchcursor/) layer, have been
 | 
						|
replaced with the Media keys as shown. The `MC/kc` key activates the
 | 
						|
`MouseCursor` layer when held, and emits the corresponding `kc` for its layer,
 | 
						|
when tapped.
 | 
						|
```
 | 
						|
  ,-----------------------------------------------------------------------------------------.
 | 
						|
  | Hyper/Tab|      |      |      |      |      |      |      |      |      |      |        |
 | 
						|
  |----------+------+------+------+------+-------------+------+------+------+------+--------|
 | 
						|
  | Ctrl/Esc |      |      |MC/kc |      |      |      |      |      |      |GUI/; | Alt/"  |
 | 
						|
  |----------+------+------+------+------+------|------+------+------+------+------+--------|
 | 
						|
  |          |      |      |      |      |      |      |      |      |      |      |Sft/Ent |
 | 
						|
  |----------+------+------+------+------+------+------+------+------+------+------+--------|
 | 
						|
  | PrntScrn | RGUI | Alt  | GUI  |Lower |  TC/Space   |Raise | Next | Vol- | Vol+ |  Play  |
 | 
						|
  `-----------------------------------------------------------------------------------------'
 | 
						|
```
 | 
						|
 | 
						|
## Lower Layer (Symbols and Function Keys)
 | 
						|
The symbols and functions keys are essentially the same as the default mapping.
 | 
						|
The most notable changes are that the symbol keys from the `RAISE` layer have
 | 
						|
been moved here. The remaining Media keys replace those that are now on the
 | 
						|
base layers. The `BACKLIT` key has also been moved here.
 | 
						|
```
 | 
						|
  ,-----------------------------------------------------------------------------------.
 | 
						|
  |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
 | 
						|
  |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
						|
  |   [  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
 | 
						|
  |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
						|
  |   ]  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |   -  |   =  |   [  |   ]  |  \   |
 | 
						|
  |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
						|
  |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
 | 
						|
  `-----------------------------------------------------------------------------------'
 | 
						|
```
 | 
						|
 | 
						|
## Raise Layer (Numbers and Arithmetic Operators)
 | 
						|
All of the numbers and arithmetic operators are available on this layer. Some
 | 
						|
keys are duplicated for the convenience of their positions. The `0` and `$`
 | 
						|
keys at the far left are for quick access to beginning and end of line in vim.
 | 
						|
```
 | 
						|
  ,-----------------------------------------------------------------------------------.
 | 
						|
  |   0  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 | 
						|
  |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
						|
  |   $  |   4  |   5  |   6  |   .  |   +  |   .  |   4  |   5  |   6  |   *  |  |   |
 | 
						|
  |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
						|
  |   =  |   7  |   8  |   9  |   0  |   -  |   .  |   1  |   2  |   3  |   /  |  \   |
 | 
						|
  |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
						|
  |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
 | 
						|
  `-----------------------------------------------------------------------------------'
 | 
						|
```
 | 
						|
 | 
						|
## TouchCursor layer plus personal customizations
 | 
						|
[TouchCursor](http://martin-stone.github.io/touchcursor/) uses the `Space` key
 | 
						|
as the modifier, with the `IJKL` home row keys representing the inverted-T of
 | 
						|
the arrow keys. All of the default TouchCursor keymappings for the right hand
 | 
						|
are represented below. My personalizations include all of the keys shown for
 | 
						|
the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key
 | 
						|
from the base layers) readily accessible from the home row allows quick word
 | 
						|
jumps and highlighting when used in conjunction with the arrow keys. The
 | 
						|
`Alt-Tab` macro is not only useful under Windows, but also under Mac when used
 | 
						|
with alternative switchers like [HyperSwitch](https://bahoom.com/hyperswitch).
 | 
						|
The `Cmd-Tab` and `Ctrl-Tab` sequences are duplicated for easy access while in
 | 
						|
this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN`
 | 
						|
keycodes do not seem to work. There are macros in place that'll "automatically"
 | 
						|
choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`,
 | 
						|
etc.) depending on which layout you've currently selected (`AG_NORM` or
 | 
						|
`AG_SWAP`) in the `_ADJUST` layer. The `Desk_L` and `Desk_R` macros are what I
 | 
						|
use to switch between Virtual Desktops Left/Right. The `Tab_C`, `Tab_N` and
 | 
						|
`Tab_R` are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as
 | 
						|
Google Chrome.
 | 
						|
```
 | 
						|
  ,-----------------------------------------------------------------------------------.
 | 
						|
  |AltTab|CmdTab|CtlTab|  GUI |Shift |  ~   |Insert| Home |  Up  | End  | Bksp |      |
 | 
						|
  |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
						|
  |      | Alt  |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R|
 | 
						|
  |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
						|
  |      | Undo | Cut  | Copy |Paste |  `   | PgDn | Del  |Tab_N |Tab_R |iTerm2|      |
 | 
						|
  |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
						|
  |      |      |      |      |      |             |      |      |      |      |      |
 | 
						|
  `-----------------------------------------------------------------------------------'
 | 
						|
```
 | 
						|
 | 
						|
## Mouse Layer
 | 
						|
The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer.
 | 
						|
The `D` key (on QWERTY) is used to activate this layer. All 16 keycodes for the
 | 
						|
mouse from the `doc/keycode.txt` file are represented, and logically located,
 | 
						|
IMHO. The left and right click buttons are duplicated; on the right hand side,
 | 
						|
for a quick click here and there, and again on the left hand side for when the
 | 
						|
buttons need to be held for dragging things or highlighting text, thus allowing
 | 
						|
the right hand to be free to use the up/down/left/right actions.
 | 
						|
```
 | 
						|
  ,-----------------------------------------------------------------------------------.
 | 
						|
  |      |      |ACCL0 |      |      |      |      |WHL_L |  Up  |WHL_R | BTN2 |      |
 | 
						|
  |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
						|
  |      |ACCL2 | BTN2 |      | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 |
 | 
						|
  |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
						|
  |      |      |      |      | BTN3 |      |WHL_Dn| BTN1 |      |      | BTN3 |      |
 | 
						|
  |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
						|
  |      |      |      |      |      |             |      |      |      |      |      |
 | 
						|
  `-----------------------------------------------------------------------------------'
 | 
						|
```
 |