aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin <qlebastard@gmail.com>2020-12-08 03:16:28 +0100
committerGitHub <noreply@github.com>2020-12-07 18:16:28 -0800
commit95022bc366caa7a05b8a91dfc7b16173d270b7b6 (patch)
tree7ba6f68e49e64661d2bf1048ef1cba6b137bbd6a
parent399be2a9b323130ecbfff4141ead67ea26c32034 (diff)
downloadqmk_firmware-95022bc366caa7a05b8a91dfc7b16173d270b7b6.tar.gz
qmk_firmware-95022bc366caa7a05b8a91dfc7b16173d270b7b6.zip
[Keyboard] Add Bastyl keyboard (#11085)
* add bastyl * no need to copy the folder anymore * clean up according to PR rules * remove via, fix disposition * add reset button on right half * Update readme.md * Update keyboards/hidtech/bastyl/bastyl.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/hidtech/bastyl/rules.mk Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Joel Challis <git@zvecr.com> * move json, remove via files * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * add GPL to c and h files * Update keyboards/hidtech/bastyl/info.json Change order to match layout macro Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * serial define can be ommited, is used by default Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/hidtech/bastyl/bastyl.c19
-rw-r--r--keyboards/hidtech/bastyl/bastyl.h43
-rw-r--r--keyboards/hidtech/bastyl/config.h40
-rw-r--r--keyboards/hidtech/bastyl/info.json71
-rw-r--r--keyboards/hidtech/bastyl/keymaps/default/keymap.c61
-rw-r--r--keyboards/hidtech/bastyl/readme.md22
-rw-r--r--keyboards/hidtech/bastyl/rules.mk23
7 files changed, 279 insertions, 0 deletions
diff --git a/keyboards/hidtech/bastyl/bastyl.c b/keyboards/hidtech/bastyl/bastyl.c
new file mode 100644
index 000000000..637af1ffe
--- /dev/null
+++ b/keyboards/hidtech/bastyl/bastyl.c
@@ -0,0 +1,19 @@
1/*
2 * Copyright 2020 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2020 Anthony MARIN <anthony@hidtech.ca>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include "bastyl.h"
diff --git a/keyboards/hidtech/bastyl/bastyl.h b/keyboards/hidtech/bastyl/bastyl.h
new file mode 100644
index 000000000..5bacb8bb0
--- /dev/null
+++ b/keyboards/hidtech/bastyl/bastyl.h
@@ -0,0 +1,43 @@
1/*
2 * Copyright 2020 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2020 Anthony MARIN <anthony@hidtech.ca>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19
20#pragma once
21#include "quantum.h"
22
23// SWITCHED 91 and 95 - check on left ?
24#define LAYOUT( \
25 k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
26 k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
27 k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
28 k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \
29 k43, k44, k41, k91, k94, k93, \
30 k45, k42, k92, k95 \
31)\
32{\
33 { k00, k01, k02, k03, k04, k05 }, \
34 { k10, k11, k12, k13, k14, k15 }, \
35 { k20, k21, k22, k23, k24, k25 }, \
36 { k30, k31, k32, k33, k34, k35 }, \
37 { KC_NO, k41, k42, k43, k44, k45 }, \
38 { k50, k51, k52, k53, k54, k55 }, \
39 { k60, k61, k62, k63, k64, k65 }, \
40 { k70, k71, k72, k73, k74, k75 }, \
41 { k80, k81, k82, k83, k84, k85 }, \
42 { KC_NO, k91, k92, k93, k94, k95 }, \
43}
diff --git a/keyboards/hidtech/bastyl/config.h b/keyboards/hidtech/bastyl/config.h
new file mode 100644
index 000000000..ed33d8451
--- /dev/null
+++ b/keyboards/hidtech/bastyl/config.h
@@ -0,0 +1,40 @@
1/*
2 * Copyright 2020 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2020 Anthony MARIN <anthony@hidtech.ca>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20#include "config_common.h"
21#define VENDOR_ID 0xA76A
22#define PRODUCT_ID 0x1827
23#define DEVICE_VER 0x0001
24#define MANUFACTURER HID Technologies
25#define PRODUCT Bastyl
26
27#define MATRIX_ROWS 10
28#define MATRIX_COLS 6
29#define DIODE_DIRECTION ROW2COL
30#define MATRIX_ROW_PINS { D7, B5, F7, F6, B6 }
31#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 }
32#define RGB_DI_PIN D2
33#define RGBLED_NUM 38
34#define RGBLIGHT_SPLIT
35#define RGBLIGHT_ANIMATIONS
36#define DEBOUNCE 5
37#define SOFT_SERIAL_PIN D0
38#define LOCKING_SUPPORT_ENABLE
39#define LOCKING_RESYNC_ENABLE
40#define MASTER_RIGHT
diff --git a/keyboards/hidtech/bastyl/info.json b/keyboards/hidtech/bastyl/info.json
new file mode 100644
index 000000000..e8115794e
--- /dev/null
+++ b/keyboards/hidtech/bastyl/info.json
@@ -0,0 +1,71 @@
1{
2 "keyboard_name": "Bastyl",
3 "url": "https://www.hidtech.ca/?product=bastyl-black",
4 "maintainer": "HID-Technologies",
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/hidtech/bastyl/keymaps/default/keymap.c b/keyboards/hidtech/bastyl/keymaps/default/keymap.c
new file mode 100644
index 000000000..d6d291af5
--- /dev/null
+++ b/keyboards/hidtech/bastyl/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
1/*
2 * Copyright 2020 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2020 Anthony MARIN <anthony@hidtech.ca>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23 [0] = LAYOUT(
24 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
25//-------------------------------------------------//-----------------------------------------------------------//
26 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
27//-------------------------------------------------//-----------------------------------------------------------//
28 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
29//-------------------------------------------------//-----------------------------------------------------------//
30 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
31//-------------------------------------------------//-----------------------------------------------------------//
32 KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI,
33 KC_HOME, KC_BSPC, KC_DEL, KC_RALT
34 ),
35
36 [1] = LAYOUT(
37 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
38//---------------------------------------------------------//-----------------------------------------------------------//
39 RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
40//---------------------------------------------------------//-----------------------------------------------------------//
41 _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
42//---------------------------------------------------------//-----------------------------------------------------------//
43 _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
44//---------------------------------------------------------//-----------------------------------------------------------//
45 KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI,
46 KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
47 ),
48
49 [2] = LAYOUT(
50 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
51//---------------------------------------------------------//--------------------------------------------------------------//
52 _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE,
53//---------------------------------------------------------//--------------------------------------------------------------//
54 _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
55//---------------------------------------------------------//--------------------------------------------------------------//
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
57//---------------------------------------------------------//--------------------------------------------------------------//
58 KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET,
59 KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
60 ),
61};
diff --git a/keyboards/hidtech/bastyl/readme.md b/keyboards/hidtech/bastyl/readme.md
new file mode 100644
index 000000000..f21f030a8
--- /dev/null
+++ b/keyboards/hidtech/bastyl/readme.md
@@ -0,0 +1,22 @@
1# Bastyl
2
3A split ergonomic keyboard.
4
5* Keyboard Maintainer: [HID Technologies](https://github.com/HID-Technologies)
6* Hardware Supported: elite-C V4
7* Hardware Availability: [Hidtech.ca](https://www.hidtech.ca/)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make hidtech/bastyl: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://hid-technologies.github.io/Bastyl-DIY-instructions/)
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/hidtech/bastyl/rules.mk b/keyboards/hidtech/bastyl/rules.mk
new file mode 100644
index 000000000..cc88208e3
--- /dev/null
+++ b/keyboards/hidtech/bastyl/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