Просмотр исходного кода

Merge remote-tracking branch 'origin/master' into develop

QMK Bot 1 год назад
Родитель
Сommit
c045c3e00c

+ 18 - 0
keyboards/hazel/bad_wings_v2/config.h

@@ -0,0 +1,18 @@
+// Copyright 2023 Jason Hazel (@jasonhazel)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 0
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 0
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 0
+#define CIRQUE_PINNACLE_SPI_DIVISOR 8
+#define CIRQUE_PINNACLE_SPI_CS_PIN A4
+
+#define POINTING_DEVICE_CS_PIN      A4
+#define CIRQUE_PINNACLE_DIAMETER_MM 35
+#define POINTING_DEVICE_ROTATION_90

+ 10 - 0
keyboards/hazel/bad_wings_v2/halconf.h

@@ -0,0 +1,10 @@
+// Copyright 2023 Jason Hazel (@jasonhazel)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+
+#include_next <halconf.h>

+ 67 - 0
keyboards/hazel/bad_wings_v2/keyboard.json

@@ -0,0 +1,67 @@
+{
+    "manufacturer": "Hazel",
+    "keyboard_name": "Bad Wings v2",
+    "maintainer": "jasonhazel",
+    "bootloader": "stm32-dfu",
+    "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "pointing_device": true
+    },
+    "matrix_pins": {
+        "cols": ["F1", "F0", "C15", "C14", "C13"],
+        "rows": ["B11", "B10", "B2", "B1", "B3", "B4", "B5", "B6"]
+    },
+    "processor": "STM32F072",
+    "url": "https://github.com/hazels-garage/bad-wings/tree/master/v2",
+    "usb": {
+        "device_version": "1.0.0",
+        "pid": "0x4258",
+        "vid": "0x4A48"
+    },
+    "community_layouts": ["split_3x5_3"],
+    "layouts": {
+        "LAYOUT_split_3x5_3": {
+            "layout": [
+                {"label": "00", "matrix": [0, 0], "x": 0, "y": 0.75, "w": 1},
+                {"label": "01", "matrix": [0, 1], "x": 1, "y": 0.5, "w": 1},
+                {"label": "02", "matrix": [0, 2], "x": 2, "y": 0, "w": 1},
+                {"label": "03", "matrix": [0, 3], "x": 3, "y": 0.25, "w": 1},
+                {"label": "04", "matrix": [0, 4], "x": 4, "y": 0.36, "w": 1},
+                {"label": "44", "matrix": [4, 4], "x": 8, "y": 0.36, "w": 1},
+                {"label": "43", "matrix": [4, 3], "x": 9, "y": 0.25, "w": 1},
+                {"label": "42", "matrix": [4, 2], "x": 10, "y": 0, "w": 1},
+                {"label": "41", "matrix": [4, 1], "x": 11, "y": 0.5, "w": 1},
+                {"label": "40", "matrix": [4, 0], "x": 12, "y": 0.75, "w": 1},
+                {"label": "10", "matrix": [1, 0], "x": 0, "y": 1.75, "w": 1},
+                {"label": "11", "matrix": [1, 1], "x": 1, "y": 1.5, "w": 1},
+                {"label": "12", "matrix": [1, 2], "x": 2, "y": 1, "w": 1},
+                {"label": "13", "matrix": [1, 3], "x": 3, "y": 1.25, "w": 1},
+                {"label": "14", "matrix": [1, 4], "x": 4, "y": 1.36, "w": 1},
+                {"label": "54", "matrix": [5, 4], "x": 8, "y": 1.36, "w": 1},
+                {"label": "53", "matrix": [5, 3], "x": 9, "y": 1.25, "w": 1},
+                {"label": "52", "matrix": [5, 2], "x": 10, "y": 1, "w": 1},
+                {"label": "51", "matrix": [5, 1], "x": 11, "y": 1.5, "w": 1},
+                {"label": "50", "matrix": [5, 0], "x": 12, "y": 1.75, "w": 1},
+                {"label": "20", "matrix": [2, 0], "x": 0, "y": 2.75, "w": 1},
+                {"label": "21", "matrix": [2, 1], "x": 1, "y": 2.5, "w": 1},
+                {"label": "22", "matrix": [2, 2], "x": 2, "y": 2, "w": 1},
+                {"label": "23", "matrix": [2, 3], "x": 3, "y": 2.25, "w": 1},
+                {"label": "24", "matrix": [2, 4], "x": 4, "y": 2.36, "w": 1},
+                {"label": "64", "matrix": [6, 4], "x": 8, "y": 2.36, "w": 1},
+                {"label": "63", "matrix": [6, 3], "x": 9, "y": 2.25, "w": 1},
+                {"label": "62", "matrix": [6, 2], "x": 10, "y": 2, "w": 1},
+                {"label": "61", "matrix": [6, 1], "x": 11, "y": 2.5, "w": 1},
+                {"label": "60", "matrix": [6, 0], "x": 12, "y": 2.75, "w": 1},
+                {"label": "32", "matrix": [3, 2], "x": 3, "y": 3.25, "w": 1},
+                {"label": "33", "matrix": [3, 3], "x": 4, "y": 3.36, "w": 1},
+                {"label": "34", "matrix": [3, 4], "x": 5, "y": 3.47, "w": 1},
+                {"label": "74", "matrix": [7, 4], "x": 7, "y": 3.47, "w": 1},
+                {"label": "73", "matrix": [7, 3], "x": 8, "y": 3.36, "w": 1},
+                {"label": "72", "matrix": [7, 2], "x": 9, "y": 3.25, "w": 1}
+            ]
+        }
+    }
+}

