]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
README, keymap & config update to 3 keyboards (#1911)
authorJames Morgan <32807665+mogranjm@users.noreply.github.com>
Mon, 30 Oct 2017 00:07:36 +0000 (11:07 +1100)
committerJack Humbert <jack.humb@gmail.com>
Mon, 30 Oct 2017 00:07:36 +0000 (20:07 -0400)
* First commit of the Terminus_Mini firmware and the DivergeJM version of the Nyquist firmware

* Fix terminus_mini & nyquist/DivergeJM readme files

Previously an outdated copy of the default readme. Updated to match the  Nyquist/DivergeJM format (DivergeJM is a split 5x12 implementation of the terminus_mini layout)

* Update makefiles to rules.mk

Renamed both Makefiles to rules.mk, removed references to makefiles

* Updated rules.mk

Inadvertantly removed important code from the rules.mk in previous commit. This has been restored.

Also disabled Tap_Dance in both rules.mk files

* Moved terminus_mini to handwired

Realised that existing directory was not appropriate for the terminus_mini project, moved to handwired.

* New Frosty Flake layout for QFR TKL

Added a TKL layout for the Frosty Flake with a navigation cluster on LOWER under the left hand and a similarly functioning MOUSE layer that includes mouse navigation functionality.

* README fix & keymap update for 3 keyboards

Fixed the markdown for the handwired/terminus_mini:default, Nyqyist:DivergeJM & frosty_flake:QFR_JM.

Added TAPPING_TERM =  150 to config.h for all keyboards

Switched LT(LOWER) and LAlt on the mod row for ortholinear boards.

* Update readme for QFR_JM to include make instructions

* Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware"

This reverts commit a45f264ada09acc14fb85390407bc7ff5bb021e3, reversing
changes made to 62349c33410671a33d4041d50cf27de1d6bdd9cf.

* Revert "Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware""

This reverts commit eae54fb3be2c60dffd704261f84bab98c9e06f93.

* Added QWERTY support to the QFR_JM

Implemented variable default base layer from the Planck default keymap.

* Update README to reflect QWERTY support

keyboards/frosty_flake/keymaps/QFR_JM/config.h
keyboards/frosty_flake/keymaps/QFR_JM/keymap.c
keyboards/frosty_flake/keymaps/QFR_JM/readme.md
keyboards/handwired/terminus_mini/config.h
keyboards/handwired/terminus_mini/keymaps/default/config.h
keyboards/handwired/terminus_mini/keymaps/default/keymap.c
keyboards/handwired/terminus_mini/keymaps/default/readme.md
keyboards/nyquist/keymaps/DivergeJM/README.md
keyboards/nyquist/keymaps/DivergeJM/config.h
keyboards/nyquist/keymaps/DivergeJM/keymap.c

index 8893d122e04be2b5675204802a059c4321f8fc73..b25194014b5bbd3512e78815b71853772c5c756b 100644 (file)
@@ -1,3 +1,6 @@
+
+#define TAPPING_TERM 150 //reduce time required to register a held key
+
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
index 2b5444aff3c6453128a09efdb411fe6d3bea3a02..709ab6c21976fb3d10b3c478028742d1f1cbd55d 100644 (file)
@@ -7,12 +7,14 @@
 
 enum QFR_layers {
   _COLEMAK,
+  _QWERTY,
   _LOWER,
   _MOUSE
 };
 
 enum QFR_keycodes {
   COLEMAK = SAFE_RANGE,
+  QWERTY,
   LOWER,
   MOUSE
 };
@@ -40,8 +42,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       KC_LCTL,KC_LGUI,      KC_LALT,                SPC_LW,                                  MSE,     KC_RGUI, KC_APP, KC_RCTL,  KC_LEFT,KC_DOWN,KC_RGHT
       ),
 
+[_QWERTY] = KEYMAP_TKL(\
+       KC_ESC, KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11,  KC_F12,             KC_PSCR, KC_SLCK, KC_PAUS, \
+       KC_GRV, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS, KC_EQL,  KC_BSPC,   KC_INS,  KC_HOME, KC_PGUP, \
+       KC_TAB, KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_LBRC, KC_RBRC, KC_BSLS,   KC_DEL,  KC_END,  KC_PGDN, \
+       KC_CAPS,KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,KC_QUOT,          KC_ENT, \
+       KC_LSFT,KC_NUBS,KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,          KC_RSFT,            KC_UP, \
+       KC_LCTL,KC_LGUI,KC_LALT,                SPC_LW,                                 MSE,    KC_RGUI, KC_APP,  KC_RCTL,   KC_LEFT, KC_DOWN, KC_RGHT  
+       ),
+
 [_LOWER] = KEYMAP_TKL(\
-      RESET,    _______,    _______,   _______,  _______, _______,   _______,   _______,   _______,  _______, _______, _______, _______,           _______,_______,_______, \
+      RESET,    _______,    _______,   _______,  _______, _______,   _______,   _______,   _______,  _______, _______, _______, _______,           QWERTY, COLEMAK,_______, \
       KC_TILD,  KC_EXLM,    KC_AT,     KC_HASH,  KC_DLR,  KC_PERC,   KC_CIRC,   KC_AMPR,   KC_ASTR,  KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_BSPC,  _______,_______,_______, \
       KC_TAB,   KC_PGUP,    KC_HOME,   KC_UP,    KC_END,  XXXXXXX,   XXXXXXX,   KC_BTN3,   KC_BTN4,  KC_BTN5, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE,  _______,_______,_______, \
       KC_CAPS,  KC_PGDN,    KC_LEFT,   KC_DOWN,  KC_RGHT, XXXXXXX,   XXXXXXX,   KC_BTN1,   KC_BTN2,  XXXXXXX, XXXXXXX, _______,          _______,                            \
@@ -58,3 +69,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       _______,  _______,   _______,             KC_ACL2,                       MSE,       _______,  _______,  _______,                             _______,_______,_______  \
       )
 };
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case QWERTY:
+      if (record->event.pressed) {
+        //print("mode just switched to qwerty and this is a huge string\n");
+        set_single_persistent_default_layer(_QWERTY);
+      }
+      return false;
+      break;
+    case COLEMAK:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_COLEMAK);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
\ No newline at end of file
index 6c7fabd185ac27775ab80980a05be0a48c6f4302..396337440e4efb4f3b9649c5e758d1bb2f89d166 100644 (file)
@@ -1,7 +1,15 @@
-# TKL keymap for frosty_flake
 
