summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2025-05-11 05:58:16 +0000
committerQMK Bot <hello@qmk.fm>2025-05-11 05:58:16 +0000
commitc045c3e00c41597fbc82239376611d3ac8a7a52e (patch)
treedf74cdc9fdefe034d2f9ac17c7f54a1d38703c3e
parent02525f683e7ad1a2f032dfe8663b0303d1714a7d (diff)
parent6b1a376aee93c74a0445d918e49c9118c59616fd (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/hazel/bad_wings_v2/config.h18
-rw-r--r--keyboards/hazel/bad_wings_v2/halconf.h10
-rw-r--r--keyboards/hazel/bad_wings_v2/keyboard.json67
-rw-r--r--keyboards/hazel/bad_wings_v2/keymaps/default/config.h11
-rw-r--r--keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json32
-rw-r--r--keyboards/hazel/bad_wings_v2/mcuconf.h9
-rw-r--r--keyboards/hazel/bad_wings_v2/readme.md27
-rw-r--r--keyboards/hazel/bad_wings_v2/rules.mk1
8 files changed, 175 insertions, 0 deletions
diff --git a/keyboards/hazel/bad_wings_v2/config.h b/keyboards/hazel/bad_wings_v2/config.h
new file mode 100644
index 0000000000..7f861f693f
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/config.h
@@ -0,0 +1,18 @@
1// Copyright 2023 Jason Hazel (@jasonhazel)
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#define SPI_DRIVER SPID1
7#define SPI_SCK_PIN A5
8#define SPI_SCK_PAL_MODE 0
9#define SPI_MOSI_PIN A7
10#define SPI_MOSI_PAL_MODE 0
11#define SPI_MISO_PIN A6
12#define SPI_MISO_PAL_MODE 0
13#define CIRQUE_PINNACLE_SPI_DIVISOR 8
14#define CIRQUE_PINNACLE_SPI_CS_PIN A4
15
16#define POINTING_DEVICE_CS_PIN A4
17#define CIRQUE_PINNACLE_DIAMETER_MM 35
18#define POINTING_DEVICE_ROTATION_90
diff --git a/keyboards/hazel/bad_wings_v2/halconf.h b/keyboards/hazel/bad_wings_v2/halconf.h
new file mode 100644
index 0000000000..6d6a6511bf
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/halconf.h
@@ -0,0 +1,10 @@
1// Copyright 2023 Jason Hazel (@jasonhazel)
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#define HAL_USE_SPI TRUE
7#define SPI_USE_WAIT TRUE
8#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
9
10#include_next <halconf.h>
diff --git a/keyboards/hazel/bad_wings_v2/keyboard.json b/keyboards/hazel/bad_wings_v2/keyboard.json
new file mode 100644
index 0000000000..e6f9bad637
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/keyboard.json
@@ -0,0 +1,67 @@
1{
2 "manufacturer": "Hazel",
3 "keyboard_name": "Bad Wings v2",
4 "maintainer": "jasonhazel",
5 "bootloader": "stm32-dfu",
6 "diode_direction": "COL2ROW",
7 "features": {
8 "bootmagic": true,
9 "extrakey": true,
10 "mousekey": true,
11 "pointing_device": true
12 },
13 "matrix_pins": {
14 "cols": ["F1", "F0", "C15", "C14", "C13"],
15 "rows": ["B11", "B10", "B2", "B1", "B3", "B4", "B5", "B6"]
16 },
17 "processor": "STM32F072",
18 "url": "https://github.com/hazels-garage/bad-wings/tree/master/v2",
19 "usb": {
20 "device_version": "1.0.0",
21 "pid": "0x4258",
22 "vid": "0x4A48"
23 },
24 "community_layouts": ["split_3x5_3"],
25 "layouts": {
26 "LAYOUT_split_3x5_3": {
27 "layout": [
28 {"label": "00", "matrix": [0, 0], "x": 0, "y": 0.75, "w": 1},
29 {"label": "01", "matrix": [0, 1], "x": 1, "y": 0.5, "w": 1},
30 {"label": "02", "matrix": [0, 2], "x": 2, "y": 0, "w": 1},
31 {"label": "03", "matrix": [0, 3], "x": 3, "y": 0.25, "w": 1},
32 {"label": "04", "matrix": [0, 4], "x": 4, "y": 0.36, "w": 1},
33 {"label": "44", "matrix": [4, 4], "x": 8, "y": 0.36, "w": 1},
34 {"label": "43", "matrix": [4, 3], "x": 9, "y": 0.25, "w": 1},
35 {"label": "42", "matrix": [4, 2], "x": 10, "y": 0, "w": 1},
36 {"label": "41", "matrix": [4, 1], "x": 11, "y": 0.5, "w": 1},
37 {"label": "40", "matrix": [4, 0], "x": 12, "y": 0.75, "w": 1},
38 {"label": "10", "matrix": [1, 0], "x": 0, "y": 1.75, "w": 1},
39 {"label": "11", "matrix": [1, 1], "x": 1, "y": 1.5, "w": 1},
40 {"label": "12", "matrix": [1, 2], "x": 2, "y": 1, "w": 1},
41 {"label": "13", "matrix": [1, 3], "x": 3, "y": 1.25, "w": 1},
42 {"label": "14", "matrix": [1, 4], "x": 4, "y": 1.36, "w": 1},
43 {"label": "54", "matrix": [5, 4], "x": 8, "y": 1.36, "w": 1},
44 {"label": "53", "matrix": [5, 3], "x": 9, "y": 1.25, "w": 1},
45 {"label": "52", "matrix": [5, 2], "x": 10, "y": 1, "w": 1},
46 {"label": "51", "matrix": [5, 1], "x": 11, "y": 1.5, "w": 1},
47 {"label": "50", "matrix": [5, 0], "x": 12, "y": 1.75, "w": 1},
48 {"label": "20", "matrix": [2, 0], "x": 0, "y": 2.75, "w": 1},
49 {"label": "21", "matrix": [2, 1], "x": 1, "y": 2.5, "w": 1},
50 {"label": "22", "matrix": [2, 2], "x": 2, "y": 2, "w": 1},
51 {"label": "23", "matrix": [2, 3], "x": 3, "y": 2.25, "w": 1},
52 {"label": "24", "matrix": [2, 4], "x": 4, "y": 2.36, "w": 1},
53 {"label": "64", "matrix": [6, 4], "x": 8, "y": 2.36, "w": 1},
54 {"label": "63", "matrix": [6, 3], "x": 9, "y": 2.25, "w": 1},
55 {"label": "62", "matrix": [6, 2], "x": 10, "y": 2, "w": 1},
56 {"label": "61", "matrix": [6, 1], "x": 11, "y": 2.5, "w": 1},
57 {"label": "60", "matrix": [6, 0], "x": 12, "y": 2.75, "w": 1},
58 {"label": "32", "matrix": [3, 2], "x": 3, "y": 3.25, "w": 1},
59 {"label": "33", "matrix": [3, 3], "x": 4, "y": 3.36, "w": 1},
60 {"label": "34", "matrix": [3, 4], "x": 5, "y": 3.47, "w": 1},
61 {"label": "74", "matrix": [7, 4], "x": 7, "y": 3.47, "w": 1},
62 {"label": "73", "matrix": [7, 3], "x": 8, "y": 3.36, "w": 1},
63 {"label": "72", "matrix": [7, 2], "x": 9, "y": 3.25, "w": 1}
64 ]
65 }
66 }
67}
diff --git a/keyboards/hazel/bad_wings_v2/keymaps/default/config.h b/keyboards/hazel/bad_wings_v2/keymaps/default/config.h
new file mode 100644
index 0000000000..75c535cee8
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/keymaps/default/config.h
@@ -0,0 +1,11 @@
1// Copyright 2023 Jason Hazel (@jasonhazel)
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#define PERMISSIVE_HOLD
7#define ONESHOT_TAP_TOGGLE 10
8#define ONESHOT_TIMEOUT 500
9#define CIRQUE_PINNACLE_TAP_ENABLE
10#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE
11#define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE
diff --git a/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json b/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json
new file mode 100644
index 0000000000..251be09c33
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json
@@ -0,0 +1,32 @@
1{
2 "keyboard": "hazel/bad_wings_v2",
3 "keymap": "default",
4 "layout": "LAYOUT_split_3x5_3",
5 "layers": [
6 [
7 "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P",
8 "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_QUOT",
9 "KC_Z", "LGUI_T(KC_X)", "LALT_T(KC_C)", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH",
10 "KC_LCTL", "OSL(1)", "OSM(MOD_LSFT)", "LT(3,KC_SPC)", "LT(2,KC_BSPC)", "KC_ENT"
11 ],
12 [
13 "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_RBRC", "KC_RCBR", "KC_RPRN", "KC_GT", "KC_NO",
14 "KC_GRV", "KC_TILD", "KC_UNDS", "KC_EQL", "KC_NO", "KC_LBRC", "KC_LCBR", "KC_LPRN", "KC_LT", "KC_BSLS",
15 "KC_NO", "KC_NO", "KC_PLUS", "KC_MINS", "KC_NO", "KC_NO", "KC_NO", "KC_COLN", "KC_DOT", "KC_SCLN",
16 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
17 ],
18 [
19 "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_PIPE", "KC_NO",
20 "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0",
21 "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO",
22 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
23 ],
24 [
25 "KC_ESC", "KC_F1", "KC_F4", "KC_F7", "KC_F10", "KC_NO", "KC_HOME", "KC_UP", "KC_END", "KC_NO",
26 "KC_TAB", "KC_F2", "KC_F5", "KC_F8", "KC_F11", "KC_NO", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO",
27 "KC_NO", "KC_F3", "KC_F6", "KC_F9", "KC_F12", "KC_NO", "KC_MRWD", "KC_MPLY", "KC_MFFD", "KC_DEL",
28 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
29 ]
30 ],
31 "author": "Jason Hazel"
32}
diff --git a/keyboards/hazel/bad_wings_v2/mcuconf.h b/keyboards/hazel/bad_wings_v2/mcuconf.h
new file mode 100644
index 0000000000..77c7d10e9b
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/mcuconf.h
@@ -0,0 +1,9 @@
1// Copyright 2022 Kyle McCreery (@kylemccreery)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6#include_next <mcuconf.h>
7
8#undef STM32_SPI_USE_SPI1
9#define STM32_SPI_USE_SPI1 TRUE
diff --git a/keyboards/hazel/bad_wings_v2/readme.md b/keyboards/hazel/bad_wings_v2/readme.md
new file mode 100644
index 0000000000..1b34057aa3
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/readme.md
@@ -0,0 +1,27 @@
1# Bad Wings v2
2
3![Bad Wings v2](https://i.imgur.com/8uCHotK.jpeg)
4
536 key unibody split
6
7* Keyboard Maintainer: [Jason Hazel](https://github.com/jasonhazel)
8* Hardware Supported: Bad Wings v2
9* Hardware Availability: [Hazel's Garage GitHub](https://github.com/hazels-garage/bad-wings/tree/master/v2)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make hazel/bad_wings_v2:default
14
15Flashing example for this keyboard:
16
17 make hazel/bad_wings_v2:default:flash
18
19See 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).
20
21## Bootloader
22
23Enter the bootloader in 3 ways:
24
25* **Bootmagic reset**: Hold down the top-left key and plug in the keyboard
26* **Physical reset button**: Briefly press the button on the back of the PCB
27* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/hazel/bad_wings_v2/rules.mk b/keyboards/hazel/bad_wings_v2/rules.mk
new file mode 100644
index 0000000000..fb5d649735
--- /dev/null
+++ b/keyboards/hazel/bad_wings_v2/rules.mk
@@ -0,0 +1 @@
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi