]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Tap for Tab, hold for Hyper
authorJeeBak Kim <jeebak.kim@gmail.com>
Sun, 7 Aug 2016 18:05:10 +0000 (11:05 -0700)
committerJeeBak Kim <jeebak.kim@gmail.com>
Sun, 7 Aug 2016 18:05:10 +0000 (11:05 -0700)
keyboards/planck/keymaps/jeebak/keymap.c
keyboards/planck/keymaps/jeebak/readme.md

index 7dc8760ec4bb8c1f6e031e744c22206448705506..8541ecd8d53512ec406503b51673070246f6b2bb 100644 (file)
@@ -61,6 +61,7 @@ enum macro_keycodes {
 // Custom macros
 #define CTL_ESC     CTL_T(KC_ESC)               // Tap for Esc, hold for Ctrl
 #define SFT_ENT     SFT_T(KC_ENT)               // Tap for Enter, hold for Shift
+#define HPR_TAB     ALL_T(KC_TAB)               // Tap for Tab, hold for Hyper
 // Requires KC_TRNS/_______ for the trigger key in the destination layer
 #define LT_TC       LT(_TOUCHCURSOR, KC_SPC)    // L-ayer T-ap T-ouch C-ursor
 #define LT_MC(kc)   LT(_MOUSECURSOR, kc)        // L-ayer T-ap M-ouse C-ursor
@@ -84,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Qwerty
  * ,-----------------------------------------------------------------------------------------.
- * | Tab      |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |  Bksp  |
+ * | Hyper/Tab|   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |  Bksp  |
  * |----------+------+------+------+------+-------------+------+------+------+------+--------|
  * | Ctrl/Esc |   A  |   S  | MC/D |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |   "    |
  * |----------+------+------+------+------+------|------+------+------+------+------+--------|
@@ -94,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------------'
  */
 [_QWERTY] = {
-  {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+  {HPR_TAB, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
   {CTL_ESC, KC_A,    KC_S, LT_MC(KC_D),KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
   {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SFT_ENT},
   {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER,   LT_TC,   LT_TC,   RAISE,   KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
@@ -102,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Colemak
  * ,-----------------------------------------------------------------------------------------.
- * | Tab      |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  |  Bksp  |
+ * | Hyper/Tab|   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  |  Bksp  |
  * |----------+------+------+------+------+-------------+------+------+------+------+--------|
  * | Ctrl/Esc |   A  |   R  | MC/S |   T  |   D  |   H  |   N  |   E  |   I  |   O  |   "    |
  * |----------+------+------+------+------+------|------+------+------+------+------+--------|
@@ -112,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------------'
  */
 [_COLEMAK] = {
-  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+  {HPR_TAB, KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
   {CTL_ESC, KC_A,    KC_R, LT_MC(KC_S),KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
   {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SFT_ENT},
   {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER,   LT_TC,   LT_TC,   RAISE,   KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
@@ -120,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /* Dvorak
  * ,-----------------------------------------------------------------------------------------.
- * | Tab      |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  |  Bksp  |
+ * | Hyper/Tab|   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  |  Bksp  |
  * |----------+------+------+------+------+-------------+------+------+------+------+--------|
  * | Ctrl/Esc |   A  |   O  | MC/E |   U  |   I  |   D  |   H  |   T  |   N  |   S  |   /    |
  * |----------+------+------+------+------+------|------+------+------+------+------+--------|
@@ -130,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------------'
  */
 [_DVORAK] = {
-  {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
+  {HPR_TAB, KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
   {CTL_ESC, KC_A,    KC_O, LT_MC(KC_E),KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
   {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    SFT_ENT},
   {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER,   LT_TC,   LT_TC,   RAISE,   KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
index b43f8a2fba1ea8b8bab6529e43064de409f70469..863567904721b374753019d0c7e1e186240f4db0 100644 (file)
@@ -16,32 +16,36 @@ I also decided to change all calls to `persistant_default_layer_set()` to
 
 ## 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`, mapped using `CTL_T(KC_ESC)` will emit
-an `Escape` when tapped, and act as a `Control` key when held. A `TODO` item is
-to see if it can also act as a `CapsLock` when double-tapped. The right shift
-key acts as `Enter` when tapped, and as a `Shift` key when held. The arrow
-keys, which have been moved to the
+changes are shown below.
+
+- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held.
+- The `Sft/Ent` as `Enter` and `Shift`, and
+- The `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 `ML/A` key activates the Mouse layer
-when held, and emits an `A` when tapped.
+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 | ML/A |      |      |      |      |      |      |      |      |      |        |
+  | Ctrl/Esc |      |      |MC/kc |      |      |      |      |      |      |      |        |
   |----------+------+------+------+------+------|------+------+------+------+------+--------|
   |          |      |      |      |      |      |      |      |      |      |      |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 |
   |------+------+------+------+------+-------------+------+------+------+------+------|
@@ -51,13 +55,13 @@ base layers. The `BACKLIT` key has also been moved here.
   |------+------+------+------+------+------+------+------+------+------+------+------|
   |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 |
   |------+------+------+------+------+-------------+------+------+------+------+------|
@@ -67,8 +71,8 @@ keys at the far left are for quick access to beginning and end of line in vim.
   |------+------+------+------+------+------+------+------+------+------+------+------|
   |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
@@ -88,7 +92,7 @@ etc.) depending on which layout you've currently selected (`AG_NORM` or
 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 |      |
   |------+------+------+------+------+-------------+------+------+------+------+------|
@@ -98,7 +102,7 @@ Google Chrome.
   |------+------+------+------+------+------+------+------+------+------+------+------|
   |      |      |      |      |      |             |      |      |      |      |      |
   `-----------------------------------------------------------------------------------'
-``` 
+```
 
 ## Mouse Layer
 The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer.
@@ -108,7 +112,7 @@ 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 |      |
   |------+------+------+------+------+-------------+------+------+------+------+------|
@@ -118,4 +122,4 @@ the right hand to be free to use the up/down/left/right actions.
   |------+------+------+------+------+------+------+------+------+------+------+------|
   |      |      |      |      |      |             |      |      |      |      |      |
   `-----------------------------------------------------------------------------------'
-``` 
+```