-##Layers
+# TKL keymap for frosty\_flake
+```
+make frosty_flake:QFR_JM
+
+dfu-programmer atmega32u2 erase
+dfu-programmer atmega32u2 flash frosty_flake_QFR_JM.hex
+dfu-programmer atmega32u2 start
+```
 
+##Layers
+```
   ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
   |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |PrSc|ScLk|PsBk|
   '----'    '-------------------' '-------------------' '-------------------' '--------------'
   |Ctrl|LGUI|LAlt|             Space/Lower              |MSE |RGUI|Menu|Ctrl| |Left|Down|Rght|
   '-------------------------------------------------------------------------' '--------------'
 
+```
 ### Base Layer - Colemak
-       * The base layout is Colemak
-                       * I've implemented COLEMAK = SAFE_RANGE when enumerating the custom_keycodes, but I don't actually know what this does...
+The base layout is Colemak by default, but this can be changed to QWERTY via the *LOWER* layer
+* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
 
-       * Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
+* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
 
-       #### Layer Shifting
-       * The spacebar is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
-       * The Right hand ALT key is a **TAP_TOGGLE** macro for the *MOUSE* layer (RAlt is accessible through LOWER, if you want...)
+#### Layer Shifting
+* The spacebar is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
+* The Right hand ALT key is a **TAP_TOGGLE** macro for the *MOUSE* layer (RAlt is accessible through LOWER, if you want...)
        
 ### LOWER
-
+```
   ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
-  |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |PrSc|ScLk|PsBk|
+  |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |QWTY|CLMK|PsBk|
   '----'    '-------------------' '-------------------' '-------------------' '--------------'
   ,-------------------------------------------------------------------------. ,--------------. 
   |  ~ | !  |  @ |  # |  $ |  % |  ^ |  & |  * |  ( |  ) |  _ |  + |  Bspc  | | Ins|Home|PgUp| 
   |-------------------------------------------------------------------------|      ,----.     
   |   LSPO  | Z  | X  |  C | V  |    |    |    |  , |  . |  / |    RSPC     |      | Up |     
   |-------------------------------------------------------------------------| ,--------------.
-  |Ctrl|LGUI|LAlt|                                                 |MSE |RGUI|Menu|Ctrl| |Left|Down|Rght|
+  |Ctrl|LGUI|LAlt|                                                 |RAlt|RGUI|Menu|Ctrl| |Left|Down|Rght|
   '-------------------------------------------------------------------------' '--------------'
-
-       * The *LOWER* layer contains a navigation cluster on the left hand. This layer is momentary when the spacebar or LOWER (RAlt) key is held and toggled on/off when the LOWER key is tapped.
+```
+The *LOWER* layer contains a navigation cluster on the left hand. This layer is momentary when the spacebar or LOWER (RAlt) key is held and toggled on/off when the LOWER key is tapped.
        
-       * The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
+* The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
 
