mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 12:46:41 +00:00
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
This commit is contained in:
parent
25c97e0019
commit
8ed1addd1e
@ -15,11 +15,10 @@
|
||||
*/
|
||||
|
||||
#include "noroadsleft.h"
|
||||
#include "sendstring_dvorak.h"
|
||||
|
||||
enum layer_names {
|
||||
_QW,
|
||||
_DV,
|
||||
_QW,
|
||||
_NP,
|
||||
_FN,
|
||||
_SY
|
||||
@ -30,14 +29,6 @@ enum layer_names {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QW] = LAYOUT_65_ansi(
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_DV] = LAYOUT_65_ansi(
|
||||
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,
|
||||
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] = {
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_QW] = LAYOUT_65_ansi(
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_NP] = LAYOUT_65_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, 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] = {
|
||||
),
|
||||
|
||||
[_SY] = LAYOUT_65_ansi(
|
||||
TG(_SY), TO(_QW), TO(_DV), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX,
|
||||
TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
|
||||
#include "noroadsleft.h"
|
||||
//#include "version.h"
|
||||
#include "sendstring_dvorak.h"
|
||||
|
||||
#define LAYOUT_75_ansi_wkl( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||
@ -35,20 +33,13 @@
|
||||
}
|
||||
|
||||
enum layer_names {
|
||||
_QW,
|
||||
_DV,
|
||||
_QW,
|
||||
_Q2,
|
||||
_FN,
|
||||
_SY
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
GO_Q2 = KEYMAP_SAFE_RANGE,
|
||||
Q2_ENT
|
||||
};
|
||||
|
||||
unsigned char q2InputMode = 0;
|
||||
|
||||
// Tap Dance declarations
|
||||
enum tap_dances {
|
||||
LAG,
|
||||
@ -65,14 +56,6 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
#define FN_CAPS LT(_FN,KC_CAPS)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QW] = LAYOUT_75_ansi_wkl(
|
||||
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),
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_DV] = LAYOUT_75_ansi_wkl(
|
||||
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),
|
||||
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] = {
|
||||
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,
|
||||
KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_QW] = LAYOUT_75_ansi_wkl(
|
||||
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),
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
KC_LCTL, TD(LAG), KC_SPC, TD(RAG), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_Q2] = LAYOUT_75_ansi_wkl(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ENT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LALT, _______, KC_RALT, _______, _______, _______, _______
|
||||
),
|
||||
@ -98,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_SY] = LAYOUT_75_ansi_wkl(
|
||||
_______, TO(_QW), TO(_DV), _______, GO_Q2, _______, _______, _______, RESET, EEP_RST, DEBUG, _______, VRSN, _______, _______, _______,
|
||||
_______, TO(_DV), TO(_QW), _______, TG(_Q2), _______, _______, _______, RESET, EEP_RST, DEBUG, _______, VRSN, _______, _______, _______,
|
||||
_______, _______, M_MDSWP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
|
||||
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
@ -111,62 +102,3 @@ bool led_update_user(led_t led_state) {
|
||||
writePin(B2, !led_state.caps_lock);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case GO_Q2:
|
||||
if (record->event.pressed) {
|
||||
layer_move(_QW);
|
||||
layer_on(_Q2);
|
||||
};
|
||||
return false;
|
||||
case Q2_ENT:
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode == 0) {
|
||||
tap_code(KC_ENT);
|
||||
q2InputMode = 1;
|
||||
layer_on(_DV);
|
||||
//layer_on(_Q2);
|
||||
} else if (q2InputMode == 1) {
|
||||
tap_code(KC_ENT);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
} else {
|
||||
tap_code(KC_ENT);
|
||||
}
|
||||
};
|
||||
return false;
|
||||
case KC_ESC:
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode > 0) {
|
||||
tap_code(KC_ESC);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
} else {
|
||||
tap_code(KC_ESC);
|
||||
}
|
||||
};
|
||||
return false;
|
||||
case KC_GRV:
|
||||
if (IS_LAYER_ON(_Q2) == true) {
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode == 0) {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 2;
|
||||
layer_on(_DV);
|
||||
} else if (q2InputMode == 1) {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 2;
|
||||
} else {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
return true;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -15,27 +15,22 @@
|
||||
*/
|
||||
|
||||
#include "noroadsleft.h"
|
||||
#include "sendstring_dvorak.h"
|
||||
//#include "sendstring_colemak.h"
|
||||
#include "print.h"
|
||||
|
||||
|
||||
/**********************
|
||||
** LAYER DEFINITIONS **
|
||||
**********************/
|
||||
// LAYER DEFINITIONS
|
||||
enum layer_names {
|
||||
// BASE LAYERS
|
||||
_QW, // QWERTY
|
||||
_DV, // Dvorak
|
||||
_CM, // Colemak
|
||||
_DV,
|
||||
_QW,
|
||||
_CM,
|
||||
// QUAKE 2 OVERLAY
|
||||
_Q2, // Quake 2
|
||||
_Q2,
|
||||
// FUNCTION LAYER
|
||||
_FN, // Function
|
||||
_FN,
|
||||
// OTHER LAYERS
|
||||
_NP, // Numpad
|
||||
_MA, // Macros
|
||||
_SY, // System
|
||||
_NP,
|
||||
_MA,
|
||||
_SY,
|
||||
};
|
||||
|
||||
|
||||
@ -44,97 +39,11 @@ enum layer_names {
|
||||
#define CTL_GRV MT(MOD_LCTL, KC_GRV) // Left Control when held, Grave accent when tapped
|
||||
|
||||
|
||||
// MACRO DEFINITIONS
|
||||
enum custom_keycodes {
|
||||
GO_Q2 = KEYMAP_SAFE_RANGE,
|
||||
Q2_ENT
|
||||
};
|
||||
|
||||
|
||||
/*******************
|
||||
** MODIFIER MASKS **
|
||||
*******************/
|
||||
unsigned char q2InputMode = 0;
|
||||
|
||||
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
switch(keycode) {
|
||||
// these are our macros!
|
||||
case GO_Q2:
|
||||
if (record->event.pressed) {
|
||||
//default_layer_set(_QW);
|
||||
layer_move(_QW); // TO(_QW);
|
||||
layer_on(_Q2);
|
||||
//layer_off(_SY);
|
||||
};
|
||||
return false;
|
||||
case Q2_ENT:
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode == 0) {
|
||||
tap_code(KC_ENT);
|
||||
q2InputMode = 1;
|
||||
layer_on(_DV);
|
||||
//layer_on(_Q2);
|
||||
} else if (q2InputMode == 1) {
|
||||
tap_code(KC_ENT);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
} else {
|
||||
tap_code(KC_ENT);
|
||||
}
|
||||
};
|
||||
return false;
|
||||
case KC_ESC:
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode > 0) {
|
||||
tap_code(KC_ESC);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
} else {
|
||||
tap_code(KC_ESC);
|
||||
}
|
||||
};
|
||||
return false;
|
||||
case KC_GRV:
|
||||
if (IS_LAYER_ON(_Q2) == true) {
|
||||
if (record->event.pressed) {
|
||||
if (q2InputMode == 0) {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 2;
|
||||
layer_on(_DV);
|
||||
} else if (q2InputMode == 1) {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 2;
|
||||
} else {
|
||||
tap_code(KC_GRV);
|
||||
q2InputMode = 0;
|
||||
layer_off(_DV);
|
||||
}
|
||||
}
|
||||
};
|
||||
return false;
|
||||
} // switch()
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
// KEYMAPS
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/****************
|
||||
** BASE LAYERS **
|
||||
****************/
|
||||
// BASE LAYERS
|
||||
|
||||
/* QWERTY */
|
||||
[_QW] = LAYOUT_60_ansi(
|
||||
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,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
/* Dvorak */
|
||||
[_DV] = LAYOUT_60_ansi(
|
||||
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,
|
||||
@ -143,7 +52,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
/* Colemak */
|
||||
[_QW] = LAYOUT_60_ansi(
|
||||
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,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
[_CM] = LAYOUT_60_ansi(
|
||||
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,
|
||||
@ -152,24 +68,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_MA), MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
/*********************
|
||||
** QUAKE 2 OVERLAYS **
|
||||
*********************/
|
||||
// QUAKE 2 OVERLAYS
|
||||
|
||||
/* Quake 2 */
|
||||
[_Q2] = LAYOUT_60_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, Q2_ENT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/********************
|
||||
** FUNCTION LAYERS **
|
||||
********************/
|
||||
// FUNCTION LAYER
|
||||
|
||||
/* Fn layer */
|
||||
[_FN] = LAYOUT_60_ansi(
|
||||
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_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] = {
|
||||
_______, _______, _______, TG(_NP), _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*****************
|
||||
** OTHER LAYERS **
|
||||
*****************/
|
||||
// OTHER LAYERS
|
||||
|
||||
/* Numpad layer */
|
||||
[_NP] = LAYOUT_60_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, 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] = {
|
||||
_______, _______, _______, TG(_NP), _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Macro layer */
|
||||
[_MA] = LAYOUT_60_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______,
|
||||
_______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP,
|
||||
@ -200,9 +106,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* System layer */
|
||||
[_SY] = LAYOUT_60_ansi(
|
||||
TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX,
|
||||
TG(_SY), TO(_QW), TO(_DV), TO(_CM), TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -1,6 +1,6 @@
|
||||
# @noroadsleft's KC60 keymap
|
||||
|
||||
### Last updated: April 26, 2021 13:33 (-0700)
|
||||
### Last updated: May 3, 2021 16:42 (-0700)
|
||||
|
||||
![](https://i.imgur.com/tzhXQYIl.jpg)
|
||||
|
||||
@ -24,9 +24,9 @@ Descriptions of the physical locations of keys will use the key's function in a
|
||||
## Outline
|
||||
|
||||
- [Base Layers](#base-layers)
|
||||
- Layer 0: QWERTY `_QW`
|
||||
- Layer 1: Hardware Dvorak `_DV`
|
||||
- Layer 2: Hardware Colemak `_CM`
|
||||
- Layer 0: Dvorak `_DV`
|
||||
- Layer 1: QWERTY `_QW`
|
||||
- Layer 2: Colemak `_CM`
|
||||
- [Quake 2 Layer](#quake-2-layer)
|
||||
- Layer 3: Quake 2 `_Q2`
|
||||
- [Function Layer](#function-layer)
|
||||
@ -41,38 +41,36 @@ Descriptions of the physical locations of keys will use the key's function in a
|
||||
|
||||
## Base Layers
|
||||
|
||||
### Layer 0: QWERTY - `_QW`
|
||||
My base layers are pretty standard for a 60%, with the following changes:
|
||||
|
||||
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 `Menu` key has been replaced by `MO(_FN)`, which moves to my Function 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 Left `Control` key has been replaced with a `MT(MOD_CTRL, KC_GRV)` key, which is <code>` ~</code> when tapped and `Ctrl` when held.
|
||||
- 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.
|
||||
- The Left `Control` key has been replaced with a `MT(MOD_CTRL, KC_GRV)` key, which is `Ctrl` when held and <code>` ~</code> when tapped.
|
||||
|
||||
![QWERTY layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/qwerty.png)
|
||||
### Layer 0: Dvorak - `_DV`
|
||||
|
||||
A 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.
|
||||
|
||||
![Dvorak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/dvorak.png)
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Layer 1: Hardware Dvorak - `_DV`
|
||||
### Layer 1: QWERTY - `_QW`
|
||||
|
||||
- Accessed by holding either `Fn` and tapping `/?` key, then tapping `2@`.
|
||||
|
||||
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.
|
||||
For when other people need to use my keyboard. :)
|
||||
|
||||
![Hardware Dvorak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/dvorak.png)
|
||||
![QWERTY layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/qwerty.png)
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Layer 2: Hardware Colemak `_CM`
|
||||
|
||||
- Accessed by holding either `Fn` and tapping `/?` key, then tapping `3#`.
|
||||
|
||||
A hardware-based Colemak layout. Been thinking of trying it, so it's here.
|
||||
|
||||
![Hardware Colemak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/colemak.png)
|
||||
![Colemak layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/colemak.png)
|
||||
|
||||
|
||||
----
|
||||
@ -83,11 +81,7 @@ A hardware-based Colemak layout. Been thinking of trying it, so it's here.
|
||||
|
||||
- Accessed by holding either `Fn` key and tapping the `/?` key, then tapping `4$`
|
||||
|
||||
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 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.
|
||||
|
||||
When 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.
|
||||
I 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`).
|
||||
|
||||
![Quake 2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/quake2.png)
|
||||
|
||||
@ -96,7 +90,7 @@ When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./k
|
||||
|
||||
## Function Layer
|
||||
|
||||
### Layer 4: Fn layer - `_FN`
|
||||
### Layer 4: Function layer - `_FN`
|
||||
|
||||
- Accessed by holding either `Fn` key from any base layer
|
||||
|
||||
@ -118,8 +112,6 @@ Puts a Numpad on the right-hand side of the keyboard. A through F included for h
|
||||
![Numpad layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/numpad.png)
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Layer 6: Macro layer - `_MA`
|
||||
|
||||
- Accessed by holding the right-side `Win` key
|
||||
@ -131,8 +123,6 @@ For macro documentation, see [my userspace readme](../../../../users/noroadsleft
|
||||
![Macro layer](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/kc60/keymaps/noroadsleft/macros.png)
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Layer 7: System layer - `_SY`
|
||||
|
||||
- Accessed by holding either `Fn` key and tapping the `/?` key
|
||||
|
@ -25,7 +25,7 @@ Some frequently used Git commands.
|
||||
| [`G_FTCH`](./noroadsleft.c#L43-L52) | `git fetch upstream ` | `git pull upstream ` |
|
||||
| [`G_BRCH`](./noroadsleft.c#L53-L62) | `master` | `$(git branch-name)` |
|
||||
|
||||
`$(git branch-name)` is an alias for `git rev-parse --abbrev-ref HEAD`, which normally return the name of the current branch.
|
||||
`$(git branch-name)` is an alias for `git rev-parse --abbrev-ref HEAD`, which normally returns the name of the current branch.
|
||||
|
||||
### "Macro Mode" Macros and Customized Keycodes
|
||||
|
||||
@ -76,6 +76,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
## Footnotes
|
||||
|
||||
- 1: [^](#macro-mode-macros-and-customized-keycodes) The `M_MDSWP` keycode is used in my keymaps in the following locations:
|
||||
- [KC60](../../keyboards/kc60/keymaps/noroadsleft/keymap.c#L206)
|
||||
- [KBDfans KBD75 rev1](../../keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c#L102)
|
||||
- [CoseyFannitutti Discipline](../../keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c#L67)
|
||||
- [KC60](../../keyboards/kc60/keymaps/noroadsleft/keymap.c#L111)
|
||||
- [KBDfans KBD75 rev1](../../keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c#L93)
|
||||
- [CoseyFannitutti Discipline](../../keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c#L66)
|
||||
|
Loading…
Reference in New Issue
Block a user