From 6bf2c077151bf6e71f5fe44f730c127eb667f5a6 Mon Sep 17 00:00:00 2001
From: Olivier Poitrey <rs@rhapsodyk.net>
Date: Sat, 15 Sep 2018 10:50:38 -0700
Subject: Keymap: dz60/macos_arrow: rev3 (#3909)

* Arrow keys are now arranged on hjkl (vi style)
* The escape key is moved on capslock, shared with func layer switch
* The grave key is now dedicated (not shared with escape)
* Add a new numpad layer that can be activated with the spacebar
* Fix layout mismatch between layers
* Use bult-in underscore KC_TRNS alias
---
 keyboards/dz60/keymaps/macos_arrow/keymap.c  | 77 +++++++++++++++++-----------
 keyboards/dz60/keymaps/macos_arrow/readme.md | 39 ++++++++++----
 2 files changed, 76 insertions(+), 40 deletions(-)

(limited to 'keyboards/dz60/keymaps')

diff --git a/keyboards/dz60/keymaps/macos_arrow/keymap.c b/keyboards/dz60/keymaps/macos_arrow/keymap.c
index f4b03ddc95..9a3120afd3 100644
--- a/keyboards/dz60/keymaps/macos_arrow/keymap.c
+++ b/keyboards/dz60/keymaps/macos_arrow/keymap.c
@@ -1,9 +1,9 @@
 #include QMK_KEYBOARD_H
 
-#define ______ KC_TRNS
-#define _BL 0
-#define _FL 1
-#define _ML 2
+#define _BL 0 // Base layer
+#define _FL 1 // Function layer
+#define _ML 2 // Media layer
+#define _NL 2 // Numpad layer
 
 enum my_keycodes {
   BR_UP = SAFE_RANGE,
@@ -12,45 +12,45 @@ enum my_keycodes {
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* ,-----------------------------------------------------------------------------------------.
-   * | Esc | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   | 0   | -   | =   | Backspace |
+   * |  `  | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   | 0   | -   | =   | Backspace |
    * |-----------------------------------------------------------------------------------------+
    * | Tab    | Q   | W   | E   | R   | T   | Y   | U   | I   | O   | P   | [   | ]   |   \    |
    * |-----------------------------------------------------------------------------------------+
-   * | _FL      | A   | S   | D   | F   | G   | H   | J   | K   | L   | ;   | '   | Enter      |
+   * | Esc/_FL  | A   | S   | D   | F   | G   | H   | J   | K   | L   | ;   | '   | Enter      |
    * |-----------------------------------------------------------------------------------------+
-   * | Shift     | Z   | X   | C   | V   | B   | N   | M   | ,   | .   | /   | _ML | Up  |Shift|
+   * | Shift     | Z   | X   | C   | V   | B   | N   | M   | ,   | .   | /   |     | Up  |Shift|
    * |-----------------------------------------------------------------------------------------+
-   * | Ctrl | Alt  | Gui  |                Space               |Gui/_ML| Alt | Left| Down|Right|
+   * | Ctrl | Alt  | Gui  |             Space / _NL            |Gui/_ML| Alt | Left| Down|Right|
    * `-----------------------------------------------------------------------------------------'
    */
   [_BL] = LAYOUT_2_shifts(
-    KC_GESC, 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_NO, KC_BSPC,
+    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_NO, KC_BSPC,
     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,
-    MO(_FL), 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_ML), KC_UP, KC_RSFT,
-    KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
+    LT(_FL, KC_ESC), 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_A, KC_UP, KC_RSFT,
+    KC_LCTL, KC_LALT, KC_LGUI, KC_NO, LT(_NL, KC_SPC), KC_NO, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
 
   /* ,-----------------------------------------------------------------------------------------.
-   * |  `  | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 |    Del    |
+   * |     | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 |    Del    |
    * |-----------------------------------------------------------------------------------------+
-   * |        |     |     |     |     |     |     |     | UP  |     |     |     |     |        |
+   * |        |     |     |     |     |     |     |PgUp |     |     |     |     |     |        |
    * |-----------------------------------------------------------------------------------------+
-   * |          |     |     |     |     |     |     | Left| Down|Right|     |     |            |
+   * |          |     |     |     |     |     | Left| Down|  Up |Right|     |     |            |
    * |-----------------------------------------------------------------------------------------+
-   * |           |     |     |     |     |     |     |     |     |     |     |     |     |     |
+   * |           |     |     |     |     |     |     |PgDwn|     |     |     |     |     |     |
    * |-----------------------------------------------------------------------------------------+
    * |      |      |      |                                      |     |     |     |     |     |
    * `-----------------------------------------------------------------------------------------'
    */
-  [_FL] = LAYOUT(
-    KC_GRV, 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_DEL,
-    ______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RIGHT, ______, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
+  [_FL] = LAYOUT_2_shifts(
+    _______, 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_NO, KC_DEL,
+    _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
+    _______, KC_NO,  _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
 
   /* ,-----------------------------------------------------------------------------------------.
-   * |Eject| BR- | BR+ | F3  | F4  |     |     |PREV |PLAY |NEXT |MUTE | V- | V+ |             |
+   * |Eject| BR- | BR+ |     |     |     |     |PREV |PLAY |NEXT |MUTE | V- | V+ |             |
    * |-----------------------------------------------------------------------------------------+
    * |        |     |     |     |     |     |     |     |     |     |     |     |     |  Reset |
    * |-----------------------------------------------------------------------------------------+
@@ -61,12 +61,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |      |      |      |                                      |     |     |     |     |     |
    * `-----------------------------------------------------------------------------------------'
    */
-  [_ML] = LAYOUT(
-    KC_MEDIA_EJECT, BR_DOWN, BR_UP, ______, ______, KC_F5, KC_F6, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
-    ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
+  [_ML] = LAYOUT_2_shifts(
+    KC_MEDIA_EJECT, BR_DOWN, BR_UP, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+    _______, KC_NO,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+  /* ,-----------------------------------------------------------------------------------------.
+   * |     |     |     |     |     |     |     |     |  %  |  (  |  )  |  < |  > |             |
+   * |-----------------------------------------------------------------------------------------+
+   * |        |     |     |     |     |     |     |  *  |  0  |  1  |  2  |  3  |     |        |
+   * |-----------------------------------------------------------------------------------------+
+   * |          |     |     |     |     |     |     |  .  |  -  |  4  |  5  |  6  |            |
+   * |-----------------------------------------------------------------------------------------+
+   * |           |     |     |     |     |     |     |  ,  |  =  |  7  |  8  |  9  |     |     |
+   * |-----------------------------------------------------------------------------------------+
+   * |      |      |      |                                      |     |     |     |     |     |
+   * `-----------------------------------------------------------------------------------------'
+   */
+  [_NL] = LAYOUT_2_shifts(
+    _______, _______, _______, _______, _______, _______, _______, _______, KC_PERCENT, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LEFT_ANGLE_BRACKET, KC_RIGHT_ANGLE_BRACKET, KC_NO, _______,
+    _______, _______, _______, _______, _______, _______, _______, KC_ASTERISK, KC_0, KC_1, KC_2, KC_3, _______, RESET,
+    _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_MINS, KC_4, KC_5, KC_6, _______,
+    _______, KC_NO,  _______, _______, _______, _______, _______, _______, KC_COMMA, KC_EQL, KC_7, KC_8, KC_9, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
 };
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/dz60/keymaps/macos_arrow/readme.md b/keyboards/dz60/keymaps/macos_arrow/readme.md
index bba8148ba5..cb700b38f0 100644
--- a/keyboards/dz60/keymaps/macos_arrow/readme.md
+++ b/keyboards/dz60/keymaps/macos_arrow/readme.md
@@ -15,21 +15,22 @@ My build used the following components:
 
 ```
 ,-----------------------------------------------------------------------------------------.
-| Esc | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   | 0   | -   | =   | Backspace |
+|  `  | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   | 0   | -   | =   | Backspace |
 |-----------------------------------------------------------------------------------------+
 | Tab    | Q   | W   | E   | R   | T   | Y   | U   | I   | O   | P   | [   | ]   |   \    |
 |-----------------------------------------------------------------------------------------+
-| _FL      | A   | S   | D   | F   | G   | H   | J   | K   | L   | ;   | '   | Enter      |
+| _FL/Esc  | A   | S   | D   | F   | G   | H   | J   | K   | L   | ;   | '   | Enter      |
 |-----------------------------------------------------------------------------------------+
-| Shift     | Z   | X   | C   | V   | B   | N   | M   | ,   | .   | /   | _ML | Up  |Shift|
+| Shift     | Z   | X   | C   | V   | B   | N   | M   | ,   | .   | /   |     | Up  |Shift|
 |-----------------------------------------------------------------------------------------+
-| Ctrl | Alt  | Cmd  |                Space               |Cmd/_ML| Alt | Left| Down|Right|
+| Ctrl | Alt  | Cmd  |            _NL / Space             |Cmd/_ML| Alt | Left| Down|Right|
 `-----------------------------------------------------------------------------------------'
 ```
 
-* The escape key use `KC_GESC` to get grave accent on any letter with ``Alt+Esc`` and `` ` `` alone with the ``Hyper+Esc``. The `~` is obtained with `Shift+Esc`. `GRAVE_ESC_GUI_OVERRIDE` is define so `Cmd+Alt+Esc` can still work.
-* The `Caps-Lock` (`Hyper`) key switch to the function layer (`_FL`).
-* The right `Cmd` key is used to switch to the media layer (`_ML`) when used with keys mapped on that layer (the top row). Any other keys just act as a `Cmd+` that key.
+* The escape key is moved to the capslock to get keep grave letter pristine.
+* The `Caps-Lock` (`Hyper`) key switch to the function layer (`_FL`) or escape when used alone.
+* The right `Cmd` key is used to switch to the media layer (`_ML`) when used with keys mapped on that layer.
+* The space key can be used to switch to the numpad layer (`_NL`) when used with one of the mapped key on that layer.
 
 ## Function Layer (_FL)
 
@@ -37,9 +38,9 @@ My build used the following components:
 ,-----------------------------------------------------------------------------------------.
 |  `  | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 |    Del    |
 |-----------------------------------------------------------------------------------------+
-|        |     |     |     |     |     |     |     | UP  |     |     |     |     |        |
+|        |     |     |     |     |     |     |PgDwn| PgUp|     |     |     |     |        |
 |-----------------------------------------------------------------------------------------+
-|          |     |     |     |     |     |     | Left| Down|Right|     |     |            |
+|          |     |     |     |     |     | Left| Down| Up  |Right|     |     |            |
 |-----------------------------------------------------------------------------------------+
 |           |     |     |     |     |     |     |     |     |     |     |     |     |     |
 |-----------------------------------------------------------------------------------------+
@@ -47,13 +48,13 @@ My build used the following components:
 `-----------------------------------------------------------------------------------------'
 ```
 
-The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` keys. In addition, the `IJKL` are mapped as cursor keys on that layer.
+The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` keys. In addition, the `HJKL` are mapped as cursor keys on that layer.
 
 ## Media Layer (_ML)
 
 ```
 ,-----------------------------------------------------------------------------------------.
-|     | BR- | BR+ | F3  | F4  |     |     |PREV |PLAY |NEXT |MUTE | V- | V+ |    Eject    |
+|Eject| BR- | BR+ |     |     |     |     |PREV |PLAY |NEXT |MUTE | V- | V+ |             |
 |-----------------------------------------------------------------------------------------+
 |        |     |     |     |     |     |     |     |     |     |     |     |     |  Reset |
 |-----------------------------------------------------------------------------------------+
@@ -67,4 +68,20 @@ The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` k
 
 The media layer is activated by the right `Cmd` (`FN`) key. It contains the typical macos media keys on the top row. Blank keys act as `Cmd+` that key on the base layer.
 
+## Numpad Layer (_NL)
 
+```
+,-----------------------------------------------------------------------------------------.
+|     |     |     |     |     |     |     |     |  %  |  (  |  )  |  < |  > |             |
+|-----------------------------------------------------------------------------------------+
+|        |     |     |     |     |     |     |  *  |  0  |  1  |  2  |  3  |     |        |
+|-----------------------------------------------------------------------------------------+
+|          |     |     |     |     |     |     |  .  |  -  |  4  |  5  |  6  |            |
+|-----------------------------------------------------------------------------------------+
+|           |     |     |     |     |     |     |  ,  |  =  |  7  |  8  |  9  |     |     |
+|-----------------------------------------------------------------------------------------+
+|      |      |      |                                      |     |     |     |     |     |
+`-----------------------------------------------------------------------------------------'
+```
+
+The numpad layer is activated by the space bar, when hold.
\ No newline at end of file
-- 
cgit v1.2.3