aboutsummaryrefslogtreecommitdiff
path: root/keyboards/bastardkb/scylla
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-04-10 12:13:40 +0100
committerAkshay <[email protected]>2022-04-10 12:13:40 +0100
commitdc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch)
tree4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/bastardkb/scylla
Diffstat (limited to 'keyboards/bastardkb/scylla')
-rw-r--r--keyboards/bastardkb/scylla/config.h105
-rw-r--r--keyboards/bastardkb/scylla/info.json69
-rw-r--r--keyboards/bastardkb/scylla/keymaps/cykedev/config.h42
-rw-r--r--keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c198
-rw-r--r--keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk4
-rw-r--r--keyboards/bastardkb/scylla/keymaps/default/keymap.c60
-rw-r--r--keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c90
-rw-r--r--keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md24
-rw-r--r--keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk1
-rw-r--r--keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h24
-rw-r--r--keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/bastardkb/scylla/keymaps/xyverz/config.h33
-rw-r--r--keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c100
-rw-r--r--keyboards/bastardkb/scylla/readme.md22
-rw-r--r--keyboards/bastardkb/scylla/rules.mk22
-rw-r--r--keyboards/bastardkb/scylla/scylla.c61
-rw-r--r--keyboards/bastardkb/scylla/scylla.h42
17 files changed, 902 insertions, 0 deletions
diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h
new file mode 100644
index 000000000..d876b5d01
--- /dev/null
+++ b/keyboards/bastardkb/scylla/config.h
@@ -0,0 +1,105 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <[email protected]>
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#include "config_common.h"
20#define VENDOR_ID 0xA8F8
21#define PRODUCT_ID 0x1829
22#define DEVICE_VER 0x0001
23#define MANUFACTURER Bastard Keyboards
24#define PRODUCT Scylla
25
26#define MATRIX_ROWS 10
27#define MATRIX_COLS 6
28#define DIODE_DIRECTION ROW2COL
29#define MATRIX_ROW_PINS { D7, B5, F7, F6, B6 }
30#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 }
31
32#define RGB_DI_PIN D2
33#define RGBLED_NUM 58
34#define RGBLED_SPLIT { 29, 29 }
35#define RGBLIGHT_LIMIT_VAL 120
36#define RGBLIGHT_ANIMATIONS
37#define DEBOUNCE 5
38#define SOFT_SERIAL_PIN D0
39#define MASTER_RIGHT
40
41#ifdef RGBLIGHT_ENABLE
42# define RGBLED_NUM 58
43# define RGBLED_SPLIT { 29, 29 }
44# define RGBLIGHT_LIMIT_VAL 50
45# define RGBLIGHT_ANIMATIONS
46#endif
47
48// RGB matrix support
49#ifdef RGB_MATRIX_ENABLE
50# define SPLIT_TRANSPORT_MIRROR
51# define DRIVER_LED_TOTAL 58 // Number of LEDs
52# define RGB_MATRIX_SPLIT { 29, 29 }
53# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
54# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
55# define RGB_DISABLE_WHEN_USB_SUSPENDED
56# define RGB_MATRIX_KEYPRESSES
57// RGB Matrix Animation modes. Explicitly enabled
58// For full list of effects, see:
59// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
60# define ENABLE_RGB_MATRIX_ALPHAS_MODS
61# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
62# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
63# define ENABLE_RGB_MATRIX_BREATHING
64# define ENABLE_RGB_MATRIX_BAND_SAT
65# define ENABLE_RGB_MATRIX_BAND_VAL
66# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
67# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
68# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
69# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
70# define ENABLE_RGB_MATRIX_CYCLE_ALL
71# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
72# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
73# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
74# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
75# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
76# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
77# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
78# define ENABLE_RGB_MATRIX_DUAL_BEACON
79# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
80# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
81# define ENABLE_RGB_MATRIX_RAINDROPS
82# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
83# define ENABLE_RGB_MATRIX_HUE_BREATHING
84# define ENABLE_RGB_MATRIX_HUE_PENDULUM
85# define ENABLE_RGB_MATRIX_HUE_WAVE
86# define ENABLE_RGB_MATRIX_PIXEL_RAIN
87# define ENABLE_RGB_MATRIX_PIXEL_FLOW
88# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
89// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
90# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
91# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
92// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
93# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
94# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
95# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
96# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
97# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
98# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
99# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
100# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
101# define ENABLE_RGB_MATRIX_SPLASH
102# define ENABLE_RGB_MATRIX_MULTISPLASH
103# define ENABLE_RGB_MATRIX_SOLID_SPLASH
104# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
105#endif
diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json
new file mode 100644
index 000000000..104932e47
--- /dev/null
+++ b/keyboards/bastardkb/scylla/info.json
@@ -0,0 +1,69 @@
1{
2 "keyboard_name": "The Bastard Keyboard",
3 "url": "https://bastardkb.com/",
4 "maintainer": "Quentin Lebastard",
5 "layouts": {
6 "LAYOUT_split_4x6_5": {
7 "layout": [
8 {"label":"L00", "x":0, "y":0},
9 {"label":"L01", "x":1, "y":0},
10 {"label":"L02", "x":2, "y":0},
11 {"label":"L03", "x":3, "y":0},
12 {"label":"L04", "x":4, "y":0},
13 {"label":"L05", "x":5, "y":0},
14 {"label":"R00", "x":11, "y":0},
15 {"label":"R01", "x":12, "y":0},
16 {"label":"R02", "x":13, "y":0},
17 {"label":"R03", "x":14, "y":0},
18 {"label":"R04", "x":15, "y":0},
19 {"label":"R05", "x":16, "y":0},
20 {"label":"L10", "x":0, "y":1},
21 {"label":"L11", "x":1, "y":1},
22 {"label":"L12", "x":2, "y":1},
23 {"label":"L13", "x":3, "y":1},
24 {"label":"L14", "x":4, "y":1},
25 {"label":"L15", "x":5, "y":1},
26 {"label":"R10", "x":11, "y":1},
27 {"label":"R11", "x":12, "y":1},
28 {"label":"R12", "x":13, "y":1},
29 {"label":"R13", "x":14, "y":1},
30 {"label":"R14", "x":15, "y":1},
31 {"label":"R15", "x":16, "y":1},
32 {"label":"L20", "x":0, "y":2},
33 {"label":"L21", "x":1, "y":2},
34 {"label":"L22", "x":2, "y":2},
35 {"label":"L23", "x":3, "y":2},
36 {"label":"L24", "x":4, "y":2},
37 {"label":"L25", "x":5, "y":2},
38 {"label":"R20", "x":11, "y":2},
39 {"label":"R21", "x":12, "y":2},
40 {"label":"R22", "x":13, "y":2},
41 {"label":"R23", "x":14, "y":2},
42 {"label":"R24", "x":15, "y":2},
43 {"label":"R25", "x":16, "y":2},
44 {"label":"L30", "x":0, "y":3},
45 {"label":"L31", "x":1, "y":3},
46 {"label":"L32", "x":2, "y":3},
47 {"label":"L33", "x":3, "y":3},
48 {"label":"L34", "x":4, "y":3},
49 {"label":"L35", "x":5, "y":3},
50 {"label":"R30", "x":11, "y":3},
51 {"label":"R31", "x":12, "y":3},
52 {"label":"R32", "x":13, "y":3},
53 {"label":"R33", "x":14, "y":3},
54 {"label":"R34", "x":15, "y":3},
55 {"label":"R35", "x":16, "y":3},
56 {"label":"L43", "x":5, "y":4},
57 {"label":"L44", "x":6, "y":4},
58 {"label":"L45", "x":7, "y":4},
59 {"label":"R40", "x":9, "y":4},
60 {"label":"R41", "x":10, "y":4},
61 {"label":"R40", "x":11, "y":4},
62 {"label":"L52", "x":6, "y":5},
63 {"label":"L53", "x":7, "y":5},
64 {"label":"R52", "x":9, "y":5},
65 {"label":"R53", "x":10, "y":5}
66 ]
67 }
68 }
69}
diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h
new file mode 100644
index 000000000..3b2fa15b9
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h
@@ -0,0 +1,42 @@
1// Copyright 2021 Christian Eiden, cykedev
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// Select hand configuration
19// #define MASTER_LEFT
20// #define MASTER_RIGHT
21#define EE_HANDS
22
23#define BOOTMAGIC_LITE_ROW 0
24#define BOOTMAGIC_LITE_COLUMN 0
25
26#define BOOTMAGIC_LITE_ROW_RIGHT 0
27#define BOOTMAGIC_LITE_COLUMN_RIGHT 5
28
29#define TAPPING_TERM 200
30
31// Prevent normal rollover on alphas from accidentally triggering mods.
32// #define IGNORE_MOD_TAP_INTERRUPT
33
34// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
35// #define TAPPING_FORCE_HOLD
36
37// Apply the modifier on keys that are tapped during a short hold of a modtap
38// #define PERMISSIVE_HOLD
39
40#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
41
42#define FORCE_NKRO \ No newline at end of file
diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c
new file mode 100644
index 000000000..42915e43e
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c
@@ -0,0 +1,198 @@
1// Copyright 2021 Christian Eiden, cykedev
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#define CM_SPAL LGUI_T(KC_SPC)
19#define CM_SPAR RGUI_T(KC_SPC)
20
21#define SH_ENL LSFT_T(KC_ENT)
22#define SH_ENR RSFT_T(KC_ENT)
23
24#define RAISE MO(_RAISE)
25#define LOWER MO(_LOWER)
26
27#define QWERT DF(_QWERTY)
28#define COLEM DF(_COLEMAK_DH)
29
30enum layer_names {
31 _COLEMAK_DH,
32 _QWERTY,
33 _RAISE,
34 _LOWER,
35 _ADJUST
36};
37
38
39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 [_COLEMAK_DH] = LAYOUT_split_4x6_5(
41 /* COLEMAK_DH
42 * .-----------------------------------------. .-----------------------------------------.
43 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
44 * |------+------+------+------+------+------| |------+------+------+------+------+------|
45 * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ |
46 * |------+------+------+------+------+------| |------+------+------+------+------+------|
47 * | Del | A | R | S | T | G | | M | N | E | I | O | ' |
48 * |------+------+------+------+------+------| |------+------+------+------+------+------|
49 * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft |
50 * '-----------------------------------------/ \-----------------------------------------'
51 * / RAISE /---------------. .---------------\ LOWER \
52 * / / Cmd / Shift / \ Shift \ Cmd \ \
53 * '-------/ Space / Enter / \ Enter \ Space \-------'
54 * /---------------/ \---------------\
55 * / Alt / Ctrl / \ Ctrl \ Alt \
56 * / / / \ \ \
57 * '---------------' '---------------'
58 */
59 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
60 KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS,
61 KC_DEL , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
62 KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_K , KC_H , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
63 RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER ,
64 KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
65 ),
66 [_QWERTY] = LAYOUT_split_4x6_5(
67 /* QWERTY
68 * .-----------------------------------------. .-----------------------------------------.
69 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
70 * |------+------+------+------+------+------| |------+------+------+------+------+------|
71 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
72 * |------+------+------+------+------+------| |------+------+------+------+------+------|
73 * | Del | A | S | D | F | G | | H | J | K | L | ; | ' |
74 * |------+------+------+------+------+------| |------+------+------+------+------+------|
75 * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft |
76 * '-----------------------------------------/ \-----------------------------------------'
77 * / RAISE /---------------. .---------------\ LOWER \
78 * / / Cmd / Shift / \ Shift \ Cmd \ \
79 * '-------/ Space / Enter / \ Enter \ Space \-------'
80 * /---------------/ \---------------\
81 * / Alt / Ctrl / \ Ctrl \ Alt \
82 * / / / \ \ \
83 * '---------------' '---------------'
84 */
85 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
86 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
87 KC_DEL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
88 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_LSFT,
89 RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER ,
90 KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
91 ),
92 [_RAISE] = LAYOUT_split_4x6_5(
93 /* RAISE
94 * .-----------------------------------------. .-----------------------------------------.
95 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
96 * |------+------+------+------+------+------| |------+------+------+------+------+------|
97 * | | | | [ | ] | | | $ | / | * | # | ~ | F12 |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | Ins | ! | @ | ( | ) | | | % | - | + | = | ? | |
100 * |------+------+------+------+------+------| |------+------+------+------+------+------|
101 * | | | | { | } | | | ^ | & | | | | | |
102 * '-----------------------------------------/ \-----------------------------------------'
103 * / /---------------. .---------------\ \
104 * / / / / \ \ \ \
105 * '-------/ / / \ \ \-------'
106 * /---------------/ \---------------\
107 * / / / \ \ \
108 * / / / \ \ \
109 * '---------------' '---------------'
110 */
111 XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
112 XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, KC_DLR , KC_SLSH, KC_ASTR, KC_HASH, KC_TILD, KC_F12 ,
113 KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, KC_PERC, KC_MINS, KC_PPLS, KC_PEQL, KC_QUES, XXXXXXX,
114 XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, KC_CIRC, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX,
115 _______, _______, _______, _______, _______, _______,
116 _______, _______, _______, _______
117 ),
118 [_LOWER] = LAYOUT_split_4x6_5(
119 /* LOWER
120 * .-----------------------------------------. .-----------------------------------------.
121 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
122 * |------+------+------+------+------+------| |------+------+------+------+------+------|
123 * | | | | [ | ] | + | | | | up | | | F12 |
124 * |------+------+------+------+------+------| |------+------+------+------+------+------|
125 * | Ins | ! | @ | ( | ) | - | | | left | down | rght | ? | |
126 * |------+------+------+------+------+------| |------+------+------+------+------+------|
127 * | | | | { | } | = | | | | | | | |
128 * '-----------------------------------------/ \-----------------------------------------'
129 * / /---------------. .---------------\ \
130 * / / / / \ \ \ \
131 * '-------/ / / \ \ \-------'
132 * /---------------/ \---------------\
133 * / / / \ \ \
134 * / / / \ \ \
135 * '---------------' '---------------'
136 */
137 XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
138 XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 ,
139 KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX,
140 XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
141 _______, _______, _______, _______, _______, _______,
142 _______, _______, _______, _______
143 ),
144 [_ADJUST] = LAYOUT_split_4x6_5(
145 /* ADJUST
146 * .-----------------------------------------. .-----------------------------------------.
147 * | | | | | | QWERT| |COLEM | | | | | |
148 * |------+------+------+------+------+------| |------+------+------+------+------+------|
149 * | | | | | | V+ | | B + | | | | | |
150 * |------+------+------+------+------+------| |------+------+------+------+------+------|
151 * | | | | | | V- | | B - | << | play | >> | | |
152 * |------+------+------+------+------+------| |------+------+------+------+------+------|
153 * | | | | | | Mute | | | | | | | |
154 * '-----------------------------------------/ \-----------------------------------------'
155 * / /---------------. .---------------\ \
156 * / / / / \ \ \ \
157 * '-------/ / / \ \ \-------'
158 * /---------------/ \---------------\
159 * / / / \ \ \
160 * / / / \ \ \
161 * '---------------' '---------------'
162 */
163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
164 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
165 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX,
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
167 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
168 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
169 )
170};
171
172bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
173 switch (keycode) {
174 case CM_SPAR:
175 return true;
176 default:
177 return false;
178 }
179}
180
181layer_state_t layer_state_set_user(layer_state_t state) {
182 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
183}
184
185// Flexible macOS-friendly Grave Escape
186// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape
187
188const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE));
189const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE);
190const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPACE, KC_DELETE);
191
192
193const key_override_t **key_overrides = (const key_override_t *[]){
194 &tilde_esc_override,
195 &grave_esc_override,
196 &delete_key_override,
197 NULL
198};
diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk b/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk
new file mode 100644
index 000000000..1ef732910
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk
@@ -0,0 +1,4 @@
1MOUSEKEY_ENABLE = no # Mouse keys
2NKRO_ENABLE = yes # USB Nkey Rollover
3RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix
4KEY_OVERRIDE_ENABLE = yes # Enable Key Overrides, see https://docs.qmk.fm/#/feature_key_overrides
diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
new file mode 100644
index 000000000..49be09b68
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
@@ -0,0 +1,60 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <[email protected]>
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#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22 [0] = LAYOUT_split_4x6_5(
23 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
24//-------------------------------------------------//-----------------------------------------------------------//
25 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
26//-------------------------------------------------//-----------------------------------------------------------//
27 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
28//-------------------------------------------------//-----------------------------------------------------------//
29 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
30//-------------------------------------------------//-----------------------------------------------------------//
31 KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI,
32 KC_HOME, KC_BSPC, KC_DEL, KC_RALT
33 ),
34
35 [1] = LAYOUT_split_4x6_5(
36 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
37//---------------------------------------------------------//-----------------------------------------------------------//
38 RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
39//---------------------------------------------------------//-----------------------------------------------------------//
40 _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
41//---------------------------------------------------------//-----------------------------------------------------------//
42 _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
43//---------------------------------------------------------//-----------------------------------------------------------//
44 KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI,
45 KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
46 ),
47
48 [2] = LAYOUT_split_4x6_5(
49 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
50//---------------------------------------------------------//--------------------------------------------------------------//
51 _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE,
52//---------------------------------------------------------//--------------------------------------------------------------//
53 _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
54//---------------------------------------------------------//--------------------------------------------------------------//
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
56//---------------------------------------------------------//--------------------------------------------------------------//
57 KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET,
58 KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
59 ),
60};
diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c
new file mode 100644
index 000000000..94dd182c6
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c
@@ -0,0 +1,90 @@
1/*
2 * Copyright 2021 Joschua Gandert
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
19#include QMK_KEYBOARD_H
20#include "keymap_german.h"
21
22
23enum layer_names {
24 _BASE,
25 _GAME, /* WASD shifted right once */
26 _LOWER,
27 _RAISE,
28 _ADJUST /* when both LOWER and RAISE pressed */
29};
30
31#define RAISE MO(_RAISE)
32#define LOWER MO(_LOWER)
33
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 [_BASE] = LAYOUT_split_4x6_5(
37 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS ,
38 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA,
39 KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA,
40 KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS,
41
42 RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER,
43 KC_ENT, KC_LALT, KC_LGUI, KC_RSFT
44 ),
45
46 [_GAME] = LAYOUT_split_4x6_5(
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______,
49 KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
50 KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______,
51
52 _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______
54 ),
55
56 [_LOWER] = LAYOUT_split_4x6_5(
57 KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL ,
58 _______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC ,
59 _______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ ,
60 _______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL,
61
62 _______, KC_RGHT, _______, _______, _______, _______,
63 KC_LEFT, _______, RESET , _______
64 ),
65
66 [_RAISE] = LAYOUT_split_4x6_5(
67 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
68 _______, _______, _______, KC_UP , _______, _______, KC_LALT, KC_INS , KC_NLCK , KC_CALC, KC_PSCREEN, KC_MUTE,
69 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU,
70 _______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SLCK , KC_VOLD,
71
72 _______, _______, _______, _______, KC_UP , _______,
73 _______, _______, _______, KC_DOWN
74 ),
75
76 [_ADJUST] = LAYOUT_split_4x6_5(
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______,
79 _______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______,
81
82 _______, _______, _______, _______, _______, _______,
83 _______, _______, _______, _______
84 ),
85};
86
87
88layer_state_t layer_state_set_user(layer_state_t state) {
89 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
90}
diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md b/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md
new file mode 100644
index 000000000..14de01ac4
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md
@@ -0,0 +1,24 @@
1![German Gaming Layout Image](https://i.imgur.com/0y938rGh.png)
2
3Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion).
4​
5
6# German Gaming Layout
7​
8This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that <kbd>WASD</kbd> is on the <kbd>ESDF</kbd> keys. The reason this layer was added is that using <kbd>WASD</kbd> is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. <kbd>ESDF</kbd> also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so <kbd>TGB</kbd>, ends up in the leftmost position.
9
10Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on <kbd>IJKL</kbd>.
11
12
13## Raise and Lower layer
14
15Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access <kbd>Home</kbd>, <kbd>End</kbd>, <kbd>Page Down</kbd> and <kbd>Page Up</kbd> via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard.
16
17The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer.
18
19
20## Firmware
21
22The keyboard can be put into Reset mode (for flashing a keymap) by pressing <kbd>**LOWER**</kbd> + <kbd>Super</kbd> (also known as Windows key), or by pressing <kbd>**LOWER**</kbd> + <kbd>**RAISE**</kbd> + <kbd>R</kbd>.
23
24`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large.
diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk b/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk
new file mode 100644
index 000000000..0a5b666e8
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk
@@ -0,0 +1 @@
MOUSEKEY_ENABLE = no
diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 000000000..09433f3f4
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,24 @@
1// Copyright 2019 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4
5// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
6
7#pragma once
8
9#define XXX KC_NO
10
11#define LAYOUT_miryoku( \
12 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
13 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
14 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
15 N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
16) \
17LAYOUT_split_4x6_5( \
18XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
19XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
20XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
21XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
22 K32, K33, K34, K35, K36, K37, \
23 XXX, XXX, XXX, XXX \
24)
diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 000000000..7c5717a0f
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
1// Copyright 2019 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4
5// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h
new file mode 100644
index 000000000..d7baf9937
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h
@@ -0,0 +1,33 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <[email protected]>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24// #define MASTER_LEFT
25// #define MASTER_RIGHT
26#define EE_HANDS
27
28#define TAPPING_FORCE_HOLD
29#define TAPPING_TERM 300
30#define PERMISSIVE_HOLD
31#define IGNORE_MOD_TAP_INTERRUPT
32#define LEADER_PER_KEY_TIMING
33#define LEADER_TIMEOUT 300 \ No newline at end of file
diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..b8f70bdc9
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c
@@ -0,0 +1,100 @@
1/*
2 * Copyright 2021 Ian Sterling <xyverz on Github.com>
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#include QMK_KEYBOARD_H
19
20enum layer_names { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST };
21
22enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST };
23
24// Aliases to keep the keymap tidy
25#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
26#define RGB_SWR RGB_M_SW // Swirl Animation alias
27#define RGB_SNK RGB_M_SN // Snake Animation alias
28#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
29#define WINLOCK LGUI(KC_L) // Lock my PC!
30#define DELGUI GUI_T(KC_DEL)
31#define RAISE MO(_RAISE)
32#define LOWER MO(_LOWER)
33
34
35#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38
39[_WINDOWS] = LAYOUT_split_4x6_5(
40 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
41 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
42 KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
43 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
44 LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE,
45 KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL
46 ),
47
48[_MAC] = LAYOUT_split_4x6_5(
49 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
50 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
51 KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
52 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
53 LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE,
54 KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL
55 ),
56
57[_LOWER] = LAYOUT_split_4x6_5(
58 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
59 RESET, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
60 KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
61 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
62 _______, KC_DEL, _______, _______, _______, _______,
63 MACLOCK, _______, _______, WINLOCK
64 ),
65
66[_RAISE] = LAYOUT_split_4x6_5(
67 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
68 _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, RESET,
69 KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______,
70 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
71 _______, KC_DEL, _______, _______, _______, _______,
72 MACLOCK, _______, _______, WINLOCK
73 ),
74
75[_ADJUST] = LAYOUT_split_4x6_5(
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______,
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______
82 ),
83
84};
85
86layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
87
88bool process_record_user(uint16_t keycode, keyrecord_t *record) {
89 if (record->event.pressed) {
90 switch (keycode) {
91 case WINDOWS:
92 set_single_persistent_default_layer(_WINDOWS);
93 return false;
94 case MAC:
95 set_single_persistent_default_layer(_MAC);
96 return false;
97 }
98 }
99 return true;
100}
diff --git a/keyboards/bastardkb/scylla/readme.md b/keyboards/bastardkb/scylla/readme.md
new file mode 100644
index 000000000..70df5cfbb
--- /dev/null
+++ b/keyboards/bastardkb/scylla/readme.md
@@ -0,0 +1,22 @@
1# Scylla
2
3A modern, low-profile split ergonomic keyboard
4
5* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
6* Hardware Supported: elite-C V4
7* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make bastardkb/scylla:default
12
13See 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).
14
15See the [keyboard build instructions](https://docs.bastardkb.com)
16
17
18## Important information regarding the reset
19
20If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
21
22Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
diff --git a/keyboards/bastardkb/scylla/rules.mk b/keyboards/bastardkb/scylla/rules.mk
new file mode 100644
index 000000000..fe2991040
--- /dev/null
+++ b/keyboards/bastardkb/scylla/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
19RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
20AUDIO_ENABLE = no # Audio output
21SPLIT_KEYBOARD = yes
22LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/scylla/scylla.c b/keyboards/bastardkb/scylla/scylla.c
new file mode 100644
index 000000000..b110d7ff5
--- /dev/null
+++ b/keyboards/bastardkb/scylla/scylla.c
@@ -0,0 +1,61 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <[email protected]>
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#include "scylla.h"
19
20#ifdef RGB_MATRIX_ENABLE
21led_config_t g_led_config = { {
22 // left
23 { 0, 7, 8, 15, 16, 20 },
24 { 1, 6, 9, 14, 17, 21 },
25 { 2, 5, 10, 13, 18, 22 },
26 { 3, 4, 11, 12, 19, 23 },
27 { NO_LED, 28, 24, 26, 27, 25 },
28 // right
29 { 29, 36, 37, 44, 45, 49 },
30 { 30, 35, 38, 43, 46, 50 },
31 { 31, 34, 39, 42, 47, 51 },
32 { 32, 33, 40, 41, 48, 52 },
33 { NO_LED, 57, 53, 55, 56, 54 }
34}, {
35 // left
36 { 0, 0 }, { 0, 16 }, { 0, 32 }, { 0, 48 }, // col 1
37 { 20, 48 }, { 20, 32 }, { 20, 16 }, { 20, 0 }, // col 2
38 { 41, 0 }, { 41, 16 }, { 41, 32 }, { 41, 48 },
39 { 61, 48 }, { 61, 32 }, { 61, 16 }, { 61, 0 },
40 { 81, 0 }, { 81, 16 }, { 81, 32 }, { 81, 48 },
41 { 102, 0 }, { 102, 16 }, { 102, 32 }, { 102, 48 },
42 { 102, 64 }, { 81, 64 }, { 61, 56 }, { 81, 56 }, { 102, 56 }, // left thumb cluster
43 // right
44 { 224, 0 }, { 224, 16 }, { 224, 32 }, { 224, 48 }, // col 12
45 { 204, 48 }, { 204, 32 }, { 204, 16 }, { 204, 0 }, // col 11
46 { 183, 0 }, { 183, 16 }, { 183, 32 }, { 183, 48 },
47 { 163, 48 }, { 163, 32 }, { 163, 16 }, { 163, 0 },
48 { 142, 0 }, { 142, 16 }, { 142, 32 }, { 142, 48 },
49 { 122, 0 }, { 122, 16 }, { 122, 32 }, { 122, 48 },
50 { 122, 64 }, { 142, 64 }, { 163, 56 }, { 142, 56 }, { 122, 56 } // right thumb cluster
51}, {
52 // left
53 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4,
54 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
55 2, 2, 2, 2, 2,
56 // right
57 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4,
58 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
59 2, 2, 2, 2, 2
60} };
61#endif
diff --git a/keyboards/bastardkb/scylla/scylla.h b/keyboards/bastardkb/scylla/scylla.h
new file mode 100644
index 000000000..196982952
--- /dev/null
+++ b/keyboards/bastardkb/scylla/scylla.h
@@ -0,0 +1,42 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <[email protected]>
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
19#pragma once
20#include "quantum.h"
21
22// SWITCHED 91 and 95 - check on left ?
23#define LAYOUT_split_4x6_5( \
24 k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
25 k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
26 k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
27 k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \
28 k43, k44, k41, k91, k94, k93, \
29 k45, k42, k92, k95 \
30)\
31{\
32 { k00, k01, k02, k03, k04, k05 }, \
33 { k10, k11, k12, k13, k14, k15 }, \
34 { k20, k21, k22, k23, k24, k25 }, \
35 { k30, k31, k32, k33, k34, k35 }, \
36 { KC_NO, k41, k42, k43, k44, k45 }, \
37 { k50, k51, k52, k53, k54, k55 }, \
38 { k60, k61, k62, k63, k64, k65 }, \
39 { k70, k71, k72, k73, k74, k75 }, \
40 { k80, k81, k82, k83, k84, k85 }, \
41 { KC_NO, k91, k92, k93, k94, k95 }, \
42}