From 95309e9af5c58cd0f468ac1fadfcef3ff52aaa6a Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Tue, 5 Nov 2019 22:12:21 -0800
Subject: [PATCH] [Keymap] Updates to noroadsleft keymap for KC60 (2019-11-05)
(#7265)
* Rename layers_keymap to layer_names
* Update Escape and Left Control keys
- change KC_GESC to KC_ESC
- change KC_LCTL to MT(MOD_LCTL, KC_GRV)
* Disable features I don't use
Makes the firmware lean. Why? Because I can. :D
* Update the readme files
* Add KC_F13 through KC_F24 emulation
... and update the readme files accordingly.
* Update rules/config
- Swap EXTRAFLAGS for LINK_TIME_OPTIMIZATION_ENABLE
- remove NO_ACTION_MACRO and NO_ACTION_FUNCTION
- Re-enable COMMAND
* concatenate full-length and short layer names
* enable dynamic macros
* update readme files
---
keyboards/kc60/keymaps/noroadsleft/config.h | 9 +++
keyboards/kc60/keymaps/noroadsleft/keymap.c | 70 +++++++++++--------
keyboards/kc60/keymaps/noroadsleft/readme.md | 14 +++-
.../kc60/keymaps/noroadsleft/readme_ch1.md | 31 ++------
.../kc60/keymaps/noroadsleft/readme_ch2.md | 2 +-
.../kc60/keymaps/noroadsleft/readme_ch3.md | 10 +--
.../kc60/keymaps/noroadsleft/readme_ch4.md | 8 +--
.../kc60/keymaps/noroadsleft/readme_ch5.md | 39 +++++------
.../kc60/keymaps/noroadsleft/readme_git.md | 11 +--
keyboards/kc60/keymaps/noroadsleft/rules.mk | 8 ++-
10 files changed, 112 insertions(+), 90 deletions(-)
diff --git a/keyboards/kc60/keymaps/noroadsleft/config.h b/keyboards/kc60/keymaps/noroadsleft/config.h
index e216d050b1..4490a3bb76 100644
--- a/keyboards/kc60/keymaps/noroadsleft/config.h
+++ b/keyboards/kc60/keymaps/noroadsleft/config.h
@@ -6,3 +6,12 @@
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 5
#define BREATHING_PERIOD 4
+
+#ifdef LOCKING_SUPPORT_ENABLE
+# undef LOCKING_SUPPORT_ENABLE
+#endif
+#ifdef LOCKING_RESYNC_ENABLE
+# undef LOCKING_RESYNC_ENABLE
+#endif
+
+#define NO_ACTION_ONESHOT
diff --git a/keyboards/kc60/keymaps/noroadsleft/keymap.c b/keyboards/kc60/keymaps/noroadsleft/keymap.c
index 98d7353568..84aeb482d6 100644
--- a/keyboards/kc60/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kc60/keymaps/noroadsleft/keymap.c
@@ -8,42 +8,39 @@
/**********************
** LAYER DEFINITIONS **
**********************/
-enum layers_keymap {
+enum layer_names {
// BASE LAYERS
+ // SHORT CODES
_QWERTY = 0,
+ _QW = _QWERTY,
_DVORAK,
+ _DV = _DVORAK,
_COLEMAK,
+ _CM = _COLEMAK,
_MAC,
+ _MC = _MAC,
_QUAKE2,
+ _Q2 = _QUAKE2,
_QUAKE2_DVORAK,
+ _QD = _QUAKE2_DVORAK,
_QUAKE2_CONSOLE,
-
+ _QC = _QUAKE2_CONSOLE,
// FUNCTION LAYERS
_FUNCWIN,
+ _FW = _FUNCWIN,
_FUNCMAC,
+ _FM = _FUNCMAC,
_FUNCQ2,
-
+ _FQ = _FUNCQ2,
// OTHER LAYERS
_NUMPAD,
+ _NP = _NUMPAD,
_MACROS,
- _SYSTEM
+ _MA = _MACROS,
+ _SYSTEM,
+ _SY = _SYSTEM,
};
-// LAYER SHORT CODES
-#define _QW _QWERTY
-#define _DV _DVORAK
-#define _CM _COLEMAK
-#define _MC _MAC
-#define _Q2 _QUAKE2
-#define _QD _QUAKE2_DVORAK
-#define _QC _QUAKE2_CONSOLE
-#define _FW _FUNCWIN
-#define _FM _FUNCMAC
-#define _FQ _FUNCQ2
-#define _NP _NUMPAD
-#define _MA _MACROS
-#define _SY _SYSTEM
-
// KEYCODE DEFINITIONS
#define NO_CHNG KC_TRNS // Note for me for keys I need to leave as Pass-through
@@ -58,6 +55,8 @@ enum layers_keymap {
#define WN_COPY LCTL(DV_C) // Windows/Linux Copy
#define WN_PSTE LCTL(DV_V) // Windows/Linux Paste
+#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped
+
#define MC_PSCR LGUI(LSFT(KC_3)) // MacOS Print Screen (Command + Shift + 3)
#define MC_HOME LGUI(KC_LEFT) // MacOS Home (Command + Left Arrow)
#define MC_END LGUI(KC_RGHT) // MacOS End (Command + Right Arrow)
@@ -252,6 +251,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
return false;
+ case KC_F1 ... KC_F12:
+ if (record->event.pressed) {
+ if ( get_mods() & MOD_MASK_RALT ) {
+ register_code( keycode + 0x2E );
+ } else {
+ register_code( keycode );
+ }
+ } else {
+ if ( get_mods() & MOD_MASK_RALT ) {
+ unregister_code( keycode + 0x2E );
+ } else {
+ unregister_code( keycode );
+ }
+ }
+ return false;
} // switch()
return true;
};
@@ -267,31 +281,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY */
[_QWERTY] = LAYOUT_60_ansi(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- 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_BSPC, \
+ KC_ESC, 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_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, \
FW_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, NUBS_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FW), KC_RCTL \
+ CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
),
/* Dvorak */
[_DVORAK] = LAYOUT_60_ansi(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, \
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, \
FW_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FW), KC_RCTL \
+ CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
),
/* Colemak */
[_COLEMAK] = LAYOUT_60_ansi(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- 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_BSPC, \
+ KC_ESC, 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \
FW_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FW), KC_RCTL \
+ CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FW), KC_RCTL \
),
/****************
@@ -391,9 +405,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Macro layer */
[_MACROS] = LAYOUT_60_ansi(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- TG(_MA), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, G_FTCH, G_COMM, _______, _______, _______, _______, T_L3DED, _______, _______, _______, \
+ TG(_MA), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, \
+ _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP, \
+ _______, _______, _______, G_FTCH, G_COMM, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, G_BRCH, SIGNA, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, NO_CHNG, _______ \
),
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme.md b/keyboards/kc60/keymaps/noroadsleft/readme.md
index c9db4f8de2..6a7ad6f65e 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme.md
@@ -1,12 +1,24 @@
# @noroadsleft's KC60 keymap
-### Last updated: April 7, 2019, 2:26 AM UTC-0700
+### Last updated: November 5, 2019, 12:07 AM UTC-0800
![](https://i.imgur.com/tzhXQYI.jpg)
I am a full-time Dvorak typist, and occasional semi-serious FPS gamer. The layers are oriented towards a mix of typing and gaming.
+----
+
+# Preface
+
+Images in this readme follow the following format:
+
+![Legend](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/legend.png)
+*Legend*
+
+Descriptions of the physical locations of keys will use the key's function in a US QWERTY layout, even if the layout itself is not QWERTY.
+
+
----
# Outline
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md
index fff80760e5..3872232f5a 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md
@@ -12,21 +12,14 @@
## Layer 0: QWERTY - `_QW`
-Standard QWERTY layout, with three QMK features:
+Standard QWERTY layout, with four QMK features:
- The `Menu` key has been replaced by `MO(_FW)`, which moves to my Windows Fn layer when held.
+- The Right `GUI` key has been replaced with a `MO(_MA)` key, which moves to the Macro layer when held.
- The `Caps Lock` key has been replaced with a dual function `LT()` key, which opens the Windows Fn layer when held, and is `Caps Lock` when tapped
-- The `Escape` key has been replaced with a `KC_GESC` `` ` ~ `` key when used with a `Fn` key or a `Shift` key
+- The Left `Control` key has been replaced with a `MT(MOD_CTRL, KC_GRV)` key, which is ` ~
when tapped and `Ctrl` when held.
-###### For the rest of this readme, the physical location of keys will be referred to by their function in a US QWERTY layout.
-
-![QWERTY layer](https://i.imgur.com/2eVsefw.png)
-
-Keycode(s) Sent | Notes
-:---------------------------------------------------- | :----
-[`KC_GESC`](https://docs.qmk.fm/#/feature_grave_esc) | `Esc` when tapped alone, `` ` ~ `` when used with a `Shift` or `GUI` key.
-`LT(_FW, KC_CAPS)` | Opens the Windows Fn layer when held; toggles Caps Lock when tapped.
-`MO(_FW)` | Opens the Windows Fn layer when held.
+![QWERTY layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_00.png)
----
@@ -37,13 +30,7 @@ Keycode(s) Sent | Notes
A hardware-based Dvorak Simplified layout. At my weekend job, I use a shared computer that runs MacOS Sierra, in US QWERTY layout. In this layer, I can leave the system in QWERTY, plug my keyboard in, and still type in Dvorak.
-![Hardware Dvorak layer](https://i.imgur.com/a6hYedB.png)
-
-Keycode(s) Sent | Notes
-:---------------------------------------------------- | :----
-[`KC_GESC`](https://docs.qmk.fm/#/feature_grave_esc) | `Esc` when tapped alone, `` ` ~ `` when used with a `Shift` or `GUI` key.
-`LT(_FW, KC_CAPS)` | Opens the Windows Fn layer when held; toggles Caps Lock when tapped.
-`MO(_FW)` | Opens the Windows Fn layer when held.
+![Hardware Dvorak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_01.png)
----
@@ -54,13 +41,7 @@ Keycode(s) Sent | Notes
A hardware-based Colemak layout. Been thinking of trying it, so it's here.
-![Hardware Colemak layer](https://i.imgur.com/dbQ6HDW.png)
-
-Keycode(s) Sent | Notes
-:---------------------------------------------------- | :----
-[`KC_GESC`](https://docs.qmk.fm/#/feature_grave_esc) | `Esc` when tapped alone, `` ` ~ `` when used with a `Shift` or `GUI` key.
-`LT(_FW, KC_CAPS)` | Opens the Windows Fn layer when held; toggles Caps Lock when tapped.
-`MO(_FW)` | Opens the Windows Fn layer when held.
+![Hardware Colemak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_02.png)
----
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md
index 142fe302fd..76ab510153 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md
@@ -16,7 +16,7 @@
This layer overrides the `Fn` keys on whichever base layer is currently enabled, sending the keyboard to the MacOS-oriented Fn layer `_FM`, instead of the Windows Fn layer `_FW`.
-![MacOS Overlay](https://i.imgur.com/lxsEVpm.png)
+![MacOS Overlay](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_03.png)
----
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md
index b9dc556e4e..93c43fbf91 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md
@@ -16,20 +16,20 @@
These layers were born out of the confusion I have had trying to use the in-game chat and the console in [Quake 2](https://en.wikipedia.org/wiki/Quake_II). When Quake 2 came out, alternate keyboard layouts weren't really a thing. As a result, all in-game text input is hard-locked to US QWERTY, regardless of what the operating system is using for its input method.
-I'm attempting to solve this by some creative use of QMK's macro feature. The keycode in the System layer that enables these layers, [`GO_Q2`](./keymap.c#L404), is a [macro](./keymap.c#L165-L172) that sets the default layer to the QWERTY layer, then turns the Quake 2 layer `_Q2` on. The result is a partially-overwritten QWERTY layer, that has some keycodes with some creative layer switching.
+I'm attempting to solve this by some creative use of QMK's macro feature. The keycode in the System layer that enables these layers, [`GO_Q2`](./keymap.c#L418), is a [macro](./keymap.c#L164-L171) that sets the default layer to the QWERTY layer, then turns the Quake 2 layer `_Q2` on. The result is a partially-overwritten QWERTY layer, that has some keycodes with some creative layer switching.
-When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./keymap.c#L173-L179) I've created sends the keycode for `Enter`, then follows with enabling the Hardware Dvorak layer and its corresponding overlay. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit `Enter` again, another `Enter` [keycode macro](./keymap.c#L180-L186) is sent, which sends the message, then the macro brings me back to the standard QWERTY+Quake 2 setup. Hitting `Escape` instead runs a [macro](./keymap.c#L187-L193) that cancels the sending of the message, and undoes the layers.
+When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./keymap.c#L172-L178) I've created sends the keycode for `Enter`, then follows with enabling the Hardware Dvorak layer and its corresponding overlay. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit `Enter` again, another `Enter` [keycode macro](./keymap.c#L179-L185) is sent, which sends the message, then the macro brings me back to the standard QWERTY+Quake 2 setup. Hitting `Escape` instead runs a [macro](./keymap.c#L186-L192) that cancels the sending of the message, and undoes the layers.
I have been testing this configuration for a few months. Sometimes I end up still in Dvorak mode without any text input systems (in-game chat or the console) running, but it pretty much always happens when I'm focused on the game, so I don't know the cause yet.
### Layer 4: Quake 2
-![Quake 2](https://i.imgur.com/WEZ9p2u.png)
+![Quake 2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_04.png)
### Layer 5: Quake 2 Dvorak
-![Quake 2 Dvorak](https://i.imgur.com/rhugHN4.png)
+![Quake 2 Dvorak](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_05.png)
### Layer 6: Quake 2 Console
-![Quake 2 Console](https://i.imgur.com/dRTAjcy.png)
+![Quake 2 Console](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_06.png)
----
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md
index 00e6b781b4..32ca82ce9d 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md
@@ -16,7 +16,7 @@
Arrows, Navigation keys (Insert, Home, Page Up, etc.), and Function keys are here. Also has keys for Calculator, Menu, Volume Control, and shortcuts for Select All, Undo, Cut, Copy, and Paste. Numpad Enter for when I'm working in Adobe Photoshop, because it treats Numpad Enter differently from the regular Enter key.
-![Windows Fn layer](https://i.imgur.com/XwCshcz.png)
+![Windows Fn layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_07.png)
----
@@ -27,7 +27,7 @@ Arrows, Navigation keys (Insert, Home, Page Up, etc.), and Function keys are her
Based on my Windows Fn layer, but swaps a few functions for a MacOS environment. Arrow, Navigation, and Function keys are basically unchanged from Layer 2. This layer enables using either `Fn` key as a sort of simulated `Command` key, which I find easier to reach and use.
-![MacOS-oriented Fn layer](https://i.imgur.com/Z11kRu2.png)
+![MacOS-oriented Fn layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_08.png)
----
@@ -38,11 +38,11 @@ Based on my Windows Fn layer, but swaps a few functions for a MacOS environment.
Based on the Windows function layer, but removes some functions that are pointless to have while in the game.
-![Quake 2 Fn layer](https://i.imgur.com/9PG7yWb.png)
+![Quake 2 Fn layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_09.png)
Keycode(s) Sent | Notes
:-------------------------------- | :----
-[`Q2_GRV`](./keymap.c#L194-L201) | Sends `KC_GRV`, then enables the Dvorak, Quake 2 Dvorak, and Quake 2 Console layers.
+[`Q2_GRV`](./keymap.c#L193-L200) | Sends `KC_GRV`, then enables the Dvorak, Quake 2 Dvorak, and Quake 2 Console layers.
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md
index a65b3acbeb..cb2abbd6dd 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md
@@ -16,7 +16,7 @@
Puts a Numpad on the right-hand side of the keyboard. A through F included for hexadecimal input. Tapping `Space` returns to the previous Base Layer.
-![Numpad layer](https://i.imgur.com/fKVRkGH.png)
+![Numpad layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_10.png)
----
@@ -25,42 +25,35 @@ Puts a Numpad on the right-hand side of the keyboard. A through F included for h
### Accessed by holding the `Fn` key and tapping the right-side `Win` key
-Has some macros that I use in Git, and some frequently-typed strings.
+Has some macros that I use in Git, some frequently-typed strings, and keys for use with the [Dynamic Macros feature](https://docs.qmk.fm/#/feature_dynamic_macros).
Tapping `Esc` exits the Macro layer, if the macro used doesn't do it automatically.
-![Macro layer](https://i.imgur.com/wgbsluI.png)
+![Macro layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_11.png)
### Macros
-#### [T_L3DED](./keymap.c#L122-L126)
-
-Output: `lavak3DED `
-
-Twitch emote for [a streamer I watch a lot](https://www.twitch.tv/lavak3_).
-![lavak3DED](https://static-cdn.jtvnw.net/emoticons/v1/821796/1.0)
-
-#### [G_PUSH](./keymap.c#L127-L131)
+#### [G_PUSH](./keymap.c#L126-L130)
Output: `git push origin `
Everything from here down is related to Git or GitHub.
-#### [G_FTCH](./keymap.c#L132-L141)
+#### [G_FTCH](./keymap.c#L131-L140)
| Condition | Output |
| :-------- | :----- |
| If Shift is active | `git pull upstream ` |
| Otherwise | `git fetch upstream ` |
-#### [G_COMM](./keymap.c#L142-L147)
+#### [G_COMM](./keymap.c#L141-L146)
Output: `git commit -m ""` Left
Readies a `git commit` command, moves the cursor between the quotation marks, then disables the Macro layer.
-#### [G_BRCH](./keymap.c#L148-L158)
+#### [G_BRCH](./keymap.c#L147-L157)
| Condition | Output |
| :-------- | :----- |
@@ -69,13 +62,13 @@ Readies a `git commit` command, moves the cursor between the quotation marks, th
`$(git branch-name)` is a [git alias](./readme_git.md) that returns the name of the current branch. This macro disables the Macro layer when finished.
-#### [SIGNA](./keymap.c#L159-L164)
+#### [SIGNA](./keymap.c#L158-L163)
Output: `\- @noroadsleft` Enter
Sometimes on GitHub, I sign my comments. Types my GitHub name in Markdown syntax, and then taps the `Enter` key. Disables the Macro layer when finished.
-#### [MC_UNDO](./keymap.c#L202-L210)
+#### [MC_UNDO](./keymap.c#L201-L209)
| Condition | Output |
| :-------- | :----- |
@@ -84,7 +77,7 @@ Sometimes on GitHub, I sign my comments. Types my GitHub name in Markdown syntax
An Undo shortcut that turns to Redo if Shift is being held. I'm not sure that part is required to get that behavior, but it works as desired, so I'm not messing with it.
-#### [MC_PSTE](./keymap.c#L211-L219)
+#### [MC_PSTE](./keymap.c#L210-L218)
| Condition | Output |
| :-------- | :----- |
@@ -93,7 +86,7 @@ An Undo shortcut that turns to Redo if Shift is being held. I'm not s
The program I use this in uses Shift + Command + Option + V to paste while maintaining formatting (typeface, text size, etc.). Sometimes I want this and sometimes I don't. Using Shift changes the behavior.
-#### [NUBS_Z](./keymap.c#L220-L234)
+#### [NUBS_Z](./keymap.c#L219-L233)
| Condition | Output |
| :-------- | :----- |
@@ -102,16 +95,20 @@ The program I use this in uses Shift + Command + Opti
Sometimes I type in languages from countries that use ISO layout, but my keyboard is ANSI, so I have one key fewer. This macro simulates the Non-US Backslash key if I use Right Alt + Z.
-#### [VRSN](./keymap.c#L235-L239)
+#### [VRSN](./keymap.c#L234-L238)
Outputs a string that tells me the Git commit from which my flashed firmware was built. Looks something like:
kc60/noroadsleft @ 0.6.326-6-gae6d7b-dirty
-#### [Emulated Numeric Keypad](./keymap.c#L240-L254)
+#### [Emulated Numeric Keypad](./keymap.c#L239-L253)
If I hold the Right Alt key, the number row (`KC_1` through `KC_0`) will output numpad keycodes instead of number row keycodes, enabling quicker access to characters like ™ and °.
+#### [Emulated Extended Function Keys](./keymap.c#L254-L268)
+
+Similar to the emulated numpad, if I hold the Right Alt key with the Fn key, the function row (`KC_F1` through `KC_F12`) will output keycodes `KC_F13` throught `KC_F24`.
+
----
### Layer 12: System layer - `_SY`
@@ -120,7 +117,7 @@ If I hold the Right Alt key, the number row (`KC_1` through `KC_0`) will output
This is where I change my keyboard function. Base layer select on `1` through `3`, Backlight controls on `C` through `N`, Reset on `8*`, Debug on `0)`.
-![System layer](https://i.imgur.com/95ovTBn.png)
+![System layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/layer_12.png)
----
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_git.md b/keyboards/kc60/keymaps/noroadsleft/readme_git.md
index b81bb9409d..432f1abc7e 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme_git.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme_git.md
@@ -11,7 +11,8 @@
# Cherry Pick
cp = cherry-pick
- # Check out a Pull Request
+ # Check out a Pull Request locally
+ # e.g. `git cop 351` fetches the commits from Pull Request #351 and saves it to local branch 'pr/351'.
cop = "!f() { git fetch upstream pull/$1/head:pr/$1; git checkout pr/$1; }; f"
# Sync master branch
@@ -39,13 +40,17 @@
# Short-form status
st = "!git status --short --untracked-files=no"
+ stu = "!git ls-files --others -x '*/*'"
# Returns the name of the current branch
branch-name = "!git rev-parse --abbrev-ref HEAD"
bn = "!git branch-name" # short-form of the above
+ # List branches by the date of their last commit, newest to oldest
+ bbd = "for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='[33m%(objectname)[0m %(objecttype) [32m%(refname:short)[0m (%(authordate))'"
# Compare commit counts between current branch and QMK master
- cc = "!f() { git fetch upstream; echo \"[0;32m$(git branch-name)[0m vs. [0;31mupstream/master[0m\"; git rev-list --left-right --count $(git branch-name)...upstream/master; }; f"
+ # e.g. `git cc dev_branch upstream/master` returns how many commits are on `dev_branch` and not on `upstream/master`, and vice versa.
+ cc = "!f() { git fetch upstream; echo \"[0;32m$(git branch-name)[0m vs. [0;31m$2[0m\"; git rev-list --left-right --count $1...$2; }; f"
# Push to origin repo
po = "push origin $(git branch-name)"
@@ -71,6 +76,4 @@
# Force push without overwriting established history
pushf = push --force-with-lease
-
-
```
diff --git a/keyboards/kc60/keymaps/noroadsleft/rules.mk b/keyboards/kc60/keymaps/noroadsleft/rules.mk
index 9d78fc0fb3..c9805878d2 100644
--- a/keyboards/kc60/keymaps/noroadsleft/rules.mk
+++ b/keyboards/kc60/keymaps/noroadsleft/rules.mk
@@ -1,2 +1,8 @@
# https://github.com/qmk/qmk_firmware/issues/3448#issuecomment-406636125
-EXTRAFLAGS += -flto
+# EXTRAFLAGS += -flto
+LINK_TIME_OPTIMIZATION_ENABLE = yes
+
+MOUSEKEY_ENABLE = no # Mouse keys
+# COMMAND_ENABLE = no # Commands for debug and configuration
+SPACE_CADET_ENABLE = no # Space Cadet
+DYNAMIC_MACRO_ENABLE = yes