+ 11 - 0
keyboards/hazel/bad_wings_v2/keymaps/default/config.h

@@ -0,0 +1,11 @@
+// Copyright 2023 Jason Hazel (@jasonhazel)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#define PERMISSIVE_HOLD
+#define ONESHOT_TAP_TOGGLE 10
+#define ONESHOT_TIMEOUT 500
+#define CIRQUE_PINNACLE_TAP_ENABLE
+#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE
+#define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE

+ 32 - 0
keyboards/hazel/bad_wings_v2/keymaps/default/keymap.json

@@ -0,0 +1,32 @@
+{
+    "keyboard": "hazel/bad_wings_v2",
+    "keymap": "default",
+    "layout": "LAYOUT_split_3x5_3",
+    "layers": [
+        [
+            "KC_Q",     "KC_W",     "KC_E",     "KC_R",     "KC_T",           "KC_Y",     "KC_U",     "KC_I",     "KC_O",     "KC_P",
+            "KC_A",     "KC_S",     "KC_D",     "KC_F",     "KC_G",           "KC_H",     "KC_J",     "KC_K",     "KC_L",     "KC_QUOT",
+            "KC_Z", "LGUI_T(KC_X)", "LALT_T(KC_C)", "KC_V", "KC_B",           "KC_N",     "KC_M",     "KC_COMM",  "KC_DOT",   "KC_SLSH",
+                                    "KC_LCTL", "OSL(1)", "OSM(MOD_LSFT)", "LT(3,KC_SPC)", "LT(2,KC_BSPC)", "KC_ENT"
+        ],
+        [
+            "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",          "KC_RBRC",  "KC_RCBR",  "KC_RPRN",  "KC_GT",    "KC_NO",
+            "KC_GRV",   "KC_TILD",  "KC_UNDS",  "KC_EQL",   "KC_NO",          "KC_LBRC",  "KC_LCBR",  "KC_LPRN",  "KC_LT",    "KC_BSLS",
+            "KC_NO",    "KC_NO",    "KC_PLUS",  "KC_MINS",  "KC_NO",          "KC_NO",    "KC_NO",    "KC_COLN",  "KC_DOT",   "KC_SCLN",
+                                    "KC_TRNS",  "KC_TRNS",  "KC_TRNS",        "KC_TRNS",  "KC_TRNS",  "KC_TRNS"
+        ],
+        [
+            "KC_EXLM",  "KC_AT",    "KC_HASH",  "KC_DLR",   "KC_PERC",        "KC_CIRC",  "KC_AMPR",  "KC_ASTR",  "KC_PIPE",  "KC_NO",
+            "KC_1",     "KC_2",     "KC_3",     "KC_4",     "KC_5",           "KC_6",     "KC_7",     "KC_8",     "KC_9",     "KC_0",
+            "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",          "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",    "KC_NO",
+                                    "KC_TRNS",  "KC_TRNS",  "KC_TRNS",        "KC_TRNS",  "KC_TRNS",  "KC_TRNS"
+        ],
+        [
+            "KC_ESC",   "KC_F1",    "KC_F4",    "KC_F7",    "KC_F10",         "KC_NO",    "KC_HOME",  "KC_UP",    "KC_END",   "KC_NO",
+            "KC_TAB",   "KC_F2",    "KC_F5",    "KC_F8",    "KC_F11",         "KC_NO",    "KC_LEFT",  "KC_DOWN",  "KC_RGHT",  "KC_NO",
+            "KC_NO",    "KC_F3",    "KC_F6",    "KC_F9",    "KC_F12",         "KC_NO",    "KC_MRWD",  "KC_MPLY",  "KC_MFFD",  "KC_DEL",
+                                    "KC_TRNS",  "KC_TRNS",  "KC_TRNS",        "KC_TRNS",  "KC_TRNS",  "KC_TRNS"
+        ]
+    ],
+    "author": "Jason Hazel"
+}

+ 9 - 0
keyboards/hazel/bad_wings_v2/mcuconf.h

@@ -0,0 +1,9 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE

+ 27 - 0
keyboards/hazel/bad_wings_v2/readme.md

@@ -0,0 +1,27 @@
+# Bad Wings v2
+
+![Bad Wings v2](https://i.imgur.com/8uCHotK.jpeg)
+
+36 key unibody split
+
+* Keyboard Maintainer: [Jason Hazel](https://github.com/jasonhazel)
+* Hardware Supported: Bad Wings v2
+* Hardware Availability: [Hazel's Garage GitHub](https://github.com/hazels-garage/bad-wings/tree/master/v2)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make hazel/bad_wings_v2:default
+
+Flashing example for this keyboard:
+
+    make hazel/bad_wings_v2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top-left key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

+ 1 - 0
keyboards/hazel/bad_wings_v2/rules.mk

@@ -0,0 +1 @@
+POINTING_DEVICE_DRIVER = cirque_pinnacle_spi