aboutsummaryrefslogtreecommitdiff
path: root/keyboards/niu_mini
diff options
context:
space:
mode:
authorxton <cmdpix@mac.com>2018-08-28 19:54:17 -0400
committerDrashna Jaelre <drashna@live.com>2018-08-28 16:54:17 -0700
commit3892829d74119b1fe771b4b51c665448a433da1e (patch)
tree7c871491e2ffd3dd0fc3adcf1fa83b2cce859cd4 /keyboards/niu_mini
parent3c209830558c5911ed7446c026ba4d38fdbfe83e (diff)
downloadqmk_firmware-3892829d74119b1fe771b4b51c665448a433da1e.tar.gz
qmk_firmware-3892829d74119b1fe771b4b51c665448a433da1e.zip
Keymap: xtonhasvim updates (#3768)
* cherrypicking file changes just for updates * removed unused heat foo * avoid defining own min/max * add license * formatting
Diffstat (limited to 'keyboards/niu_mini')
-rw-r--r--keyboards/niu_mini/keymaps/xtonhasvim/config.h10
-rw-r--r--keyboards/niu_mini/keymaps/xtonhasvim/keymap.c187
-rw-r--r--keyboards/niu_mini/keymaps/xtonhasvim/rules.mk2
3 files changed, 130 insertions, 69 deletions
diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/config.h b/keyboards/niu_mini/keymaps/xtonhasvim/config.h
index a22bcab0f..aa13d7b73 100644
--- a/keyboards/niu_mini/keymaps/xtonhasvim/config.h
+++ b/keyboards/niu_mini/keymaps/xtonhasvim/config.h
@@ -3,7 +3,7 @@
3 3
4#include "../../config.h" 4#include "../../config.h"
5 5
6#define MUSIC_MASK (keycode != KC_NO) 6// #define MUSIC_MASK (keycode != KC_NO)
7 7
8/* 8/*
9 * MIDI options 9 * MIDI options
@@ -16,7 +16,7 @@
16 - MIDI notes can be sent when in Music mode is on 16 - MIDI notes can be sent when in Music mode is on
17*/ 17*/
18 18
19#define MIDI_BASIC 19// #define MIDI_BASIC
20 20
21/* enable advanced MIDI features: 21/* enable advanced MIDI features:
22 - MIDI notes can be added to the keymap 22 - MIDI notes can be added to the keymap
@@ -32,12 +32,6 @@
32// help for fast typist+dual function keys? 32// help for fast typist+dual function keys?
33#define PERMISSIVE_HOLD 33#define PERMISSIVE_HOLD
34 34
35/* disable debug print */
36#define NO_DEBUG
37
38/* disable print */
39#define NO_PRINT
40
41/* speed up mousekeys a bit */ 35/* speed up mousekeys a bit */
42#define MOUSEKEY_DELAY 50 36#define MOUSEKEY_DELAY 50
43#define MOUSEKEY_INTERVAL 20 37#define MOUSEKEY_INTERVAL 20
diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c
index dd764826f..bfda81273 100644
--- a/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c
@@ -16,6 +16,7 @@
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "xtonhasvim.h" 18#include "xtonhasvim.h"
19#include "fancylighting.h"
19 20
20/************************************ 21/************************************
21 * states 22 * states
@@ -27,7 +28,15 @@ enum layers {
27 _RAISE, 28 _RAISE,
28 _ADJUST, 29 _ADJUST,
29 _MOVE, 30 _MOVE,
30 _MOUSE 31 _MOUSE,
32 _CMD
33};
34
35extern uint8_t vim_cmd_layer(void) { return _CMD; }
36
37enum keymap_keycodes {
38 RAISE = VIM_SAFE_RANGE,
39 LOWER
31}; 40};
32 41
33/************************************ 42/************************************
@@ -48,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 * `-----------------------------------------------------------------------------------' 57 * `-----------------------------------------------------------------------------------'
49 * 58 *
50 * - Ctrl acts as Esc when tapped. 59 * - Ctrl acts as Esc when tapped.
51 * - Holding A or ; switches to movement layer. 60 * - Holding ; switches to movement layer.
52 * - Raise and Lower are one-shot layers. 61 * - Raise and Lower are one-shot layers.
53 */ 62 */
54[_QWERTY] = LAYOUT_planck_mit( 63[_QWERTY] = LAYOUT_planck_mit(
55 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 64 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
56 LCTL_T(KC_ESC), LT(_MOVE,KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOVE,KC_SCLN), KC_QUOT, 65 LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOVE,KC_SCLN), KC_QUOT,
57 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), 66 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
58 TG(_MOUSE), X_____X, KC_LALT, KC_LGUI, OSL(_LOWER), KC_SPC, OSL(_RAISE), KC_LGUI, KC_LALT, X_____X, VIM_START 67 LSFT(KC_LALT), TG(_MOUSE), KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LGUI, KC_LALT, X_____X, VIM_START
59), 68),
60 69
61/* Lower 70/* Lower
@@ -70,10 +79,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
70 * `-----------------------------------------------------------------------------------' 79 * `-----------------------------------------------------------------------------------'
71 */ 80 */
72[_LOWER] = LAYOUT_planck_mit( 81[_LOWER] = LAYOUT_planck_mit(
73 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC, 82 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC,
74 KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, 83 KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
75 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, 84 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN,
76 X_____X, TO(_QWERTY), _______, _______, _______, KC_BSPC, OSL(_ADJUST), _______, _______, TO(_QWERTY), X_____X 85 _______, TO(_QWERTY), _______, _______, _______, KC_BSPC, _______, _______, _______, TO(_QWERTY), X_____X
77), 86),
78 87
79/* Raise 88/* Raise
@@ -88,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
88 * `-----------------------------------------------------------------------------------' 97 * `-----------------------------------------------------------------------------------'
89 */ 98 */
90[_RAISE] = LAYOUT_planck_mit( 99[_RAISE] = LAYOUT_planck_mit(
91 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSPC, 100 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSPC,
92 KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, 101 KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
93 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, 102 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN,
94 X_____X, TO(_QWERTY), _______, _______, OSL(_ADJUST), X_____X, _______, _______, _______, TO(_QWERTY), X_____X 103 _______, TO(_QWERTY), _______, _______, _______, KC_BSPC, _______, _______, _______, TO(_QWERTY), X_____X
95), 104),
96 105
97 106
@@ -99,17 +108,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
99 * ,-------------------------------------------------------------------------------------. 108 * ,-------------------------------------------------------------------------------------.
100 * |RGBPlain| Reset| | | | | | | | | | Del | 109 * |RGBPlain| Reset| | | | | | | | | | Del |
101 * |--------+------+------+------+------+-------------+------+------+------+------+------| 110 * |--------+------+------+------+------+-------------+------+------+------+------+------|
102 * |RGBMode-| | |Aud on|Audoff|AGnorm|AGswap| | | | |Lite+ | 111 * |RGBMode-| | | | | | | | | | |Lite+ |
103 * |--------+------+------+------+------+------|------+------+------+------+------+------| 112 * |--------+------+------+------+------+------|------+------+------+------+------+------|
104 * |RGBMode+|Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | |Lite- | 113 * |RGBMode+| | | | | | | Next | Vol- | Vol+ | Play |Lite- |
105 * |--------+------+------+------+------+------+------+------+------+------+------+------| 114 * |--------+------+------+------+------+------+------+------+------+------+------+------|
106 * | RGB | Bail | | | | | | | | Bail | | 115 * | RGB | Bail | | | | | | | | Bail | |
107 * `-------------------------------------------------------------------------------------' 116 * `-------------------------------------------------------------------------------------'
108 */ 117 */
109[_ADJUST] = LAYOUT_planck_mit( 118[_ADJUST] = LAYOUT_planck_mit(
110 RGB_MODE_PLAIN, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, 119 RGB_MODE_PLAIN, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
111 RGB_MODE_REVERSE, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, RGB_VAI, 120 RGB_MODE_REVERSE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
112 RGB_MODE_FORWARD, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, RGB_VAD, 121 RGB_MODE_FORWARD, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, RGB_VAD,
113 RGB_TOG, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY), X_____X 122 RGB_TOG, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY), X_____X
114), 123),
115 124
@@ -120,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
120 TO(_QWERTY), X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X, 129 TO(_QWERTY), X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X,
121 _______, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X, 130 _______, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X,
122 _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______, 131 _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______,
123 X_____X, TO(_QWERTY), _______, _______, _______, X_____X, _______, _______, _______, TO(_QWERTY), X_____X 132 _______, TO(_QWERTY), _______, _______, _______, X_____X, _______, _______, _______, TO(_QWERTY), X_____X
124), 133),
125 134
126/* mouse layer 135/* mouse layer
@@ -132,68 +141,124 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 _______, TO(_QWERTY), _______, _______, _______, X_____X, _______, _______, _______, TO(_QWERTY), X_____X 141 _______, TO(_QWERTY), _______, _______, _______, X_____X, _______, _______, _______, TO(_QWERTY), X_____X
133), 142),
134 143
135/* vim edit mode. just has an escape -> _CMD key */
136[_EDIT] = LAYOUT_planck_mit(
137 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
138 VIM_START, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
139 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
140 _______, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY), _______
141),
142
143/* vim command layer. 144/* vim command layer.
144 */ 145 */
145[_CMD] = LAYOUT_planck_mit( 146[_CMD] = LAYOUT_planck_mit(
146 X_____X, X_____X, VIM_W, VIM_E, X_____X, X_____X, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, X_____X, 147 X_____X, X_____X, VIM_W, VIM_E, X_____X, X_____X, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, X_____X,
147 VIM_ESC, VIM_A, VIM_S, VIM_D, X_____X, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, X_____X, X_____X, 148 VIM_ESC, VIM_A, VIM_S, VIM_D, X_____X, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, X_____X, X_____X,
148 VIM_SHIFT, X_____X, VIM_X, VIM_C, VIM_V, VIM_B, X_____X, X_____X, VIM_COMMA, VIM_PERIOD, X_____X, VIM_SHIFT, 149 VIM_SHIFT, X_____X, VIM_X, VIM_C, VIM_V, VIM_B, X_____X, X_____X, VIM_COMMA, VIM_PERIOD, X_____X, VIM_SHIFT,
149 X_____X, TO(_QWERTY), _______, _______, X_____X, X_____X, X_____X, _______, _______, TO(_QWERTY), X_____X 150 _______, TO(_QWERTY), _______, _______, X_____X, X_____X, X_____X, _______, _______, TO(_QWERTY), X_____X
150) 151)
151 152
152}; 153};
153 154
155#define C_RED 0xFF, 0x00, 0x00
156#define C_GRN 0x00, 0xFF, 0x00
157#define C_BLU 0x00, 0x00, 0xFF
158
159#define C_YAN 0x00, 0xFF, 0xFF
160#define C_PRP 0x7A, 0x00, 0xFF
161#define C_ORG 0xFF, 0x93, 0x00
162
154/** Set just 4 LEDs closest to the user. Slightly less annoying to bystanders.*/ 163/** Set just 4 LEDs closest to the user. Slightly less annoying to bystanders.*/
155void rgbflag(uint8_t r, uint8_t g, uint8_t b) { 164void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb) {
156 for(int i = 0; i < RGBLED_NUM; i++){ 165 LED_TYPE *target_led = user_rgb_mode ? shadowed_led : led;
157 switch(i) { 166 for (int i = 0; i < RGBLED_NUM; i++) {
158 case 9 ... 12: 167 switch (i) {
159 // rgblight_setrgb_at(r,g,b,i); 168 case 12: case 13:
160 led[i].r = r; 169 target_led[i].r = r;
161 led[i].g = g; 170 target_led[i].g = g;
162 led[i].b = b; 171 target_led[i].b = b;
163 break; 172 break;
164 default: 173 case 8: case 9:
165 // rgblight_setrgb_at(0,0,0,i); 174 target_led[i].r = rr;
166 led[i].r = 0; 175 target_led[i].g = gg;
167 led[i].g = 0; 176 target_led[i].b = bb;
168 led[i].b = 0; 177 break;
169 break; 178 default:
179 target_led[i].r = 0;
180 target_led[i].g = 0;
181 target_led[i].b = 0;
182 break;
170 } 183 }
171 } 184 }
172 rgblight_set(); 185 rgblight_set();
173} 186}
174 187
175uint32_t layer_state_set_user(uint32_t state) { 188void set_state_leds(void) {
176 if(rgblight_get_mode() == 1) { 189 if (rgblight_get_mode() == 1) {
177 switch (biton32(state)) { 190 switch (biton32(layer_state)) {
178 case _RAISE: 191 case _RAISE:
192 rgbflag(C_BLU, C_GRN);
193 break;
179 case _LOWER: 194 case _LOWER:
195 rgbflag(C_BLU, C_RED);
196 break;
180 case _ADJUST: 197 case _ADJUST:
181 rgbflag(0x00, 0x00, 0xFF); 198 rgbflag(C_BLU, C_PRP);
182 break; 199 break;
183 case _MOVE: 200 case _MOVE:
201 rgbflag(C_RED, C_PRP);
202 break;
184 case _MOUSE: 203 case _MOUSE:
185 rgbflag(0xFF, 0x00, 0x00); 204 rgbflag(C_RED, C_GRN);
186 break; 205 break;
187 case _CMD: 206 case _CMD:
188 rgbflag(0x00, 0xFF, 0x00); 207 switch(vstate) {
189 break; 208 case VIM_V:
190 case _EDIT: 209 case VIM_VI:
191 rgbflag(0x7A, 0x00, 0xFF); 210 case VIM_VS:
192 break; 211 rgbflag(C_GRN, C_YAN);
212 break;
213 case VIM_C:
214 case VIM_CI:
215 rgbflag(C_GRN, C_ORG);
216 break;
217 case VIM_D:
218 case VIM_DI:
219 rgbflag(C_GRN, C_RED);
220 break;
221 case VIM_G:
222 rgbflag(C_GRN, C_BLU);
223 break;
224 case VIM_Y:
225 rgbflag(C_GRN, C_PRP);
226 break;
227 case VIM_START:
228 default:
229 rgbflag(C_GRN, C_GRN);
230 break;
231 }
232 break;
193 default: // for any other layers, or the default layer 233 default: // for any other layers, or the default layer
194 rgbflag(0x00, 0xFF, 0xFF); 234 rgbflag(C_YAN, C_YAN);
195 break; 235 break;
196 } 236 }
197 } 237 }
198 return state; 238}
239
240bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
241 switch(keycode) {
242 case LOWER:
243 if (record->event.pressed) {
244 layer_on(_LOWER);
245 update_tri_layer(_LOWER, _RAISE, _ADJUST);
246 } else {
247 layer_off(_LOWER);
248 update_tri_layer(_LOWER, _RAISE, _ADJUST);
249 }
250 return false;
251 break;
252 case RAISE:
253 if (record->event.pressed) {
254 layer_on(_RAISE);
255 update_tri_layer(_LOWER, _RAISE, _ADJUST);
256 } else {
257 layer_off(_RAISE);
258 update_tri_layer(_LOWER, _RAISE, _ADJUST);
259 }
260 return false;
261 break;
262 }
263 return true;
199} 264}
diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/rules.mk b/keyboards/niu_mini/keymaps/xtonhasvim/rules.mk
index 3a93f9fd8..359f94f1e 100644
--- a/keyboards/niu_mini/keymaps/xtonhasvim/rules.mk
+++ b/keyboards/niu_mini/keymaps/xtonhasvim/rules.mk
@@ -4,3 +4,5 @@ endif
4 4
5MOUSEKEY_ENABLE = yes 5MOUSEKEY_ENABLE = yes
6BACKLIGHT_ENABLE = no 6BACKLIGHT_ENABLE = no
7AUDIO_ENABLE = no
8CONSOLE_ENABLE = no # Console for debug(+400)