-       * All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.
+* All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC\_NO), all modifiers (edge |\_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (\_\_\_\_\_\_\_) to the Base layer.
 
-### MOUSE
+* The base layer can be switched to QWERTY or COLEMAK by pressing the Pause Break or Scroll Lock keys respectively
 
+### MOUSE
+```
   ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
   |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |PrSc|ScLk|PsBk|
   '----'    '-------------------' '-------------------' '-------------------' '--------------'
   |-------------------------------------------------------------------------| ,--------------.
   |Ctrl|LGUI|LAlt|               Accel ++               |MSE |RGUI|Menu|Ctrl| |Left|Down|Rght|
   '-------------------------------------------------------------------------' '--------------'
+```
+The *MOUSE* layer contains keys replicating functions found on the mouse. 
+
+* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & Downkeys.
+* The primary click (right & left) buttons are on the right home row (index & middle fingers)
+* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
 
-       * The *MOUSE* layer contains keys replicating functions found on the mouse. 
-               * The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & Down keys.
-               * The primary click (right & left) buttons are on the right home row (index & middle fingers)
-               * Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
index 5e32cbaf0aa63c8464844a3436e14816fce2c03c..ef9a26a19f52c8790f03c5b1d0a5ad5887bb74fd 100644 (file)
@@ -57,7 +57,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define TAPPING_TOGGLE 1
 
 //define maximum duration of hold required to register a tap vs hold default is 200
-#define TAPPING_TERM 150 //reduce time required so fast typing doesn't disrupt
+#define TAPPING_TERM 150 //reduce time required to register a held key
 
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCING_DELAY 5
index f52a97bbc8653a337e8c17f4e292273151f5bbec..34ef6720746d0d204825ff78b05baa63c2b4e498 100644 (file)
@@ -14,6 +14,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define TAPPING_TERM 150 //reduce time required to register a held key
+
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
index f37989b10a2258b0691b59abd3312ee2abb8c7b7..b99280a917cb5fa15d39803dd3975b4d08cb56b4 100644 (file)
@@ -72,14 +72,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |-----+------+------+------+------+-------------+------+------+------+------+------|
  * | LSPO|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  | RSPC |
  * |-----+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl| LGUI | LAlt | Lower|    SpaceLW  |    RSEnter  |  Fn  | Mouse| Menu | Ctrl |
+ * | Ctrl| LGUI | Lower| LAlt |    SpaceLW  |    RSEnter  |  Fn  | Mouse| Menu | Ctrl |
  * `----------------------------------------------------------------------------------'
  */
 [_COLEMAK] = TERMINUS_MINI(
   KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,      KC_Y,    KC_SCLN, KC_DEL , \
   KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,      KC_I,    KC_O,    KC_QUOT, \
   KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM,   KC_DOT,  KC_SLSH, KC_RSPC, \
-  KC_LCTL, KC_LGUI, KC_LALT, LWR,          SPC_LW,           ENT_RS,      FNC,       MSE,     KC_APP,  KC_RCTL \
+  KC_LCTL, KC_LGUI, LWR,     KC_LALT,     SPC_LW,           ENT_RS,       FNC,       MSE,     KC_APP,  KC_RCTL \
   ),
 
 /* Lower
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * | LSPO |   Z  |   X  |   C  |   V  |   =  |   1  |   2  |   3  | Enter|      | RSPC |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | Alt  | Lower| Space/Lower |      0      |   .  |  Fn  | Menu | Ctrl |
+ * | Ctrl | LGUI | Lower| LAlt | Space/Lower |      0      |   .  |  Fn  | Menu | Ctrl |
  * `-----------------------------------------------------------------------------------'
  Want to add tap-dance function to 0 key: Tap=0, doubleTap=Ent
  */
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * | LSPO |      |      |   {  |   [  |   `  |   \  |   ]  |   }  |   .  |   ?  | RSPC |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | Alt  |      | Space/Lower | Raise/Enter |  Fn  | Mouse| Menu | Ctrl |
+ * | Ctrl | LGUI |      | LAlt | Space/Lower | Raise/Enter |  Fn  | Mouse| Menu | Ctrl |
  * `-----------------------------------------------------------------------------------'
   */
 
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    KC_ESC,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,   KC_PERC, KC_CIRC,  KC_AMPR, KC_ASTR, KC_MINS, KC_EQL,  _______, \
    _______, KC_1,    KC_2,    KC_3,    KC_4,     KC_5,    KC_6,     KC_7,    KC_8,    KC_9,    KC_0,    _______, \
    _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC,  KC_GRV,  KC_BSLS,  KC_RBRC, KC_RCBR, KC_DOT,  KC_SLSH, _______, \
-   _______, _______, _______, _______,        SPC_LW,            ENT_RS,     FNC,     MSE,     _______, _______ \
+   _______, _______, XXXXXXX, _______,        SPC_LW,            ENT_RS,     FNC,     MSE,     _______, _______ \
    ),
 
 /*Function
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * | LSOB |      |      |      |      |      |      |  F9  | F10  | F11  | F12  |ScrLk |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | Alt  |      | Space/Lower | Enter/Raise |  Fn  |      |      |PsBrk |
+ * | Ctrl | LGUI |      | Alt  | Space/Lower | Enter/Raise |  Fn  |      |      |PsBrk |
  * `-----------------------------------------------------------------------------------'
  */
 
index 66ca566ed6f1ca3fb3b3994d24a71b75c6434a8a..216cf41e269ddc893a790e98ffeb34ec0f87e1b6 100644 (file)
@@ -6,117 +6,114 @@ This keymap is modified from the Planck default layout. Credit for the layout na
 
 The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. The microcontroller is a Teensy 2.0
 
-The TERMINUS_MINI layout (../../../terminus_mini/terminus_mini.h) is handwired and the 2U keys are handled using KC_NO to detail that two columns do not have a 4th column.
-
->  .----------------------------------------.     .-----------------------------------------. \
->  | Tab |   Q  |   W  |   F  |   P  |   G  |     |   J  |   L  |   U  |   Y  |   ;  |  Del | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | BS  |   A  |   R  |   S  |   T  |   D  |     |   H  |   N  |   E  |   I  |   O  |  '   | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | LSPO|   Z  |   X  |   C  |   V  |   B  |     |   K  |   M  |   ,  |  \.  |   /  | RSPC | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | Ctrl| LGUI | LAlt | Lower| Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | \
->  '----------------------------------------'     '-----------------------------------------' \
-\
-> [_COLEMAK] = KEYMAP( \
->   KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,   KC_G,         KC_J,   KC_L,    KC_U,      KC_Y,    KC_SCLN, KC_DEL , \
->   KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,   KC_D,         KC_H,   KC_N,    KC_E,      KC_I,    KC_O,    KC_QUOT, \
->   KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,         KC_K,   KC_M,    KC_COMM,   KC_DOT,  KC_SLSH, KC_RSPC, \
->   KC_LCTL, KC_LGUI, KC_LALT, LWR,   SPC_LW, SPC_LW,       ENT_RS, ENT_RS,    FNC,       MSE,     KC_APP,  KC_RCTL \
->   ),
-
-##Layers
+The TERMINUS_MINI layout (../../../terminus\_mini/terminus\_mini.h) is handwired and the 2U keys are handled using KC\_NO to detail that two columns do not have a 4th column.
+```
+.----------------------------------------.     .-----------------------------------------. 
+| Tab |   Q  |   W  |   F  |   P  |   G  |     |   J  |   L  |   U  |   Y  |   ;  |  Del | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| BS  |   A  |   R  |   S  |   T  |   D  |     |   H  |   N  |   E  |   I  |   O  |  '   | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| LSPO|   Z  |   X  |   C  |   V  |   B  |     |   K  |   M  |   ,  |  \.  |   /  | RSPC | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| Ctrl| LGUI | LAlt | Lower| Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | 
+'----------------------------------------'     '-----------------------------------------' 
+```
+       
 
 ### Base Layer - Colemak
-       * The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 
-                       * QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap.
-                       * I've implemented COLEMAK = SAFE_RANGE when enumerating the custom_keycodes, but I don't actually know what this does...
+The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 
 
-       * Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
-       * I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
+* QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap.
+* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
+* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
+* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
 
 
-       #### Layer Shifting
-               * The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 
-               * The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
-               * The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
-               * The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
-               * The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
+#### Layer Shifting
+* The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 
+* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
+* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
+* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
+* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
 
 ### LOWER - Numpad & Navigation keys
-
- ,-----------------------------------------.    .-----------------------------------------. \
- |  Tab | PgUp | Home |  Up  |  End |      |    |   7  |   8  |   9  |  \+  |      | Del  | \
- |------+------+------+------+------+------|    |------+------+------+------+------+------| \
- |  BS  | PgDn | Left | Down |Right |      |    |   4  |   5  |   6  | Enter|      |   '  | \
- |------+------+------+------+------+------|    |------+------+------+------+------+------| \
- | LSPO |   Z  |   X  |   C  |   V  |      |    |   1  |   2  |   3  | Enter|      | RSPC | \
- |------+------+------+------+-------------|    |-------------+------+------+------+------| \
- | Ctrl | LGUI | Alt  | LOWER| Space/Lower |    |      0      |  \.  |  Fn  | Menu | Ctrl | \
- '-----------------------------------------'    '-----------------------------------------' \
-
-       * The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
+```
+,-----------------------------------------.    .-----------------------------------------.
+|  Tab | PgUp | Home |  Up  |  End |      |    |   7  |   8  |   9  |  \+  |      | Del  |
+|------+------+------+------+------+------|    |------+------+------+------+------+------|
+|  BS  | PgDn | Left | Down |Right |      |    |   4  |   5  |   6  | Enter|      |   '  |
+|------+------+------+------+------+------|    |------+------+------+------+------+------|
+| LSPO |   Z  |   X  |   C  |   V  |      |    |   1  |   2  |   3  | Enter|      | RSPC |
+|------+------+------+------+-------------|    |-------------+------+------+------+------|
+| Ctrl | LGUI | Alt  | LOWER| Space/Lower |    |      0      |  \.  |  Fn  | Menu | Ctrl |
+'-----------------------------------------'    '-----------------------------------------'
+```
+The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
        
-       * The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
+* The Navigation cluster is offset to the right compared to the traditional WASD nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
 
+* All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC\_NO), all modifiers (edge |\_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (\_\_\_\_\_\_\_) to the Base layer.
 
-       * All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.
+[] TO DO!! - It would be nice to have a **TAP\_DANCE\_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
 
-       - [] TO DO!! - It would be nice to have a **TAP_DANCE_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
-               * Couldn't get this to work in Rev1, produced an error in the Make process.
-               * When this is done, I can remove the clunky double Enter on the 4th column of the right hand PCB.
+* Couldn't get this to work in Rev1, produced an error in the Make process.
+* When this is done, I can remove the clunky double Enter on the 4th column of the right hand PCB.
 
 ### RAISE - Symbol Layer
-
- > ,-----------------------------------------.     .-----------------------------------------. \
- > |  Esc |      |      |      |      |      |     |      |      |      |      |      |  Del | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > |  BS  |  \!  |   @  |  \#  |   $  |   %  |     |   ^  |   &  |  \*  |  \-  |  \+  |   '  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | LSBO |      |      |  \{  |  \[  |  \`  |     |   |  |  \]  |  \}  |  \.  |   ?  | RSBC | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | \
- > '-----------------------------------------'     '-----------------------------------------' \
-
-       * The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
-                       * Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
-                       * Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
-                                       * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 
-                       * The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, *RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it.
-                       * The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with **XXXXXXX**.
+```
+,-----------------------------------.     .-----------------------------------.
+| Tab |     |     |     |     |     |     |     |     |     |     |     |  \  |
+|-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----|
+| BS  |  !  |  @  |  #  |  $  |  %  |     |  ^  |  &  |  *  |  -  |  +  |  '  |
+|-----+-----+-----+-----+-----------|     |-----+-----+-----+-----+-----+-----|
+| LSPO|     |     |  {  |  [  |  `  |     |  |  |  ]  |  }  |  .  |  ?  |RSPC |
+|-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----|
+| Ctrl|LGUI |     |Lower|Space/Lower|     |Enter/Raise|  Fn |Mouse| Menu| Ctrl|
+'-----------------------------------'     '-----------------------------------'
+```
+The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
+
+* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
+* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
+       * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 
+* The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, * RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it.
+* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with XXXXXXX.
 
 ### FUNCTION - Function & Media keys
-
- > ,-----------------------------------------.     .-----------------------------------------. \
- > | Esc  | Mute | Vol- | Vol+ |      | RESET|     | POWER|      |      |      |      | Ins  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Caps | Stop | |<<  | >/|| |  >>| |      |     |      |      |      |      |      |PrtSc | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | LSOB |      |      |      |      |      |     |      |      |      |      |      |ScrLk | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse|      |PsBrk | \
- > '-----------------------------------------'     '-----------------------------------------' \
-
-       * The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
-                       * The media cluster is based on the nav cluster in the *LOWER* layer, with RW, PP & FF in the Left, Down & Right positions.
-                       * Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
-                       * Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column.
-                                       I don't really use these keys so their position is not optimised.
-                       * Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
-                       * The RESET key will reset the Teensy for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
+```
+,-----------------------------------------.     .-----------------------------------------.
+| Esc  | Mute | Vol- | Vol+ |      | RESET|     | POWER|      |      |      |      | Ins  |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| Caps | Stop | |<<  | >/|| |  >>| |      |     |      |      |      |      |      |PrtSc |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| LSOB |      |      |      |      |      |     |      |      |      |      |      |ScrLk |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse|      |PsBrk |
+'-----------------------------------------'     '-----------------------------------------'
+```
+The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
+
+* The media cluster is based on the nav cluster in the *LOWER* layer, with RW, PP & FF in the Left, Down & Right positions.
+* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
+* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised.
+* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
+* The RESET key will reset the Teensy for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
 
 ### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch.
- > ,----------------------------------------.     .----------------------------------------.
- > |  Tab | WhlU | WhlL | MsUp | WhlR |     |     |     |  M3  |  M4  |  M5  |      |      | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > |      | WhlD | MsL  | MsDn | MsR  |     |     |     |LClick|RClick|      |      |      | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > | LSPO |      |      |      |      |     |     |     |      |      |      |      | RSCB | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > | Ctrl |      |      |      |Sensitivity |     | Sensitivity|      |MOUSE |      | Ctrl | \
- > '----------------------------------------'     '----------------------------------------' \
-
-       * The *MOUSE* layer contains keys replicating functions found on the mouse. 
-               * The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are nalagous to the Page Up & Down keys.
-               *) The primary click (right & left) buttons are on the right home row (index & middle fingers)
-               * Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
\ No newline at end of file
+```
+,----------------------------------------.     .----------------------------------------.
+|  Tab | WhlU | WhlL | MsUp | WhlR |     |     |     |  M3  |  M4  |  M5  |      |      |
+|------+------+------+------+------+-----|     |-----+------+------+------+------+------|
+|      | WhlD | MsL  | MsDn | MsR  |     |     |     |LClick|RClick|      |      |      |
+|------+------+------+------+------+-----|     |-----+------+------+------+------+------|
+| LSPO |      |      |      |      |     |     |     |      |      |      |      | RSCB |
+|------+------+------+------+------+-----|     |-----+------+------+------+------+------|
+| Ctrl |      |      |      |Sensitivity |     | Sensitivity|      |MOUSE |      | Ctrl |
+'----------------------------------------'     '----------------------------------------'
+```
+The *MOUSE* layer contains keys replicating functions found on the mouse. 
+
+* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are nalagous to the Page Up & Down 
+keys.
+*) The primary click (right & left) buttons are on the right home row (index & middle fingers)
+* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
index 6de6a1427d8370658541f3ec271afc6e493ff5f1..5b9732dbd6137f6459a1ff5936ce4ef7d22e2aa6 100644 (file)
 Copyright 2017 James Morgan <ja.morgan1@outlook.com>
 
-#MogranJM's nyquist layout
+#MogranJM's Nyquist layout
 
-       ***NOTE*** - As yet, this keymap has not been tested, I'm waiting on delivery of a plate and base before I assemble the keyboard. Though, the hex file does compile successfully...
-
-This keymap is based on my Terminus_Mini (../../../terminus_mini/default) layout (credit for the names of these layouts goes to UniKeyboard & reddit's /u/blahlicus)
+This keymap is based on my Terminus_Mini (../../../terminus\_mini/default) layout (credit for the names of these layouts goes to UniKeyboard & reddit's /u/blahlicus)
 
 The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. This implementation of the layout converts it to a split 5x12 (two halves, each 5x6) keyboard with a 2U thumb key on the inner bottom corner of each half. 
 
-The TERMINUS_MINI layout (../../../terminus_mini/terminus_mini.h) is handwired and the 2U keys are handled using KC_NO to detail that two columns do not have a 4th column. This layout is based on a PCB, so the keymap represents the 2U keys as duplicates of the same 1U key.
-
->  .----------------------------------------.     .-----------------------------------------. \
->  | Esc |   1  |   2  |   3  |   4  |   5  |     |   6  |   7  |   8  |   9  |   0  | Del  | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | Tab |   Q  |   W  |   F  |   P  |   G  |     |   J  |   L  |   U  |   Y  |   ;  |  \\  | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | BS  |   A  |   R  |   S  |   T  |   D  |     |   H  |   N  |   E  |   I  |   O  |  '   | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | LSPO|   Z  |   X  |   C  |   V  |   B  |     |   K  |   M  |   ,  |  \.  |   /  | RSPC | \
->  |-----+------+------+------+------+------|     |------+------+------+------+------+------| \
->  | Ctrl| LGUI | LAlt | Lower| Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | \
->  '----------------------------------------'     '-----------------------------------------' \
-\
-> [_COLEMAK] = KEYMAP( \
->   KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,   KC_5,         KC_6,   KC_7,    KC_8,      KC_9,    KC_0,    KC_DEL, \
->   KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,   KC_G,         KC_J,   KC_L,    KC_U,      KC_Y,    KC_SCLN, KC_BSLS , \
->   KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,   KC_D,         KC_H,   KC_N,    KC_E,      KC_I,    KC_O,    KC_QUOT, \
->   KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,         KC_K,   KC_M,    KC_COMM,   KC_DOT,  KC_SLSH, KC_RSPC, \
->   KC_LCTL, KC_LGUI, KC_LALT, LWR,   SPC_LW, SPC_LW,       ENT_RS, ENT_RS,    FNC,       MSE,     KC_APP,  KC_RCTL \
->   ),
-
-##Layers
+The TERMINUS\_MINI layout (../../../terminus_mini/terminus_mini.h) is handwired and the 2U keys are handled using KC_NO to detail that two columns do not have a 4th column. This layout is based on a PCB, so the keymap represents the 2U keys as duplicates of the same 1U key.
+
+```
+.----------------------------------------.     .-----------------------------------------. 
+| Esc |   1  |   2  |   3  |   4  |   5  |     |   6  |   7  |   8  |   9  |   0  | Del  | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| Tab |   Q  |   W  |   F  |   P  |   G  |     |   J  |   L  |   U  |   Y  |   ;  |  \\  | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| BS  |   A  |   R  |   S  |   T  |   D  |     |   H  |   N  |   E  |   I  |   O  |  '   | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| LSPO|   Z  |   X  |   C  |   V  |   B  |     |   K  |   M  |   ,  |  \.  |   /  | RSPC | 
+|-----+------+------+------+------+------|     |------+------+------+------+------+------| 
+| Ctrl| LGUI | LAlt | Lower| Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | 
+'----------------------------------------'     '-----------------------------------------' 
+```
 
 ### Base Layer - Colemak
-       * The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 
-                       * QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap.
-                       * I've implemented COLEMAK = SAFE_RANGE when enumerating the custom_keycodes, but I don't actually know what this does...
-
-       * Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
-       * I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
-
-
-       #### Layer Shifting
-               * The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 
-               * The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
-               * The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
-               * The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
-               * The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
+The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 
 
-### LOWER - Numpad & Navigation keys
+* QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap.
+* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
 
- ,-----------------------------------------.    .-----------------------------------------. \
- |  Esc |      |      |      |      |      |    |   =  |   /  |   \* |  \-  |      | Del  | \
- |------+------+------+------+------+------|    |------+------+------+------+------+------| \
- |  Tab | PgUp | Home |  Up  |  End |      |    |   7  |   8  |   9  |  \+  |      |  \\  | \
- |------+------+------+------+------+------|    |------+------+------+------+------+------| \
- |  BS  | PgDn | Left | Down |Right |      |    |   4  |   5  |   6  | Enter|      |   '  | \
- |------+------+------+------+------+------|    |------+------+------+------+------+------| \
- | LSPO |   Z  |   X  |   C  |   V  |      |    |   1  |   2  |   3  | Enter|      | RSPC | \
- |------+------+------+------+-------------|    |-------------+------+------+------+------| \
- | Ctrl | LGUI | Alt  | LOWER| Space/Lower |    |      0      |  \.  |  Fn  | Menu | Ctrl | \
- `-----------------------------------------'    `-----------------------------------------' \
+* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
+* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
 
