summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/chimera_ergo/chimera_ergo.h4
-rw-r--r--keyboards/chimera_ergo/info.json13
-rw-r--r--keyboards/chimera_ergo/keymaps/default/keymap.c177
-rw-r--r--keyboards/chimera_ergo/readme.md5
4 files changed, 85 insertions, 114 deletions
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):