aboutsummaryrefslogtreecommitdiff
path: root/keyboards/basekeys/slice/rev1_rgb
diff options
context:
space:
mode:
author2Moons-JP <57225836+2Moons-JP@users.noreply.github.com>2020-03-25 18:25:10 +0900
committerGitHub <noreply@github.com>2020-03-25 10:25:10 +0100
commitde58b0765954ed8fc9bb800f389808fb7eee6eda (patch)
treeb8f3c7d0e7c0a90f10f9476cf8ac1b99eb625f30 /keyboards/basekeys/slice/rev1_rgb
parent6ceaae30f519b63b4b56e0277dd459cccf2d0729 (diff)
downloadqmk_firmware-de58b0765954ed8fc9bb800f389808fb7eee6eda.tar.gz
qmk_firmware-de58b0765954ed8fc9bb800f389808fb7eee6eda.zip
Slice Keyboard (#8464)
* Adding Slice Keyboard * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update config.h * Update keyboards/basekeys/slice/slice.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/slice.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update and rename rev1.c to rev1_rgb.c * Rename rev1.h to rev1_rgb.h * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/slice_font.c Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/slice_font.c Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/_font.c Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/_font.c Co-Authored-By: Joel Challis <git@zvecr.com> * slice_font location * Update config.h * Delete slice_font.c * Update config.h * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/rev1/rules.mk Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/rev1/rules.mk Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update keymap.c * oled rotation, config handedness * OLED and LED functionality removed * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keymap.c * Update keymap.c * oled rotation, config handedness * rev1 added EE_HANDS * oled function name * oled function name * oled function name * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Joel Challis <git@zvecr.com> * keymap changes * Delete _font.c * keymap changes, VID/PID * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/basekeys/slice/rev1_rgb/config.h Co-Authored-By: Joel Challis <git@zvecr.com> * split_util.h used Co-authored-by: Erovia <Erovia@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'keyboards/basekeys/slice/rev1_rgb')
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/config.h67
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/info.json15
-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.c221
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/rules.mk2
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c1
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h65
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/rules.mk31
8 files changed, 425 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..6d423d9b5
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -0,0 +1,67 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x04D8
23#define PRODUCT_ID 0xEC15
24#define DEVICE_VER 0x0002
25#define MANUFACTURER 2Moons
26#define PRODUCT Slice RGB
27#define DESCRIPTION A custom keyboard
28
29/* key matrix size */
30#define MATRIX_ROWS 10
31#define MATRIX_COLS 18
32
33// wiring of each half
34#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
35#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5 }
36
37#define DIODE_DIRECTION COL2ROW
38
39/* Set 0 if debouncing isn't needed */
40#define DEBOUNCE 5
41
42/* serial.c configuration for split keyboard */
43#define SOFT_SERIAL_PIN D2
44
45/* Select hand configuration */
46//#define EE_HANDS
47#define MASTER_LEFT
48//#define MASTER_RIGHT
49
50/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
51#define LOCKING_SUPPORT_ENABLE
52/* Locking resynchronize hack */
53#define LOCKING_RESYNC_ENABLE
54
55/* RGB LED */
56#ifdef RGBLIGHT_ENABLE
57#define RGB_DI_PIN D3
58#define RGBLED_NUM 69 // Number of LEDs. backlight x69
59#define RGBLED_SPLIT { 34, 35 }
60#define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
61#define RGBLIGHT_HUE_STEP 10
62#define RGBLIGHT_SAT_STEP 17
63#define RGBLIGHT_VAL_STEP 17
64#define RGBLIGHT_ANIMATIONS
65#endif
66
67#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..47128eb76
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "slice",
3 "url": "https://www.basekeys.com",
4 "maintainer": "2Moons",
5 "width": 17.72,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.6600000000000001, "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.3900000000000001, "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}]
10 },
11 "LAYOUT_split_left_space": {
12 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.6600000000000001, "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.3900000000000001, "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}, {"x":6.75, "y":4}, {"x":7.75, "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}]
13 }
14 }
15} \ No newline at end of file
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..62ee1d1a9
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
@@ -0,0 +1,23 @@
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
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..d9e5808a6
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
@@ -0,0 +1,221 @@
1#include QMK_KEYBOARD_H
2#include "keymap_jp.h"
3#include "split_util.h"
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8enum layer_number {
9 _QWERTY = 0,
10 _FLOCK,
11 _FN,
12 _LOWER,
13 _RAISE,
14 _ADJUST,
15};
16
17enum custom_keycodes {
18 RGB_RST = SAFE_RANGE
19};
20
21enum tapdances{
22 TD_ESFL = 0,
23 TD_ESQW,
24};
25
26qk_tap_dance_action_t tap_dance_actions[] = {
27 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
28 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
29};
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [_QWERTY] = LAYOUT(
33 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
34 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,
35 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
36 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,
37 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
38 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,
39 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
40 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,
41 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
42 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
43 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
44 ),
45
46 [_FLOCK] = LAYOUT(
47 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
48 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, _______,
49 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
50 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
51 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
52 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
53 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
54 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
55 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
57 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
58 ),
59
60 [_FN] = LAYOUT(
61 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
62 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,
63 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
64 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
65 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
66 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
67 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
68 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
69 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
72 ),
73
74 [_LOWER] = LAYOUT(
75 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
76 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,
77 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
78 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,
79 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
80 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,
81 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
82 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,
83 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
84 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
85 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
86 ),
87
88 [_RAISE] = LAYOUT(
89 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
90 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,
91 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
92 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,
93 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
94 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,
95 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
96 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,
97 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
98 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
99 //`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
100 ),
101
102 [_ADJUST] = LAYOUT( /* Base */
103 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
104 XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
105 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
106 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
107 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
108 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
109 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
110 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
111 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
112 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
113 //`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
114 )
115};
116
117
118//A description for expressing the layer position in LED mode.
119layer_state_t layer_state_set_user(layer_state_t state) {
120 state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
121#ifdef RGBLIGHT_ENABLE
122 switch (get_highest_layer(state)) {
123 case _FLOCK:
124 rgblight_sethsv_at(HSV_YELLOW, 0);
125 break;
126 case _FN:
127 rgblight_sethsv_at(HSV_GREEN, 0);
128 break;
129 case _LOWER:
130 rgblight_sethsv_at(HSV_BLUE, 0);
131 break;
132 case _RAISE:
133 rgblight_sethsv_at(HSV_RED, 0);
134 break;
135 case _ADJUST:
136 rgblight_sethsv_at(HSV_PURPLE, 0);
137 break;
138 default: // for any other layers, or the default layer
139 rgblight_sethsv_at( 0, 0, 0, 0);
140 break;
141 }
142 rgblight_set_effect_range( 1, 4);
143#endif
144return state;
145}
146
147int RGB_current_mode;
148bool process_record_user(uint16_t keycode, keyrecord_t *record) {
149 bool result = false;
150 switch (keycode) {
151 #ifdef RGBLIGHT_ENABLE
152 case RGB_MOD:
153 if (record->event.pressed) {
154 rgblight_mode(RGB_current_mode);
155 rgblight_step();
156 RGB_current_mode = rgblight_get_mode();
157 }
158 break;
159 case RGB_RST:
160 if (record->event.pressed) {
161 eeconfig_update_rgblight_default();
162 rgblight_enable();
163 RGB_current_mode = rgblight_get_mode();
164 }
165 break;
166 #endif
167 default:
168 result = true;
169 break;
170 }
171
172 return result;
173}
174
175#ifdef OLED_DRIVER_ENABLE
176
177const char *read_logo(void) {
178 static char logo[] = {
179 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
180 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
181 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
182 0};
183 return logo;
184}
185
186oled_rotation_t oled_init_user(oled_rotation_t rotation) {
187 return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
188}
189
190void oled_task_user(void) {
191 if (is_keyboard_master()) {
192 // Host Keyboard Layer Status
193 oled_write_P(PSTR("Layer: "), false);
194 switch (get_highest_layer(layer_state)) {
195 case _QWERTY:
196 oled_write_P(PSTR("Default\n"), false);
197 break;
198 case _FN:
199 oled_write_P(PSTR("Function\n"), false);
200 break;
201 case _LOWER:
202 oled_write_P(PSTR("Lower\n"), false);
203 break;
204 case _RAISE:
205 oled_write_P(PSTR("Raise\n"), false);
206 break;
207 default:
208 // Or use the write_ln shortcut over adding '\n' to the end of your string
209 oled_write_ln_P(PSTR("Undefined"), false);
210 }
211
212 // Host Keyboard LED Status
213 led_t led_usb_state = host_keyboard_led_state();
214 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
215 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
216 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
217 } else {
218 oled_write(read_logo(), false);
219 }
220}
221#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/rev1_rgb.c b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c
new file mode 100644
index 000000000..3cdec58c5
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.c
@@ -0,0 +1 @@
#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..809c278db
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rev1_rgb.h
@@ -0,0 +1,65 @@
1#pragma once
2
3#include "slice.h"
4
5#include "quantum.h"
6
7//////////////////////////////////////////////////////////////////////////////
8// When only use Slice Rev1.
9//////////////////////////////////////////////////////////////////////////////
10/*
11 * ,------------------------------------------------ --------------------------------------------------.
12 * | L00 | L01 | L02 | L03 | L04 | L05 | L06 | L07 | | R00 | R01 | R02 | R03 | R04 | R05 | R06 |
13 * |------------------------------------------------ ------------------------------------------------------+
14 * | L10 | L11 | L12 | L13 | L14 | L15 | L16 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R37 |
15 * |---------------------------------------------- ------------------------------------------------------+
16 * | L20 | L21 | L22 | L23 | L24 | L25 | L26 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 |
17 * |------------------------------------------------- --------------------------------------------------------+
18 * | L30 | L31 | L32 | L33 | L34 | L35 | L36 | | R30 | R31 | R32 | R33 | R34 | R34 | R35 | R36 | R37 |
19 * |------------------------------------------------- --------------------------------------------------------'
20 * | L40 | L41 | L42 | L43 | L44L45L46 | | R40 | R41 | | R42 | R43 | R44 |
21 * |------------------------------------------------- -------------------------------------------------------'
22 */
23
24#define LAYOUT( \
25 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, \
26 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
27 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
28 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37,\
29 L40, L41, L42, L43, L45, R40, R41, R42, R43, R44 \
30 ) \
31 { \
32 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
33 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
34 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
35 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
36 { L40, L41, L42, L43, KC_NO, L45, KC_NO, KC_NO, KC_NO }, \
37 { R00, R01, R02, R03, R04, R05, R06, KC_NO, KC_NO }, \
38 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
39 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
40 { R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \
41 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
42 }
43
44#define LAYOUT_split_left_space( \
45 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, \
46 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
47 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
48 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37,\
49 L40, L41, L42, L43, L44, L46, R40, R41, R42, R43, R44 \
50 ) \
51 { \
52 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
53 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
54 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
55 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
56 { L40, L41, L42, L43, L44, KC_NO, L46, KC_NO, KC_NO }, \
57 { R00, R01, R02, R03, R04, R05, R06, KC_NO, KC_NO }, \
58 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
59 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
60 { R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \
61 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
62 }
63
64
65
diff --git a/keyboards/basekeys/slice/rev1_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/rules.mk
new file mode 100644
index 000000000..116492c6e
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1_rgb/rules.mk
@@ -0,0 +1,31 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = caterina
13
14# this is split keyboard.
15SPLIT_KEYBOARD = yes
16
17# Build Options
18# change yes to no to disable
19#
20BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
21MOUSEKEY_ENABLE = no # Mouse keys
22EXTRAKEY_ENABLE = no # Audio control and System control
23CONSOLE_ENABLE = no # Console for debug
24COMMAND_ENABLE = no # Commands for debug and configuration
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
28NKRO_ENABLE = no # USB Nkey Rollover
29RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
30OLED_DRIVER_ENABLE = yes # Disable OLED driver.
31UNICODE_ENABLE = no # Unicode