aboutsummaryrefslogtreecommitdiff
path: root/keyboards/bastardkb
diff options
context:
space:
mode:
authorQuentin <qlebastard@gmail.com>2021-03-01 06:03:55 +0100
committerGitHub <noreply@github.com>2021-03-01 16:03:55 +1100
commit7132526dd276ac637757ddff7ab6f57f64ebb84c (patch)
tree3bf581daae05be0d17414f75e308db50f29c2009 /keyboards/bastardkb
parentf8266a228cacbc31b0455161e0a8bd073feaa9db (diff)
downloadqmk_firmware-7132526dd276ac637757ddff7ab6f57f64ebb84c.tar.gz
qmk_firmware-7132526dd276ac637757ddff7ab6f57f64ebb84c.zip
Bastardkb added keyboard and renaming (#11887)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'keyboards/bastardkb')
-rw-r--r--keyboards/bastardkb/tbk/config.h39
-rw-r--r--keyboards/bastardkb/tbk/info.json71
-rw-r--r--keyboards/bastardkb/tbk/keymaps/default/keymap.c60
-rw-r--r--keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c90
-rw-r--r--keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md24
-rw-r--r--keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk1
-rw-r--r--keyboards/bastardkb/tbk/keymaps/xyverz/config.h33
-rw-r--r--keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c100
-rw-r--r--keyboards/bastardkb/tbk/keymaps/xyverz/readme.md22
-rw-r--r--keyboards/bastardkb/tbk/readme.md22
-rw-r--r--keyboards/bastardkb/tbk/rules.mk23
-rw-r--r--keyboards/bastardkb/tbk/tbk.c (renamed from keyboards/bastardkb/bastylmini/bastylmini.c)2
-rw-r--r--keyboards/bastardkb/tbk/tbk.h42
-rw-r--r--keyboards/bastardkb/tbkmini/config.h (renamed from keyboards/bastardkb/bastylmini/config.h)2
-rw-r--r--keyboards/bastardkb/tbkmini/info.json (renamed from keyboards/bastardkb/bastylmini/info.json)2
-rw-r--r--keyboards/bastardkb/tbkmini/keymaps/default/keymap.c (renamed from keyboards/bastardkb/bastylmini/keymaps/default/keymap.c)0
-rw-r--r--keyboards/bastardkb/tbkmini/readme.md (renamed from keyboards/bastardkb/bastylmini/readme.md)6
-rw-r--r--keyboards/bastardkb/tbkmini/rules.mk (renamed from keyboards/bastardkb/bastylmini/rules.mk)0
-rw-r--r--keyboards/bastardkb/tbkmini/tbkmini.c18
-rw-r--r--keyboards/bastardkb/tbkmini/tbkmini.h (renamed from keyboards/bastardkb/bastylmini/bastylmini.h)0
20 files changed, 551 insertions, 6 deletions
diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h
new file mode 100644
index 000000000..f6e3ebef7
--- /dev/null
+++ b/keyboards/bastardkb/tbk/config.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.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#pragma once
19#include "config_common.h"
20#define VENDOR_ID 0xA8F8
21#define PRODUCT_ID 0x1828
22#define DEVICE_VER 0x0001
23#define MANUFACTURER Bastard Keyboards
24#define PRODUCT The Bastard Keyboard
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 38
34#define RGBLED_SPLIT { 19, 19 }
35#define RGBLIGHT_SPLIT
36#define RGBLIGHT_ANIMATIONS
37#define DEBOUNCE 5
38#define SOFT_SERIAL_PIN D0
39#define MASTER_RIGHT
diff --git a/keyboards/bastardkb/tbk/info.json b/keyboards/bastardkb/tbk/info.json
new file mode 100644
index 000000000..fe521b5b8
--- /dev/null
+++ b/keyboards/bastardkb/tbk/info.json
@@ -0,0 +1,71 @@
1{
2 "keyboard_name": "The Bastard Keyboard",
3 "url": "https://bastardkb.com/",
4 "maintainer": "Quentin Lebastard",
5 "width": 17,
6 "height": 8,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"L00", "x":0, "y":0},
11 {"label":"L01", "x":1, "y":0},
12 {"label":"L02", "x":2, "y":0},
13 {"label":"L03", "x":3, "y":0},
14 {"label":"L04", "x":4, "y":0},
15 {"label":"L05", "x":5, "y":0},
16 {"label":"R00", "x":11, "y":0},
17 {"label":"R01", "x":12, "y":0},
18 {"label":"R02", "x":13, "y":0},
19 {"label":"R03", "x":14, "y":0},
20 {"label":"R04", "x":15, "y":0},
21 {"label":"R05", "x":16, "y":0},
22 {"label":"L10", "x":0, "y":1},
23 {"label":"L11", "x":1, "y":1},
24 {"label":"L12", "x":2, "y":1},
25 {"label":"L13", "x":3, "y":1},
26 {"label":"L14", "x":4, "y":1},
27 {"label":"L15", "x":5, "y":1},
28 {"label":"R10", "x":11, "y":1},
29 {"label":"R11", "x":12, "y":1},
30 {"label":"R12", "x":13, "y":1},
31 {"label":"R13", "x":14, "y":1},
32 {"label":"R14", "x":15, "y":1},
33 {"label":"R15", "x":16, "y":1},
34 {"label":"L20", "x":0, "y":2},
35 {"label":"L21", "x":1, "y":2},
36 {"label":"L22", "x":2, "y":2},
37 {"label":"L23", "x":3, "y":2},
38 {"label":"L24", "x":4, "y":2},
39 {"label":"L25", "x":5, "y":2},
40 {"label":"R20", "x":11, "y":2},
41 {"label":"R21", "x":12, "y":2},
42 {"label":"R22", "x":13, "y":2},
43 {"label":"R23", "x":14, "y":2},
44 {"label":"R24", "x":15, "y":2},
45 {"label":"R25", "x":16, "y":2},
46 {"label":"L30", "x":0, "y":3},
47 {"label":"L31", "x":1, "y":3},
48 {"label":"L32", "x":2, "y":3},
49 {"label":"L33", "x":3, "y":3},
50 {"label":"L34", "x":4, "y":3},
51 {"label":"L35", "x":5, "y":3},
52 {"label":"R30", "x":11, "y":3},
53 {"label":"R31", "x":12, "y":3},
54 {"label":"R32", "x":13, "y":3},
55 {"label":"R33", "x":14, "y":3},
56 {"label":"R34", "x":15, "y":3},
57 {"label":"R35", "x":16, "y":3},
58 {"label":"L43", "x":5, "y":4},
59 {"label":"L44", "x":6, "y":4},
60 {"label":"L45", "x":7, "y":4},
61 {"label":"R40", "x":9, "y":4},
62 {"label":"R41", "x":10, "y":4},
63 {"label":"R40", "x":11, "y":4},
64 {"label":"L52", "x":6, "y":5},
65 {"label":"L53", "x":7, "y":5},
66 {"label":"R52", "x":9, "y":5},
67 {"label":"R53", "x":10, "y":5}
68 ]
69 }
70 }
71}
diff --git a/keyboards/bastardkb/tbk/keymaps/default/keymap.c b/keyboards/bastardkb/tbk/keymaps/default/keymap.c
new file mode 100644
index 000000000..49be09b68
--- /dev/null
+++ b/keyboards/bastardkb/tbk/keymaps/default/keymap.c
@@ -0,0 +1,60 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.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
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/tbk/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c
new file mode 100644
index 000000000..94dd182c6
--- /dev/null
+++ b/keyboards/bastardkb/tbk/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/tbk/keymaps/german_gaming/readme.md b/keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md
new file mode 100644
index 000000000..9e6a328bc
--- /dev/null
+++ b/keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md
@@ -0,0 +1,24 @@
1![German Gaming Layout Image](https://i.imgur.com/0y938rG.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/tbk/keymaps/german_gaming/rules.mk b/keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk
new file mode 100644
index 000000000..0a5b666e8
--- /dev/null
+++ b/keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk
@@ -0,0 +1 @@
MOUSEKEY_ENABLE = no
diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/config.h b/keyboards/bastardkb/tbk/keymaps/xyverz/config.h
new file mode 100644
index 000000000..d7baf9937
--- /dev/null
+++ b/keyboards/bastardkb/tbk/keymaps/xyverz/config.h
@@ -0,0 +1,33 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
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/tbk/keymaps/xyverz/keymap.c b/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..b8f70bdc9
--- /dev/null
+++ b/keyboards/bastardkb/tbk/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/tbk/keymaps/xyverz/readme.md b/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..9359e6ad9
--- /dev/null
+++ b/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md
@@ -0,0 +1,22 @@
1# The Bastard Keyboard
2
3A 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/tbk: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/tbk/readme.md b/keyboards/bastardkb/tbk/readme.md
new file mode 100644
index 000000000..9359e6ad9
--- /dev/null
+++ b/keyboards/bastardkb/tbk/readme.md
@@ -0,0 +1,22 @@
1# The Bastard Keyboard
2
3A 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/tbk: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/tbk/rules.mk b/keyboards/bastardkb/tbk/rules.mk
new file mode 100644
index 000000000..cc88208e3
--- /dev/null
+++ b/keyboards/bastardkb/tbk/rules.mk
@@ -0,0 +1,23 @@
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 = lite # Virtual DIP switch configuration
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
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23SPLIT_KEYBOARD = yes
diff --git a/keyboards/bastardkb/bastylmini/bastylmini.c b/keyboards/bastardkb/tbk/tbk.c
index 634b0b4a9..dabfcf35c 100644
--- a/keyboards/bastardkb/bastylmini/bastylmini.c
+++ b/keyboards/bastardkb/tbk/tbk.c
@@ -15,4 +15,4 @@
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18#include "bastylmini.h" 18#include "tbk.h"
diff --git a/keyboards/bastardkb/tbk/tbk.h b/keyboards/bastardkb/tbk/tbk.h
new file mode 100644
index 000000000..196982952
--- /dev/null
+++ b/keyboards/bastardkb/tbk/tbk.h
@@ -0,0 +1,42 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.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
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}
diff --git a/keyboards/bastardkb/bastylmini/config.h b/keyboards/bastardkb/tbkmini/config.h
index b23f64a09..9aee4d5f9 100644
--- a/keyboards/bastardkb/bastylmini/config.h
+++ b/keyboards/bastardkb/tbkmini/config.h
@@ -21,7 +21,7 @@
21#define PRODUCT_ID 0x1828 21#define PRODUCT_ID 0x1828
22#define DEVICE_VER 0x0001 22#define DEVICE_VER 0x0001
23#define MANUFACTURER Bastard Keyboards 23#define MANUFACTURER Bastard Keyboards
24#define PRODUCT Bastyl Mini 24#define PRODUCT TBK Mini
25 25
26#define MATRIX_ROWS 8 26#define MATRIX_ROWS 8
27#define MATRIX_COLS 6 27#define MATRIX_COLS 6
diff --git a/keyboards/bastardkb/bastylmini/info.json b/keyboards/bastardkb/tbkmini/info.json
index a30a2f8cd..b0446a0c0 100644
--- a/keyboards/bastardkb/bastylmini/info.json
+++ b/keyboards/bastardkb/tbkmini/info.json
@@ -1,5 +1,5 @@
1{ 1{
2 "keyboard_name": "Bastyl Mini", 2 "keyboard_name": "TBK Mini",
3 "url": "https://www.bastardkb.com", 3 "url": "https://www.bastardkb.com",
4 "maintainer": "Quentin Lebastard", 4 "maintainer": "Quentin Lebastard",
5 "width": 17, 5 "width": 17,
diff --git a/keyboards/bastardkb/bastylmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
index 8006f11ce..8006f11ce 100644
--- a/keyboards/bastardkb/bastylmini/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
diff --git a/keyboards/bastardkb/bastylmini/readme.md b/keyboards/bastardkb/tbkmini/readme.md
index 487e5cc64..8be8200ff 100644
--- a/keyboards/bastardkb/bastylmini/readme.md
+++ b/keyboards/bastardkb/tbkmini/readme.md
@@ -1,14 +1,14 @@
1# Bastyl Mini 1# TBK Mini
2 2
3A split, compact ergonomic keyboard. 3A split, compact ergonomic keyboard.
4 4
5* Keyboard Maintainer: [BastardKb](https://github.com/Bastardkb/) 5* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
6* Hardware Supported: elite-C V4 6* Hardware Supported: elite-C V4
7* Hardware Availability: [Bastardkb.com](https://bastardkb.com/) 7* Hardware Availability: [Bastardkb.com](https://bastardkb.com/)
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make bastardkb/bastylmini:default 11 make bastardkb/tbkmini:default
12 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). 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 14
diff --git a/keyboards/bastardkb/bastylmini/rules.mk b/keyboards/bastardkb/tbkmini/rules.mk
index 76f9cf11a..76f9cf11a 100644
--- a/keyboards/bastardkb/bastylmini/rules.mk
+++ b/keyboards/bastardkb/tbkmini/rules.mk
diff --git a/keyboards/bastardkb/tbkmini/tbkmini.c b/keyboards/bastardkb/tbkmini/tbkmini.c
new file mode 100644
index 000000000..b932401c0
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/tbkmini.c
@@ -0,0 +1,18 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.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 "tbkmini.h"
diff --git a/keyboards/bastardkb/bastylmini/bastylmini.h b/keyboards/bastardkb/tbkmini/tbkmini.h
index 66235f4f4..66235f4f4 100644
--- a/keyboards/bastardkb/bastylmini/bastylmini.h
+++ b/keyboards/bastardkb/tbkmini/tbkmini.h