aboutsummaryrefslogtreecommitdiff
path: root/keyboards/chimera_ergo
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2018-07-11 08:29:13 -0700
committerDrashna Jaelre <drashna@live.com>2018-07-11 08:29:13 -0700
commit9ce7374563e841c8bbfc8145f233edd8e3880850 (patch)
tree59d3a282dddc34f0154e0907cce1196841369117 /keyboards/chimera_ergo
parent2ddabda586d021fde22b9e1ec26ceb6d54373fc0 (diff)
downloadqmk_firmware-9ce7374563e841c8bbfc8145f233edd8e3880850.tar.gz
qmk_firmware-9ce7374563e841c8bbfc8145f233edd8e3880850.zip
Refactor, Configurator update, and Readme cleanup for Chimera Ergo (#3083)
* Refactor for Chimera Ergo * Readme cleanup * Configurator update
Diffstat (limited to 'keyboards/chimera_ergo')
-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 @@
49// This a shortcut to help you visually see your layout. 49// This a shortcut to help you visually see your layout.
50// The first section contains all of the arguements 50// The first section contains all of the arguements
51// The second converts the arguments into a two-dimensional array 51// The second converts the arguments into a two-dimensional array
52#define KC_KEYMAP( \ 52#define LAYOUT_kc( \
53 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ 53 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
54 k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ 54 k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
55 k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ 55 k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
@@ -64,7 +64,7 @@
64 { KC_##k29, KC_##k41, KC_##k03, KC_##k40, KC_##k37, KC_NO, KC_##k30, KC_##k43, KC_##k08, KC_##k10, KC_##k46, KC_NO }, \ 64 { KC_##k29, KC_##k41, KC_##k03, KC_##k40, KC_##k37, KC_NO, KC_##k30, KC_##k43, KC_##k08, KC_##k10, KC_##k46, KC_NO }, \
65} 65}
66 66
67#define KEYMAP( \ 67#define LAYOUT( \
68 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ 68 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
69 k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ 69 k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
70 k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ 70 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 @@
1{
2 "keyboard_name": "Chimera Ergo",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 13,
6 "height": 6,
7 "layouts": {
8 "LAYOUT": {
9 "key_count": 52,
10 "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}]
11 }
12 }
13}
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 @@
1// this is the style you want to emulate. 1// this is the style you want to emulate.
2// This is the canonical layout file for the Quantum project. If you want to add another keyboard, 2// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
3 3
4#include "chimera_ergo.h" 4#include QMK_KEYBOARD_H
5 5
6// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
7// The underscores don't mean anything - you can have a layer called STUFF or any other name. 7// The underscores don't mean anything - you can have a layer called STUFF or any other name.
@@ -9,30 +9,29 @@
9// entirely and just use numbers. 9// entirely and just use numbers.
10enum chimera_ergo_layers 10enum chimera_ergo_layers
11{ 11{
12 _QWERTY, 12 _QWERTY,
13 _CAPS, 13 _CAPS,
14 _NUMPAD, 14 _NUMPAD,
15 _SYMBOLS, 15 _SYMBOLS,
16 _MACROS, 16 _MACROS,
17 _NAV 17 _NAV
18}; 18};
19 19
20#define KC_NMPD TG(_NUMPAD) 20#define SC_NMPD TG(_NUMPAD)
21#define KC_SYMB TG(_SYMBOLS) 21#define SC_SYMB TG(_SYMBOLS)
22#define KC_SPFN LT(_NAV,KC_EQL) 22#define SC_SPFN LT(_NAV,KC_EQL)
23#define KC_SCTL MT(MOD_LCTL, KC_LBRC) 23#define SC_SCTL MT(MOD_LCTL, KC_LBRC)
24#define KC_SCTR MT(MOD_LCTL, KC_RBRC) 24#define SC_SCTR MT(MOD_LCTL, KC_RBRC)
25#define KC_SPLT MT(MOD_LALT, KC_MINS) 25#define SC_SPLT MT(MOD_LALT, KC_MINS)
26#define KC_SPRT MT(MOD_LALT, KC_1) 26#define SC_SPRT MT(MOD_LALT, KC_1)
27#define KC_GBRC MT(MOD_RGUI, KC_RBRC) 27#define SC_GBRC MT(MOD_RGUI, KC_RBRC)
28#define KC_GQOT MT(MOD_LGUI, KC_QUOT) 28#define SC_MESC LT(_MACROS, KC_ESC)
29#define KC_MESC LT(_MACROS, KC_ESC) 29#define SC_INCL M(0)
30#define KC_INCL M(0) 30#define SC_PULL M(1)
31#define KC_PULL M(1) 31#define SC_PUSH M(2)
32#define KC_PUSH M(2) 32#define SC_SCAP M(3)
33#define KC_SCAP M(3) 33#define SC_SCOF M(4)
34#define KC_SCOF M(4) 34#define SC_CAD LALT(LCTL(KC_DEL))
35#define KC_CAD LALT(LCTL(KC_DEL))
36 35
37#define LONGPRESS_DELAY 150 36#define LONGPRESS_DELAY 150
38//#define LAYER_TOGGLE_DELAY 300 37//#define LAYER_TOGGLE_DELAY 300
@@ -40,95 +39,57 @@ enum chimera_ergo_layers
40// Fillers to make layering more clear 39// Fillers to make layering more clear
41#define _______ KC_TRNS 40#define _______ KC_TRNS
42#define XXXXXXX KC_NO 41#define XXXXXXX KC_NO
43#define KC_ KC_TRNS
44 42
45const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 44
47 [_QWERTY] = KC_KEYMAP( 45 [_QWERTY] = LAYOUT(
48 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 46 KC_LBRC, KC_1, SC_SCTL, SC_SPLT, SC_SPFN, KC_5, KC_6, SC_GBRC, SC_SPRT, SC_SCTR, KC_0, KC_RBRC,
49 LBRC, 1 ,SCTL,SPLT,SPFN, 5 , 6 ,GBRC,SPRT,SCTR, 0 ,RBRC, 47 SC_MESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
50 //|----+----+----+----+----+----| |----+----+----+----+----+----| 48 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
51 MESC, Q , W , E , R , T , Y , U , I , O , P ,QUOT, 49 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
52 //|----+----+----+----+----+----| |----+----+----+----+----+----| 50 SC_NMPD, KC_BSPC, KC_SPC, SC_SYMB
53 TAB , A , S , D , F , G , H , J , K , L ,SCLN,ENT ,
54 //|----+----+----+----+----+----| |----+----+----+----+----+----|
55 LSPO, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,RSPC,
56 //|----+----+----+----+----+----| |----+----+----+----+----+----|
57 NMPD,BSPC, SPC ,SYMB
58 // \------------------+----+----/ \---+----+----+--------------/
59 ), 51 ),
60 52
61 [_CAPS] = KC_KEYMAP( 53 [_CAPS] = LAYOUT(
62 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 54 _______, KC_UNDS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
63 ,UNDS, , , , , , , , , , , 55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
64 //|----+----+----+----+----+----| |----+----+----+----+----+----| 56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______,
65 , , , , , , , , , , , , 57 SC_SCOF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SC_SCOF,
66 //|----+----+----+----+----+----| |----+----+----+----+----+----| 58 _______, _______, _______, _______
67 , , , , , , , , , ,COLN, ,
68 //|----+----+----+----+----+----| |----+----+----+----+----+----|
69 SCOF, , , , , , , , , , ,SCOF,
70 //|----+----+----+----+----+----| |----+----+----+----+----+----|
71 , , ,
72 // \------------------+----+----/ \---+----+----+--------------/
73 ), 59 ),
74 60
75 [_NUMPAD] = KC_KEYMAP( 61 [_NUMPAD] = LAYOUT(
76 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______,
77 , , , , , , , , , ,MINS, , 63 _______, _______, KC_COLN, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
78 //|----+----+----+----+----+----| |----+----+----+----+----+----| 64 _______, _______, KC_DOT , _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
79 , ,COLN, , , , , 7 , 8 , 9 ,ASTR, , 65 _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_SLSH, _______,
80 //|----+----+----+----+----+----| |----+----+----+----+----+----| 66 _______, _______, _______, KC_0
81 , ,DOT , , , , , 4 , 5 , 6 ,PLUS, ,
82 //|----+----+----+----+----+----| |----+----+----+----+----+----|
83 , , , , , , , 1 , 2 , 3 ,SLSH, ,
84 //|----+----+----+----+----+----| |----+----+----+----+----+----|
85 , , , 0
86 // \------------------+----+----/ \---+----+----+--------------/
87 ), 67 ),
88 68
89 [_SYMBOLS] = KC_KEYMAP( 69 [_SYMBOLS] = LAYOUT(
90 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 , , , , , , , , , , , , 71 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS,
92 //|----+----+----+----+----+----| |----+----+----+----+----+----| 72 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TILD, KC_EQL, KC_UNDS, KC_LCBR, KC_RCBR, _______,
93 ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSLS, 73 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_PLUS, KC_MINS, KC_LBRC, KC_RBRC, _______,
94 //|----+----+----+----+----+----| |----+----+----+----+----+----| 74 KC_PIPE, _______, _______, _______
95 F1 , F2 , F3 , F4 , F5 , F6 , TILD,EQL ,UNDS,LCBR,RCBR, ,
96 //|----+----+----+----+----+----| |----+----+----+----+----+----|
97 F7 , F8 , F9 ,F10 ,F11 ,F12 , GRV ,PLUS,MINS,LBRC,RBRC, ,
98 //|----+----+----+----+----+----| |----+----+----+----+----+----|
99 PIPE, , ,
100 // \------------------+----+----/ \---+----+----+--------------/
101 ), 75 ),
102 76
103 [_MACROS] = KC_KEYMAP( 77 [_MACROS] = LAYOUT(
104 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
105 , , , , , , , , , , , , 79 _______, _______, _______, _______, _______, _______, _______, _______, SC_INCL, _______, _______, _______,
106 //|----+----+----+----+----+----| |----+----+----+----+----+----| 80 _______, _______, _______, SC_CAD, _______, _______, _______, _______, _______, _______, _______, _______,
107 , , , , , , , ,INCL, , , , 81 SC_SCAP, _______, _______, _______, _______, _______, _______, _______, SC_PULL, SC_PUSH, _______, _______,
108 //|----+----+----+----+----+----| |----+----+----+----+----+----| 82 _______, _______, _______, _______
109 , , ,CAD , , , , , , , , ,
110 //|----+----+----+----+----+----| |----+----+----+----+----+----|
111 SCAP, , , , , , , ,PULL,PUSH, , ,
112 //|----+----+----+----+----+----| |----+----+----+----+----+----|
113 , , ,
114 // \------------------+----+----/ \---+----+----+--------------/
115 ), 83 ),
116 84
117 [_NAV] = KC_KEYMAP( 85 [_NAV] = LAYOUT(
118 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 , , , , , , , , , , , , 87 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______,
120 //|----+----+----+----+----+----| |----+----+----+----+----+----| 88 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
121 , , , , , , ,PGUP, UP ,PGDN,PSCR, , 89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122 //|----+----+----+----+----+----| |----+----+----+----+----+----| 90 _______, KC_DEL, _______, _______
123 , , , , , , ,LEFT,DOWN,RGHT, , ,
124 //|----+----+----+----+----+----| |----+----+----+----+----+----|
125 , , , , , , , , , , , ,
126 //|----+----+----+----+----+----| |----+----+----+----+----+----|
127 ,DEL , ,
128 // \------------------+----+----/ \---+----+----+--------------/
129 ), 91 ),
130 92
131
132}; 93};
133 94
134 95
@@ -175,18 +136,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
175 } 136 }
176 return MACRO_NONE; 137 return MACRO_NONE;
177}; 138};
178 139
179 140
180void matrix_scan_user(void) { 141void matrix_scan_user(void) {
181 uint8_t layer = biton32(layer_state); 142 uint8_t layer = biton32(layer_state);
182 143
183 switch (layer) { 144 switch (layer) {
184 case _QWERTY: 145 case _QWERTY:
185 set_led_green; 146 set_led_green;
186 break; 147 break;
187 case _CAPS: 148 case _CAPS:
188 set_led_white; 149 set_led_white;
189 break; 150 break;
190 case _NUMPAD: 151 case _NUMPAD:
191 set_led_blue; 152 set_led_blue;
192 break; 153 break;
@@ -194,11 +155,11 @@ void matrix_scan_user(void) {
194 set_led_red; 155 set_led_red;
195 break; 156 break;
196 case _NAV: 157 case _NAV:
197 set_led_magenta; 158 set_led_magenta;
198 break; 159 break;
199 case _MACROS: 160 case _MACROS:
200 set_led_cyan; 161 set_led_cyan;
201 break; 162 break;
202 default: 163 default:
203 set_led_green; 164 set_led_green;
204 break; 165 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 @@
5A split wireless 40% ergonomic keyboard 5A split wireless 40% ergonomic keyboard
6 6
7Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle) 7Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle)
8 8Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822
9
10Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822
11
12Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ergo/gerbers) 9Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ergo/gerbers)
13 10
14Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):