aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-05-03 17:31:36 -0700
committerGitHub <noreply@github.com>2021-05-03 17:31:36 -0700
commit8ed1addd1e3ab783d86ba5d0a0935e2e7ec400f2 (patch)
tree6801b258b126562c5da2760f905e6c7d60ce0967
parent25c97e0019aff7c529b09d177f23fd1271a120dc (diff)
downloadqmk_firmware-8ed1addd1e3ab783d86ba5d0a0935e2e7ec400f2.tar.gz
qmk_firmware-8ed1addd1e3ab783d86ba5d0a0935e2e7ec400f2.zip
Update noroadsleft userspace and keymaps (2021-05-03) (#12796)
* Set Dvorak as the standard base layer * Remove unneeded includes * Remove custom handling for Quake 2 Have now rewritten my in-game configuration to use Dvorak mapping instead of QWERTY, which means I don't need any of this stuff. * Clean up comments in KC60 keymap
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c21
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c92
-rw-r--r--keyboards/kc60/keymaps/noroadsleft/keymap.c141
-rw-r--r--keyboards/kc60/keymaps/noroadsleft/readme.md46
-rw-r--r--users/noroadsleft/readme.md8
5 files changed, 67 insertions, 241 deletions
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
index 6ad9dd1d3..ed8e98a05 100644
--- a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
+++ b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
@@ -15,11 +15,10 @@
15 */ 15 */
16 16
17#include "noroadsleft.h" 17#include "noroadsleft.h"
18#include "sendstring_dvorak.h"
19 18
20enum layer_names { 19enum layer_names {
21 _QW,
22 _DV, 20 _DV,
21 _QW,
23 _NP, 22 _NP,
24 _FN, 23 _FN,
25 _SY 24 _SY
@@ -30,14 +29,6 @@ enum layer_names {
30 29
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 31
33 [_QW] = LAYOUT_65_ansi(
34 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_HOME,
35 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_PGUP,
36 FN_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_PGDN,
37 KC_LSFT, 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_END,
38 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
39 ),
40
41 [_DV] = LAYOUT_65_ansi( 32 [_DV] = LAYOUT_65_ansi(
42 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_HOME, 33 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_HOME,
43 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, KC_PGUP, 34 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, KC_PGUP,
@@ -46,6 +37,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 37 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
47 ), 38 ),
48 39
40 [_QW] = LAYOUT_65_ansi(
41 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_HOME,
42 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_PGUP,
43 FN_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_PGDN,
44 KC_LSFT, 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_END,
45 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
46 ),
47
49 [_NP] = LAYOUT_65_ansi( 48 [_NP] = LAYOUT_65_ansi(
50 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, 49 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, _______, 50 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, _______,
@@ -63,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63 ), 62 ),
64 63
65 [_SY] = LAYOUT_65_ansi( 64 [_SY] = LAYOUT_65_ansi(
66 TG(_SY), TO(_QW), TO(_DV), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX, 65 TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX,
67 XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 66 XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 68 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
index 1648224fd..6a961f171 100644
--- a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
@@ -15,8 +15,6 @@
15 */ 15 */
16 16
17#include "noroadsleft.h" 17#include "noroadsleft.h"
18//#include "version.h"
19#include "sendstring_dvorak.h"
20 18
21#define LAYOUT_75_ansi_wkl( \ 19#define LAYOUT_75_ansi_wkl( \
22 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ 20 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
@@ -35,20 +33,13 @@
35} 33}
36 34
37enum layer_names { 35enum layer_names {
38 _QW,
39 _DV, 36 _DV,
37 _QW,
40 _Q2, 38 _Q2,
41 _FN, 39 _FN,
42 _SY 40 _SY
43}; 41};
44 42
45enum custom_keycodes {
46 GO_Q2 = KEYMAP_SAFE_RANGE,
47 Q2_ENT
48};
49
50unsigned char q2InputMode = 0;
51
52// Tap Dance declarations 43// Tap Dance declarations
53enum tap_dances { 44enum tap_dances {
54 LAG, 45 LAG,
@@ -65,14 +56,6 @@ qk_tap_dance_action_t tap_dance_actions[] = {
65#define FN_CAPS LT(_FN,KC_CAPS) 56#define FN_CAPS LT(_FN,KC_CAPS)
66 57
67const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 58const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68 [_QW] = LAYOUT_75_ansi_wkl(
69 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, _______, _______, MO(_SY),
70 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_HOME,
71 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_PGUP,
72 FN_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_PGDN,
73 KC_LSFT, 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_END,
74 KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
75 ),
76 [_DV] = LAYOUT_75_ansi_wkl( 59 [_DV] = LAYOUT_75_ansi_wkl(
77 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, _______, _______, MO(_SY), 60 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, _______, _______, MO(_SY),
78 KC_GRV, 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_HOME, 61 KC_GRV, 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_HOME,
@@ -81,11 +64,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81 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_UP, KC_END, 64 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_UP, KC_END,
82 KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 65 KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
83 ), 66 ),
67 [_QW] = LAYOUT_75_ansi_wkl(
68 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, _______, _______, MO(_SY),
69 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_HOME,
70 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_PGUP,
71 FN_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_PGDN,
72 KC_LSFT, 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_END,
73 KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
74 ),
84 [_Q2] = LAYOUT_75_ansi_wkl( 75 [_Q2] = LAYOUT_75_ansi_wkl(
85 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
86 KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ENT, _______, 79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, KC_LALT, _______, KC_RALT, _______, _______, _______, _______ 81 _______, KC_LALT, _______, KC_RALT, _______, _______, _______, _______
91 ), 82 ),
@@ -98,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
98 _______, _______, _______, _______, _______, _______, _______, _______ 89 _______, _______, _______, _______, _______, _______, _______, _______
99 ), 90 ),
100 [_SY] = LAYOUT_75_ansi_wkl( 91 [_SY] = LAYOUT_75_ansi_wkl(
101 _______, TO(_QW), TO(_DV), _______, GO_Q2, _______, _______, _______, RESET, EEP_RST, DEBUG, _______, VRSN, _______, _______, _______, 92 _______, TO(_DV), TO(_QW), _______, TG(_Q2), _______, _______, _______, RESET, EEP_RST, DEBUG, _______, VRSN, _______, _______, _______,
102 _______, _______, M_MDSWP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, 93 _______, _______, M_MDSWP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
103 _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 94 _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
104 _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, 95 _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -111,62 +102,3 @@ bool led_update_user(led_t led_state) {
111 writePin(B2, !led_state.caps_lock); 102 writePin(B2, !led_state.caps_lock);
112 return false; 103 return false;
113} 104}
114
115bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
116 switch (keycode) {
117 case GO_Q2:
118 if (record->event.pressed) {
119 layer_move(_QW);
120 layer_on(_Q2);
121 };
122 return false;
123 case Q2_ENT:
124 if (record->event.pressed) {
125 if (q2InputMode == 0) {
126 tap_code(KC_ENT);
127 q2InputMode = 1;
128 layer_on(_DV);
129 //layer_on(_Q2);
130 } else if (q2InputMode == 1) {
131 tap_code(KC_ENT);
132 q2InputMode = 0;
133 layer_off(_DV);
134 } else {
135 tap_code(KC_ENT);
136 }
137 };
138 return false;
139 case KC_ESC:
140 if (record->event.pressed) {
141 if (q2InputMode > 0) {
142 tap_code(KC_ESC);
143 q2InputMode = 0;
144 layer_off(_DV);
145 } else {
146 tap_code(KC_ESC);
147 }
148 };
149 return false;
150 case KC_GRV:
151 if (IS_LAYER_ON(_Q2) == true) {
152 if (record->event.pressed) {
153 if (q2InputMode == 0) {
154 tap_code(KC_GRV);
155 q2InputMode = 2;
156 layer_on(_DV);
157 } else if (q2InputMode == 1) {
158 tap_code(KC_GRV);
159 q2InputMode = 2;
160 } else {
161 tap_code(KC_GRV);
162 q2InputMode = 0;
163 layer_off(_DV);
164 }
165 return false;
166 }
167 };
168 return true;
169 default:
170 return true;
171 }
172}
diff --git a/keyboards/kc60/keymaps/noroadsleft/keymap.c b/keyboards/kc60/keymaps/noroadsleft/keymap.c
index f69371061..fc56ea54f 100644
--- a/keyboards/kc60/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kc60/keymaps/noroadsleft/keymap.c
@@ -15,27 +15,22 @@
15 */ 15 */
16 16
17#include "noroadsleft.h" 17#include "noroadsleft.h"
18#include "sendstring_dvorak.h"
19//#include "sendstring_colemak.h"
20#include "print.h"
21 18
22 19
23/********************** 20// LAYER DEFINITIONS
24** LAYER DEFINITIONS **
25**********************/
26enum layer_names { 21enum layer_names {
27 // BASE LAYERS 22 // BASE LAYERS
28 _QW, // QWERTY 23 _DV,
29 _DV, // Dvorak 24 _QW,
30 _CM, // Colemak 25 _CM,
31 // QUAKE 2 OVERLAY 26 // QUAKE 2 OVERLAY
32 _Q2, // Quake 2 27 _Q2,
33 // FUNCTION LAYER 28 // FUNCTION LAYER
34 _FN, // Function 29 _FN,
35 // OTHER LAYERS 30 // OTHER LAYERS
36 _NP, // Numpad 31 _NP,
37 _MA, // Macros 32 _MA,
38 _SY, // System 33 _SY,
39}; 34};
40 35
41 36
@@ -44,97 +39,11 @@ enum layer_names {
44#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped 39#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped
45 40
46 41
47// MACRO DEFINITIONS
48enum custom_keycodes {
49 GO_Q2 = KEYMAP_SAFE_RANGE,
50 Q2_ENT
51};
52
53
54/*******************
55** MODIFIER MASKS **
56*******************/
57unsigned char q2InputMode = 0;
58
59
60bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
61 switch(keycode) {
62 // these are our macros!
63 case GO_Q2:
64 if (record->event.pressed) {
65 //default_layer_set(_QW);
66 layer_move(_QW); // TO(_QW);
67 layer_on(_Q2);
68 //layer_off(_SY);
69 };
70 return false;
71 case Q2_ENT:
72 if (record->event.pressed) {
73 if (q2InputMode == 0) {
74 tap_code(KC_ENT);
75 q2InputMode = 1;
76 layer_on(_DV);
77 //layer_on(_Q2);
78 } else if (q2InputMode == 1) {
79 tap_code(KC_ENT);
80 q2InputMode = 0;
81 layer_off(_DV);
82 } else {
83 tap_code(KC_ENT);
84 }
85 };
86 return false;
87 case KC_ESC:
88 if (record->event.pressed) {
89 if (q2InputMode > 0) {
90 tap_code(KC_ESC);
91 q2InputMode = 0;
92 layer_off(_DV);
93 } else {
94 tap_code(KC_ESC);
95 }
96 };
97 return false;
98 case KC_GRV:
99 if (IS_LAYER_ON(_Q2) == true) {
100 if (record->event.pressed) {
101 if (q2InputMode == 0) {
102 tap_code(KC_GRV);
103 q2InputMode = 2;
104 layer_on(_DV);
105 } else if (q2InputMode == 1) {
106 tap_code(KC_GRV);
107 q2InputMode = 2;
108 } else {
109 tap_code(KC_GRV);
110 q2InputMode = 0;
111 layer_off(_DV);
112 }
113 }
114 };
115 return false;
116 } // switch()
117 return true;
118};
119
120
121// KEYMAPS 42// KEYMAPS
122const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123 44
124 /**************** 45 // BASE LAYERS
125 ** BASE LAYERS **
126 ****************/
127
128 /* QWERTY */
129 [_QW] = LAYOUT_60_ansi(
130 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,
131 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,
132 FN_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,
133 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
134 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
135 ),
136 46
137 /* Dvorak */
138 [_DV] = LAYOUT_60_ansi( 47 [_DV] = LAYOUT_60_ansi(
139 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, 48 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,
140 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, 49 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,
@@ -143,7 +52,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
143 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL 52 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
144 ), 53 ),
145 54
146 /* Colemak */ 55 [_QW] = LAYOUT_60_ansi(
56 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,
57 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,
58 FN_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,
59 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
60 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
61 ),
62
147 [_CM] = LAYOUT_60_ansi( 63 [_CM] = LAYOUT_60_ansi(
148 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, 64 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,
149 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, 65 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,
@@ -152,24 +68,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
152 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL 68 CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
153 ), 69 ),
154 70
155 /********************* 71 // QUAKE 2 OVERLAYS
156 ** QUAKE 2 OVERLAYS **
157 *********************/
158 72
159 /* Quake 2 */
160 [_Q2] = LAYOUT_60_ansi( 73 [_Q2] = LAYOUT_60_ansi(
161 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
162 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
163 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ENT, 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
164 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
165 KC_GRV, _______, _______, _______, _______, _______, _______, _______ 78 KC_GRV, _______, _______, _______, _______, _______, _______, _______
166 ), 79 ),
167 80
168 /******************** 81 // FUNCTION LAYER
169 ** FUNCTION LAYERS **
170 ********************/
171 82
172 /* Fn layer */
173 [_FN] = LAYOUT_60_ansi( 83 [_FN] = LAYOUT_60_ansi(
174 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, 84 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,
175 _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, 85 _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS,
@@ -178,11 +88,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
178 _______, _______, _______, TG(_NP), _______, _______, _______, _______ 88 _______, _______, _______, TG(_NP), _______, _______, _______, _______
179 ), 89 ),
180 90
181 /***************** 91 // OTHER LAYERS
182 ** OTHER LAYERS **
183 *****************/
184 92
185 /* Numpad layer */
186 [_NP] = LAYOUT_60_ansi( 93 [_NP] = LAYOUT_60_ansi(
187 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, 94 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______,
188 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, 95 _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______,
@@ -191,7 +98,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
191 _______, _______, _______, TG(_NP), _______, _______, _______, _______ 98 _______, _______, _______, TG(_NP), _______, _______, _______, _______
192 ), 99 ),
193 100
194 /* Macro layer */
195 [_MA] = LAYOUT_60_ansi( 101 [_MA] = LAYOUT_60_ansi(
196 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, 102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______,
197 _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP, 103 _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP,
@@ -200,9 +106,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
200 _______, _______, _______, _______, _______, _______, _______, _______ 106 _______, _______, _______, _______, _______, _______, _______, _______
201 ), 107 ),
202 108
203 /* System layer */
204 [_SY] = LAYOUT_60_ansi( 109 [_SY] = LAYOUT_60_ansi(
205 TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, 110 TG(_SY), TO(_QW), TO(_DV), TO(_CM), TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX,
206 XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 111 XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
207 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 112 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
208 XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 113 XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme.md b/keyboards/kc60/keymaps/noroadsleft/readme.md
index 8d0c6547a..dbab96d02 100644
--- a/keyboards/kc60/keymaps/noroadsleft/readme.md
+++ b/keyboards/kc60/keymaps/noroadsleft/readme.md
@@ -1,6 +1,6 @@
1# @noroadsleft's KC60 keymap 1# @noroadsleft's KC60 keymap
2 2
3### Last updated: April 26, 2021 13:33 (-0700) 3### Last updated: May 3, 2021 16:42 (-0700)
4 4
5![](https://i.imgur.com/tzhXQYIl.jpg) 5![](https://i.imgur.com/tzhXQYIl.jpg)
6 6
@@ -24,9 +24,9 @@ Descriptions of the physical locations of keys will use the key's function in a
24## Outline 24## Outline
25 25
26- [Base Layers](#base-layers) 26- [Base Layers](#base-layers)
27 - Layer 0: QWERTY `_QW` 27 - Layer 0: Dvorak `_DV`
28 - Layer 1: Hardware Dvorak `_DV` 28 - Layer 1: QWERTY `_QW`
29 - Layer 2: Hardware Colemak `_CM` 29 - Layer 2: Colemak `_CM`
30- [Quake 2 Layer](#quake-2-layer) 30- [Quake 2 Layer](#quake-2-layer)
31 - Layer 3: Quake 2 `_Q2` 31 - Layer 3: Quake 2 `_Q2`
32- [Function Layer](#function-layer) 32- [Function Layer](#function-layer)
@@ -41,30 +41,28 @@ Descriptions of the physical locations of keys will use the key's function in a
41 41
42## Base Layers 42## Base Layers
43 43
44### Layer 0: QWERTY - `_QW` 44My base layers are pretty standard for a 60%, with the following changes:
45 45
46Standard QWERTY layout, with four QMK features: 46- The `Menu` key has been replaced by `MO(_FN)`, which moves to my Function layer when held.
47
48- The `Menu` key has been replaced by `MO(_FW)`, which moves to my Windows Fn layer when held.
49- The Right `GUI` key has been replaced with a `MO(_MA)` key, which moves to the Macro layer when held. 47- The Right `GUI` key has been replaced with a `MO(_MA)` key, which moves to the Macro layer when held.
50- 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 48- The `Caps Lock` key has been replaced with a dual function `LT()` key, which opens the Function layer when held, and is `Caps Lock` when tapped.
51- The Left `Control` key has been replaced with a `MT(MOD_CTRL, KC_GRV)` key, which is <code>&#96; ~</code> when tapped and `Ctrl` when held. 49- The Left `Control` key has been replaced with a `MT(MOD_CTRL, KC_GRV)` key, which is `Ctrl` when held and <code>&#96; ~</code> when tapped.
52 50
53![QWERTY layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/qwerty.png) 51### Layer 0: Dvorak - `_DV`
54 52
53A hardware-based Dvorak Simplified layout. In this layer, I can leave the host system in QWERTY, plug my keyboard in, and still type in Dvorak.
55 54
56---- 55![Dvorak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/dvorak.png)
57 56
58### Layer 1: Hardware Dvorak - `_DV`
59 57
60- Accessed by holding either `Fn` and tapping `/?` key, then tapping `2@`. 58### Layer 1: QWERTY - `_QW`
61 59
62A 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. 60- Accessed by holding either `Fn` and tapping `/?` key, then tapping `2@`.
63 61
64![Hardware Dvorak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/dvorak.png) 62For when other people need to use my keyboard. :)
65 63
64![QWERTY layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/qwerty.png)
66 65
67----
68 66
69### Layer 2: Hardware Colemak `_CM` 67### Layer 2: Hardware Colemak `_CM`
70 68
@@ -72,7 +70,7 @@ A hardware-based Dvorak Simplified layout. At my weekend job, I use a shared com
72 70
73A hardware-based Colemak layout. Been thinking of trying it, so it's here. 71A hardware-based Colemak layout. Been thinking of trying it, so it's here.
74 72
75![Hardware Colemak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/colemak.png) 73![Colemak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/colemak.png)
76 74
77 75
78---- 76----
@@ -83,11 +81,7 @@ A hardware-based Colemak layout. Been thinking of trying it, so it's here.
83 81
84- Accessed by holding either `Fn` key and tapping the `/?` key, then tapping `4$` 82- Accessed by holding either `Fn` key and tapping the `/?` key, then tapping `4$`
85 83
86These 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. 84I used to have some macro craziness here. I've now switched to leaving my main system in QWERTY and having the Dvorak stuff happen on the keyboard, and setting my in-game key assignments to the Dvorak mapping (`.OEU` instead of `ESDF`).
87
88I have solved this by writing a custom QMK macro. The keycode in the System layer that enables these layers, [`GO_Q2`](./keymap.c#L205), is a [macro](./keymap.c#L63-L70) 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 changes the dual-function Left Control/Grave key to a standard Left Control, and the Enter key into a special Enter key specific to Quake 2.
89
90When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./keymap.c#L71-L86) I've created sends the keycode for `Enter`, then follows with flipping an internal boolean variable and enabling the Hardware Dvorak layer. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit `Enter` again, another `Enter` key is sent, which sends the message, then the macro flips the boolean back to false and disables the Hardware Dvorak layer, which brings me back to the standard QWERTY+Quake 2 setup. Hitting `Escape` instead runs a [macro](./keymap.c#L87-L97) that cancels the sending of the message, and undoes the layers.
91 85
92![Quake 2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/quake2.png) 86![Quake 2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/quake2.png)
93 87
@@ -96,7 +90,7 @@ When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./k
96 90
97## Function Layer 91## Function Layer
98 92
99### Layer 4: Fn layer - `_FN` 93### Layer 4: Function layer - `_FN`
100 94
101- Accessed by holding either `Fn` key from any base layer 95- Accessed by holding either `Fn` key from any base layer
102 96
@@ -118,8 +112,6 @@ Puts a Numpad on the right-hand side of the keyboard. A through F included for h
118![Numpad layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/numpad.png) 112![Numpad layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/numpad.png)
119 113
120 114
121----
122
123### Layer 6: Macro layer - `_MA` 115### Layer 6: Macro layer - `_MA`
124 116
125- Accessed by holding the right-side `Win` key 117- Accessed by holding the right-side `Win` key
@@ -131,8 +123,6 @@ For macro documentation, see [my userspace readme](../../../../users/noroadsleft
131![Macro layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/macros.png) 123![Macro layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/macros.png)
132 124
133 125
134----
135
136### Layer 7: System layer - `_SY` 126### Layer 7: System layer - `_SY`
137 127
138- Accessed by holding either `Fn` key and tapping the `/?` key 128- Accessed by holding either `Fn` key and tapping the `/?` key
diff --git a/users/noroadsleft/readme.md b/users/noroadsleft/readme.md
index 6a454b7c7..0a2153471 100644
--- a/users/noroadsleft/readme.md
+++ b/users/noroadsleft/readme.md
@@ -25,7 +25,7 @@ Some frequently used Git commands.
25| [`G_FTCH`](./noroadsleft.c#L43-L52) | `git fetch upstream ` | `git pull upstream ` | 25| [`G_FTCH`](./noroadsleft.c#L43-L52) | `git fetch upstream ` | `git pull upstream ` |
26| [`G_BRCH`](./noroadsleft.c#L53-L62) | `master` | `$(git branch-name)` | 26| [`G_BRCH`](./noroadsleft.c#L53-L62) | `master` | `$(git branch-name)` |
27 27
28`$(git branch-name)` is an alias for `git rev-parse --abbrev-ref HEAD`, which normally return the name of the current branch. 28`$(git branch-name)` is an alias for `git rev-parse --abbrev-ref HEAD`, which normally returns the name of the current branch.
29 29
30### "Macro Mode" Macros and Customized Keycodes 30### "Macro Mode" Macros and Customized Keycodes
31 31
@@ -76,6 +76,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
76## Footnotes 76## Footnotes
77 77
78- 1: [^](#macro-mode-macros-and-customized-keycodes) The `M_MDSWP` keycode is used in my keymaps in the following locations: 78- 1: [^](#macro-mode-macros-and-customized-keycodes) The `M_MDSWP` keycode is used in my keymaps in the following locations:
79 - [KC60](../../keyboards/kc60/keymaps/noroadsleft/keymap.c#L206) 79 - [KC60](../../keyboards/kc60/keymaps/noroadsleft/keymap.c#L111)
80 - [KBDfans KBD75 rev1](../../keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c#L102) 80 - [KBDfans KBD75 rev1](../../keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c#L93)
81 - [CoseyFannitutti Discipline](../../keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c#L67) 81 - [CoseyFannitutti Discipline](../../keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c#L66)