summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/6macro/keymaps/osu/config.h18
-rw-r--r--keyboards/handwired/chiron/keymaps/default/config.h4
-rw-r--r--keyboards/handwired/colorlice/config.h2
-rw-r--r--keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h2
-rw-r--r--keyboards/handwired/dygma/raise/config.h2
-rw-r--r--keyboards/handwired/freoduo/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/hnah40rgb/config.h2
-rw-r--r--keyboards/handwired/hnah40rgb/keymaps/default/config.h17
-rw-r--r--keyboards/handwired/macro3/info.json51
-rw-r--r--keyboards/handwired/macro3/keymaps/default/keymap.c25
-rw-r--r--keyboards/handwired/macro3/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/macro3/macro3.c27
-rw-r--r--keyboards/handwired/macro3/readme.md26
-rw-r--r--keyboards/handwired/macro3/rules.mk1
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/onekey/keymaps/apa102/config.h2
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/config.h6
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c14
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk2
-rw-r--r--keyboards/handwired/orbweaver/orbweaver.c2
-rw-r--r--keyboards/handwired/p65rgb/config.h2
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/config.h3
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/config.h8
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/halconf.h (renamed from keyboards/handwired/6macro/keymaps/default/config.h)5
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/info.json18
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/mcuconf.h22
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/readme.md2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c117
30 files changed, 327 insertions, 61 deletions
diff --git a/keyboards/handwired/6macro/keymaps/osu/config.h b/keyboards/handwired/6macro/keymaps/osu/config.h
deleted file mode 100644
index 64ba57443f..0000000000
--- a/keyboards/handwired/6macro/keymaps/osu/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2019 joaofbmaia
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h
index c373743a39..5d8a8a083d 100644
--- a/keyboards/handwired/chiron/keymaps/default/config.h
+++ b/keyboards/handwired/chiron/keymaps/default/config.h
@@ -30,8 +30,8 @@
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-#undef RGBLED_NUM
-#define RGBLED_NUM 2
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 2
#define RGBLED_SPLIT {1, 1}
// Don't turn off lights when the host goes to sleep.
diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h
index 5c52df9ffa..c973aeb3d3 100644
--- a/keyboards/handwired/colorlice/config.h
+++ b/keyboards/handwired/colorlice/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
/* RGB LEDs */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
index 783a2c46b1..a37a54c8fc 100644
--- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
+++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h
@@ -43,7 +43,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE
// # define RGB_MATRIX_TIMEOUT 300000 // number of milliseconds to wait until disabling effects
-// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+// # define RGB_MATRIX_SLEEP // turn off effects when suspended
# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h
index f32a9ea4f0..6094235221 100644
--- a/keyboards/handwired/dygma/raise/config.h
+++ b/keyboards/handwired/dygma/raise/config.h
@@ -34,7 +34,7 @@
// At 100ms (10 fps), the matrix scan rate is ~355 scans per second under full load, and typing
// accuracy is reasonably good.
#define RGB_MATRIX_LED_FLUSH_LIMIT 100
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/handwired/freoduo/keymaps/default/keymap.c b/keyboards/handwired/freoduo/keymaps/default/keymap.c
index bd01de7585..791e6af318 100644
--- a/keyboards/handwired/freoduo/keymaps/default/keymap.c
+++ b/keyboards/handwired/freoduo/keymaps/default/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{0, 7, 0},
{7, 24, HSV_RED},
- {24, RGBLED_NUM, 0}
+ {24, RGBLIGHT_LED_COUNT, 0}
);
// Light all LEDs in green when keyboard layer 1 is active
const rgblight_segment_t PROGMEM layer_lower[] = RGBLIGHT_LAYER_SEGMENTS(
diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h
index 7b61de013b..39c502038a 100644
--- a/keyboards/handwired/hnah40rgb/config.h
+++ b/keyboards/handwired/hnah40rgb/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+// #define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/config.h b/keyboards/handwired/hnah40rgb/keymaps/default/config.h
deleted file mode 100644
index aa9325a59d..0000000000
--- a/keyboards/handwired/hnah40rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 HnahKB
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/handwired/macro3/info.json b/keyboards/handwired/macro3/info.json
new file mode 100644
index 0000000000..fa6cd1c471
--- /dev/null
+++ b/keyboards/handwired/macro3/info.json
@@ -0,0 +1,51 @@
+{
+ "keyboard_name": "Macro3",
+ "manufacturer": "DPB",
+ "url": "https://github.com/davidphilipbarr/Macropads/tree/main/macro3",
+ "maintainer": "@davidphilipbarr",
+ "usb": {
+ "vid": "0xC88B",
+ "pid": "0x3388",
+ "device_version": "0.0.3"
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "D2", "pin_b": "D3"},
+ {"pin_a": "F7", "pin_b": "F6"}
+ ]
+ },
+ "development_board": "promicro",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "encoder": true
+ },
+ "bootmagic": {
+ "matrix": [0, 3]
+ },
+ "matrix_pins": {
+ "direct": [
+ ["D7", "C6", "D4", "D1"],
+ ["B1", "B4", "B5", "B3"]
+ ]
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_ortho_2x4"
+ },
+ "layouts": {
+ "LAYOUT_ortho_2x4": {
+ "layout": [
+ {"x": 0, "y": 0, "matrix": [0, 0]},
+ {"x": 1, "y": 0, "matrix": [0, 1]},
+ {"x": 2, "y": 0, "matrix": [0, 2]},
+ {"x": 3, "y": 0, "matrix": [0, 3]},
+
+ {"x": 0, "y": 1, "matrix": [1, 0]},
+ {"x": 1, "y": 1, "matrix": [1, 1]},
+ {"x": 2, "y": 1, "matrix": [1, 2]},
+ {"x": 3, "y": 1, "matrix": [1, 3]}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/macro3/keymaps/default/keymap.c b/keyboards/handwired/macro3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a7b5cf9db4
--- /dev/null
+++ b/keyboards/handwired/macro3/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+/* Copyright 2020 David Philip Barr <@davidphilipbarr>
+ * Copyright 2021 @filterpaper
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_2x4(
+ KC_MUTE, KC_MPLY, KC_MRWD, LT(1,KC_MFFD),
+ C(KC_Z), C(KC_X), C(KC_C), C(KC_V)
+ ),
+ [1] = LAYOUT_ortho_2x4(
+ _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
+ [1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+};
+#endif
+
diff --git a/keyboards/handwired/macro3/keymaps/default/rules.mk b/keyboards/handwired/macro3/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/handwired/macro3/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/handwired/macro3/macro3.c b/keyboards/handwired/macro3/macro3.c
new file mode 100644
index 0000000000..54fce243ab
--- /dev/null
+++ b/keyboards/handwired/macro3/macro3.c
@@ -0,0 +1,27 @@
+/* Copyright 2020 David Philip Barr <@davidphilipbarr>
+ * Copyright 2021 @filterpaper
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include "quantum.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ }
+ return true;
+}
+#endif
+
diff --git a/keyboards/handwired/macro3/readme.md b/keyboards/handwired/macro3/readme.md
new file mode 100644
index 0000000000..185496ac8b
--- /dev/null
+++ b/keyboards/handwired/macro3/readme.md
@@ -0,0 +1,26 @@
+# Macro3
+
+![Macro3](https://github.com/filterpaper/filterpaper.github.io/raw/main/images/macro3.png)
+
+Macro3 is a low-profile macro pad with dual encoder support designed by [@davidphilipbarr](https://github.com/davidphilipbarr).
+
+## Keyboard Info
+
+* Keyboard Maintainer: [filterpaper](https://github.com/filterpaper)
+* Hardware Supported: Macro3
+* Hardware Availability: [Open-source](https://github.com/davidphilipbarr/Macropads/tree/main/macro3)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/macro3:default
+
+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 right key and plug in the controller.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
+* **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material.
+
diff --git a/keyboards/handwired/macro3/rules.mk b/keyboards/handwired/macro3/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/handwired/macro3/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
deleted file mode 100644
index 916b1154bd..0000000000
--- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# Build Overrides
diff --git a/keyboards/handwired/onekey/keymaps/apa102/config.h b/keyboards/handwired/onekey/keymaps/apa102/config.h
index 756ebb3593..bb618d77fb 100644
--- a/keyboards/handwired/onekey/keymaps/apa102/config.h
+++ b/keyboards/handwired/onekey/keymaps/apa102/config.h
@@ -1,6 +1,6 @@
#pragma once
-#define RGBLED_NUM 40
+#define RGBLIGHT_LED_COUNT 40
#define APA102_DEFAULT_BRIGHTNESS 5
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
new file mode 100644
index 0000000000..7e5b6c0b91
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
@@ -0,0 +1,6 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// TODO: Remove reuse of pin
+#define DIP_SWITCH_PINS { WS2812_DI_PIN }
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
new file mode 100644
index 0000000000..35bb16d458
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
@@ -0,0 +1,14 @@
+// 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_ortho_1x1(KC_A),
+ [1] = LAYOUT_ortho_1x1(KC_B),
+};
+
+#if defined(DIP_SWITCH_MAP_ENABLE)
+const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
+ DIP_SWITCH_OFF_ON(DF(0), DF(1))
+};
+#endif
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
new file mode 100644
index 0000000000..b2429854f1
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
@@ -0,0 +1,2 @@
+DIP_SWITCH_ENABLE = yes
+DIP_SWITCH_MAP_ENABLE = yes
diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c
index 63778ea52b..a24db9aedd 100644
--- a/keyboards/handwired/orbweaver/orbweaver.c
+++ b/keyboards/handwired/orbweaver/orbweaver.c
@@ -22,7 +22,7 @@
#include "rgb_matrix.h"
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h
index 326789b998..176aa6ec67 100644
--- a/keyboards/handwired/p65rgb/config.h
+++ b/keyboards/handwired/p65rgb/config.h
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_SLEEP // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h b/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
index a1cbfedc0c..6a833fcd8e 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// WS2812 RGB LED strip input and number of LEDs
#define RGB_MATRIX_LED_COUNT 62
#define RGB_MATRIX_SPLIT { 32, 30 }
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_SLEEP
#define RGB_MATRIX_KEYPRESSES
// #define RGB_MATRIX_KEYRELEASES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/handwired/ziyoulang_k3_mod/config.h b/keyboards/handwired/ziyoulang_k3_mod/config.h
new file mode 100644
index 0000000000..304ca5eb28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/config.h
@@ -0,0 +1,8 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define I2C1_SCL_PIN B10
+#define I2C1_SDA_PIN B11
+#define I2C_DRIVER I2CD2
diff --git a/keyboards/handwired/6macro/keymaps/default/config.h b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
index 64ba57443f..44602147bb 100644
--- a/keyboards/handwired/6macro/keymaps/default/config.h
+++ b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
@@ -1,4 +1,4 @@
-/* Copyright 2019 joaofbmaia
+/* Copyright 2021 QMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,3 +16,6 @@
#pragma once
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json
index 127cc51299..5d4ca7a254 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/info.json
+++ b/keyboards/handwired/ziyoulang_k3_mod/info.json
@@ -2,7 +2,7 @@
"keyboard_name": "ziyoulang k3 mod",
"development_board": "bluepill",
"usb": {
- "device_version": "1.0.0",
+ "device_version": "1.2.0",
"pid": "0xE002",
"vid": "0x5006"
},
@@ -11,10 +11,14 @@
"command": false,
"console": false,
"extrakey": true,
- "mousekey": true,
- "nkro": false
+ "mousekey": false,
+ "nkro": false,
+ "oled": true
},
- "diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "ROW2COL",
"dynamic_keymap": {
"layer_count": 3
},
@@ -78,7 +82,7 @@
{"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]},
{"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]},
{"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]},
- {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+ {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [3, 13]},
{"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]},
{"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]},
{"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]},
@@ -96,7 +100,7 @@
{"label":"L", "x":9.75, "y":3.25, "matrix": [3, 10]},
{"label":":", "x":10.75, "y":3.25, "matrix": [3, 11]},
{"label":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [2, 13]},
{"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]},
{"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]},
{"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]},
@@ -139,4 +143,4 @@
"manufacturer": "Coom",
"maintainer": "coomstoolbox",
"url": ""
-} \ No newline at end of file
+}
diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
index ea877d6786..1e5b99807c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
+++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-LTO_ENABLE = yes
diff --git a/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
new file mode 100644
index 0000000000..8f1da10fe2
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C2
+#define STM32_I2C_USE_I2C2 TRUE
diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md
index 7e247fde19..553f735d4c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/readme.md
+++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md
@@ -23,7 +23,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
[KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram)
-![explanation](https://i.imgur.com/yvhvhoBh.png)
+![explanation](https://i.imgur.com/thGIdOth.png)
## Bootloader
diff --git a/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
new file mode 100644
index 0000000000..cadae4aa28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
@@ -0,0 +1,117 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+#include <stdio.h>
+
+void keyboard_post_init_kb(void) {
+#ifdef CONSOLE_ENABLE
+ debug_enable=true;
+ debug_matrix=true;
+#endif
+ keyboard_post_init_user();
+}
+
+static uint16_t last_keycode = KC_NO;
+static keypos_t last_key = {0, 0};
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+#endif
+ if (record->event.pressed) {
+ if (last_keycode != keycode) {
+ last_keycode = keycode;
+ last_key = record->event.key;
+ }
+ }
+ return true;
+}
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+ };
+ oled_write_P(qmk_logo, false);
+#ifdef CONSOLE_ENABLE
+ uprintf("Ziyoulang K3 Mod\n");
+ oled_set_cursor(3, 0);
+ oled_write_P(PSTR("Ziyoulang K3 Mod"), false);
+#endif
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ int uptime_seconds = (int)(timer_read32() / 1000);
+ if (uptime_seconds < 5) {
+ render_logo();
+ return false;
+ }
+
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case 0:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("2\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("3\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ if (led_state.num_lock) {
+ oled_write_P(PSTR("NUM"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.caps_lock) {
+ oled_write_P(PSTR("CAP"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.scroll_lock) {
+ oled_write_P(PSTR("SCR"), true);
+ oled_write_ln_P(PSTR(" "), false);
+ } else {
+ oled_write_ln_P(PSTR(" "), false);
+ }
+
+ // Last Key pressed info
+ oled_write_P(PSTR("kc : "), false);
+ if (last_keycode > 21000) {
+ oled_write_ln_P(PSTR(" Fn"), false);
+ } else {
+ oled_write_ln_P(get_u16_str(last_keycode, ' '), false);
+ }
+ oled_write_P(PSTR("col: "), false);
+ oled_write_P(get_u8_str(last_key.col, ' '), false);
+ oled_write_P(PSTR(",row: "), false);
+ oled_write_P(get_u8_str(last_key.row, ' '), false);
+
+ return false;
+}
+#endif