aboutsummaryrefslogtreecommitdiff
path: root/keyboards/basekeys/slice/rev1_rgb
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/basekeys/slice/rev1_rgb')
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/config.h64
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/info.json16
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h23
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c237
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/rules.mk2
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c128
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk1
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c16
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h98
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rules.mk23
10 files changed, 608 insertions, 0 deletions
diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h
new file mode 100644
index 000000000..9f503a582
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -0,0 +1,64 @@
1/*
2Copyright 2020 2Moons
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19/* USB Device descriptor parameter */
20#define VENDOR_ID 0x04D8
21#define PRODUCT_ID 0xEC15
22#define DEVICE_VER 0x0002
23#define MANUFACTURER 2Moons
24#define PRODUCT Slice RGB
25
26/* key matrix size */
27#define MATRIX_ROWS 10
28#define MATRIX_COLS 9
29
30// wiring of each half
31#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
32#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5 }
33
34#define DIODE_DIRECTION COL2ROW
35
36/* Set 0 if debouncing isn't needed */
37#define DEBOUNCE 5
38
39/* serial.c configuration for split keyboard */
40#define SOFT_SERIAL_PIN D2
41
42/* Select hand configuration */
43//#define EE_HANDS
44#define MASTER_LEFT
45//#define MASTER_RIGHT
46
47/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
48#define LOCKING_SUPPORT_ENABLE
49/* Locking resynchronize hack */
50#define LOCKING_RESYNC_ENABLE
51
52/* RGB LED */
53#ifdef RGBLIGHT_ENABLE
54#define RGB_DI_PIN D3
55#define RGBLED_NUM 69 // Number of LEDs. backlight x69
56#define RGBLED_SPLIT { 34, 35 }
57#define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
58#define RGBLIGHT_HUE_STEP 10
59#define RGBLIGHT_SAT_STEP 17
60#define RGBLIGHT_VAL_STEP 17
61#define RGBLIGHT_ANIMATIONS
62#endif
63
64#define OLED_FONT_H "keyboards/basekeys/slice/slice_font.c"
diff --git a/keyboards/basekeys/slice/rev1_rgb/info.json b/keyboards/basekeys/slice/rev1_rgb/info.json
new file mode 100644
index 000000000..6344dc8aa
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "slice",
3 "url": "https://www.basekeys.com",
4 "maintainer": "2Moons",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.660, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.390, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":2.75}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
8 },
9 "LAYOUT_split_left_space": {
10 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.660, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.390, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":1.75}, {"x":7.5, "y":4}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
11 },
12 "LAYOUT_all": {
13 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.660, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.390, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":0.917}, {"x":6.667, "y":4, "w":0.916}, {"x":7.583, "y":4, "w":0.917}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
14 }
15 }
16}
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
new file mode 100644
index 000000000..8f38938b1
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2020 2Moons
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19/* Select hand configuration */
20
21#define TAPPING_FORCE_HOLD
22#define TAPPING_TERM 180
23//#define MASTER_RIGHT
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
new file mode 100644
index 000000000..375daaca9
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
@@ -0,0 +1,237 @@
1/* Copyright 2020 2Moons
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "keymap_jp.h"
18#include "split_util.h"
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 _QWERTY = 0,
25 _FLOCK,
26 _FN,
27 _LOWER,
28 _RAISE,
29 _ADJUST,
30};
31
32enum custom_keycodes {
33 RGB_RST = SAFE_RANGE
34};
35
36enum tapdances{
37 TD_ESFL = 0,
38 TD_ESQW,
39};
40
41qk_tap_dance_action_t tap_dance_actions[] = {
42 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
43 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
44};
45
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 [_QWERTY] = LAYOUT(
48 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
49 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
50 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
51 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
52 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
53 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
54 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
55 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
56 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
57 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
58 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
59 ),
60
61 [_FLOCK] = LAYOUT(
62 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
63 KC_ESC, TG(_ADJUST), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
64 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
65 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
66 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
67 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
68 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
69 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
70 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
72 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
73 ),
74
75 [_FN] = LAYOUT(
76 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
77 KC_ESC, TG(_ADJUST), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPACE,
78 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
79 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
80 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
81 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
82 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
83 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
84 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
85 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
86 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
87 ),
88
89 [_LOWER] = LAYOUT(
90 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
91 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
92 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
93 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
94 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
95 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
96 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
97 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
98 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
99 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
100 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
101 ),
102
103 [_RAISE] = LAYOUT(
104 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
105 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
106 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
107 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
108 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
109 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
110 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
111 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
112 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
113 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
114 //`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
115 ),
116
117 [_ADJUST] = LAYOUT( /* Base */
118 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
119 XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
120 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
121 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
122 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
123 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
124 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
125 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
126 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
127 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
128 //`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
129 )
130};
131
132
133//A description for expressing the layer position in LED mode.
134layer_state_t layer_state_set_user(layer_state_t state) {
135 state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
136#ifdef RGBLIGHT_ENABLE
137 switch (get_highest_layer(state)) {
138 case _FLOCK:
139 rgblight_sethsv_at(HSV_YELLOW, 0);
140 break;
141 case _FN:
142 rgblight_sethsv_at(HSV_GREEN, 0);
143 break;
144 case _LOWER:
145 rgblight_sethsv_at(HSV_BLUE, 0);
146 break;
147 case _RAISE:
148 rgblight_sethsv_at(HSV_RED, 0);
149 break;
150 case _ADJUST:
151 rgblight_sethsv_at(HSV_PURPLE, 0);
152 break;
153 default: // for any other layers, or the default layer
154 rgblight_sethsv_at( 0, 0, 0, 0);
155 break;
156 }
157 rgblight_set_effect_range( 1, 4);
158#endif
159return state;
160}
161
162int RGB_current_mode;
163bool process_record_user(uint16_t keycode, keyrecord_t *record) {
164 bool result = false;
165 switch (keycode) {
166 #ifdef RGBLIGHT_ENABLE
167 case RGB_MOD:
168 if (record->event.pressed) {
169 rgblight_mode(RGB_current_mode);
170 rgblight_step();
171 RGB_current_mode = rgblight_get_mode();
172 }
173 break;
174 case RGB_RST:
175 if (record->event.pressed) {
176 eeconfig_update_rgblight_default();
177 rgblight_enable();
178 RGB_current_mode = rgblight_get_mode();
179 }
180 break;
181 #endif
182 default:
183 result = true;
184 break;
185 }
186
187 return result;
188}
189
190#ifdef OLED_ENABLE
191
192const char *read_logo(void) {
193 static char logo[] = {
194 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
195 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
196 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
197 0};
198 return logo;
199}
200
201oled_rotation_t oled_init_user(oled_rotation_t rotation) {
202 return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
203}
204
205bool oled_task_user(void) {
206 if (is_keyboard_master()) {
207 // Host Keyboard Layer Status
208 oled_write_P(PSTR("Layer: "), false);
209 switch (get_highest_layer(layer_state)) {
210 case _QWERTY:
211 oled_write_P(PSTR("Default\n"), false);
212 break;
213 case _FN:
214 oled_write_P(PSTR("Function\n"), false);
215 break;
216 case _LOWER:
217 oled_write_P(PSTR("Lower\n"), false);
218 break;
219 case _RAISE:
220 oled_write_P(PSTR("Raise\n"), false);
221 break;
222 default:
223 // Or use the write_ln shortcut over adding '\n' to the end of your string
224 oled_write_ln_P(PSTR("Undefined"), false);
225 }
226
227 // Host Keyboard LED Status
228 led_t led_usb_state = host_keyboard_led_state();
229 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
230 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
231 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
232 } else {
233 oled_write(read_logo(), false);
234 }
235 return false;
236}
237#endif
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/rules.mk
new file mode 100644
index 000000000..f4767f01f
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/rules.mk
@@ -0,0 +1,2 @@
1TAP_DANCE_ENABLE = yes
2RGBLIGHT_ENABLE = yes
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c
new file mode 100644
index 000000000..fa5abd90a
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c
@@ -0,0 +1,128 @@
1/* Copyright 2020 2Moons
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "split_util.h"
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22enum layer_number {
23 _QWERTY,
24 _FN,
25 _LOWER,
26 _RAISE,
27};
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [_QWERTY] = LAYOUT_all(
31 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
32 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
33 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
34 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
35 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
36 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
37 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
38 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
39 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
40 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
41 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
42 ),
43
44 [_FN] = LAYOUT_all(
45 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
46 KC_ESC, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPACE,
47 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
48 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
49 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
50 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
51 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
52 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
53 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
55 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
56 ),
57
58 [_LOWER] = LAYOUT_all(
59 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
60 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
61 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
62 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
63 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
64 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
65 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
66 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
67 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
68 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
69 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
70 ),
71
72 [_RAISE] = LAYOUT_all(
73 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
74 KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPACE,
75 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
76 RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
77 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
78 RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
79 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
80 RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
81 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
82 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
83 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
84 )
85};
86
87#ifdef OLED_ENABLE
88
89static void render_qmk_logo(void) {
90 static const char PROGMEM qmk_logo[] = {
91 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
92 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
93 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
94 0};
95 oled_write_P(qmk_logo, false);
96}
97
98oled_rotation_t oled_init_user(oled_rotation_t rotation) {
99 return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
100}
101
102bool oled_task_user(void) {
103 if (is_keyboard_master()) {
104 // Host Keyboard Layer Status
105 oled_write_P(PSTR("Layer: "), false);
106 switch (get_highest_layer(layer_state)) {
107 case _QWERTY:
108 oled_write_P(PSTR("Default\n"), false);
109 break;
110 case _FN:
111 oled_write_P(PSTR("Function\n"), false);
112 break;
113 default:
114 // Or use the write_ln shortcut over adding '\n' to the end of your string
115 oled_write_ln_P(PSTR("Undefined"), false);
116 }
117
118 // Host Keyboard LED Status
119 led_t led_usb_state = host_keyboard_led_state();
120 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
121 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
122 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
123 } else {
124 render_qmk_logo();
125 }
126 return false;
127}
128#endif
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c
new file mode 100644
index 000000000..9ab3d2539
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c
@@ -0,0 +1,16 @@
1/* Copyright 2020 2Moons
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "rev1_rgb.h"
diff --git a/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h
new file mode 100644
index 000000000..fdc533158
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h
@@ -0,0 +1,98 @@
1/* Copyright 2020 2Moons
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "slice.h"
19
20#include "quantum.h"
21
22//////////////////////////////////////////////////////////////////////////////
23// When only use Slice Rev1.
24//////////////////////////////////////////////////////////////////////////////
25/*
26 * ,------------------------------------------------ --------------------------------------------------.
27 * | L00 | L01 | L02 | L03 | L04 | L05 | L06 | L07 | | R00 | R01 | R02 | R03 | R04 | R05 | R06 |
28 * |------------------------------------------------ ------------------------------------------------------+
29 * | L10 | L11 | L12 | L13 | L14 | L15 | L16 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R37 |
30 * |---------------------------------------------- ------------------------------------------------------+
31 * | L20 | L21 | L22 | L23 | L24 | L25 | L26 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 |
32 * |------------------------------------------------- --------------------------------------------------------+
33 * | L30 | L31 | L32 | L33 | L34 | L35 | L36 | | R30 | R31 | R32 | R33 | R34 | R34 | R35 | R36 | R37 |
34 * |------------------------------------------------- --------------------------------------------------------'
35 * | L40 | L41 | L42 | L43 | L44L45L46 | | R40 | R41 | | R42 | R43 | R44 |
36 * |------------------------------------------------- -------------------------------------------------------'
37 */
38
39#define LAYOUT( \
40 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, \
41 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
42 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
43 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37,\
44 L40, L41, L42, L43, L45, R40, R41, R42, R43, R44 \
45 ) \
46 { \
47 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
48 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
49 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
50 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
51 { L40, L41, L42, L43, KC_NO, L45, KC_NO, KC_NO, KC_NO }, \
52 { R00, R01, R02, R03, R04, R05, R06, KC_NO, KC_NO }, \
53 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
54 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
55 { R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \
56 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
57 }
58
59#define LAYOUT_split_left_space( \
60 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, \
61 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
62 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
63 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37,\
64 L40, L41, L42, L43, L44, L46, R40, R41, R42, R43, R44 \
65 ) \
66 { \
67 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
68 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
69 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
70 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
71 { L40, L41, L42, L43, L44, KC_NO, L46, KC_NO, KC_NO }, \
72 { R00, R01, R02, R03, R04, R05, R06, KC_NO, KC_NO }, \
73 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
74 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
75 { R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \
76 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
77 }
78
79#define LAYOUT_all( \
80 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, \
81 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
82 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
83 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37,\
84 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44 \
85 ) \
86 { \
87 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
88 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
89 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
90 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
91 { L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO }, \
92 { R00, R01, R02, R03, R04, R05, R06, KC_NO, KC_NO }, \
93 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
94 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
95 { R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \
96 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
97 }
98
diff --git a/keyboards/basekeys/slice/rev1_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/rules.mk
new file mode 100644
index 000000000..d4dade760
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# this is split keyboard.
8SPLIT_KEYBOARD = yes
9
10# Build Options
11# change yes to no to disable
12#
13BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = no # Mouse keys
15EXTRAKEY_ENABLE = no # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug
17COMMAND_ENABLE = no # Commands for debug and configuration
18NKRO_ENABLE = no # Enable N-Key Rollover
19RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
20OLED_ENABLE = yes
21OLED_DRIVER = SSD1306 # Disable OLED driver.
22
23LTO_ENABLE = yes