diff options
author | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
commit | dc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch) | |
tree | 4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/basekeys |
Diffstat (limited to 'keyboards/basekeys')
45 files changed, 2468 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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. | ||
22 | enum layer_number { | ||
23 | _QWERTY = 0, | ||
24 | _FN, | ||
25 | _ADJUST, | ||
26 | }; | ||
27 | |||
28 | enum custom_keycodes { | ||
29 | RGB_RST = SAFE_RANGE | ||
30 | }; | ||
31 | |||
32 | const 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 | |||
78 | int RGB_current_mode; | ||
79 | bool 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 | |||
108 | const 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 | |||
117 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
118 | return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; | ||
119 | } | ||
120 | |||
121 | bool 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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. | ||
22 | enum layer_number { | ||
23 | _QWERTY = 0, | ||
24 | _FN, | ||
25 | _ADJUST, | ||
26 | }; | ||
27 | |||
28 | enum custom_keycodes { | ||
29 | RGB_RST = SAFE_RANGE | ||
30 | }; | ||
31 | |||
32 | const 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 | |||
78 | int RGB_current_mode; | ||
79 | bool 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 | |||
108 | const 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 | |||
117 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
118 | return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; | ||
119 | } | ||
120 | |||
121 | bool 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 |  | ||
4 | |||
5 | This 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 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make basekeys/slice/rev1:default | ||
14 | |||
15 | See 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | ||
21 | extern rgblight_config_t rgblight_config; | ||
22 | #endif | ||
23 | |||
24 | extern 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. | ||
30 | enum layer_number { | ||
31 | _QWERTY = 0, | ||
32 | _FLOCK, | ||
33 | _FN, | ||
34 | _LOWER, | ||
35 | _RAISE, | ||
36 | _ADJUST, | ||
37 | }; | ||
38 | |||
39 | enum custom_keycodes { | ||
40 | RGB_RST = SAFE_RANGE | ||
41 | }; | ||
42 | |||
43 | enum tapdances{ | ||
44 | TD_ESFL = 0, | ||
45 | TD_ESQW, | ||
46 | }; | ||
47 | |||
48 | qk_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 | |||
53 | const 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. | ||
141 | layer_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 | ||
166 | return state; | ||
167 | } | ||
168 | |||
169 | int RGB_current_mode; | ||
170 | bool 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | |||
18 | extern 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. | ||
24 | enum layer_number { | ||
25 | _QWERTY = 0, | ||
26 | _FN, | ||
27 | _ADJUST, | ||
28 | }; | ||
29 | |||
30 | enum custom_keycodes { | ||
31 | RGB_RST = SAFE_RANGE | ||
32 | }; | ||
33 | |||
34 | const 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | |||
18 | extern 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. | ||
24 | enum layer_number { | ||
25 | _QWERTY = 0, | ||
26 | _FN, | ||
27 | _ADJUST, | ||
28 | }; | ||
29 | |||
30 | enum custom_keycodes { | ||
31 | RGB_RST = SAFE_RANGE | ||
32 | }; | ||
33 | |||
34 | const 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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. | ||
22 | enum layer_number { | ||
23 | _QWERTY = 0, | ||
24 | _FN, | ||
25 | _LOWER, | ||
26 | _RAISE, | ||
27 | }; | ||
28 | |||
29 | const 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 @@ | |||
1 | TAP_DANCE_ENABLE = no | ||
2 | VIA_ENABLE = yes | ||
3 | BACKLIGHT_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 | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # this is split keyboard. | ||
8 | SPLIT_KEYBOARD = yes | ||
9 | |||
10 | # Build Options | ||
11 | # change yes to no to disable | ||
12 | # | ||
13 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
14 | MOUSEKEY_ENABLE = no # Mouse keys | ||
15 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
16 | CONSOLE_ENABLE = no # Console for debug | ||
17 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
18 | NKRO_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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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 | /* | ||
2 | Copyright 2020 2Moons | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along 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. | ||
23 | enum layer_number { | ||
24 | _QWERTY = 0, | ||
25 | _FLOCK, | ||
26 | _FN, | ||
27 | _LOWER, | ||
28 | _RAISE, | ||
29 | _ADJUST, | ||
30 | }; | ||
31 | |||
32 | enum custom_keycodes { | ||
33 | RGB_RST = SAFE_RANGE | ||
34 | }; | ||
35 | |||
36 | enum tapdances{ | ||
37 | TD_ESFL = 0, | ||
38 | TD_ESQW, | ||
39 | }; | ||
40 | |||
41 | qk_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 | |||
46 | const 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. | ||
134 | layer_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 | ||
159 | return state; | ||
160 | } | ||
161 | |||
162 | int RGB_current_mode; | ||
163 | bool 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 | |||
192 | const 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 | |||
201 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
202 | return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; | ||
203 | } | ||
204 | |||
205 | bool 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 @@ | |||
1 | TAP_DANCE_ENABLE = yes | ||
2 | RGBLIGHT_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. | ||
22 | enum layer_number { | ||
23 | _QWERTY, | ||
24 | _FN, | ||
25 | _LOWER, | ||
26 | _RAISE, | ||
27 | }; | ||
28 | |||
29 | const 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 | |||
89 | static 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 | |||
98 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
99 | return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; | ||
100 | } | ||
101 | |||
102 | bool 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 | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # this is split keyboard. | ||
8 | SPLIT_KEYBOARD = yes | ||
9 | |||
10 | # Build Options | ||
11 | # change yes to no to disable | ||
12 | # | ||
13 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
14 | MOUSEKEY_ENABLE = no # Mouse keys | ||
15 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
16 | CONSOLE_ENABLE = no # Console for debug | ||
17 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
18 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
19 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
20 | OLED_ENABLE = yes | ||
21 | OLED_DRIVER = SSD1306 # Disable OLED driver. | ||
22 | |||
23 | LTO_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 | ||
22 | const 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 | }; | ||
diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h new file mode 100644 index 000000000..ffdf6d2d2 --- /dev/null +++ b/keyboards/basekeys/trifecta/config.h | |||
@@ -0,0 +1,144 @@ | |||
1 | /* Copyright 2020 Swiftrax and Basekeys.com | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #pragma once | ||
18 | |||
19 | #include "config_common.h" | ||
20 | |||
21 | /* USB Device descriptor parameter */ | ||
22 | #define VENDOR_ID 0x04D8 | ||
23 | #define PRODUCT_ID 0xEAF3 | ||
24 | #define DEVICE_VER 0x0001 | ||
25 | #define MANUFACTURER Swiftrax | ||
26 | #define PRODUCT Trifecta | ||
27 | |||
28 | /* key matrix size */ | ||
29 | #define MATRIX_ROWS 10 | ||
30 | #define MATRIX_COLS 8 | ||
31 | |||
32 | /* key matrix pins */ | ||
33 | |||
34 | #define MATRIX_ROW_PINS { B0, B7, F7, B1, B6, C6, C7, B5, F6, D2 } | ||
35 | #define MATRIX_COL_PINS { F0, F1, F4, F5, D1, B2, D0, B3 } | ||
36 | |||
37 | |||
38 | #define ENCODERS_PAD_A { D4, D6, D7 } | ||
39 | #define ENCODERS_PAD_B { B4, D3, D5 } | ||
40 | |||
41 | /* COL2ROW, ROW2COL*/ | ||
42 | #define DIODE_DIRECTION COL2ROW | ||
43 | |||
44 | |||
45 | #define RGB_DI_PIN E6 | ||
46 | #define DRIVER_LED_TOTAL 80 | ||
47 | |||
48 | /* RGB LED */ | ||
49 | #ifdef RGBLIGHT_ENABLE | ||
50 | #define RGB_DI_PIN E6 | ||
51 | #define RGBLED_NUM 80 // Number of LEDs. backlight x69 | ||
52 | #define RGBLIGHT_HUE_STEP 10 | ||
53 | #define RGBLIGHT_SAT_STEP 17 | ||
54 | #define RGBLIGHT_VAL_STEP 17 | ||
55 | #define RGBLIGHT_ANIMATIONS | ||
56 | #endif | ||
57 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
58 | #define DEBOUNCE 5 | ||
59 | |||
60 | /* Limits the brightness of the LEDS range of 255-0 (255 is default)*/ | ||
61 | #define RGBLIGHT_LIMIT_VAL 128 | ||
62 | |||
63 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
64 | //#define MATRIX_HAS_GHOST | ||
65 | |||
66 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
67 | #define LOCKING_SUPPORT_ENABLE | ||
68 | |||
69 | /* Locking resynchronize hack */ | ||
70 | #define LOCKING_RESYNC_ENABLE | ||
71 | |||
72 | /* EEPROM for via */ | ||
73 | #define DYNAMIC_KEYMAP_LAYER_COUNT 3 | ||
74 | |||
75 | /* bootmagic row col assignment */ | ||
76 | #define BOOTMAGIC_LITE_ROW 1 | ||
77 | #define BOOTMAGIC_LITE_COLUMN 0 | ||
78 | |||
79 | #ifdef RGB_MATRIX_ENABLE | ||
80 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
81 | // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) | ||
82 | // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects | ||
83 | //# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended | ||
84 | # define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
85 | # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) | ||
86 | # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) | ||
87 | # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. | ||
88 | # define RGB_MATRIX_HUE_STEP 8 | ||
89 | # define RGB_MATRIX_SAT_STEP 8 | ||
90 | # define RGB_MATRIX_VAL_STEP 8 | ||
91 | # define RGB_MATRIX_SPD_STEP 10 | ||
92 | |||
93 | /* Disable the animations you don't want/need. You will need to disable a good number of these * | ||
94 | * because they take up a lot of space. Disable until you can successfully compile your firmware. */ | ||
95 | // RGB Matrix Animation modes. Explicitly enabled | ||
96 | // For full list of effects, see: | ||
97 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
98 | # define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
99 | # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
100 | # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
101 | # define ENABLE_RGB_MATRIX_BREATHING | ||
102 | # define ENABLE_RGB_MATRIX_BAND_SAT | ||
103 | # define ENABLE_RGB_MATRIX_BAND_VAL | ||
104 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
105 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
106 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
107 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
108 | # define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
109 | # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
110 | # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
111 | # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
112 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
113 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
114 | # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
115 | # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
116 | # define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
117 | # define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
118 | # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
119 | # define ENABLE_RGB_MATRIX_RAINDROPS | ||
120 | # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
121 | # define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
122 | # define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
123 | # define ENABLE_RGB_MATRIX_HUE_WAVE | ||
124 | # define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
125 | # define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
126 | # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
127 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
128 | # define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
129 | # define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
130 | // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
131 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
132 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
133 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
134 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
135 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
136 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
137 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
138 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
139 | # define ENABLE_RGB_MATRIX_SPLASH | ||
140 | # define ENABLE_RGB_MATRIX_MULTISPLASH | ||
141 | # define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
142 | # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
143 | |||
144 | #endif | ||
diff --git a/keyboards/basekeys/trifecta/info.json b/keyboards/basekeys/trifecta/info.json new file mode 100644 index 000000000..86c45a7df --- /dev/null +++ b/keyboards/basekeys/trifecta/info.json | |||
@@ -0,0 +1,10 @@ | |||
1 | { | ||
2 | "keyboard_name": "Trifecta", | ||
3 | "url": "https://www.basekeys.com", | ||
4 | "maintainer": "Swiftrax", | ||
5 | "layouts": { | ||
6 | "LAYOUT": { | ||
7 | "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.75, "y":0}, {"label":"*", "x":9.75, "y":0}, {"label":"(", "x":10.75, "y":0}, {"label":")", "x":11.75, "y":0}, {"label":"_", "x":12.75, "y":0}, {"label":"+", "x":13.75, "y":0}, {"label":"BS", "x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":17, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8.25, "y":1}, {"label":"U", "x":9.25, "y":1}, {"label":"I", "x":10.25, "y":1}, {"label":"O", "x":11.25, "y":1}, {"label":"P", "x":12.25, "y":1}, {"label":"{", "x":13.25, "y":1}, {"label":"}", "x":14.25, "y":1}, {"label":"|", "x":15.25, "y":1, "w":1.5}, {"x":17, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.5, "y":2}, {"label":"J", "x":9.5, "y":2}, {"label":"K", "x":10.5, "y":2}, {"label":"L", "x":11.5, "y":2}, {"label":":", "x":12.5, "y":2}, {"label":"\"", "x":13.5, "y":2}, {"label":"Enter", "x":14.5, "y":2, "w":2.25}, {"x":17, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"x":8, "y":3}, {"label":"N", "x":9, "y":3}, {"label":"M", "x":10, "y":3}, {"label":"<", "x":11, "y":3}, {"label":">", "x":12, "y":3}, {"label":"?", "x":13, "y":3}, {"label":"Shift", "x":14, "y":3, "w":1.75}, {"x":16, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3, "y":4, "w":1.5}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4}, {"x":8.5, "y":4, "w":2.75}, {"label":"Alt", "x":11.25, "y":4, "w":1.5}, {"label":"Win", "x":13.5, "y":4, "w":1.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}] | ||
8 | } | ||
9 | } | ||
10 | } | ||
diff --git a/keyboards/basekeys/trifecta/keymaps/default/keymap.c b/keyboards/basekeys/trifecta/keymaps/default/keymap.c new file mode 100644 index 000000000..6db61e476 --- /dev/null +++ b/keyboards/basekeys/trifecta/keymaps/default/keymap.c | |||
@@ -0,0 +1,72 @@ | |||
1 | /* Copyright 2020 Swiftrax and Basekeys.com | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | // Defines names for use in layer keycodes and the keymap | ||
20 | enum layer_names { | ||
21 | _BASE, | ||
22 | _FN, | ||
23 | _MEDIA }; | ||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | [_BASE] = LAYOUT( | ||
27 | KC_ESC, 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_BSPC, KC_DEL, KC_DEL, | ||
28 | 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, KC_END, | ||
29 | 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, KC_HOME, | ||
30 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MEDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
31 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RGUI, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT | ||
32 | ), | ||
33 | |||
34 | [_FN] = LAYOUT( | ||
35 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
37 | _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
38 | _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
40 | ), | ||
41 | |||
42 | [_MEDIA] = LAYOUT( | ||
43 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
44 | _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
45 | _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
46 | _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | ||
47 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
48 | ) | ||
49 | }; | ||
50 | |||
51 | bool encoder_update_user(uint8_t index, bool clockwise) { | ||
52 | if (index == 0) { /* First encoder */ | ||
53 | if (clockwise) { | ||
54 | tap_code(KC_VOLU); | ||
55 | } else { | ||
56 | tap_code(KC_VOLD); | ||
57 | } | ||
58 | } else if (index == 1) { /* Second encoder */ | ||
59 | if (clockwise) { | ||
60 | tap_code(KC_MNXT); | ||
61 | } else { | ||
62 | tap_code(KC_MPRV); | ||
63 | } | ||
64 | } else if (index == 2) { /* Third encoder */ | ||
65 | if (clockwise) { | ||
66 | tap_code(KC_RGHT); | ||
67 | } else { | ||
68 | tap_code(KC_LEFT); | ||
69 | } | ||
70 | } | ||
71 | return true; | ||
72 | } | ||
diff --git a/keyboards/basekeys/trifecta/keymaps/default/rules.mk b/keyboards/basekeys/trifecta/keymaps/default/rules.mk new file mode 100644 index 000000000..910bd64a5 --- /dev/null +++ b/keyboards/basekeys/trifecta/keymaps/default/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | CONSOLE_ENABLE = no # Console for debug | ||
2 | COMMAND_ENABLE = no \ No newline at end of file | ||
diff --git a/keyboards/basekeys/trifecta/keymaps/via/keymap.c b/keyboards/basekeys/trifecta/keymaps/via/keymap.c new file mode 100644 index 000000000..54e25ff37 --- /dev/null +++ b/keyboards/basekeys/trifecta/keymaps/via/keymap.c | |||
@@ -0,0 +1,72 @@ | |||
1 | /* Copyright 2020 Swiftrax and Basekeys.com | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | // Defines names for use in layer keycodes and the keymap | ||
20 | enum layer_names { | ||
21 | _BASE, | ||
22 | _FN, | ||
23 | _MEDIA }; | ||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | [_BASE] = LAYOUT( | ||
27 | KC_ESC, 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_BSPC, KC_DEL, KC_DEL, | ||
28 | 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, KC_END, | ||
29 | 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, KC_HOME, | ||
30 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MEDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
31 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RGUI, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT | ||
32 | ), | ||
33 | |||
34 | [_FN] = LAYOUT( | ||
35 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
37 | _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
38 | _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
40 | ), | ||
41 | |||
42 | [_MEDIA] = LAYOUT( | ||
43 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
44 | _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
45 | _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
46 | _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | ||
47 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
48 | ) | ||
49 | }; | ||
50 | |||
51 | bool encoder_update_user(uint8_t index, bool clockwise) { | ||
52 | if (index == 0) { /* First encoder */ | ||
53 | if (clockwise) { | ||
54 | tap_code(KC_VOLU); | ||
55 | } else { | ||
56 | tap_code(KC_VOLD); | ||
57 | } | ||
58 | } else if (index == 1) { /* Second encoder */ | ||
59 | if (clockwise) { | ||
60 | tap_code(KC_RGHT); | ||
61 | } else { | ||
62 | tap_code(KC_LEFT); | ||
63 | } | ||
64 | } else if (index == 2) { /* Third encoder */ | ||
65 | if (clockwise) { | ||
66 | rgblight_step(); | ||
67 | } else { | ||
68 | rgblight_step_reverse(); | ||
69 | } | ||
70 | } | ||
71 | return true; | ||
72 | } | ||
diff --git a/keyboards/basekeys/trifecta/keymaps/via/rules.mk b/keyboards/basekeys/trifecta/keymaps/via/rules.mk new file mode 100644 index 000000000..32f462d06 --- /dev/null +++ b/keyboards/basekeys/trifecta/keymaps/via/rules.mk | |||
@@ -0,0 +1,3 @@ | |||
1 | VIA_ENABLE = yes | ||
2 | CONSOLE_ENABLE = no # Console for debug | ||
3 | COMMAND_ENABLE = no \ No newline at end of file | ||
diff --git a/keyboards/basekeys/trifecta/readme.md b/keyboards/basekeys/trifecta/readme.md new file mode 100644 index 000000000..efe6fb0ab --- /dev/null +++ b/keyboards/basekeys/trifecta/readme.md | |||
@@ -0,0 +1,17 @@ | |||
1 | # Trifecta | ||
2 | |||
3 |  | ||
4 | |||
5 | An Alice style board with arrowkeys, based on the Fate Arisu layout. | ||
6 | |||
7 | * Keyboard Maintainer: [swiftrax](https://github.com/swiftrax) | ||
8 | * Hardware Supported: Trifecta PCB, ATMEGA32U4-AU | ||
9 | * Hardware Availability: [Website](https://mykeyboard.eu/catalogue/) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make basekeys/trifecta:default | ||
14 | |||
15 | See 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/trifecta/rules.mk b/keyboards/basekeys/trifecta/rules.mk new file mode 100644 index 000000000..d82233c75 --- /dev/null +++ b/keyboards/basekeys/trifecta/rules.mk | |||
@@ -0,0 +1,20 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = yes # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | |||
20 | ENCODER_ENABLE = yes | ||
diff --git a/keyboards/basekeys/trifecta/trifecta.c b/keyboards/basekeys/trifecta/trifecta.c new file mode 100644 index 000000000..e7aca201c --- /dev/null +++ b/keyboards/basekeys/trifecta/trifecta.c | |||
@@ -0,0 +1,61 @@ | |||
1 | /* Copyright 2020 Swiftrax and Basekeys.com | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include "trifecta.h" | ||
18 | |||
19 | #ifdef RGB_MATRIX_ENABLE | ||
20 | |||
21 | led_config_t g_led_config = { { | ||
22 | { NO_LED, 70, 61, 52, 43, 34, 24, 14 }, | ||
23 | { 79, 69, 60, 51, 42, 33, 23, NO_LED }, | ||
24 | { NO_LED, 71, 62, 53, 44, 35, 25, 15 }, | ||
25 | { 78, 68, 59, 50, 41, 32, 22, NO_LED }, | ||
26 | { 77, 67, 58, 49, 40, 31, NO_LED, 16 }, | ||
27 | { NO_LED, 72, 63, 54, 45, 36, 26, NO_LED }, | ||
28 | { NO_LED, 73, 64, 55, 46, 37, 27, 17 }, | ||
29 | { 76, 66, 57, 48, 39, 30, 21, NO_LED }, | ||
30 | { NO_LED, 74, 56, NO_LED, NO_LED, 38, 28, 18 }, | ||
31 | { 75, 65, NO_LED, NO_LED, 47, 29, 20, 19 } | ||
32 | }, { | ||
33 | // Underglow | ||
34 | { 218, 7 }, { 214, 45 }, { 180, 47 }, { 147, 50 }, { 94, 62 }, { 37, 51 }, { 4, 8 }, { 36, 15 }, | ||
35 | { 62, 18 }, { 78, 5 }, { 119, 7 }, { 145, 16 }, { 166, 3 }, { 200, 16 }, | ||
36 | |||
37 | //Per Key | ||
38 | { 185, 11 }, { 191, 22 }, { 188, 33 }, { 200, 46 }, { 200, 57 }, { 212, 57 }, { 188, 57 }, { 181, 44 }, | ||
39 | { 176, 22 }, { 168, 11 }, { 155, 11 }, { 164, 22 }, { 169, 32 }, { 165, 44 }, { 172, 55 }, { 157, 54 }, | ||
40 | { 153, 44 }, { 156, 33 }, { 153, 22 }, { 142, 12 }, { 130, 13 }, { 138, 23 }, { 143, 33 }, { 140, 45 }, | ||
41 | { 137, 56 }, { 128, 47 }, { 132, 35 }, { 127, 25 }, { 119, 16 }, { 107, 17 }, { 115, 27 }, { 120, 37 }, | ||
42 | { 116, 48 }, { 117, 59 }, { 104, 51 }, { 109, 39 }, { 104, 29 }, { 86, 19 }, { 74, 16 }, { 78, 28 }, | ||
43 | { 79, 39 }, { 82, 50 }, { 73, 60 }, { 71, 48 }, { 67, 37 }, { 66, 26 }, { 63, 15 }, { 50, 12 }, | ||
44 | { 55, 24 }, { 55, 35 }, { 59, 47 }, { 50, 56 }, { 47, 45 }, { 43, 33 }, { 43, 22 }, { 39, 10 }, | ||
45 | { 25, 11 }, { 29, 22 }, { 30, 33 }, { 34, 44 }, { 24, 54 }, { 9, 55 }, { 15, 44 }, { 14, 33 }, | ||
46 | { 14, 22 }, { 14, 11 } | ||
47 | }, { | ||
48 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
49 | 2, 2, 2, 2, 2, 2, | ||
50 | |||
51 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
52 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
53 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
54 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
55 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
56 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
57 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
58 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
59 | 4, 4 | ||
60 | } }; | ||
61 | #endif \ No newline at end of file | ||
diff --git a/keyboards/basekeys/trifecta/trifecta.h b/keyboards/basekeys/trifecta/trifecta.h new file mode 100644 index 000000000..ed337813c --- /dev/null +++ b/keyboards/basekeys/trifecta/trifecta.h | |||
@@ -0,0 +1,48 @@ | |||
1 | /* Copyright 2020 Swiftrax and Basekeys.com | ||
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 | |||
20 | #define XXX KC_NO//readabilty | ||
21 | |||
22 | /* This a shortcut to help you visually see your layout. | ||
23 | * | ||
24 | * The first section contains all of the arguments representing the physical | ||
25 | * layout of the board and position of the keys. | ||
26 | * | ||
27 | * The second converts the arguments into a two-dimensional array which | ||
28 | * represents the switch matrix. | ||
29 | */ | ||
30 | #define LAYOUT( \ | ||
31 | k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k37, \ | ||
32 | k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k57, \ | ||
33 | k40, k51, k41, k52, k42, k53, k43, k54, k44, k55, k45, k56, k47, k77, \ | ||
34 | k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k67, \ | ||
35 | k90, k81, k91, k82, k94, k85, k95, k86, k96, k87, k97 \ | ||
36 | ) \ | ||
37 | { \ | ||
38 | { XXX, k01, k02, k03, k04, k05, k06, k07}, \ | ||
39 | { k10, k11, k12, k13, k14, k15, k16, k17}, \ | ||
40 | { XXX, k21, k22, k23, k24, k25, k26, k27}, \ | ||
41 | { k30, k31, k32, k33, k34, k35, k36, k37}, \ | ||
42 | { k40, k41, k42, k43, k44, k45, XXX, k47}, \ | ||
43 | { XXX, k51, k52, k53, k54, k55, k56, k57}, \ | ||
44 | { XXX, k61, k62, k63, k64, k65, k66, k67}, \ | ||
45 | { k70, k71, k72, k73, k74, k75, k76, k77}, \ | ||
46 | { XXX, k81, k82, XXX, XXX, k85, k86, k87}, \ | ||
47 | { k90, k91, XXX, XXX, k94, k95, k96, k97} \ | ||
48 | } | ||