You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
7.7 KiB

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