aboutsummaryrefslogtreecommitdiff
path: root/keyboards/rgbkb/sol/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/rgbkb/sol/keymaps')
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/config.h26
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/keymap.c330
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/readme.md132
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/rules.mk51
4 files changed, 539 insertions, 0 deletions
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/config.h b/keyboards/rgbkb/sol/keymaps/xyverz/config.h
new file mode 100644
index 000000000..334eee608
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/config.h
@@ -0,0 +1,26 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23
24// place overrides here
25
26/* #define SSD1306OLED */
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..f5cf9ed3c
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
@@ -0,0 +1,330 @@
1#include QMK_KEYBOARD_H
2#ifdef PROTOCOL_LUFA
3#include "lufa.h"
4#include "split_util.h"
5#endif
6#ifdef SSD1306OLED
7 #include "common/ssd1306.h"
8#endif
9
10extern keymap_config_t keymap_config;
11
12#ifdef RGBLIGHT_ENABLE
13//Following line allows macro to read current RGB settings
14extern rgblight_config_t rgblight_config;
15#endif
16
17extern uint8_t is_master;
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21// Layer names don't all need to be of the same length, obviously, and you can also skip them
22// entirely and just use numbers.
23enum layer_number {
24 _DVORAK = 0,
25 _DESTINY,
26 _QWERTY,
27 _COLEMAK,
28 _LOWER,
29 _RAISE,
30 _ADJUST
31};
32
33enum custom_keycodes {
34 DVORAK = SAFE_RANGE,
35 DESTINY,
36 QWERTY,
37 COLEMAK,
38 LOWER,
39 RAISE,
40 ADJUST,
41 BACKLIT,
42 RGBRST
43};
44
45enum macro_keycodes {
46 KC_SAMPLEMACRO,
47};
48
49const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 [_DVORAK] = LAYOUT( \
51 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
52 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_END, KC_PGDN, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
53 KC_RCTL, KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
54 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, XXXXXXX, XXXXXXX, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
55 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
56 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
57
58 ),
59
60 [_DESTINY] = LAYOUT( \
61 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
62 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_END, KC_PGDN, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
63 KC_RCTL, KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
64 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, XXXXXXX, XXXXXXX, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
65 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
66 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
67
68 ),
69
70 [_QWERTY] = LAYOUT( \
71 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
72 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_END, KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SLSH, \
73 KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
75 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
76 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
77 ),
78
79 [_COLEMAK] = LAYOUT( \
80 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
81 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_END, KC_PGDN, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_SLSH, \
82 KC_RCTL, KC_A, KC_R, KC_S, KC_T, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
83 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, XXXXXXX, XXXXXXX, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
84 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
85 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
86 ),
87
88 [_LOWER] = LAYOUT( \
89 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
91 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, XXXXXXX, XXXXXXX, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
92 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, \
93 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
94 KC_DEL, _______, _______, KC_INS \
95 ),
96
97 [_RAISE] = LAYOUT( \
98 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
100 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, XXXXXXX, XXXXXXX, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
101 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, \
102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
103 KC_DEL, _______, _______, KC_INS \
104 ),
105
106 /* ADJUST
107 * ,------------------------------------------------. ,------------------------------------------------.
108 * | F11 | F1 | F2 | F3 | F4 | F5 | RESET| | | F6 | F7 | F8 | F9 | F10 | F12 |
109 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
110 * | | |QWERTY|COLEMK|DVORAK|DESTNY| | | | | PrSc | ScLk | NmLk | | |
111 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
112 * | | | Mute | Vol- | Vol+ | | | | |RGBTOG|RGBMOD| HUI | SAI | VAI | |
113 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
114 * | | | Prev | Play | Next | | | | | |RGBRMD| HUD | SAD | VAD | |
115 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
116 * | | | | Home | End | | | | | | PgUp | PgDn | | | |
117 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
118 * | Del | | | | Ins |
119 * `-------------' `-------------'
120 */
121
122 [_ADJUST] = LAYOUT( \
123 _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, \
124 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_NLCK, _______, _______, \
125 KC_CAPS, _______, QWERTY, COLEMAK, DVORAK, DESTINY, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, \
126 _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, \
127 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
128 KC_DEL, _______, _______, KC_INS \
129 )
130};
131
132
133
134// define variables for reactive RGB
135bool TOG_STATUS = false;
136int RGB_current_mode;
137
138// Setting ADJ layer RGB back to default
139void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
140 if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
141 #ifdef RGBLIGHT_ENABLE
142 //rgblight_mode(RGB_current_mode);
143 #endif
144 layer_on(layer3);
145 } else {
146 layer_off(layer3);
147 }
148}
149
150layer_state_t layer_state_set_user(layer_state_t state) {
151 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
152}
153bool process_record_user(uint16_t keycode, keyrecord_t *record) {
154 switch (keycode) {
155 case DVORAK:
156 if (record->event.pressed) {
157 set_single_persistent_default_layer(_DVORAK);
158 }
159 return false;
160 case COLEMAK:
161 if (record->event.pressed) {
162 set_single_persistent_default_layer(_COLEMAK);
163 }
164 return false;
165 case QWERTY:
166 if (record->event.pressed) {
167 set_single_persistent_default_layer(_QWERTY);
168 }
169 return false;
170
171/*
172 Commenting this out since I removed the layer, but I want this in here for reference.
173
174 case FN:
175 if (record->event.pressed) {
176 //not sure how to have keyboard check mode and set it to a variable, so my work around
177 //uses another variable that would be set to true after the first time a reactive key is pressed.
178 if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
179 } else {
180 TOG_STATUS = !TOG_STATUS;
181 #ifdef RGBLIGHT_ENABLE
182 //rgblight_mode(15);
183 #endif
184 }
185 layer_on(_FN);
186 } else {
187 #ifdef RGBLIGHT_ENABLE
188 //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
189 #endif
190 layer_off(_FN);
191 TOG_STATUS = false;
192 }
193 return false;
194 break;
195 */
196 case ADJUST:
197 if (record->event.pressed) {
198 layer_on(_ADJUST);
199 } else {
200 layer_off(_ADJUST);
201 }
202 return false;
203 break;
204 //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
205 case RGBRST:
206 #ifdef RGBLIGHT_ENABLE
207 if (record->event.pressed) {
208 eeconfig_update_rgblight_default();
209 rgblight_enable();
210 RGB_current_mode = rgblight_config.mode;
211 }
212 #endif
213 break;
214 }
215 return true;
216}
217
218void matrix_init_user(void) {
219 #ifdef RGBLIGHT_ENABLE
220 RGB_current_mode = rgblight_config.mode;
221 #endif
222 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
223 #ifdef SSD1306OLED
224 iota_gfx_init(!has_usb()); // turns on the display
225 #endif
226}
227
228
229//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
230#ifdef SSD1306OLED
231
232// hook point for 'led_test' keymap
233// 'default' keymap's led_test_init() is empty function, do nothing
234// 'led_test' keymap's led_test_init() force rgblight_mode_noeeprom(35);
235__attribute__ ((weak))
236void led_test_init(void) {}
237
238void matrix_scan_user(void) {
239 led_test_init();
240 iota_gfx_task(); // this is what updates the display continuously
241}
242
243void matrix_update(struct CharacterMatrix *dest,
244 const struct CharacterMatrix *source) {
245 if (memcmp(dest->display, source->display, sizeof(dest->display))) {
246 memcpy(dest->display, source->display, sizeof(dest->display));
247 dest->dirty = true;
248 }
249}
250
251//assign the right code to your layers for OLED display
252#define L_BASE 0
253#define L_FN (1<<_FN)
254#define L_ADJ (1<<_ADJ)
255
256static void render_logo(struct CharacterMatrix *matrix) {
257
258 static char logo[]={
259 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
260 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
261 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
262 0};
263 matrix_write(matrix, logo);
264 //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
265}
266
267
268
269void render_status(struct CharacterMatrix *matrix) {
270
271 // Render to mode icon
272 static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
273 if(keymap_config.swap_lalt_lgui==false){
274 matrix_write(matrix, logo[0][0]);
275 matrix_write_P(matrix, PSTR("\n"));
276 matrix_write(matrix, logo[0][1]);
277 }else{
278 matrix_write(matrix, logo[1][0]);
279 matrix_write_P(matrix, PSTR("\n"));
280 matrix_write(matrix, logo[1][1]);
281 }
282
283 // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
284 char buf[40];
285 snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
286 matrix_write_P(matrix, PSTR("\nLayer: "));
287 switch (layer_state) {
288 case L_BASE:
289 matrix_write_P(matrix, PSTR("Default"));
290 break;
291 /* case L_FN:
292 matrix_write_P(matrix, PSTR("FN"));
293 break; */
294 case L_ADJ:
295 /* case L_ADJ_TRI: */
296 matrix_write_P(matrix, PSTR("ADJ"));
297 break;
298 default:
299 matrix_write(matrix, buf);
300 }
301
302 // Host Keyboard LED Status
303 char led[40];
304 snprintf(led, sizeof(led), "\n%s %s %s",
305 (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ",
306 (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
307 (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
308 matrix_write(matrix, led);
309}
310
311
312void iota_gfx_task_user(void) {
313 struct CharacterMatrix matrix;
314
315#if DEBUG_TO_SCREEN
316 if (debug_enable) {
317 return;
318 }
319#endif
320
321 matrix_clear(&matrix);
322 if(is_master){
323 render_status(&matrix);
324 }else{
325 render_logo(&matrix);
326 }
327 matrix_update(&display, &matrix);
328}
329
330#endif
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/readme.md b/keyboards/rgbkb/sol/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..485426f8e
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/readme.md
@@ -0,0 +1,132 @@
1# Xyverz's Sol Layout
2## Layout
3
4### Base modifier layout
5```
6 * ,------------------------------------------------. ,------------------------------------------------.
7 * | ESC | | | | | | - | | = | | | | | | \ |
8 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
9 * | Tab | | | | | | [ | | ] | | | | | | / |
10 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
11 * | Del | | | | | | | | | | | | | | |
12 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
13 * |Shift | | | | | | | | | | | | | |Shift |
14 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
15 * | Adj | Alt | ` | Left | Rght | Ctrl | Alt | | Alt | Ctrl | Up | Down | / | = | Adj |
16 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
17 * | BkSp | Win | | Enter| Space|
18 * `-------------' `-------------'
19```
20
21### Qwerty alphas
22```
23 * ,------------------------------------------------. ,------------------------------------------------.
24 * | | | | | | | | | | | | | | | |
25 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
26 * | | Q | W | E | R | T | | | | Y | U | I | O | P | |
27 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
28 * | | A | S | D | F | G | | | | H | J | K | L | ; | ' |
29 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
30 * | | Z | X | C | V | B | | | | N | M | , | . | / | |
31 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
32 * | | | | | | | | | | | | | | | |
33 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
34 * | | | | | |
35 * `-------------' `-------------'
36```
37
38### Dvorak alphas
39```
40 * ,------------------------------------------------. ,------------------------------------------------.
41 * | | | | | | | | | | | | | | | |
42 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
43 * | | " | , | . | P | Y | | | | F | G | C | R | L | |
44 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
45 * | | A | O | E | U | I | | | | D | H | T | N | S | - |
46 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
47 * | | ; | Q | J | K | X | | | | B | M | W | V | Z | |
48 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
49 * | | | | | | | | | | | | | | | |
50 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
51 * | | | | | |
52 * `-------------' `--------=----'
53```
54### Colemak alphas
55```
56 * ,------------------------------------------------. ,------------------------------------------------.
57 * | | | | | | | | | | | | | | | |
58 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
59 * | | Q | W | F | P | B | | | | J | L | U | Y | ; | |
60 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
61 * | | A | R | S | T | G | | | | K | N | E | I | O | ' |
62 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
63 * | | Z | X | C | D | V | | | | M | H | , | . | / | |
64 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
65 * | | | | | | | | | | | | | | | |
66 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
67 * | | | | | |
68 * `-------------' `-------------'
69```
70
71### Adjust (ADJ)
72```
73 * ,------------------------------------------------. ,------------------------------------------------.
74 * | F11 | F1 | F2 | F3 | F4 | F5 | RESET| | | F6 | F7 | F8 | F9 | F10 | F12 |
75 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
76 * | | |QWERTY|DVORAK|COLEMK| | | | | | PrSc | ScLk | NmLk | | |
77 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
78 * | | | Mute | Vol- | Vol+ | | | | |RGBTOG|RGBMOD| HUI | SAI | VAI | |
79 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
80 * | | | Prev | Play | Next | | | | | |RGBRMD| HUD | SAD | VAD | |
81 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
82 * | | | | Home | End | | | | | | PgUp | PgDn | | | |
83 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
84 * | Del | | | | Ins |
85 * `-------------' `-------------'
86```
87
88## Customize
89
90see `qmk_firmware/keyboards/sol/rev1/keymaps/default/rules.mk`
91
92```
93
94# Variables you can set for SOL
95
96BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
97MOUSEKEY_ENABLE = no # Mouse keys
98EXTRAKEY_ENABLE = yes # Audio control and System control
99CONSOLE_ENABLE = no # Console for debug
100COMMAND_ENABLE = ne # Commands for debug and configuration
101NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
102RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix
103LED_ANIMATIONS = yes # LED animations
104LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
105RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
106RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy
107RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port
108UNICODE_ENABLE = no # Unicode
109SWAP_HANDS_ENABLE = no # Enable one-hand typing
110ENCODER_ENABLE_CUSTOM = yes # Enable rotary encoder
111
112OLED_ENABLE = yes # OLED_ENABLE
113IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
114
115
116```
117## Compile
118
119go to qmk top directory.
120```
121$ cd qmk_firmware
122```
123
124build
125```
126$ make sol:xyverz
127```
128
129After the initial flash with AVRdudess, you should be able to flash using this:
130```
131$ make sol:xyverz:flash
132```
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk
new file mode 100644
index 000000000..bdec5946d
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk
@@ -0,0 +1,51 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
6MOUSEKEY_ENABLE = no # Mouse keys
7
8EXTRAKEY_ENABLE = yes # Audio control and System control
9CONSOLE_ENABLE = no # Console for debug
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix
13RGBLIGHT_ANIMATIONS = yes # LED animations
14LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
15RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
16RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy
17RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port
18UNICODE_ENABLE = no # Unicode
19SWAP_HANDS_ENABLE = no # Enable one-hand typing
20ENCODER_ENABLE_CUSTOM = no # Enable rotary encoder
21AUDIO_ENABLE = no
22
23OLED_ENABLE = yes # OLED_ENABLE
24IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
25
26# Do not edit past here
27
28ifeq ($(strip $(OLED_ENABLE)), yes)
29 OPT_DEFS += -DOLED_ENABLE
30endif
31
32ifeq ($(strip $(ENCODER_ENABLE_CUSTOM)), yes)
33 OPT_DEFS += -DENCODER_ENABLE_CUSTOM
34 SRC += common/knob_v2.c
35
36endif
37
38ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
39 OPT_DEFS += -DIOS_DEVICE_ENABLE
40
41else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes)
42 OPT_DEFS += -DRGBLIGHT_FULL_POWER
43endif
44
45ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes)
46 OPT_DEFS += -DRGB_MATRIX_KEYPRESSES
47endif
48
49ifeq ($(strip $(LED_MIRRORED)), yes)
50 OPT_DEFS += -DLED_MIRRORED
51endif \ No newline at end of file