-       * The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
-       
-       * The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
 
-       * All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.
+#### Layer Shifting
+* The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 
+* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
+* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
+* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
+* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
 
-       - [] TO DO!! - It would be nice to have a **TAP_DANCE_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
-               * Couldn't get this to work in Rev1, produced an error in the Make process.
-               * When this is done, I can remove the clunky double Enter on the 4th column of the right hand PCB.
+### LOWER - Numpad & Navigation keys
+```
+ ,-----------------------------------------.    .-----------------------------------------. 
+ |  Esc |      |      |      |      |      |    |   =  |   /  |   \* |  \-  |      | Del  | 
+ |------+------+------+------+------+------|    |------+------+------+------+------+------| 
+ |  Tab | PgUp | Home |  Up  |  End |      |    |   7  |   8  |   9  |  \+  |      |  \\  | 
+ |------+------+------+------+------+------|    |------+------+------+------+------+------| 
+ |  BS  | PgDn | Left | Down |Right |      |    |   4  |   5  |   6  | Enter|      |   '  | 
+ |------+------+------+------+------+------|    |------+------+------+------+------+------| 
+ | LSPO |   Z  |   X  |   C  |   V  |      |    |   1  |   2  |   3  | Enter|      | RSPC | 
+ |------+------+------+------+-------------|    |-------------+------+------+------+------| 
+ | Ctrl | LGUI | Alt  | LOWER| Space/Lower |    |      0      |  \.  |  Fn  | Menu | Ctrl | 
+ `-----------------------------------------'    `-----------------------------------------' 
+```
+The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
+
+The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
+
+All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.
+
+[] TO DO!! - It would be nice to have a **TAP_DANCE_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
+* Couldn't get this to work in Rev1, produced an error in the Make process.
+* When this is done, I can remove the clunky double Enter on the 4th column of the right hand PCB (numpad enter).
 
 ### RAISE - Symbol Layer
-
- > ,-----------------------------------------.     .-----------------------------------------. \
- > |  Esc |   1  |   2  |   3  |   4  |   5  |     |   6  |   7  |   8  |   9  |   0  | Del  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > |  Tab |      |      |      |      |      |     |      |      |      |      |      |  \\  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > |  BS  |  \!  |   @  |  \#  |   $  |   %  |     |   ^  |   &  |  \*  |  \-  |  \+  |   '  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | LSBO |      |      |  \{  |  \[  |  \`  |     |   |  |  \]  |  \}  |  \.  |   ?  | RSBC | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl | \
- > '-----------------------------------------'     '-----------------------------------------' \
-
-       * The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
-                       * Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
-                       * Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
-                                       * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 
-                       * The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, *RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it.
-                       * The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with **XXXXXXX**.
+```
+ ,-----------------------------------.     .-----------------------------------.
+ | Esc |  1  |  2  |  3  |  4  |  5  |     |  6  |  7  |  8  |  9  |  0  | Del |
+ |-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----|
+ | Tab |     |     |     |     |     |     |     |     |     |     |     |  \  |
+ |-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----|
+ | BS  |  !  |  @  |  #  |  $  |  %  |     |  ^  |  &  |  *  |  -  |  +  |  '  |
+ |-----+-----+-----+-----+-----------|     |-----+-----+-----+-----+-----+-----|
+ | LSPO|     |     |  {  |  [  |  `  |     |  |  |  ]  |  }  |  .  |  ?  |RSPC |
+ |-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----|
+ | Ctrl|LGUI | Alt |     |Space/Lower|     |Enter/Raise|  Fn |Mouse| Menu| Ctrl|
+ '-----------------------------------'     '-----------------------------------'
+```
+The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
+
+* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
+* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
+       * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 
+* The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, *RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it.
+* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with **XXXXXXX**.
 
 ### FUNCTION - Function & Media keys
-
- > ,-----------------------------------------.     .-----------------------------------------. \
- > |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |     |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Esc  | Mute | Vol- | Vol+ |      | RESET|     | POWER|      |      |      |      | Ins  | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Caps | Stop | |<<  | >/|| |  >>| |      |     |      |      |      |      |      |PrtSc | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | LSOB |      |      |      |      |      |     |      |      |      |      |      |ScrLk | \
- > |------+------+------+------+------+------|     |------+------+------+------+------+------| \
- > | Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse|      |PsBrk | \
- > '-----------------------------------------'     '-----------------------------------------' \
-
-       * The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
-                       * The media cluster is based on the nav cluster in the *LOWER* layer, with RW, PP & FF in the Left, Down & Right positions.
-                       * Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
-                       * Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column.
-                                       I don't really use these keys so their position is not optimised.
-                       * Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
-                       * The RESET key will reset the board for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
+```
+,-----------------------------------------.     .-----------------------------------------.
+|  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |     |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| Esc  | Mute | Vol- | Vol+ |      | RESET|     | POWER|      |      |      |      | Ins  |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| Caps | Stop | |<<  | >/|| |  >>| |      |     |      |      |      |      |      |PrtSc |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| LSOB |      |      |      |      |      |     |      |      |      |      |      |ScrLk |
+|------+------+------+------+------+------|     |------+------+------+------+------+------|
+| Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse|      |PsBrk |
+'-----------------------------------------'     '-----------------------------------------'
+```
+The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
+
+* The media cluster is based on the nav cluster in the *LOWER* layer, with RW, PP & FF in the Left, Down & Right positions.
+* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
+* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised.
+* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
+* The RESET key will reset the board for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
 
 ### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch.
- > ,----------------------------------------.     .----------------------------------------. \
- > |  Esc |      |      |      |      |     |     |     |      |      |      |      |  Del | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > |  Tab | WhlU | WhlL | MsUp | WhlR |     |     |     |  M3  |  M4  |  M5  |      |      | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > |      | WhlD | MsL  | MsDn | MsR  |     |     |     |LClick|RClick|      |      |      | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > | LSPO |      |      |      |      |     |     |     |      |      |      |      | RSCB | \
- > |------+------+------+------+------+-----|     |-----+------+------+------+------+------| \
- > | Ctrl |      |      |      |Sensitivity |     | Sensitivity|      |MOUSE |      | Ctrl | \
- > '----------------------------------------'     '----------------------------------------' \
-
-       * The *MOUSE* layer contains keys replicating functions found on the mouse. 
-               * The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & Down keys.
-
-               *) The primary click (right & left) buttons are on the right home row (index & middle fingers)
-
-               * Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
\ No newline at end of file
+```
+ ,----------------------------------------.     .----------------------------------------. 
+ |  Esc |      |      |      |      |     |     |     |      |      |      |      |  Del | 
+ |------+------+------+------+------+-----|     |-----+------+------+------+------+------| 
+ |  Tab | WhlU | WhlL | MsUp | WhlR |     |     |     |  M3  |  M4  |  M5  |      |      | 
+ |------+------+------+------+------+-----|     |-----+------+------+------+------+------| 
+ |      | WhlD | MsL  | MsDn | MsR  |     |     |     |LClick|RClick|      |      |      | 
+ |------+------+------+------+------+-----|     |-----+------+------+------+------+------| 
+ | LSPO |      |      |      |      |     |     |     |      |      |      |      | RSCB | 
+ |------+------+------+------+------+-----|     |-----+------+------+------+------+------| 
+ | Ctrl |      |      |      |Sensitivity |     | Sensitivity|      |MOUSE |      | Ctrl | 
+ '----------------------------------------'     '----------------------------------------'
+ ```
+The *MOUSE* layer contains keys replicating functions found on the mouse. 
+
+* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & down keys.
+* The primary click (right & left) buttons are on the right home row (index & middle fingers)
+* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
\ No newline at end of file
index 03f5b2de7605b13cbeb1e9496449568e5c975f3b..b77c6111c4bffefd2f238bda1e2e3233d2bc1652 100644 (file)
@@ -15,6 +15,9 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+
+#define TAPPING_TERM 150 //reduce time required to register a held key
+
 #define USE_SERIAL
 
 #define MASTER_LEFT
index 4bfff0d6c708223555ca6cf5f7df6762fa03c5c8..e77f1b99153ac2780adf8d854b3a2431ade13a02 100644 (file)
@@ -68,15 +68,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |-----+------+------+------+------+------|     |------+------+------+------+------+------|
  * | LSPO|   Z  |   X  |   C  |   V  |   B  |     |   K  |   M  |   ,  |   .  |   /  | RSPC |
  * |-----+------+------+------+------+------|     |------+------+------+------+------+------|
- * | Ctrl| LGUI | LAlt | Lower| Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl |
+ * | Ctrl| LGUI | Lower| LAlt | Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl |
  * `----------------------------------------'     `-----------------------------------------'
  */
 [_COLEMAK] = KEYMAP( \
-  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,   KC_5,    KC_6,   KC_7,    KC_8,      KC_9,    KC_0,    KC_DEL, \
-  KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,   KC_G,    KC_J,   KC_L,    KC_U,      KC_Y,    KC_SCLN, KC_BSLS , \
-  KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,   KC_D,    KC_H,   KC_N,    KC_E,      KC_I,    KC_O,    KC_QUOT, \
-  KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,    KC_K,   KC_M,    KC_COMM,   KC_DOT,  KC_SLSH, KC_RSPC, \
-  KC_LCTL, KC_LGUI, KC_LALT, LWR,   SPC_LW, SPC_LW,  ENT_RS, ENT_RS,    FNC,       MSE,     KC_APP,  KC_RCTL \
+  KC_ESC,  KC_1,    KC_2,   KC_3,    KC_4,   KC_5,    KC_6,   KC_7,    KC_8,      KC_9,    KC_0,    KC_DEL,  \
+  KC_TAB,  KC_Q,    KC_W,   KC_F,    KC_P,   KC_G,    KC_J,   KC_L,    KC_U,      KC_Y,    KC_SCLN, KC_BSLS, \
+  KC_BSPC, KC_A,    KC_R,   KC_S,    KC_T,   KC_D,    KC_H,   KC_N,    KC_E,      KC_I,    KC_O,    KC_QUOT, \
+  KC_LSPO, KC_Z,    KC_X,   KC_C,    KC_V,   KC_B,    KC_K,   KC_M,    KC_COMM,   KC_DOT,  KC_SLSH, KC_RSPC, \
+  KC_LCTL, KC_LGUI, LWR,    KC_LALT, SPC_LW, SPC_LW,  ENT_RS, ENT_RS,  FNC,       MSE,     KC_APP,  KC_RCTL  \
   ),
 
 
@@ -90,37 +90,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+------|    |------+------+------+------+------+------|
  * | LSPO |   Z  |   X  |   C  |   V  |      |    |   1  |   2  |   3  | Enter|      | RSPC |
  * |------+------+------+------+------+------|    |------+------+------+------+------+------|
- * | Ctrl | LGUI | Alt  | Lower| Space/Lower |    |      0      |   .  |  Fn  | Menu | Ctrl |
+ * | Ctrl | LGUI | Lower| LAlt | Space/Lower |    |      0      |   .  |  Fn  | Menu | Ctrl |
  * `-----------------------------------------'    `-----------------------------------------'
  */
 [_LOWER] = KEYMAP( \
-  _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,  KC_PEQL, KC_PSLS, KC_PAST, KC_MINS,  XXXXXXX, KC_DEL, \
-  _______,  KC_PGUP,  KC_HOME,  KC_UP,    KC_END,  XXXXXXX,  KC_7,    KC_8,    KC_9,    KC_PPLS,  XXXXXXX, _______, \
-  _______, KC_PGDN,  KC_LEFT,  KC_DOWN,  KC_RGHT, XXXXXXX,  KC_4,    KC_5,    KC_6,    KC_PENT,  XXXXXXX, _______, \
-  _______, _______,  _______,  _______,  _______, XXXXXXX,  KC_1,    KC_2,    KC_3,    KC_PENT,  XXXXXXX, _______, \
+  _______, XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,  KC_PEQL, KC_PSLS, KC_PAST, KC_MINS,  XXXXXXX, _______, \
+  _______, KC_PGUP,  KC_HOME,  KC_UP,    KC_END,  XXXXXXX,  KC_7,    KC_8,    KC_9,    KC_PPLS,  XXXXXXX, _______,\
+  _______, KC_PGDN,  KC_LEFT,  KC_DOWN,  KC_RGHT, XXXXXXX,  KC_4,    KC_5,    KC_6,    KC_PENT,  XXXXXXX, _______,\
+  _______, _______,  _______,  _______,  _______, XXXXXXX,  KC_1,    KC_2,    KC_3,    KC_PENT,  XXXXXXX, _______,\
   _______, _______,  _______,  _______,  _______, _______,  KC_0,    KC_0,    KC_DOT,  FNC,      _______, _______ \
 ),
 
-
 /* Raise
  * ,-----------------------------------------.     .-----------------------------------------.
  * |  Esc |   1  |   2  |   3  |   4  |   5  |     |   6  |   7  |   8  |   9  |   0  | Del  |
  * |------+------+------+------+------+------|     |------+------+------+------+------+------|
- * |  Tab |      |      |      |      |      |     |      |      |      |      |      |   \  |
+ * |  Tab |   !  |   @  |   #  |   $  |   %  |     |   ^  |   &  |   *  |   -  |   +  |   \  |
  * |------+------+------+------+------+------|     |------+------+------+------+------+------|
- * |  BS  |   !  |   @  |   #  |   $  |   %  |     |   ^  |   &  |   *  |   -  |   +  |   "  |
+ * |  BS  |      |      |      |      |      |     |      |      |      |      |      |   "  |
  * |------+------+------+------+------+------|     |------+------+------+------+------+------|
  * | LSBO |      |      |   {  |   [  |   `  |     |   |  |   ]  |   }  |   .  |   ?  | RSBC |
  * |------+------+------+------+------+------|     |------+------+------+------+------+------|
- * | Ctrl | LGUI | Alt  |      | Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl |
+ * | Ctrl | LGUI |      | LAlt | Space/Lower |     | Enter/Raise |  Fn  | Mouse| Menu | Ctrl |
  * `-----------------------------------------'     `-----------------------------------------' 
 */
 [_RAISE] = KEYMAP( \
   _______,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,     KC_7,    KC_8,    KC_9,    KC_0,    _______, \
-  _______,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, \
   _______,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC,  KC_AMPR, KC_ASTR, KC_MINS, KC_EQL,  _______, \
+  _______,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, \
   _______,  XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC, KC_GRV,  KC_PIPE,  KC_RBRC, KC_RCBR, KC_DOT,  KC_SLSH, _______, \
-  _______,  _______, _______, XXXXXXX, _______, _______, ENT_RS,   ENT_RS,  FNC,     MSE,     _______, _______ \
+  _______,  _______, XXXXXXX, _______, _______, _______, ENT_RS,   ENT_RS,  FNC,     MSE,     _______, _______ \
   ),