aboutsummaryrefslogtreecommitdiff
path: root/keyboards/basekeys/slice
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/basekeys/slice')
-rw-r--r--keyboards/basekeys/slice/config.h19
-rw-r--r--keyboards/basekeys/slice/keymaps/default/config.h22
-rw-r--r--keyboards/basekeys/slice/keymaps/default/keymap.c147
-rw-r--r--keyboards/basekeys/slice/keymaps/default_split_left_space/config.h22
-rw-r--r--keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c147
-rw-r--r--keyboards/basekeys/slice/readme.md17
-rw-r--r--keyboards/basekeys/slice/rev1/.noci0
-rw-r--r--keyboards/basekeys/slice/rev1/config.h50
-rw-r--r--keyboards/basekeys/slice/rev1/info.json19
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/2moons/config.h23
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c195
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk1
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_all/config.h22
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c77
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h22
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c76
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/via/config.h22
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/via/keymap.c85
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/via/rules.mk3
-rw-r--r--keyboards/basekeys/slice/rev1/rev1.c16
-rw-r--r--keyboards/basekeys/slice/rev1/rev1.h120
-rw-r--r--keyboards/basekeys/slice/rev1/rules.mk18
-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
-rw-r--r--keyboards/basekeys/slice/slice.c16
-rw-r--r--keyboards/basekeys/slice/slice.h25
-rw-r--r--keyboards/basekeys/slice/slice_font.c247
35 files changed, 2019 insertions, 0 deletions
diff --git a/keyboards/basekeys/slice/config.h b/keyboards/basekeys/slice/config.h
new file mode 100644
index 000000000..e7e65de3b
--- /dev/null
+++ b/keyboards/basekeys/slice/config.h
@@ -0,0 +1,19 @@
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#include "config_common.h"
diff --git a/keyboards/basekeys/slice/keymaps/default/config.h b/keyboards/basekeys/slice/keymaps/default/config.h
new file mode 100644
index 000000000..3dc07fdac
--- /dev/null
+++ b/keyboards/basekeys/slice/keymaps/default/config.h
@@ -0,0 +1,22 @@
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
diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c
new file mode 100644
index 000000000..c7fc3fed5
--- /dev/null
+++ b/keyboards/basekeys/slice/keymaps/default/keymap.c
@@ -0,0 +1,147 @@
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 = 0,
24 _FN,
25 _ADJUST,
26};
27
28enum custom_keycodes {
29 RGB_RST = SAFE_RANGE
30};
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 [_QWERTY] = LAYOUT(
34 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
35 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,
36 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
37 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,
38 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
39 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,
40 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
41 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,
42 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
43 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
44 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
45 ),
46
47 [_FN] = LAYOUT(
48 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
49 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,
50 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
51 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
52 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
53 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
54 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
55 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
56 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
58 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
59 ),
60
61 [_ADJUST] = LAYOUT( /* Base */
62 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
63 XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
64 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
65 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
66 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
70 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
72 //`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
73 )
74
75};
76
77
78int RGB_current_mode;
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 bool result = false;
81 switch (keycode) {
82 #ifdef RGBLIGHT_ENABLE
83 case RGB_MOD:
84 if (record->event.pressed) {
85 rgblight_mode(RGB_current_mode);
86 rgblight_step();
87 RGB_current_mode = rgblight_get_mode();
88 }
89 break;
90 case RGB_RST:
91 if (record->event.pressed) {
92 eeconfig_update_rgblight_default();
93 rgblight_enable();
94 RGB_current_mode = rgblight_get_mode();
95 }
96 break;
97 #endif
98 default:
99 result = true;
100 break;
101 }
102
103 return result;
104}
105
106#ifdef OLED_ENABLE
107
108const char *read_logo(void) {
109 static char logo[] = {
110 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
111 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
112 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
113 0};
114 return logo;
115}
116
117oled_rotation_t oled_init_user(oled_rotation_t rotation) {
118 return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
119}
120
121bool oled_task_user(void) {
122 if (is_keyboard_master()) {
123 // Host Keyboard Layer Status
124 oled_write_P(PSTR("Layer: "), false);
125 switch (get_highest_layer(layer_state)) {
126 case _QWERTY:
127 oled_write_P(PSTR("Default\n"), false);
128 break;
129 case _FN:
130 oled_write_P(PSTR("Function\n"), false);
131 break;
132 default:
133 // Or use the write_ln shortcut over adding '\n' to the end of your string
134 oled_write_ln_P(PSTR("Undefined"), false);
135 }
136
137 // Host Keyboard LED Status
138 led_t led_usb_state = host_keyboard_led_state();
139 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
140 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
141 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
142 } else {
143 oled_write(read_logo(), false);
144 }
145 return false;
146}
147#endif
diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h b/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h
new file mode 100644
index 000000000..3dc07fdac
--- /dev/null
+++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h
@@ -0,0 +1,22 @@
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
diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c
new file mode 100644
index 000000000..203bd0804
--- /dev/null
+++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c
@@ -0,0 +1,147 @@
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 = 0,
24 _FN,
25 _ADJUST,
26};
27
28enum custom_keycodes {
29 RGB_RST = SAFE_RANGE
30};
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 [_QWERTY] = LAYOUT_split_left_space(
34 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
35 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,
36 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
37 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,
38 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
39 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,
40 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
41 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,
42 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
43 RGB_TOG, KC_LCTL,KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
44 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
45 ),
46
47 [_FN] = LAYOUT_split_left_space(
48 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
49 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_DEL,
50 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
51 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
52 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
53 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
54 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
55 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
56 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
58 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
59 ),
60
61 [_ADJUST] = LAYOUT_split_left_space( /* Base */
62 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
63 XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
64 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
65 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
66 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
70 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
72 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
73 )
74
75};
76
77
78int RGB_current_mode;
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 bool result = false;
81 switch (keycode) {
82 #ifdef RGBLIGHT_ENABLE
83 case RGB_MOD:
84 if (record->event.pressed) {
85 rgblight_mode(RGB_current_mode);
86 rgblight_step();
87 RGB_current_mode = rgblight_get_mode();
88 }
89 break;
90 case RGB_RST:
91 if (record->event.pressed) {
92 eeconfig_update_rgblight_default();
93 rgblight_enable();
94 RGB_current_mode = rgblight_get_mode();
95 }
96 break;
97 #endif
98 default:
99 result = true;
100 break;
101 }
102
103 return result;
104}
105
106#ifdef OLED_ENABLE
107
108const char *read_logo(void) {
109 static char logo[] = {
110 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
111 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
112 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
113 0};
114 return logo;
115}
116
117oled_rotation_t oled_init_user(oled_rotation_t rotation) {
118 return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
119}
120
121bool oled_task_user(void) {
122 if (is_keyboard_master()) {
123 // Host Keyboard Layer Status
124 oled_write_P(PSTR("Layer: "), false);
125 switch (get_highest_layer(layer_state)) {
126 case _QWERTY:
127 oled_write_P(PSTR("Default\n"), false);
128 break;
129 case _FN:
130 oled_write_P(PSTR("Function\n"), false);
131 break;
132 default:
133 // Or use the write_ln shortcut over adding '\n' to the end of your string
134 oled_write_ln_P(PSTR("Undefined"), false);
135 }
136
137 // Host Keyboard LED Status
138 led_t led_usb_state = host_keyboard_led_state();
139 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
140 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
141 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
142 } else {
143 oled_write(read_logo(), false);
144 }
145 return false;
146}
147#endif
diff --git a/keyboards/basekeys/slice/readme.md b/keyboards/basekeys/slice/readme.md
new file mode 100644
index 000000000..65939d64d
--- /dev/null
+++ b/keyboards/basekeys/slice/readme.md
@@ -0,0 +1,17 @@
1# Slice
2
3![slice](https://i.imgur.com/l2aVaGx.jpg)
4
5This is 71 keys Custom keyboard.
6
7* Keyboard Maintainer: [2Moons](https://github.com/2Moons-JP)
8* Hardware Supported: Slice PCB, Pro Micro
9* Hardware Availability: [Website](https://www.basekeys.com/shop/)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make basekeys/slice/rev1:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16
17[Build guide](https://www.basekeys.com/category/build-guides/)
diff --git a/keyboards/basekeys/slice/rev1/.noci b/keyboards/basekeys/slice/rev1/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/.noci
diff --git a/keyboards/basekeys/slice/rev1/config.h b/keyboards/basekeys/slice/rev1/config.h
new file mode 100644
index 000000000..08c929b7b
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/config.h
@@ -0,0 +1,50 @@
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
18#pragma once
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0x04D8
22#define PRODUCT_ID 0xEC17
23#define DEVICE_VER 0x0002
24#define MANUFACTURER 2Moons
25#define PRODUCT Slice
26
27/* key matrix size */
28#define MATRIX_ROWS 10
29#define MATRIX_COLS 9
30
31// wiring of each half
32#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
33#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5 }
34
35#define DIODE_DIRECTION COL2ROW
36
37/* Set 0 if debouncing isn't needed */
38#define DEBOUNCE 5
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
diff --git a/keyboards/basekeys/slice/rev1/info.json b/keyboards/basekeys/slice/rev1/info.json
new file mode 100644
index 000000000..f4e0d4505
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/info.json
@@ -0,0 +1,19 @@
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.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}]
8 },
9 "LAYOUT_split_backspace": {
10 "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":"BS", "x":15.32, "y":0}, {"label":"BS", "x":16.32, "y":0}, {"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}]
11 },
12 "LAYOUT_split_left_space": {
13 "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":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}]
14 },
15 "LAYOUT_all": {
16 "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":"BS", "x":15.32, "y":0}, {"label":"BS", "x":16.32, "y":0}, {"label":"BS", "x":17.32, "y":0}, {"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}, {"label":"Shift", "x":15.97, "y":3}, {"label":"Shift", "x":16.97, "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}]
17 }
18 }
19}
diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h b/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h
new file mode 100644
index 000000000..8f38938b1
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/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/keymaps/2moons/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
new file mode 100644
index 000000000..97f7039a7
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
@@ -0,0 +1,195 @@
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
19#ifdef RGBLIGHT_ENABLE
20//Following line allows macro to read current RGB settings
21extern rgblight_config_t rgblight_config;
22#endif
23
24extern uint8_t is_master;
25
26// Each layer gets a name for readability, which is then used in the keymap matrix below.
27// The underscores don't mean anything - you can have a layer called STUFF or any other name.
28// Layer names don't all need to be of the same length, obviously, and you can also skip them
29// entirely and just use numbers.
30enum layer_number {
31 _QWERTY = 0,
32 _FLOCK,
33 _FN,
34 _LOWER,
35 _RAISE,
36 _ADJUST,
37};
38
39enum custom_keycodes {
40 RGB_RST = SAFE_RANGE
41};
42
43enum tapdances{
44 TD_ESFL = 0,
45 TD_ESQW,
46};
47
48qk_tap_dance_action_t tap_dance_actions[] = {
49 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
50 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
51};
52
53const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
54 [_QWERTY] = LAYOUT_all(
55 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
56 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, KC_BSPACE, KC_BSPACE,
57 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
58 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,
59 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
60 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,
61 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
62 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, KC_RSFT,
63 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
64 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
65 //`----------------------------------------------------------------| |--------------------------------------------'
66 ),
67
68 [_FLOCK] = LAYOUT_all(
69 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
70 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, KC_BSPACE, KC_BSPACE,
71 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
72 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,
73 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
74 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,
75 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
76 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, KC_RSFT,
77 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
78 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
79 //`----------------------------------------------------------------| |--------------------------------------------'
80 ),
81
82 [_FN] = LAYOUT_all(
83 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
84 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_INS, KC_BSPACE, KC_DEL,
85 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
86 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
87 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
88 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
89 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
90 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______,
91 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
93 //`----------------------------------------------------------------| |--------------------------------------------'
94 ),
95
96 [_LOWER] = LAYOUT_all(
97 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
98 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, KC_BSPACE, KC_BSPACE,
99 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
100 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,
101 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
102 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,
103 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
104 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, KC_RSFT,
105 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
106 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
107 //`----------------------------------------------------------------| |--------------------------------------------'
108 ),
109
110 [_RAISE] = LAYOUT_all(
111 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
112 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, KC_BSPACE, KC_BSPACE,
113 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
114 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,
115 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
116 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,
117 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
118 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, KC_RSFT,
119 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
120 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
121 //`----------------------------------------------------------------| |--------------------------------------------'
122 ),
123
124 [_ADJUST] = LAYOUT_all( /* Base */
125 //,------------------------------------------------------------------------| |----------------------------------------------------------------.
126 XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
127 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
128 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
129 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
130 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
131 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
132 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX,
133 //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
134 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
135 //`----------------------------------------------------------------| |--------------------------------------------'
136 )
137};
138
139
140//A description for expressing the layer position in LED mode.
141layer_state_t layer_state_set_user(layer_state_t state) {
142 state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
143#ifdef RGBLIGHT_ENABLE
144 switch (get_highest_layer(state)) {
145 case _FLOCK:
146 rgblight_sethsv_at(HSV_YELLOW, 0);
147 break;
148 case _FN:
149 rgblight_sethsv_at(HSV_GREEN, 0);
150 break;
151 case _LOWER:
152 rgblight_sethsv_at(HSV_BLUE, 0);
153 break;
154 case _RAISE:
155 rgblight_sethsv_at(HSV_RED, 0);
156 break;
157 case _ADJUST:
158 rgblight_sethsv_at(HSV_PURPLE, 0);
159 break;
160 default: // for any other layers, or the default layer
161 rgblight_sethsv_at( 0, 0, 0, 0);
162 break;
163 }
164 rgblight_set_effect_range( 1, 4);
165#endif
166return state;
167}
168
169int RGB_current_mode;
170bool process_record_user(uint16_t keycode, keyrecord_t *record) {
171 bool result = false;
172 switch (keycode) {
173 #ifdef RGBLIGHT_ENABLE
174 case RGB_MOD:
175 if (record->event.pressed) {
176 rgblight_mode(RGB_current_mode);
177 rgblight_step();
178 RGB_current_mode = rgblight_config.mode;
179 }
180 break;
181 case RGB_RST:
182 if (record->event.pressed) {
183 eeconfig_update_rgblight_default();
184 rgblight_enable();
185 RGB_current_mode = rgblight_config.mode;
186 }
187 break;
188 #endif
189 default:
190 result = true;
191 break;
192 }
193
194 return result;
195}
diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk b/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk
new file mode 100644
index 000000000..e5ddcae8d
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk
@@ -0,0 +1 @@
TAP_DANCE_ENABLE = yes
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h b/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h
new file mode 100644
index 000000000..3dc07fdac
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h
@@ -0,0 +1,22 @@
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
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c
new file mode 100644
index 000000000..34e1b7c43
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_all/keymap.c
@@ -0,0 +1,77 @@
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
18extern uint8_t is_master;
19
20// Each layer gets a name for readability, which is then used in the keymap matrix below.
21// The underscores don't mean anything - you can have a layer called STUFF or any other name.
22// Layer names don't all need to be of the same length, obviously, and you can also skip them
23// entirely and just use numbers.
24enum layer_number {
25 _QWERTY = 0,
26 _FN,
27 _ADJUST,
28};
29
30enum custom_keycodes {
31 RGB_RST = SAFE_RANGE
32};
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 [_QWERTY] = LAYOUT_all(
36 //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
37 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, KC_BSPACE, KC_BSPACE,
38 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
39 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,
40 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
41 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,
42 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
43 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, KC_RSFT,
44 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
45 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
46 //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
47 ),
48
49 [_FN] = LAYOUT_all(
50 //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
51 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_INS, KC_BSPACE, KC_DEL,
52 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
53 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
54 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
55 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
56 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
57 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______,
58 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
59 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
60 //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
61 ),
62
63 [_ADJUST] = LAYOUT_all( /* Base */
64 //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
65 XXXXXXX,TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
66 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
70 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX,
72 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
73 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
74 //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
75 )
76};
77
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h
new file mode 100644
index 000000000..3dc07fdac
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h
@@ -0,0 +1,22 @@
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
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c
new file mode 100644
index 000000000..772f9f6f1
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/keymap.c
@@ -0,0 +1,76 @@
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
18extern uint8_t is_master;
19
20// Each layer gets a name for readability, which is then used in the keymap matrix below.
21// The underscores don't mean anything - you can have a layer called STUFF or any other name.
22// Layer names don't all need to be of the same length, obviously, and you can also skip them
23// entirely and just use numbers.
24enum layer_number {
25 _QWERTY = 0,
26 _FN,
27 _ADJUST,
28};
29
30enum custom_keycodes {
31 RGB_RST = SAFE_RANGE
32};
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 [_QWERTY] = LAYOUT_split_backspace(
36 //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
37 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, KC_BSPACE,
38 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
39 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,
40 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
41 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,
42 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
43 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,
44 //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
45 RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
46 //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
47 ),
48
49 [_FN] = LAYOUT_split_backspace(
50 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
51 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_INS, KC_DEL,
52 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
53 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUSE, KC_UP, _______, _______, _______,
54 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
55 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
56 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
57 _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
58 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
59 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
60 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
61 ),
62
63 [_ADJUST] = LAYOUT_split_backspace( /* Base */
64 //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
65 XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
66 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
69 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
70 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
72 //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
73 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
74 //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
75 )
76};
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/config.h b/keyboards/basekeys/slice/rev1/keymaps/via/config.h
new file mode 100644
index 000000000..3dc07fdac
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/via/config.h
@@ -0,0 +1,22 @@
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
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c
new file mode 100644
index 000000000..900f1b3ba
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c
@@ -0,0 +1,85 @@
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// 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 = 0,
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, KC_BSPACE, 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, 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_INS, KC_BSPACE, KC_DEL,
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, KC_BSPACE, 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, 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, KC_BSPACE, 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, 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};
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk b/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk
new file mode 100644
index 000000000..fe10d4e09
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1TAP_DANCE_ENABLE = no
2VIA_ENABLE = yes
3BACKLIGHT_ENABLE = no \ No newline at end of file
diff --git a/keyboards/basekeys/slice/rev1/rev1.c b/keyboards/basekeys/slice/rev1/rev1.c
new file mode 100644
index 000000000..a3c8f66fe
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/rev1.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.h"
diff --git a/keyboards/basekeys/slice/rev1/rev1.h b/keyboards/basekeys/slice/rev1/rev1.h
new file mode 100644
index 000000000..26a5da31b
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/rev1.h
@@ -0,0 +1,120 @@
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 | R06R07R08 |
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 | R36R37R38 |
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, R07, \
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, R38,\
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, KC_NO, R07, 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, KC_NO, R38 }, \
56 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
57 }
58
59#define LAYOUT_all( \
60 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, R08, \
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, R38,\
64 L40, L41, L42, L43, L44, L45, 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, L45, L46, KC_NO, KC_NO }, \
72 { R00, R01, R02, R03, R04, R05, R06, R07, R08 }, \
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, R38 }, \
76 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
77 }
78
79#define LAYOUT_split_backspace( \
80 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R08, \
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, R38,\
84 L40, L41, L42, L43, L45, 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, KC_NO, L45, KC_NO, KC_NO, KC_NO }, \
92 { R00, R01, R02, R03, R04, R05, R06, KC_NO, R08 }, \
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, KC_NO, R38 }, \
96 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
97 }
98
99
100#define LAYOUT_split_left_space( \
101 L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R07, \
102 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
103 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
104 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R38,\
105 L40, L41, L42, L43, L44, L46, R40, R41, R42, R43, R44 \
106 ) \
107 { \
108 { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
109 { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
110 { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
111 { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
112 { L40, L41, L42, L43, L44, KC_NO, L46, KC_NO, KC_NO }, \
113 { R00, R01, R02, R03, R04, R05, KC_NO, R07, KC_NO }, \
114 { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
115 { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
116 { R30, R31, R32, R33, R34, R35, R36, KC_NO, R38 }, \
117 { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
118 }
119
120
diff --git a/keyboards/basekeys/slice/rev1/rules.mk b/keyboards/basekeys/slice/rev1/rules.mk
new file mode 100644
index 000000000..01089b452
--- /dev/null
+++ b/keyboards/basekeys/slice/rev1/rules.mk
@@ -0,0 +1,18 @@
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
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
diff --git a/keyboards/basekeys/slice/slice.c b/keyboards/basekeys/slice/slice.c
new file mode 100644
index 000000000..2d7d111f9
--- /dev/null
+++ b/keyboards/basekeys/slice/slice.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 "slice.h"
diff --git a/keyboards/basekeys/slice/slice.h b/keyboards/basekeys/slice/slice.h
new file mode 100644
index 000000000..bc3eb813a
--- /dev/null
+++ b/keyboards/basekeys/slice/slice.h
@@ -0,0 +1,25 @@
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 "quantum.h"
19#ifdef KEYBOARD_basekeys_slice_rev1
20 #include "rev1.h"
21#endif
22
23#ifdef KEYBOARD_basekeys_slice_rev1_rgb
24 #include "rev1_rgb.h"
25#endif
diff --git a/keyboards/basekeys/slice/slice_font.c b/keyboards/basekeys/slice/slice_font.c
new file mode 100644
index 000000000..b59fbcf5b
--- /dev/null
+++ b/keyboards/basekeys/slice/slice_font.c
@@ -0,0 +1,247 @@
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// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
17// See gfxfont.h for newer custom bitmap font info.
18
19#include "progmem.h"
20
21// Standard ASCII 5x7 font
22const unsigned char font[] PROGMEM = {
23 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
24 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
25 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
26 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
27 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
28 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
29 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
30 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
31 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
32 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
33 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
34 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
35 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
36 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
37 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
38 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
39 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
40 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
41 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
42 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
43 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
44 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
45 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
46 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
47 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
48 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
49 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
50 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
51 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
52 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
53 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
54 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
57 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
58 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
59 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
60 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
61 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
62 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
63 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
64 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
65 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
66 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
67 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
68 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
69 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
70 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
71 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
72 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
73 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
74 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
75 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
76 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
77 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
78 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
79 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
80 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
81 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
82 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
83 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
84 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
85 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
86 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
87 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
88 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
89 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
90 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
91 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
92 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
93 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
94 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
95 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
96 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
97 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
98 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
99 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
100 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
101 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
102 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
103 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
104 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
105 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
106 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
107 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
108 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
109 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
110 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
111 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
112 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
113 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
114 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
115 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
116 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
117 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
118 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
119 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
120 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
121 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
122 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
123 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
124 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
125 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
126 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
127 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
128 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
129 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
130 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
131 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
132 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
133 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
134 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
135 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
136 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
137 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
138 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
139 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
140 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
141 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
142 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
143 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
144 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
145 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
146 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
147 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
148 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
149 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
150 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFF,
154 0x3F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
155 0x1F, 0x1F, 0x0F, 0x03, 0x00, 0x10,
156 0x3F, 0x3F, 0x3F, 0x3F, 0x3C, 0x00,
157 0x00, 0x00, 0xC0, 0xF8, 0xFF, 0xFF,
158 0xFF, 0x7F, 0x1F, 0x03, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0xC0, 0xF8, 0xFF, 0xFF, 0xFF, 0x7F,
162 0x1F, 0x03, 0x00, 0x00, 0x00, 0x80,
163 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
164 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
165 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
166 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x00,
167 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0,
168 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
169 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
170 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
173 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
174 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
175 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
176 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
177 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
178 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
179 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0,
185 0xC7, 0xC7, 0xCF, 0x8F, 0x0F, 0x0F,
186 0x0F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F,
187 0x8F, 0x8F, 0xCF, 0xFF, 0xFF, 0xFF,
188 0xFF, 0x3E, 0x00, 0x00, 0x00, 0xE0,
189 0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x0F,
190 0x03, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
191 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00,
192 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFF,
193 0xFF, 0xFF, 0x7F, 0x0F, 0x03, 0x00,
194 0x00, 0xE0, 0xF8, 0xFE, 0xFF, 0xFF,
195 0x7F, 0x1F, 0x0F, 0x07, 0x07, 0x07,
196 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
197 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
198 0x07, 0x07, 0x07, 0x01, 0x00, 0xC0,
199 0xE0, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3,
200 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3,
201 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3,
202 0xE3, 0x23, 0x03, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
205 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
206 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
207 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
208 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
209 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
210 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
211 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
217 0x07, 0x07, 0x07, 0x01, 0x00, 0x04,
218 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
219 0x07, 0x07, 0x07, 0x07, 0x03, 0x03,
220 0x00, 0x00, 0x00, 0x04, 0x07, 0x07,
221 0x07, 0x07, 0x07, 0x01, 0x00, 0x04,
222 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
223 0x07, 0x07, 0x07, 0x03, 0x00, 0x80,
224 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F,
225 0x0F, 0x01, 0x00, 0x00, 0x00, 0x7C,
226 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
227 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
228 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
229 0xF0, 0xF0, 0xF0, 0xF0, 0x30, 0x10,
230 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF1,
231 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1,
232 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1,
233 0xF1, 0xF1, 0xF1, 0x71, 0x11, 0x01,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
247};