Browse Source

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

QMK Bot 1 year ago
parent
commit
b4f0314b35

+ 20 - 0
keyboards/dlip/haritev2/config.h

@@ -0,0 +1,20 @@
+// Copyright 2024 Dane Lipscombe (@dlip)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1500U
+
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP1
+#define SERIAL_USART_RX_PIN GP0
+#define SERIAL_USART_PIN_SWAP
+
+#define EE_HANDS
+
+#define SPI_DRIVER SPID0
+#define SPI_SCK_PIN GP2
+#define SPI_MOSI_PIN GP3
+#define SPI_MISO_PIN GP4
+#define POINTING_DEVICE_CS_PIN GP5

+ 11 - 0
keyboards/dlip/haritev2/dual_cirque/config.h

@@ -0,0 +1,11 @@
+// Copyright 2024 Dane Lipscombe (@dlip)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SPLIT_POINTING_ENABLE
+#define POINTING_DEVICE_COMBINED
+#define POINTING_DEVICE_ROTATION_90
+#define POINTING_DEVICE_ROTATION_90_RIGHT
+#define CIRQUE_PINNACLE_POSITION_MODE  CIRQUE_PINNACLE_ABSOLUTE_MODE
+#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE

+ 19 - 0
keyboards/dlip/haritev2/dual_cirque/keymaps/default/keymap.c

@@ -0,0 +1,19 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT_split_5x6(
+              KC_U,              KC_U,              KC_U,              KC_U,                    KC_U,              KC_U,              KC_U,              KC_U,
+        KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,
+              KC_D,              KC_D,              KC_D,              KC_D,                    KC_D,              KC_D,              KC_D,              KC_D,
+
+                                                                       KC_U,                    KC_U,
+                                                                 KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,
+                                                                       KC_D,                    KC_D,
+
+                                                                       KC_U,                    KC_U,
+                                                                 KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,
+                                                                       KC_D,                    KC_D
+    )
+};

+ 39 - 0
keyboards/dlip/haritev2/dual_cirque/readme.md

@@ -0,0 +1,39 @@
+# Harite v2 (Cirque trackpad version)
+
+5 way switch directional keyboard
+
+![Harite-v2](https://i.imgur.com/v8kUtL3.jpeg)
+
+* Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip)
+* Hardware Supported: Harite v2 (Cirque trackpad version)
+* Hardware Availability: <https://github.com/dlip/harite-v2>
+
+Make example for this keyboard (after setting up your build environment):
+
+```bash
+make dlip/haritev2/dual_cirque:default
+```
+
+Flashing example for this keyboard:
+
+```bash
+# For the left half...
+make dlip/haritev2/dual_cirque:default:uf2-split-left
+# or the qmk cli equivalent:
+qmk flash -kb dlip/haritev2/dual_cirque --keymap default -bl uf2-split-left
+
+# For the right half...
+make dlip/haritev2/dual_cirque:default:uf2-split-right
+# or the qmk cli equivalent:
+qmk flash -kb dlip/haritev2/dual_cirque --keymap default -bl uf2-split-right
+```
+
+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 key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

+ 3 - 0
keyboards/dlip/haritev2/dual_cirque/rules.mk

@@ -0,0 +1,3 @@
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
+

+ 10 - 0
keyboards/dlip/haritev2/halconf.h

@@ -0,0 +1,10 @@
+// Copyright 2023 Dane Lipscombe (@dlip)
+// SPDX-License-Identifier: GPL-2.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>
+

+ 98 - 0
keyboards/dlip/haritev2/info.json

