From 9ce7374563e841c8bbfc8145f233edd8e3880850 Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 11 Jul 2018 08:29:13 -0700 Subject: [PATCH] Refactor, Configurator update, and Readme cleanup for Chimera Ergo (#3083) * Refactor for Chimera Ergo * Readme cleanup * Configurator update --- keyboards/chimera_ergo/chimera_ergo.h | 4 +- keyboards/chimera_ergo/info.json | 13 ++ .../chimera_ergo/keymaps/default/keymap.c | 177 +++++++----------- keyboards/chimera_ergo/readme.md | 5 +- 4 files changed, 85 insertions(+), 114 deletions(-) create mode 100644 keyboards/chimera_ergo/info.json diff --git a/keyboards/chimera_ergo/chimera_ergo.h b/keyboards/chimera_ergo/chimera_ergo.h index 36525ac00..a9275e3a8 100644 --- a/keyboards/chimera_ergo/chimera_ergo.h +++ b/keyboards/chimera_ergo/chimera_ergo.h @@ -49,7 +49,7 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define KC_KEYMAP( \ +#define LAYOUT_kc( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ @@ -64,7 +64,7 @@ { KC_##k29, KC_##k41, KC_##k03, KC_##k40, KC_##k37, KC_NO, KC_##k30, KC_##k43, KC_##k08, KC_##k10, KC_##k46, KC_NO }, \ } -#define KEYMAP( \ +#define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ diff --git a/keyboards/chimera_ergo/info.json b/keyboards/chimera_ergo/info.json new file mode 100644 index 000000000..c61448088 --- /dev/null +++ b/keyboards/chimera_ergo/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Chimera Ergo", + "url": "", + "maintainer": "qmk", + "width": 13, + "height": 6, + "layouts": { + "LAYOUT": { + "key_count": 52, + "layout": [{"label":"k00", "x":0, "y":1}, {"label":"k01", "x":1, "y":0.75}, {"label":"k02", "x":2, "y":0.25}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0.25}, {"label":"k05", "x":5, "y":0.5}, {"label":"k06", "x":7, "y":0.5}, {"label":"k07", "x":8, "y":0.25}, {"label":"k08", "x":9, "y":0}, {"label":"k09", "x":10, "y":0.25}, {"label":"k10", "x":11, "y":0.75}, {"label":"k11", "x":12, "y":1}, {"label":"k12", "x":0, "y":2}, {"label":"k13", "x":1, "y":1.75}, {"label":"k14", "x":2, "y":1.25}, {"label":"k15", "x":3, "y":1}, {"label":"k16", "x":4, "y":1.25}, {"label":"k17", "x":5, "y":1.5}, {"label":"k18", "x":7, "y":1.5}, {"label":"k19", "x":8, "y":1.25}, {"label":"k20", "x":9, "y":1}, {"label":"k21", "x":10, "y":1.25}, {"label":"k22", "x":11, "y":1.75}, {"label":"k23", "x":12, "y":2}, {"label":"k24", "x":0, "y":3}, {"label":"k25", "x":1, "y":2.75}, {"label":"k26", "x":2, "y":2.25}, {"label":"k27", "x":3, "y":2}, {"label":"k28", "x":4, "y":2.25}, {"label":"k29", "x":5, "y":2.5}, {"label":"k30", "x":7, "y":2.5}, {"label":"k31", "x":8, "y":2.25}, {"label":"k32", "x":9, "y":2}, {"label":"k33", "x":10, "y":2.25}, {"label":"k34", "x":11, "y":2.75}, {"label":"k35", "x":12, "y":3}, {"label":"k36", "x":0, "y":4}, {"label":"k37", "x":1, "y":3.75}, {"label":"k38", "x":2, "y":3.25}, {"label":"k39", "x":3, "y":3}, {"label":"k40", "x":4, "y":3.25}, {"label":"k41", "x":5, "y":3.5}, {"label":"k42", "x":7, "y":3.5}, {"label":"k43", "x":8, "y":3.25}, {"label":"k44", "x":9, "y":3}, {"label":"k45", "x":10, "y":3.25}, {"label":"k46", "x":11, "y":3.75}, {"label":"k47", "x":12, "y":4}, {"label":"k48", "x":4, "y":4.75}, {"label":"k49", "x":5, "y":5}, {"label":"k50", "x":7, "y":5}, {"label":"k51", "x":8, "y":4.75}] + } + } +} diff --git a/keyboards/chimera_ergo/keymaps/default/keymap.c b/keyboards/chimera_ergo/keymaps/default/keymap.c index 0479fa419..f24e6194b 100644 --- a/keyboards/chimera_ergo/keymaps/default/keymap.c +++ b/keyboards/chimera_ergo/keymaps/default/keymap.c @@ -1,7 +1,7 @@ // this is the style you want to emulate. // This is the canonical layout file for the Quantum project. If you want to add another keyboard, -#include "chimera_ergo.h" +#include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. @@ -9,30 +9,29 @@ // entirely and just use numbers. enum chimera_ergo_layers { - _QWERTY, - _CAPS, - _NUMPAD, - _SYMBOLS, - _MACROS, - _NAV + _QWERTY, + _CAPS, + _NUMPAD, + _SYMBOLS, + _MACROS, + _NAV }; -#define KC_NMPD TG(_NUMPAD) -#define KC_SYMB TG(_SYMBOLS) -#define KC_SPFN LT(_NAV,KC_EQL) -#define KC_SCTL MT(MOD_LCTL, KC_LBRC) -#define KC_SCTR MT(MOD_LCTL, KC_RBRC) -#define KC_SPLT MT(MOD_LALT, KC_MINS) -#define KC_SPRT MT(MOD_LALT, KC_1) -#define KC_GBRC MT(MOD_RGUI, KC_RBRC) -#define KC_GQOT MT(MOD_LGUI, KC_QUOT) -#define KC_MESC LT(_MACROS, KC_ESC) -#define KC_INCL M(0) -#define KC_PULL M(1) -#define KC_PUSH M(2) -#define KC_SCAP M(3) -#define KC_SCOF M(4) -#define KC_CAD LALT(LCTL(KC_DEL)) +#define SC_NMPD TG(_NUMPAD) +#define SC_SYMB TG(_SYMBOLS) +#define SC_SPFN LT(_NAV,KC_EQL) +#define SC_SCTL MT(MOD_LCTL, KC_LBRC) +#define SC_SCTR MT(MOD_LCTL, KC_RBRC) +#define SC_SPLT MT(MOD_LALT, KC_MINS) +#define SC_SPRT MT(MOD_LALT, KC_1) +#define SC_GBRC MT(MOD_RGUI, KC_RBRC) +#define SC_MESC LT(_MACROS, KC_ESC) +#define SC_INCL M(0) +#define SC_PULL M(1) +#define SC_PUSH M(2) +#define SC_SCAP M(3) +#define SC_SCOF M(4) +#define SC_CAD LALT(LCTL(KC_DEL)) #define LONGPRESS_DELAY 150 //#define LAYER_TOGGLE_DELAY 300 @@ -40,95 +39,57 @@ enum chimera_ergo_layers // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO -#define KC_ KC_TRNS const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - LBRC, 1 ,SCTL,SPLT,SPFN, 5 , 6 ,GBRC,SPRT,SCTR, 0 ,RBRC, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - MESC, Q , W , E , R , T , Y , U , I , O , P ,QUOT, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - TAB , A , S , D , F , G , H , J , K , L ,SCLN,ENT , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - LSPO, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,RSPC, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - NMPD,BSPC, SPC ,SYMB - // \------------------+----+----/ \---+----+----+--------------/ + [_QWERTY] = LAYOUT( + KC_LBRC, KC_1, SC_SCTL, SC_SPLT, SC_SPFN, KC_5, KC_6, SC_GBRC, SC_SPRT, SC_SCTR, KC_0, KC_RBRC, + SC_MESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, + SC_NMPD, KC_BSPC, KC_SPC, SC_SYMB ), - [_CAPS] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - ,UNDS, , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , , , , ,COLN, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - SCOF, , , , , , , , , , ,SCOF, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , - // \------------------+----+----/ \---+----+----+--------------/ + [_CAPS] = LAYOUT( + _______, KC_UNDS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, + SC_SCOF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SC_SCOF, + _______, _______, _______, _______ ), - [_NUMPAD] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , , , , , , , , , ,MINS, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , ,COLN, , , , , 7 , 8 , 9 ,ASTR, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , ,DOT , , , , , 4 , 5 , 6 ,PLUS, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , , 1 , 2 , 3 ,SLSH, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , 0 - // \------------------+----+----/ \---+----+----+--------------/ + [_NUMPAD] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, + _______, _______, KC_COLN, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, + _______, _______, KC_DOT , _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, + _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_SLSH, _______, + _______, _______, _______, KC_0 ), - [_SYMBOLS] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , , , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSLS, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - F1 , F2 , F3 , F4 , F5 , F6 , TILD,EQL ,UNDS,LCBR,RCBR, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - F7 , F8 , F9 ,F10 ,F11 ,F12 , GRV ,PLUS,MINS,LBRC,RBRC, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - PIPE, , , - // \------------------+----+----/ \---+----+----+--------------/ + [_SYMBOLS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TILD, KC_EQL, KC_UNDS, KC_LCBR, KC_RCBR, _______, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_PLUS, KC_MINS, KC_LBRC, KC_RBRC, _______, + KC_PIPE, _______, _______, _______ ), - [_MACROS] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , , , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , , ,INCL, , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , ,CAD , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - SCAP, , , , , , , ,PULL,PUSH, , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , - // \------------------+----+----/ \---+----+----+--------------/ + [_MACROS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, SC_INCL, _______, _______, _______, + _______, _______, _______, SC_CAD, _______, _______, _______, _______, _______, _______, _______, _______, + SC_SCAP, _______, _______, _______, _______, _______, _______, _______, SC_PULL, SC_PUSH, _______, _______, + _______, _______, _______, _______ ), - [_NAV] = KC_KEYMAP( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , , , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , ,PGUP, UP ,PGDN,PSCR, , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , ,LEFT,DOWN,RGHT, , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - , , , , , , , , , , , , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - ,DEL , , - // \------------------+----+----/ \---+----+----+--------------/ + [_NAV] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_DEL, _______, _______ ), - }; @@ -175,18 +136,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } return MACRO_NONE; }; - + void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); - + switch (layer) { - case _QWERTY: - set_led_green; - break; + case _QWERTY: + set_led_green; + break; case _CAPS: - set_led_white; - break; + set_led_white; + break; case _NUMPAD: set_led_blue; break; @@ -194,11 +155,11 @@ void matrix_scan_user(void) { set_led_red; break; case _NAV: - set_led_magenta; - break; + set_led_magenta; + break; case _MACROS: - set_led_cyan; - break; + set_led_cyan; + break; default: set_led_green; break; diff --git a/keyboards/chimera_ergo/readme.md b/keyboards/chimera_ergo/readme.md index 9e01512f6..619229544 100644 --- a/keyboards/chimera_ergo/readme.md +++ b/keyboards/chimera_ergo/readme.md @@ -5,10 +5,7 @@ A split wireless 40% ergonomic keyboard Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle) - - -Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822 - +Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822 Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ergo/gerbers) Make example for this keyboard (after setting up your build environment):