From 6c8d815f2eec970a685aaf25a977fb2a04f53b8f Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 9 Mar 2020 15:37:10 +1100 Subject: Update Dvorak, Colemak and Workman keycode aliases (#8217) * Update Dvorak, Colemak and Workman keycode aliases * Add missing shifted keycode aliases for Workman --- quantum/keymap_extras/keymap_colemak.h | 201 ++++++++++++++++++++++----------- 1 file changed, 134 insertions(+), 67 deletions(-) (limited to 'quantum/keymap_extras/keymap_colemak.h') diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h index 166deeea42..a080f03b3d 100644 --- a/quantum/keymap_extras/keymap_colemak.h +++ b/quantum/keymap_extras/keymap_colemak.h @@ -13,78 +13,145 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifndef KEYMAP_COLEMAK_H -#define KEYMAP_COLEMAK_H -#include "keymap.h" -// For software implementation of colemak -#define CM_Q KC_Q -#define CM_W KC_W -#define CM_F KC_E -#define CM_P KC_R -#define CM_G KC_T -#define CM_J KC_Y -#define CM_L KC_U -#define CM_U KC_I -#define CM_Y KC_O -#define CM_SCLN KC_P +#pragma once -#define CM_A KC_A -#define CM_R KC_S -#define CM_S KC_D -#define CM_T KC_F -#define CM_D KC_G -#define CM_H KC_H -#define CM_N KC_J -#define CM_E KC_K -#define CM_I KC_L -#define CM_O KC_SCLN -#define CM_COLN LSFT(CM_SCLN) +#include "keymap.h" -#define CM_Z KC_Z -#define CM_X KC_X -#define CM_C KC_C -#define CM_V KC_V -#define CM_B KC_B -#define CM_K KC_N -#define CM_M KC_M -#define CM_COMM KC_COMM -#define CM_DOT KC_DOT -#define CM_SLSH KC_SLSH +// clang-format off -// Make it easy to support these in macros -// TODO: change macro implementation so these aren't needed -#define KC_CM_Q CM_Q -#define KC_CM_W CM_W -#define KC_CM_F CM_F -#define KC_CM_P CM_P -#define KC_CM_G CM_G -#define KC_CM_J CM_J -#define KC_CM_L CM_L -#define KC_CM_U CM_U -#define KC_CM_Y CM_Y -#define KC_CM_SCLN CM_SCLN +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │  \  │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │      │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CM_GRV KC_GRV // ` +#define CM_1 KC_1 // 1 +#define CM_2 KC_2 // 2 +#define CM_3 KC_3 // 3 +#define CM_4 KC_4 // 4 +#define CM_5 KC_5 // 5 +#define CM_6 KC_6 // 6 +#define CM_7 KC_7 // 7 +#define CM_8 KC_8 // 8 +#define CM_9 KC_9 // 9 +#define CM_0 KC_0 // 0 +#define CM_MINS KC_MINS // - +#define CM_EQL KC_EQL // = +// Row 2 +#define CM_Q KC_Q // Q +#define CM_W KC_W // W +#define CM_F KC_E // F +#define CM_P KC_R // P +#define CM_G KC_T // G +#define CM_J KC_Y // J +#define CM_L KC_U // L +#define CM_U KC_I // U +#define CM_Y KC_O // Y +#define CM_SCLN KC_P // ; +#define CM_LBRC KC_LBRC // [ +#define CM_RBRC KC_RBRC // ] +#define CM_BSLS KC_BSLS // (backslash) +// Row 3 +#define CM_A KC_A // A +#define CM_R KC_S // R +#define CM_S KC_D // S +#define CM_T KC_F // T +#define CM_D KC_G // D +#define CM_H KC_H // H +#define CM_N KC_J // N +#define CM_E KC_K // E +#define CM_I KC_L // I +#define CM_O KC_SCLN // O +#define CM_QUOT KC_QUOT // ' +// Row 4 +#define CM_Z KC_Z // Z +#define CM_X KC_X // X +#define CM_C KC_C // C +#define CM_V KC_V // V +#define CM_B KC_B // B +#define CM_K KC_N // K +#define CM_M KC_M // M +#define CM_COMM KC_COMM // , +#define CM_DOT KC_DOT // . +#define CM_SLSH KC_SLSH // / -#define KC_CM_A CM_A -#define KC_CM_R CM_R -#define KC_CM_S CM_S -#define KC_CM_T CM_T -#define KC_CM_D CM_D -#define KC_CM_H CM_H -#define KC_CM_N CM_N -#define KC_CM_E CM_E -#define KC_CM_I CM_I -#define KC_CM_O CM_O +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │ : │ { │ } │  |  │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │      │   │   │   │   │   │   │   │   │   │   │ " │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CM_TILD S(CM_GRV) // ~ +#define CM_EXLM S(CM_1) // ! +#define CM_AT S(CM_2) // @ +#define CM_HASH S(CM_3) // # +#define CM_DLR S(CM_4) // $ +#define CM_PERC S(CM_5) // % +#define CM_CIRC S(CM_6) // ^ +#define CM_AMPR S(CM_7) // & +#define CM_ASTR S(CM_8) // * +#define CM_LPRN S(CM_9) // ( +#define CM_RPRN S(CM_0) // ) +#define CM_UNDS S(CM_MINS) // _ +#define CM_PLUS S(CM_EQL) // + +// Row 2 +#define CM_COLN S(CM_SCLN) // : +#define CM_LCBR S(CM_LBRC) // { +#define CM_RCBR S(CM_RBRC) // } +#define CM_PIPE S(CM_BSLS) // | +// Row 3 +#define CM_DQUO S(CM_QUOT) // " +// Row 4 +#define CM_LABK S(CM_COMM) // < +#define CM_RABK S(CM_DOT) // > +#define CM_QUES S(CM_SLSH) // / -#define KC_CM_Z CM_Z -#define KC_CM_X CM_X -#define KC_CM_C CM_C -#define KC_CM_V CM_V -#define KC_CM_B CM_B -#define KC_CM_K CM_K -#define KC_CM_M CM_M +// DEPRECATED +#define KC_CM_Q CM_Q +#define KC_CM_W CM_W +#define KC_CM_F CM_F +#define KC_CM_P CM_P +#define KC_CM_G CM_G +#define KC_CM_J CM_J +#define KC_CM_L CM_L +#define KC_CM_U CM_U +#define KC_CM_Y CM_Y +#define KC_CM_SCLN CM_SCLN +#define KC_CM_A CM_A +#define KC_CM_R CM_R +#define KC_CM_S CM_S +#define KC_CM_T CM_T +#define KC_CM_D CM_D +#define KC_CM_H CM_H +#define KC_CM_N CM_N +#define KC_CM_E CM_E +#define KC_CM_I CM_I +#define KC_CM_O CM_O +#define KC_CM_Z CM_Z +#define KC_CM_X CM_X +#define KC_CM_C CM_C +#define KC_CM_V CM_V +#define KC_CM_B CM_B +#define KC_CM_K CM_K +#define KC_CM_M CM_M #define KC_CM_COMM CM_COMM -#define KC_CM_DOT CM_DOT +#define KC_CM_DOT CM_DOT #define KC_CM_SLSH CM_SLSH - -#endif -- cgit v1.2.3