@@ -0,0 +1,98 @@
+{
+    "manufacturer": "Dane Lipscombe",
+    "keyboard_name": "haritev2",
+    "maintainer": "dlip",
+    "bootloader": "rp2040",
+    "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
+    "matrix_pins": {
+        "cols": ["GP11", "GP12", "GP13", "GP14", "GP15", "GP26"],
+        "rows": ["GP6", "GP7", "GP8", "GP9", "GP10"]
+    },
+    "processor": "RP2040",
+    "split": {
+        "enabled": true,
+        "serial": {
+            "driver": "vendor"
+        }
+    },
+    "url": "",
+    "usb": {
+        "device_version": "1.0.0",
+        "pid": "0x4832",
+        "vid": "0x444C"
+    },
+    "layouts": {
+        "LAYOUT_split_5x6": {
+            "layout": [
+                {"label": "lpu", "matrix": [0, 0], "x": 1, "y": 0},
+                {"label": "lru", "matrix": [0, 1], "x": 5, "y": 0},
+                {"label": "lmu", "matrix": [0, 2], "x": 9, "y": 0},
+                {"label": "liu", "matrix": [0, 3], "x": 13, "y": 0},
+                {"label": "riu", "matrix": [8, 3], "x": 21, "y": 0},
+                {"label": "rmu", "matrix": [8, 2], "x": 25, "y": 0},
+                {"label": "rru", "matrix": [8, 1], "x": 29, "y": 0},
+                {"label": "rpu", "matrix": [8, 0], "x": 33, "y": 0},
+                {"label": "lpl", "matrix": [2, 0], "x": 0, "y": 1},
+                {"label": "lpc", "matrix": [1, 0], "x": 1, "y": 1},
+                {"label": "lpr", "matrix": [3, 0], "x": 2, "y": 1},
+                {"label": "lrl", "matrix": [2, 1], "x": 4, "y": 1},
+                {"label": "lrc", "matrix": [1, 1], "x": 5, "y": 1},
+                {"label": "lrr", "matrix": [3, 1], "x": 6, "y": 1},
+                {"label": "lml", "matrix": [2, 2], "x": 8, "y": 1},
+                {"label": "lmc", "matrix": [1, 2], "x": 9, "y": 1},
+                {"label": "lmr", "matrix": [3, 2], "x": 10, "y": 1},
+                {"label": "lil", "matrix": [2, 3], "x": 12, "y": 1},
+                {"label": "lic", "matrix": [1, 3], "x": 13, "y": 1},
+                {"label": "lir", "matrix": [3, 3], "x": 14, "y": 1},
+                {"label": "ril", "matrix": [5, 3], "x": 20, "y": 1},
+                {"label": "ric", "matrix": [6, 3], "x": 21, "y": 1},
+                {"label": "rir", "matrix": [9, 3], "x": 22, "y": 1},
+                {"label": "rml", "matrix": [5, 2], "x": 24, "y": 1},
+                {"label": "rmc", "matrix": [6, 2], "x": 25, "y": 1},
+                {"label": "rmr", "matrix": [9, 2], "x": 26, "y": 1},
+                {"label": "rrl", "matrix": [5, 1], "x": 28, "y": 1},
+                {"label": "rrc", "matrix": [6, 1], "x": 29, "y": 1},
+                {"label": "rrr", "matrix": [9, 1], "x": 30, "y": 1},
+                {"label": "rpl", "matrix": [5, 0], "x": 32, "y": 1},
+                {"label": "rpc", "matrix": [6, 0], "x": 33, "y": 1},
+                {"label": "rpr", "matrix": [9, 0], "x": 34, "y": 1},
+                {"label": "lpd", "matrix": [4, 0], "x": 1, "y": 2},
+                {"label": "lrd", "matrix": [4, 1], "x": 5, "y": 2},
+                {"label": "lmd", "matrix": [4, 2], "x": 9, "y": 2},
+                {"label": "lid", "matrix": [4, 3], "x": 13, "y": 2},
+                {"label": "rid", "matrix": [7, 3], "x": 21, "y": 2},
+                {"label": "rmd", "matrix": [7, 2], "x": 25, "y": 2},
+                {"label": "rrd", "matrix": [7, 1], "x": 29, "y": 2},
+                {"label": "rpd", "matrix": [7, 0], "x": 33, "y": 2},
+                {"label": "ltu", "matrix": [0, 4], "x": 13, "y": 3},
+                {"label": "rtu", "matrix": [5, 4], "x": 21, "y": 3},
+                {"label": "ltl", "matrix": [2, 4], "x": 12, "y": 4},
+                {"label": "ltc", "matrix": [1, 4], "x": 13, "y": 4},
+                {"label": "ltr", "matrix": [3, 4], "x": 14, "y": 4},
+                {"label": "rtl", "matrix": [7, 4], "x": 20, "y": 4},
+                {"label": "rtc", "matrix": [6, 4], "x": 21, "y": 4},
+                {"label": "rtr", "matrix": [8, 4], "x": 22, "y": 4},
+                {"label": "ltd", "matrix": [4, 4], "x": 13, "y": 5},
+                {"label": "rtd", "matrix": [9, 4], "x": 21, "y": 5},
+                {"label": "lt2u", "matrix": [0, 5], "x": 13, "y": 6},
+                {"label": "rt2u", "matrix": [5, 5], "x": 21, "y": 6},
+                {"label": "lt2l", "matrix": [2, 5], "x": 12, "y": 7},
+                {"label": "lt2c", "matrix": [1, 5], "x": 13, "y": 7},
+                {"label": "lt2r", "matrix": [3, 5], "x": 14, "y": 7},
+                {"label": "rt2l", "matrix": [7, 5], "x": 20, "y": 7},
+                {"label": "rt2c", "matrix": [6, 5], "x": 21, "y": 7},
+                {"label": "rt2r", "matrix": [8, 5], "x": 22, "y": 7},
+                {"label": "lt2d", "matrix": [4, 5], "x": 13, "y": 8},
+                {"label": "rt2d", "matrix": [9, 5], "x": 21, "y": 8}
+            ]
+        }
+    }
+}

