]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/jeebak/readme.md
Tap for Tab, hold for Hyper
[qmk_firmware.git] / keyboards / planck / keymaps / jeebak / readme.md
1 jeebak's layout
2 =======================
3 This WIP keymap attempts to minimize fingers straying away from the home row.
4 To aid in this endeavor, when additional modifyer keys to switch layers are
5 needed, they will be mapped to home row keys. The `keymap.c` file will contain
6 the exact changes. The diagrams in this README shows the highlights of the
7 changes from the default mappings.
8
9 I also decided to change all calls to `persistant_default_layer_set()` to
10 `default_layer_set()` since this is my personal perference.
11
12 ## Macros
13 ```
14 #define ALT_TAB     M(KC_ALT_TAB)
15 ```
16
17 ## Base Layers (Qwerty/Colemak/Dvorak)
18 These base layers are mostly the same as the default mappings. The interesting
19 changes are shown below.
20
21 - The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held.
22 - The `Sft/Ent` as `Enter` and `Shift`, and
23 - The `Hyper/Tab` as `Tab` and `Hyper`
24
25 A `TODO` item is to see if it can also act as a `CapsLock` when double-tapped.
26 The arrow keys, which have been moved to the
27 [TouchCursor](http://martin-stone.github.io/touchcursor/) layer, have been
28 replaced with the Media keys as shown. The `MC/kc` key activates the
29 `MouseCursor` layer when held, and emits the corresponding `kc` for its layer,
30 when tapped.
31 ```
32   ,-----------------------------------------------------------------------------------------.
33   | Hyper/Tab|      |      |      |      |      |      |      |      |      |      |        |
34   |----------+------+------+------+------+-------------+------+------+------+------+--------|
35   | Ctrl/Esc |      |      |MC/kc |      |      |      |      |      |      |      |        |
36   |----------+------+------+------+------+------|------+------+------+------+------+--------|
37   |          |      |      |      |      |      |      |      |      |      |      |Sft/Ent |
38   |----------+------+------+------+------+------+------+------+------+------+------+--------|
39   | PrntScrn | RGUI | Alt  | GUI  |Lower |  TC/Space   |Raise | Next | Vol- | Vol+ |  Play  |
40   `-----------------------------------------------------------------------------------------'
41 ```
42
43 ## Lower Layer (Symbols and Function Keys)
44 The symbols and functions keys are essentially the same as the default mapping.
45 The most notable changes are that the symbol keys from the `RAISE` layer have
46 been moved here. The remaining Media keys replace those that are now on the
47 base layers. The `BACKLIT` key has also been moved here.
48 ```
49   ,-----------------------------------------------------------------------------------.
50   |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
51   |------+------+------+------+------+-------------+------+------+------+------+------|
52   |   [  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
53   |------+------+------+------+------+------|------+------+------+------+------+------|
54   |   ]  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |   -  |   =  |   [  |   ]  |  \   |
55   |------+------+------+------+------+------+------+------+------+------+------+------|
56   |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
57   `-----------------------------------------------------------------------------------'
58 ```
59
60 ## Raise Layer (Numbers and Arithmetic Operators)
61 All of the numbers and arithmetic operators are available on this layer. Some
62 keys are duplicated for the convenience of their positions. The `0` and `$`
63 keys at the far left are for quick access to beginning and end of line in vim.
64 ```
65   ,-----------------------------------------------------------------------------------.
66   |   0  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
67   |------+------+------+------+------+-------------+------+------+------+------+------|
68   |   $  |   4  |   5  |   6  |   .  |   +  |   .  |   4  |   5  |   6  |   *  |  |   |
69   |------+------+------+------+------+------|------+------+------+------+------+------|
70   |   =  |   7  |   8  |   9  |   0  |   -  |   .  |   1  |   2  |   3  |   /  |  \   |
71   |------+------+------+------+------+------+------+------+------+------+------+------|
72   |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
73   `-----------------------------------------------------------------------------------'
74 ```
75
76 ## TouchCursor layer plus personal customizations
77 [TouchCursor](http://martin-stone.github.io/touchcursor/) uses the `Space` key
78 as the modifier, with the `IJKL` home row keys representing the inverted-T of
79 the arrow keys. All of the default TouchCursor keymappings for the right hand
80 are represented below. My personalizations include all of the keys shown for
81 the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key
82 from the base layers) readily accessible from the home row allows quick word
83 jumps and highlighting when used in conjunction with the arrow keys. The
84 `Alt-Tab` macro is not only useful under Windows, but also under Mac when used
85 with alternative switchers like [HyperSwitch](https://bahoom.com/hyperswitch).
86 The `Cmd-Tab` and `Ctrl-Tab` sequences are duplicated for easy access while in
87 this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN`
88 keycodes do not seem to work. There are macros in place that'll "automatically"
89 choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`,
90 etc.) depending on which layout you've currently selected (`AG_NORM` or
91 `AG_SWAP`) in the `_ADJUST` layer. The `Desk_L` and `Desk_R` macros are what I
92 use to switch between Virtual Desktops Left/Right. The `Tab_C`, `Tab_N` and
93 `Tab_R` are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as
94 Google Chrome.
95 ```
96   ,-----------------------------------------------------------------------------------.
97   |AltTab|CmdTab|CtlTab|  GUI |Shift |  ~   |Insert| Home |  Up  | End  | Bksp |      |
98   |------+------+------+------+------+-------------+------+------+------+------+------|
99   |      | Alt  |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R|
100   |------+------+------+------+------+------|------+------+------+------+------+------|
101   |      | Undo | Cut  | Copy |Paste |  `   | PgDn | Del  |Tab_N |Tab_R |iTerm2|      |
102   |------+------+------+------+------+------+------+------+------+------+------+------|
103   |      |      |      |      |      |             |      |      |      |      |      |
104   `-----------------------------------------------------------------------------------'
105 ```
106
107 ## Mouse Layer
108 The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer.
109 The `D` key (on QWERTY) is used to activate this layer. All 16 keycodes for the
110 mouse from the `doc/keycode.txt` file are represented, and logically located,
111 IMHO. The left and right click buttons are duplicated; on the right hand side,
112 for a quick click here and there, and again on the left hand side for when the
113 buttons need to be held for dragging things or highlighting text, thus allowing
114 the right hand to be free to use the up/down/left/right actions.
115 ```
116   ,-----------------------------------------------------------------------------------.
117   |      |      |ACCL0 |      |      |      |      |WHL_L |  Up  |WHL_R | BTN2 |      |
118   |------+------+------+------+------+-------------+------+------+------+------+------|
119   |      |ACCL2 | BTN2 |      | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 |
120   |------+------+------+------+------+------|------+------+------+------+------+------|
121   |      |      |      |      | BTN3 |      |WHL_Dn| BTN1 |      |      | BTN3 |      |
122   |------+------+------+------+------+------+------+------+------+------+------+------|
123   |      |      |      |      |      |             |      |      |      |      |      |
124   `-----------------------------------------------------------------------------------'
125 ```