+ 7 - 0
keyboards/dlip/haritev2/mcuconf.h

@@ -0,0 +1,7 @@
+// Copyright 2023 Dane Lipscombe (@dlip)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <mcuconf.h>
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE

+ 9 - 0
keyboards/dlip/haritev2/thumbstick_pmw3389/config.h

@@ -0,0 +1,9 @@
+// Copyright 2024 Dane Lipscombe (@dlip)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define PMW33XX_CPI 1000
+#define SPLIT_POINTING_ENABLE
+#define POINTING_DEVICE_INVERT_X
+#define POINTING_DEVICE_RIGHT

+ 23 - 0
keyboards/dlip/haritev2/thumbstick_pmw3389/keyboard.json

@@ -0,0 +1,23 @@
+{
+    "features": {
+        "joystick": true
+    },
+    "joystick": {
+        "axes": {
+            "x": {
+                "high": 938,
+                "input_pin": "GP27",
+                "low": 25,
+                "rest": 501
+            },
+            "y": {
+                "high": 942,
+                "input_pin": "GP28",
+                "low": 58,
+                "rest": 474
+            }
+        },
+        "axis_resolution": 10,
+        "button_count": 32
+    }
+}

+ 19 - 0
keyboards/dlip/haritev2/thumbstick_pmw3389/keymaps/default/keymap.c

@@ -0,0 +1,19 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT_split_5x6(
+              KC_U,              KC_U,              KC_U,              KC_U,                    KC_U,              KC_U,              KC_U,              KC_U,
+        KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,  KC_L, KC_C, KC_R,
+              KC_D,              KC_D,              KC_D,              KC_D,                    KC_D,              KC_D,              KC_D,              KC_D,
+
+                                                                       KC_U,                    KC_U,
+                                                                 KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,
+                                                                       KC_D,                    KC_D,
+
+                                                                       KC_U,                    KC_U,
+                                                                 KC_L, KC_C, KC_R,        KC_L, KC_C, KC_R,
+                                                                       KC_D,                    KC_D
+    )
+};

+ 39 - 0
keyboards/dlip/haritev2/thumbstick_pmw3389/readme.md

@@ -0,0 +1,39 @@
+# Harite v2 (Thumbstick + PMW3389 version)
+
+5 way switch directional keyboard
+
+![Harite-v2](https://i.imgur.com/wyrUsjG.jpeg)
+
+* Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip)
+* Hardware Supported: Harite v2 (Thumbstick + PMW3389 version)
+* Hardware Availability: <https://github.com/dlip/harite-v2>
+
+Make example for this keyboard (after setting up your build environment):
+
+```bash
+make dlip/haritev2/thumbstick_pmw3389:default
+```
+
+Flashing example for this keyboard:
+
+```bash
+# For the left half...
+make dlip/haritev2/thumbstick_pmw3389:default:uf2-split-left
+# or the qmk cli equivalent:
+qmk flash -kb dlip/haritev2/thumbstick_pmw3389 --keymap default -bl uf2-split-left
+
+# For the right half...
+make dlip/haritev2/thumbstick_pmw3389:default:uf2-split-right
+# or the qmk cli equivalent:
+qmk flash -kb dlip/haritev2/thumbstick_pmw3389 --keymap default -bl uf2-split-right
+```
+
+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 key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

+ 3 - 0
keyboards/dlip/haritev2/thumbstick_pmw3389/rules.mk

@@ -0,0 +1,3 @@
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = pmw3389
+JOYSTICK_DRIVER = analog