forked from mirror/qmk_firmware
Compare commits
97 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
571a9794af | ||
|
|
8e50f1c5f5 | ||
|
|
6543065180 | ||
|
|
51360f3d54 | ||
|
|
5c817bffe9 | ||
|
|
0f97402d21 | ||
|
|
35f460643a | ||
|
|
5373376020 | ||
|
|
e67e690cf3 | ||
|
|
1130834513 | ||
|
|
4c5e0606fe | ||
|
|
99174edf0a | ||
|
|
fecfb176b4 | ||
|
|
582f879d6f | ||
|
|
411ed54b0a | ||
|
|
70b9cec3f2 | ||
|
|
e25672baef | ||
|
|
e444cf9578 | ||
|
|
7cf3dd7b8d | ||
|
|
7578daaf16 | ||
|
|
812468abb4 | ||
|
|
2792ee6573 | ||
|
|
29b8bbc4a0 | ||
|
|
9c2703cab0 | ||
|
|
291f988423 | ||
|
|
48a80a502d | ||
|
|
06593acc7d | ||
|
|
89399b5494 | ||
|
|
15ef0a7e3c | ||
|
|
68f550a3f2 | ||
|
|
6d0f944e5e | ||
|
|
25790fc886 | ||
|
|
b8532d100d | ||
|
|
1431f314a4 | ||
|
|
bf2ed0174b | ||
|
|
96ba554ca8 | ||
|
|
57f9a2ad6d | ||
|
|
7c72c5e436 | ||
|
|
608ed489de | ||
|
|
57351e4a37 | ||
|
|
143b7a3c3d | ||
|
|
89fdafc27d | ||
|
|
96cd333371 | ||
|
|
99cd0b13e1 | ||
|
|
ba6ee29040 | ||
|
|
f4a4d841e5 | ||
|
|
de92e8b3b0 | ||
|
|
e4f4e0a307 | ||
|
|
069e6a259a | ||
|
|
88d8817397 | ||
|
|
1df41e6db1 | ||
|
|
5447b075f9 | ||
|
|
fa56e51894 | ||
|
|
1215fc2a78 | ||
|
|
6e6039995b | ||
|
|
071268633d | ||
|
|
261e7668c6 | ||
|
|
d30bf44a60 | ||
|
|
ebcbbfc1e8 | ||
|
|
acca2eb963 | ||
|
|
bb3d694875 | ||
|
|
405aa7b2ed | ||
|
|
760e5c2ee1 | ||
|
|
3fa1e8e273 | ||
|
|
0e93b0d59b | ||
|
|
2709b6ed61 | ||
|
|
92fadf0110 | ||
|
|
92354b2ca8 | ||
|
|
af14b212b9 | ||
|
|
ea1a6975a8 | ||
|
|
2f92880578 | ||
|
|
4d1b1bc534 | ||
|
|
1dd77d9944 | ||
|
|
d878edfaad | ||
|
|
ee772ad165 | ||
|
|
6af12001eb | ||
|
|
03d7c31e6c | ||
|
|
cf3c26533c | ||
|
|
f98a7e8ffe | ||
|
|
0e8d22e2b7 | ||
|
|
e9d5967a93 | ||
|
|
3f98542e52 | ||
|
|
402d3d8a86 | ||
|
|
a5c2eea6c1 | ||
|
|
5ff7f289f2 | ||
|
|
38a153b143 | ||
|
|
3d091f4a9d | ||
|
|
0b29af1019 | ||
|
|
5d516ac2e2 | ||
|
|
739d4ad2fb | ||
|
|
2d45e5e4b4 | ||
|
|
e0d0d81dfa | ||
|
|
bb4f094a08 | ||
|
|
17fec52b0f | ||
|
|
4a0aa9ada2 | ||
|
|
90fe668dd9 | ||
|
|
4a87af0e9a |
11
.github/workflows/auto_tag.yml
vendored
11
.github/workflows/auto_tag.yml
vendored
@@ -5,12 +5,13 @@ on:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- quantum/**/*
|
||||
- tmk_core/**/*
|
||||
- builddefs/**/*
|
||||
- drivers/**/*
|
||||
- tests/**/*
|
||||
- util/**/*
|
||||
- platforms/**/*
|
||||
- quantum/**/*
|
||||
- tests/**/*
|
||||
- tmk_core/**/*
|
||||
- util/**/*
|
||||
- Makefile
|
||||
- '*.mk'
|
||||
|
||||
@@ -27,7 +28,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.52.0
|
||||
uses: anothrNick/github-tag-action@1.54.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
|
||||
@@ -230,7 +230,7 @@ else
|
||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER = embedded_flash
|
||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||
# True EEPROM on STM32L0xx, L1xx
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||
@@ -239,7 +239,7 @@ else
|
||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER = rp2040_flash
|
||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||
# Teensy EEPROM implementations
|
||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||
|
||||
@@ -367,6 +367,10 @@ ifneq ($(findstring STM32F401, $(MCU)),)
|
||||
|
||||
# Bootloader address for STM32 DFU
|
||||
STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000
|
||||
|
||||
# Revert to legacy wear-leveling driver until ChibiOS's EFL driver is fixed with 128kB and 384kB variants.
|
||||
EEPROM_DRIVER ?= wear_leveling
|
||||
WEAR_LEVELING_DRIVER ?= legacy
|
||||
endif
|
||||
|
||||
ifneq ($(findstring STM32F405, $(MCU)),)
|
||||
|
||||
@@ -245,6 +245,7 @@
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["x", "y"],
|
||||
"properties": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
|
||||
@@ -80,6 +80,11 @@ static void render_logo(void) {
|
||||
|
||||
oled_write_P(qmk_logo, false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_logo();
|
||||
return false;
|
||||
}
|
||||
```
|
||||
|
||||
?> The default font file is located at `drivers/oled/glcdfont.c` and its location can be overwritten with the `OLED_FONT_H` configuration option. Font file content can be edited with external tools such as [Helix Font Editor](https://helixfonteditor.netlify.app/) and [Logo Editor](https://joric.github.io/qle/).
|
||||
|
||||
@@ -356,8 +356,6 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
|
||||
And then simply use `TD(X_CTL)` anywhere in your keymap.
|
||||
|
||||
If you want to implement this in your userspace, then you may want to check out how [DanielGGordon](https://github.com/qmk/qmk_firmware/tree/master/users/gordon) has implemented this in their userspace.
|
||||
|
||||
> In this configuration "hold" takes place **after** tap dance timeout. To achieve instant hold, remove `state->interrupted` checks in conditions. As a result you may use comfortable longer tapping periods to have more time for taps and not to wait too long for holds (try starting with doubled `TAPPING_TERM`).
|
||||
|
||||
#### Example 5: Using tap dance for advanced mod-tap and layer-tap keys :id=example-5
|
||||
|
||||
@@ -340,8 +340,6 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
|
||||
これで、キーマップのどこでも簡単に `TD(X_CTL)` マクロが使えます。
|
||||
|
||||
もし、この機能をユーザスペースで実現したい場合、 [DanielGGordon](https://github.com/qmk/qmk_firmware/tree/master/users/gordon) がユーザスペースでどのように実装しているか確認してください。
|
||||
|
||||
> この設定の "hold" は、タップダンスのタイムアウト(`ACTION_TAP_DANCE_FN_ADVANCED_TIME` 参照)の **後** に起こります。即座に "hold" を得るためには、条件から `state->interrupted` の確認を除きます。結果として、複数回のタップのための時間をより多く持つことで快適な長いタップの期限を使うことができ、そして、"hold" のために長く待たないようにすることができます(2倍の `TAPPING TERM` で開始してみてください)。
|
||||
|
||||
#### 例5: タップダンスを高度なモッドタップとレイヤータップキーに使う :id=example-5
|
||||
|
||||
@@ -39,7 +39,7 @@ The `info.json` file is a JSON formatted dictionary. The first six keys noted he
|
||||
|
||||
?> For all the available keys and their allowed values refer back to the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file.
|
||||
|
||||
### Layout Format
|
||||
## Layout Format
|
||||
|
||||
Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`.
|
||||
|
||||
@@ -68,11 +68,11 @@ All key positions and rotations are specified in relation to the top-left corner
|
||||
* A two item list describing the row and column location for this key.
|
||||
* Example: `[0, 4]`
|
||||
|
||||
### Matrix Pins
|
||||
## Matrix Pins
|
||||
|
||||
Currently QMK supports connecting switches either directly to GPIO pins or via a switch matrix. At this time you can not combine these, they are mutually exclusive.
|
||||
|
||||
#### Switch Matrix
|
||||
### Switch Matrix
|
||||
|
||||
Most keyboards use a switch matrix to connect keyswitches to the MCU. You can define your pin columns and rows to configure your switch matrix. When defining switch matrices you should also define your `diode_direction`.
|
||||
|
||||
@@ -88,7 +88,7 @@ Example:
|
||||
}
|
||||
```
|
||||
|
||||
#### Direct Pins
|
||||
### Direct Pins
|
||||
|
||||
Direct pins are when you connect one side of the switch to GND and the other side to a GPIO pin on your MCU. No diode is required, but there is a 1:1 mapping between switches and pins.
|
||||
|
||||
@@ -250,7 +250,7 @@ The following animations can be enabled:
|
||||
|`static_gradient`|Enable static gradient mode. |
|
||||
|`twinkle` |Enable twinkle animation mode. |
|
||||
|
||||
### USB
|
||||
## USB
|
||||
|
||||
Every USB keyboard needs to have its USB parameters defined. At a minimum you need to set the Vendor ID, Product ID, and device version.
|
||||
|
||||
@@ -268,7 +268,7 @@ Example:
|
||||
|
||||
The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood.
|
||||
|
||||
### Encoders
|
||||
## Encoders
|
||||
|
||||
This section controls the basic [rotary encoder](feature_encoders.md) support.
|
||||
|
||||
@@ -312,7 +312,7 @@ Examples:
|
||||
}
|
||||
```
|
||||
|
||||
### Secure
|
||||
## Secure
|
||||
|
||||
The following options can be configured:
|
||||
|
||||
|
||||
@@ -19,3 +19,5 @@ AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# Enable generic behavior for split boards
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
LAYOUTS = ortho_5x5 ortho_5x10
|
||||
|
||||
@@ -16,4 +16,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_5x15
|
||||
LAYOUTS = ortho_5x5 ortho_5x10 ortho_5x15
|
||||
|
||||
@@ -9,6 +9,12 @@ More info: https://geekhack.org/index.php?topic=103627.0
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/aekiso60/rev_a:default
|
||||
make 4pplet/aekiso60/rev_b: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).
|
||||
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).
|
||||
|
||||
How to enter bootloader (DFU):
|
||||
* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware.
|
||||
|
||||
Alternative option if the firmware is already pre-flashed:
|
||||
* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware.
|
||||
|
||||
20
keyboards/4pplet/aekiso60/rev_a/readme.md
Normal file
20
keyboards/4pplet/aekiso60/rev_a/readme.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# AEKISO60
|
||||
|
||||
A 60% PCB enabling use of ISO AEK keycaps and ALPS switches
|
||||
|
||||
More info: https://geekhack.org/index.php?topic=103627.0
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: AEKISO60 Rev A
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/aekiso60/rev_a: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).
|
||||
|
||||
How to enter bootloader (DFU):
|
||||
* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware.
|
||||
|
||||
Alternative option if the firmware is already pre-flashed:
|
||||
* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware.
|
||||
57
keyboards/4pplet/aekiso60/rev_b/config.h
Normal file
57
keyboards/4pplet/aekiso60/rev_b/config.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
// ROWS: Top to bottom, COLS: Left to right
|
||||
|
||||
#define MATRIX_ROW_PINS {B15,A9,B7,A1,A2}
|
||||
#define MATRIX_COL_PINS {A3,A4,F1,F0,C15,C14,C13,B9,B8,B6,B5,B4,B3,A15}
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define QMK_ESC_OUTPUT A3 // usually COL
|
||||
#define QMK_ESC_INPUT B14 // usually ROW
|
||||
|
||||
#define RGBLED_NUM 12
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
#define RGB_DI_PIN A8
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
#define LED_CAPS_LOCK_PIN A10
|
||||
|
||||
#define BACKLIGHT_LEVELS 5
|
||||
85
keyboards/4pplet/aekiso60/rev_b/info.json
Normal file
85
keyboards/4pplet/aekiso60/rev_b/info.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"keyboard_name": "AEKISO60 Rev B",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0011",
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0, "w":1.25},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.25, "y":0},
|
||||
{"x":6.25, "y":0},
|
||||
{"x":7.25, "y":0},
|
||||
{"x":8.25, "y":0},
|
||||
{"x":9.25, "y":0},
|
||||
{"x":10.25, "y":0},
|
||||
{"x":11.25, "y":0},
|
||||
{"x":12.25, "y":0},
|
||||
{"x":13.25, "y":0, "w":1.75},
|
||||
|
||||
{"x":0, "y":1, "w":1.75},
|
||||
{"x":1.75, "y":1},
|
||||
{"x":2.75, "y":1},
|
||||
{"x":3.75, "y":1},
|
||||
{"x":4.75, "y":1},
|
||||
{"x":5.75, "y":1},
|
||||
{"x":6.75, "y":1},
|
||||
{"x":7.75, "y":1},
|
||||
{"x":8.75, "y":1},
|
||||
{"x":9.75, "y":1},
|
||||
{"x":10.75, "y":1},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":1, "h":2},
|
||||
|
||||
{"x":0, "y":3, "w":1.5},
|
||||
{"x":1.5, "y":3},
|
||||
{"x":2.5, "y":3},
|
||||
{"x":3.5, "y":3},
|
||||
{"x":4.5, "y":3},
|
||||
{"x":5.5, "y":3},
|
||||
{"x":6.5, "y":3},
|
||||
{"x":7.5, "y":3},
|
||||
{"x":8.5, "y":3},
|
||||
{"x":9.5, "y":3},
|
||||
{"x":10.5, "y":3},
|
||||
{"x":11.5, "y":3},
|
||||
{"x":12.5, "y":3, "w":1.5},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.5},
|
||||
{"x":1.5, "y":4, "w":1.25},
|
||||
{"x":2.75, "y":4, "w":1.5},
|
||||
{"x":4.25, "y":4, "w":2.75},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4, "w":2.75},
|
||||
{"x":10.75, "y":4, "w":1.5},
|
||||
{"x":12.25, "y":4, "w":1.25},
|
||||
{"x":13.5, "y":4, "w":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
21
keyboards/4pplet/aekiso60/rev_b/readme.md
Normal file
21
keyboards/4pplet/aekiso60/rev_b/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# AEKISO60
|
||||
|
||||
A 60% PCB enabling use of ISO AEK keycaps and ALPS switches
|
||||
|
||||
More info: https://geekhack.org/index.php?topic=103627.0
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: AEKISO60
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/aekiso60/rev_a:default
|
||||
make 4pplet/aekiso60/rev_b: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).
|
||||
|
||||
How to enter bootloader (DFU):
|
||||
* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware.
|
||||
|
||||
Alternative option if the firmware is already pre-flashed:
|
||||
* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware.
|
||||
19
keyboards/4pplet/aekiso60/rev_b/rev_b.c
Normal file
19
keyboards/4pplet/aekiso60/rev_b/rev_b.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
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/>.
|
||||
*/
|
||||
#include "rev_b.h"
|
||||
|
||||
|
||||
48
keyboards/4pplet/aekiso60/rev_b/rev_b.h
Normal file
48
keyboards/4pplet/aekiso60/rev_b/rev_b.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
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
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* LAYOUT_all
|
||||
* ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
|
||||
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
|
||||
* ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1d │
|
||||
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
|
||||
* ├─────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
|
||||
* ├─────┼───┴┬──┴──┬┴───┴───┴─┬─┴─┬─┴───┴───┴┬──┴──┬┴───┬─┴───┤
|
||||
* │40 │41 │43 │44 │45 │46 │48 │4a │4b │
|
||||
* └─────┴────┴─────┴──────────┴───┴──────────┴─────┴────┴─────┘
|
||||
*/
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
|
||||
k40, k41, k43, k44, k45, k46, k48, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO},\
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
|
||||
{k40, k41, KC_NO, k43, k44, k45, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO, KC_NO} \
|
||||
}
|
||||
24
keyboards/4pplet/aekiso60/rev_b/rules.mk
Normal file
24
keyboards/4pplet/aekiso60/rev_b/rules.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# MCU name
|
||||
MCU = STM32F072
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
@@ -37,4 +37,4 @@
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COL 5
|
||||
#define BOOTMAGIC_LITE_COLUMN 5
|
||||
|
||||
@@ -31,4 +31,4 @@
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COL 0
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
|
||||
@@ -51,73 +51,77 @@
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
|
||||
{ "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
|
||||
{ "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
|
||||
{ "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
|
||||
{ "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
|
||||
{ "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
|
||||
{ "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
|
||||
{ "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
|
||||
{ "label": "k08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
|
||||
{ "label": "k09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
|
||||
{ "label": "k0a", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
|
||||
{ "label": "k0b", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
|
||||
{ "label": "k0c", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
|
||||
{ "label": "k0d", "matrix": [0, 13], "w": 1, "x": 13, "y": 0 },
|
||||
{ "label": "k10", "matrix": [1, 0], "w": 1, "x": 14, "y": 0 },
|
||||
{ "label": "k11", "matrix": [1, 1], "w": 1, "x": 15, "y": 0 },
|
||||
{ "label": "k12", "matrix": [1, 2], "w": 1, "x": 16, "y": 0 },
|
||||
{ "label": "k13", "matrix": [1, 3], "w": 1, "x": 17, "y": 0 },
|
||||
{ "label": "k14", "matrix": [1, 4], "w": 1, "x": 18, "y": 0 },
|
||||
{ "label": "k15", "matrix": [1, 5], "w": 1, "x": 19, "y": 0 },
|
||||
{ "label": "k16", "matrix": [1, 6], "w": 1, "x": 20, "y": 0 },
|
||||
{ "label": "k17", "matrix": [1, 7], "w": 1, "x": 21, "y": 0 },
|
||||
{ "label": "k18", "matrix": [1, 8], "w": 1, "x": 22, "y": 0 },
|
||||
{ "label": "k19", "matrix": [1, 9], "w": 1, "x": 23, "y": 0 },
|
||||
{ "label": "k1a", "matrix": [1, 10], "w": 1, "x": 24, "y": 0 },
|
||||
{ "label": "k1b", "matrix": [1, 11], "w": 1, "x": 25, "y": 0 },
|
||||
{ "label": "k1c", "matrix": [1, 12], "w": 1, "x": 26, "y": 0 },
|
||||
{ "label": "k1d", "matrix": [1, 13], "w": 1, "x": 27, "y": 0 },
|
||||
{ "label": "k20", "matrix": [2, 0], "w": 1, "x": 28, "y": 0 },
|
||||
{ "label": "k21", "matrix": [2, 1], "w": 1, "x": 29, "y": 0 },
|
||||
{ "label": "k22", "matrix": [2, 2], "w": 1, "x": 30, "y": 0 },
|
||||
{ "label": "k23", "matrix": [2, 3], "w": 1, "x": 31, "y": 0 },
|
||||
{ "label": "k24", "matrix": [2, 4], "w": 1, "x": 32, "y": 0 },
|
||||
{ "label": "k25", "matrix": [2, 5], "w": 1, "x": 33, "y": 0 },
|
||||
{ "label": "k26", "matrix": [2, 6], "w": 1, "x": 34, "y": 0 },
|
||||
{ "label": "k27", "matrix": [2, 7], "w": 1, "x": 35, "y": 0 },
|
||||
{ "label": "k28", "matrix": [2, 8], "w": 1, "x": 36, "y": 0 },
|
||||
{ "label": "k29", "matrix": [2, 9], "w": 1, "x": 37, "y": 0 },
|
||||
{ "label": "k2a", "matrix": [2, 10], "w": 1, "x": 38, "y": 0 },
|
||||
{ "label": "k2b", "matrix": [2, 11], "w": 1, "x": 39, "y": 0 },
|
||||
{ "label": "k2c", "matrix": [2, 12], "w": 1, "x": 40, "y": 0 },
|
||||
{ "label": "k2d", "matrix": [2, 13], "w": 1, "x": 41, "y": 0 },
|
||||
{ "label": "k30", "matrix": [3, 0], "w": 1, "x": 42, "y": 0 },
|
||||
{ "label": "k31", "matrix": [3, 1], "w": 1, "x": 43, "y": 0 },
|
||||
{ "label": "k32", "matrix": [3, 2], "w": 1, "x": 44, "y": 0 },
|
||||
{ "label": "k33", "matrix": [3, 3], "w": 1, "x": 45, "y": 0 },
|
||||
{ "label": "k34", "matrix": [3, 4], "w": 1, "x": 46, "y": 0 },
|
||||
{ "label": "k35", "matrix": [3, 5], "w": 1, "x": 47, "y": 0 },
|
||||
{ "label": "k36", "matrix": [3, 6], "w": 1, "x": 48, "y": 0 },
|
||||
{ "label": "k37", "matrix": [3, 7], "w": 1, "x": 49, "y": 0 },
|
||||
{ "label": "k38", "matrix": [3, 8], "w": 1, "x": 50, "y": 0 },
|
||||
{ "label": "k39", "matrix": [3, 9], "w": 1, "x": 51, "y": 0 },
|
||||
{ "label": "k3a", "matrix": [3, 10], "w": 1, "x": 52, "y": 0 },
|
||||
{ "label": "k3b", "matrix": [3, 11], "w": 1, "x": 53, "y": 0 },
|
||||
{ "label": "k3c", "matrix": [3, 12], "w": 1, "x": 54, "y": 0 },
|
||||
{ "label": "k3d", "matrix": [3, 13], "w": 1, "x": 55, "y": 0 },
|
||||
{ "label": "k40", "matrix": [4, 0], "w": 1, "x": 56, "y": 0 },
|
||||
{ "label": "k41", "matrix": [4, 1], "w": 1, "x": 57, "y": 0 },
|
||||
{ "label": "k42", "matrix": [4, 2], "w": 1, "x": 58, "y": 0 },
|
||||
{ "label": "k43", "matrix": [4, 3], "w": 1, "x": 59, "y": 0 },
|
||||
{ "label": "k46", "matrix": [4, 6], "w": 1, "x": 60, "y": 0 },
|
||||
{ "label": "k49", "matrix": [4, 9], "w": 1, "x": 61, "y": 0 },
|
||||
{ "label": "k4a", "matrix": [4, 10], "w": 1, "x": 62, "y": 0 },
|
||||
{ "label": "k4b", "matrix": [4, 11], "w": 1, "x": 63, "y": 0 },
|
||||
{ "label": "k4c", "matrix": [4, 12], "w": 1, "x": 64, "y": 0 },
|
||||
{ "label": "k4d", "matrix": [4, 13], "w": 1, "x": 65, "y": 0 }
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Delete", "matrix": [0, 13], "x": 13, "y": 0, "w": 1.5 },
|
||||
|
||||
{ "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1 },
|
||||
|
||||
{ "label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 0.75 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "x": 13.5, "y": 2 },
|
||||
|
||||
{ "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.25 },
|
||||
{ "label": "Fn", "matrix": [3, 13], "x": 13.5, "y": 3 },
|
||||
|
||||
{ "label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "label": "GUI", "matrix": [4, 2], "x": 2, "y": 4, "w": 1.75 },
|
||||
{ "label": "`~", "matrix": [4, 3], "x": 3.75, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 6], "x": 4.75, "y": 4, "w": 4.75 },
|
||||
{ "label": "\\|", "matrix": [4, 9], "x": 9.5, "y": 4 },
|
||||
{ "label": "\u2190", "matrix": [4, 10], "x": 10.5, "y": 4 },
|
||||
{ "label": "\u2192", "matrix": [4, 11], "x": 11.5, "y": 4 },
|
||||
{ "label": "\u2193", "matrix": [4, 12], "x": 12.5, "y": 4 },
|
||||
{ "label": "\u2191", "matrix": [4, 13], "x": 13.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,87 +18,90 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#undef PRODUCT
|
||||
#define PRODUCT "Charybdis Nano (Blackpill)"
|
||||
#ifdef KEYBOARD_bastardkb_charybdis_3x5_blackpill
|
||||
|
||||
#undef MATRIX_ROW_PINS
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B12, B13, B14, B15 }
|
||||
#undef MATRIX_COL_PINS
|
||||
#define MATRIX_COL_PINS \
|
||||
{ A15, B3, B4, B5, B6 }
|
||||
# undef MATRIX_ROW_PINS
|
||||
# define MATRIX_ROW_PINS \
|
||||
{ B12, B13, B14, B15 }
|
||||
# undef MATRIX_COL_PINS
|
||||
# define MATRIX_COL_PINS \
|
||||
{ A15, B3, B4, B5, B6 }
|
||||
|
||||
# undef MATRIX_ROW_PINS_RIGHT
|
||||
# define MATRIX_ROW_PINS_RIGHT \
|
||||
{ B12, B13, B14, B15 }
|
||||
# undef MATRIX_COL_PINS_RIGHT
|
||||
# define MATRIX_COL_PINS_RIGHT \
|
||||
{ A15, B3, B4, B5, B6 }
|
||||
|
||||
#undef MATRIX_ROW_PINS_RIGHT
|
||||
#define MATRIX_ROW_PINS_RIGHT \
|
||||
{ B12, B13, B14, B15 }
|
||||
#undef MATRIX_COL_PINS_RIGHT
|
||||
#define MATRIX_COL_PINS_RIGHT \
|
||||
{ A15, B3, B4, B5, B6 }
|
||||
|
||||
#define USB_VBUS_PIN B10
|
||||
#define SPLIT_HAND_PIN C14 // high = left, low = right
|
||||
# define USB_VBUS_PIN B10
|
||||
# undef SPLIT_HAND_PIN
|
||||
# define SPLIT_HAND_PIN C14 // high = left, low = right
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#undef RGB_DI_PIN
|
||||
#define RGB_DI_PIN A1
|
||||
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
#define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
|
||||
#define WS2812_PWM_CHANNEL 2 // default: 2
|
||||
#define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
# undef RGB_DI_PIN
|
||||
# define RGB_DI_PIN A1
|
||||
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
|
||||
# define WS2812_PWM_CHANNEL 2 // default: 2
|
||||
# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
|
||||
# define WS2812_EXTERNAL_PULLUP
|
||||
//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy).
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
#define WS2812_PWM_TARGET_PERIOD 800000
|
||||
# undef WS2812_DMA_STREAM
|
||||
# define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
# define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
# define WS2812_PWM_TARGET_PERIOD 800000
|
||||
|
||||
#define DEBUG_LED_PIN C13
|
||||
# define DEBUG_LED_PIN C13
|
||||
|
||||
/* Audio config */
|
||||
#define AUDIO_PIN B1
|
||||
#define AUDIO_PWM_DRIVER PWMD3
|
||||
#define AUDIO_PWM_CHANNEL 4
|
||||
#define AUDIO_PWM_PAL_MODE 2
|
||||
# define AUDIO_PIN B1
|
||||
# define AUDIO_PWM_DRIVER PWMD3
|
||||
# define AUDIO_PWM_CHANNEL 4
|
||||
# define AUDIO_PWM_PAL_MODE 2
|
||||
|
||||
/* serial.c configuration for split keyboard */
|
||||
#undef SOFT_SERIAL_PIN
|
||||
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
|
||||
#define SERIAL_USART_TX_PIN A2
|
||||
#define SERIAL_USART_RX_PIN A3
|
||||
#define SERIAL_USART_DRIVER SD2
|
||||
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
|
||||
#define SERIAL_USART_SPEED 921600
|
||||
# undef SOFT_SERIAL_PIN
|
||||
# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
|
||||
# undef SERIAL_USART_TX_PIN
|
||||
# define SERIAL_USART_TX_PIN A2
|
||||
# undef SERIAL_USART_RX_PIN
|
||||
# define SERIAL_USART_RX_PIN A3
|
||||
# define SERIAL_USART_DRIVER SD2
|
||||
# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
# define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
# define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
|
||||
# define SERIAL_USART_SPEED 921600
|
||||
// #define SERIAL_USART_PIN_SWAP // swap RX and TX pins on master
|
||||
// To use the highest possible baudrate (3.75Mbit/s) uncomment the following
|
||||
// line, this can result in dropped communications so lower the speed if there
|
||||
// are many timeouts.
|
||||
// #define SERIAL_USART_SPEED (STM32_PCLK2 >> 4)
|
||||
|
||||
#define CRC8_USE_TABLE
|
||||
#define CRC8_OPTIMIZE_SPEED
|
||||
# define CRC8_USE_TABLE
|
||||
# define CRC8_OPTIMIZE_SPEED
|
||||
|
||||
/* spi config for eeprom and pmw3360 sensor */
|
||||
#define SPI_DRIVER SPID1
|
||||
#define SPI_SCK_PIN A5
|
||||
#define SPI_SCK_PAL_MODE 5
|
||||
#define SPI_MOSI_PIN A7
|
||||
#define SPI_MOSI_PAL_MODE 5
|
||||
#define SPI_MISO_PIN A6
|
||||
#define SPI_MISO_PAL_MODE 5
|
||||
# define SPI_DRIVER SPID1
|
||||
# define SPI_SCK_PIN A5
|
||||
# define SPI_SCK_PAL_MODE 5
|
||||
# define SPI_MOSI_PIN A7
|
||||
# define SPI_MOSI_PAL_MODE 5
|
||||
# define SPI_MISO_PIN A6
|
||||
# define SPI_MISO_PAL_MODE 5
|
||||
|
||||
/* eeprom config */
|
||||
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
|
||||
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
|
||||
# define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
|
||||
# define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
|
||||
// #define EXTERNAL_EEPROM_BYTE_COUNT 8196
|
||||
// #define EXTERNAL_EEPROM_PAGE_SIZE 32
|
||||
// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2
|
||||
|
||||
/* pmw3360 config */
|
||||
#undef PMW33XX_CS_PIN
|
||||
#define PMW33XX_CS_PIN B0
|
||||
# undef PMW33XX_CS_PIN
|
||||
# define PMW33XX_CS_PIN B0
|
||||
#endif
|
||||
|
||||
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
|
||||
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
|
||||
|
||||
@@ -15,11 +15,13 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_PWM TRUE
|
||||
#define HAL_USE_SERIAL TRUE
|
||||
#define HAL_USE_I2C TRUE
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill)
|
||||
# define HAL_USE_PWM TRUE
|
||||
# define HAL_USE_SERIAL TRUE
|
||||
# define HAL_USE_I2C TRUE
|
||||
# define HAL_USE_SPI TRUE
|
||||
# define SPI_USE_WAIT TRUE
|
||||
# define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
#endif
|
||||
|
||||
#include_next <halconf.h>
|
||||
|
||||
@@ -83,24 +83,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
};
|
||||
|
||||
void matrix_init_keyemap(void) { setPinInputHigh(A0); }
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill)
|
||||
void keyboard_pre_init_keymap(void) {
|
||||
setPinInputHigh(A0);
|
||||
}
|
||||
|
||||
void matrix_scan_keymap(void) {
|
||||
void housekeeping_task_keymap(void) {
|
||||
if (!readPin(A0)) {
|
||||
reset_keyboard();
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USB_VBUS_PIN
|
||||
# ifdef USB_VBUS_PIN
|
||||
bool usb_vbus_state(void) {
|
||||
setPinInputLow(USB_VBUS_PIN);
|
||||
wait_us(5);
|
||||
return readPin(USB_VBUS_PIN);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
|
||||
for (int32_t i = 0; i < 40; i++) {
|
||||
__asm__ volatile("nop" ::: "memory");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -18,25 +18,27 @@
|
||||
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill)
|
||||
# undef STM32_I2C_USE_I2C1
|
||||
# define STM32_I2C_USE_I2C1 TRUE
|
||||
|
||||
// #undef STM32_I2C_I2C1_RX_DMA_STREAM
|
||||
// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||
#undef STM32_I2C_I2C1_TX_DMA_STREAM
|
||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
|
||||
# undef STM32_I2C_I2C1_TX_DMA_STREAM
|
||||
# define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
|
||||
|
||||
#undef STM32_PWM_USE_TIM2
|
||||
#define STM32_PWM_USE_TIM2 TRUE
|
||||
# undef STM32_PWM_USE_TIM2
|
||||
# define STM32_PWM_USE_TIM2 TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 TRUE
|
||||
# undef STM32_PWM_USE_TIM3
|
||||
# define STM32_PWM_USE_TIM3 TRUE
|
||||
|
||||
#undef STM32_SPI_USE_SPI1
|
||||
#define STM32_SPI_USE_SPI1 TRUE
|
||||
# undef STM32_SPI_USE_SPI1
|
||||
# define STM32_SPI_USE_SPI1 TRUE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART2
|
||||
#define STM32_SERIAL_USE_USART2 TRUE
|
||||
# undef STM32_SERIAL_USE_USART2
|
||||
# define STM32_SERIAL_USE_USART2 TRUE
|
||||
|
||||
#undef STM32_ST_USE_TIMER
|
||||
#define STM32_ST_USE_TIMER 5
|
||||
# undef STM32_ST_USE_TIMER
|
||||
# define STM32_ST_USE_TIMER 5
|
||||
#endif
|
||||
|
||||
@@ -1,28 +1,45 @@
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
BOARD = BLACKPILL_STM32_F411
|
||||
RGB_MATRIX_ENABLE = no
|
||||
CUSTOM_UNICODE_ENABLE = no
|
||||
CUSTOM_POINTING_DEVICE = no
|
||||
CUSTOM_SPLIT_TRANSPORT_SYNC = no
|
||||
|
||||
# Bootloader selection
|
||||
# BOOTLOADER = stm32-dfu
|
||||
BOOTLOADER := tinyuf2
|
||||
|
||||
LTO_ENABLE := no
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/blackpill)
|
||||
# Bootloader selection
|
||||
BOOTLOADER := tinyuf2
|
||||
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
KEYBOARD_SHARED_EP = yes
|
||||
MOUSE_SHARED_EP = yes
|
||||
LTO_ENABLE := no
|
||||
|
||||
EEPROM_DRIVER = spi
|
||||
WS2812_DRIVER = pwm
|
||||
SERIAL_DRIVER = usart
|
||||
AUDIO_DRIVER = pwm_hardware
|
||||
AUDIO_SUPPORTED = yes
|
||||
AUDIO_ENABLE = yes
|
||||
AUDIO_DRIVER = pwm_hardware
|
||||
|
||||
AUDIO_SUPPORTED = yes
|
||||
AUDIO_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
CONSOLE_ENABLE = yes
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
|
||||
AUTOCORRECT_ENABLE = yes
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/v2/stemcell)
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/v2/splinky)
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
|
||||
DEBOUNCE_TYPE = asym_eager_defer_pk
|
||||
|
||||
ifeq ($(strip $(OVERLOAD_FEATURES)), yes)
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
KEYBOARD_SHARED_EP = yes
|
||||
MOUSE_SHARED_EP = yes
|
||||
|
||||
MOUSEKEY_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
CONSOLE_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
|
||||
AUTOCORRECT_ENABLE = yes
|
||||
|
||||
CUSTOM_UNICODE_ENABLE = yes
|
||||
CUSTOM_POINTING_DEVICE = yes
|
||||
CUSTOM_SPLIT_TRANSPORT_SYNC = yes
|
||||
|
||||
DEBOUNCE_TYPE = asym_eager_defer_pk
|
||||
endif
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -20,6 +20,16 @@
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
@@ -29,7 +39,10 @@
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP18
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP19
|
||||
#define POINTING_DEVICE_CS_PIN GP14
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
5
keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md
Normal file
5
keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
@@ -35,5 +35,3 @@ POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
DEFAULT_FOLDER = bastardkb/charybdis/3x5/v2/splinky/v3
|
||||
50
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h
Normal file
50
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define POINTING_DEVICE_CS_PIN GP16
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
6
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
Normal file
6
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Charybdis Nano (3x5) Splinky",
|
||||
"usb": {
|
||||
"device_version": "2.0.0"
|
||||
}
|
||||
}
|
||||
5
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md
Normal file
5
keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
@@ -28,11 +28,10 @@ RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
LAYOUTS = split_3x5_3
|
||||
|
||||
POINTING_DEVICE_ENABLE = yes # Enable trackball
|
||||
POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
DEFAULT_FOLDER = bastardkb/charybdis/4x6/v2/splinky/v3
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
50
keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h
Normal file
50
keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP18
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP19
|
||||
#define POINTING_DEVICE_CS_PIN GP14
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
5
keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md
Normal file
5
keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
@@ -35,5 +35,3 @@ POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
DEFAULT_FOLDER = bastardkb/charybdis/3x6/v2/splinky/v3
|
||||
50
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h
Normal file
50
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define POINTING_DEVICE_CS_PIN GP16
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
6
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
Normal file
6
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Charybdis Mini (3x6) Splinky",
|
||||
"usb": {
|
||||
"device_version": "2.0.0"
|
||||
}
|
||||
}
|
||||
@@ -17,17 +17,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
#undef RP_SPI_USE_SPI0
|
||||
#define RP_SPI_USE_SPI0 TRUE
|
||||
5
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md
Normal file
5
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
37
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk
Normal file
37
keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk
Normal file
@@ -0,0 +1,37 @@
|
||||
# MCU name
|
||||
MCU = RP2040
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# RP2040-specific options
|
||||
ALLOW_WARNINGS = yes
|
||||
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
LAYOUTS = split_3x6_3
|
||||
|
||||
POINTING_DEVICE_ENABLE = yes # Enable trackball
|
||||
POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
@@ -16,99 +16,49 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#undef PRODUCT
|
||||
#define PRODUCT "Charybdis (4x6) Blackpill"
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
|
||||
# undef MATRIX_COL_PINS
|
||||
# define MATRIX_COL_PINS \
|
||||
{ B0, B1, B12, B3, B4, B5 }
|
||||
|
||||
#undef MATRIX_COL_PINS
|
||||
#define MATRIX_COL_PINS \
|
||||
{ B0, B1, B12, B3, B4, B5 }
|
||||
#undef MATRIX_COL_PINS_RIGHT
|
||||
#define MATRIX_COL_PINS_RIGHT \
|
||||
{ B0, B1, B12, B3, B4, B5 }
|
||||
# define USB_VBUS_PIN B10
|
||||
# define DEBUG_LED_PIN C13
|
||||
|
||||
#undef MATRIX_ROW_PINS
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B15, A2, B8, A8, B9 }
|
||||
#undef MATRIX_ROW_PINS_RIGHT
|
||||
#define MATRIX_ROW_PINS_RIGHT \
|
||||
{ B15, A2, B8, A8, B9 }
|
||||
# define AUDIO_PIN B7
|
||||
# define AUDIO_PWM_DRIVER PWMD4
|
||||
# define AUDIO_PWM_CHANNEL 2
|
||||
# define AUDIO_PWM_PAL_MODE 2
|
||||
# define AUDIO_INIT_DELAY
|
||||
# define AUDIO_ENABLE_TONE_MULTIPLEXING
|
||||
# define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10
|
||||
|
||||
# define SERIAL_USART_SPEED (1 * 1024 * 1024)
|
||||
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
#define SPLIT_HAND_PIN A3
|
||||
#undef MASTER_RIGHT
|
||||
#define USB_VBUS_PIN B10
|
||||
# undef POINTING_DEVICE_CS_PIN
|
||||
# define POINTING_DEVICE_CS_PIN A15 // b14
|
||||
# define PMW33XX_LIFTOFF_DISTANCE 0b1111
|
||||
#endif
|
||||
|
||||
#undef RGB_DI_PIN
|
||||
#define RGB_DI_PIN A1
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
#define WS2812_PWM_DRIVER PWMD2
|
||||
#define WS2812_PWM_CHANNEL 2
|
||||
#define WS2812_PWM_PAL_MODE 1
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
|
||||
#define WS2812_DMA_CHANNEL 3
|
||||
#define WS2812_PWM_TARGET_PERIOD 800000
|
||||
|
||||
#define DEBUG_LED_PIN C13
|
||||
|
||||
#define AUDIO_PIN B7
|
||||
#define AUDIO_PWM_DRIVER PWMD4
|
||||
#define AUDIO_PWM_CHANNEL 2
|
||||
#define AUDIO_PWM_PAL_MODE 2
|
||||
#define AUDIO_INIT_DELAY
|
||||
#define AUDIO_ENABLE_TONE_MULTIPLEXING
|
||||
#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10
|
||||
|
||||
#undef SOFT_SERIAL_PIN
|
||||
// #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
|
||||
#define SERIAL_USART_TX_PIN A9
|
||||
// #define SERIAL_USART_RX_PIN A3
|
||||
// #define SERIAL_USART_DRIVER SD2
|
||||
// #define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
// #define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
// #define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
|
||||
// #define SERIAL_USART_SPEED 921600
|
||||
#define SERIAL_USART_SPEED (1.5 * 1024 * 1024)
|
||||
|
||||
#define CRC8_USE_TABLE
|
||||
#define CRC8_OPTIMIZE_SPEED
|
||||
|
||||
/* spi config for eeprom and pmw3360 sensor */
|
||||
#define SPI_DRIVER SPID1
|
||||
#define SPI_SCK_PIN A5
|
||||
#define SPI_SCK_PAL_MODE 5
|
||||
#define SPI_MOSI_PIN A7
|
||||
#define SPI_MOSI_PAL_MODE 5
|
||||
#define SPI_MISO_PIN A6
|
||||
#define SPI_MISO_PAL_MODE 5
|
||||
|
||||
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
|
||||
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
|
||||
|
||||
#undef PMW33XX_CS_PIN
|
||||
#define PMW33XX_CS_PIN A15 // b14
|
||||
#define PMW33XX_LIFTOFF_DISTANCE 0b1111
|
||||
#undef ROTATIONAL_TRANSFORM_ANGLE
|
||||
#define ROTATIONAL_TRANSFORM_ANGLE -65
|
||||
|
||||
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
|
||||
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
|
||||
#define CHARYBDIS_MINIMUM_SNIPING_DPI 200
|
||||
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
|
||||
#define ROTATIONAL_TRANSFORM_ANGLE 25
|
||||
#define POINTING_DEVICE_ROTATION_270
|
||||
|
||||
/* RGB Matrix. */
|
||||
|
||||
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
|
||||
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
|
||||
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
|
||||
#define CHARYBDIS_MINIMUM_SNIPING_DPI 200
|
||||
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
|
||||
|
||||
#define CHARYBDIS_CONFIG_SYNC
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
#define BOOTMAGIC_LITE_ROW_RIGHT 5
|
||||
#define BOOTMAGIC_LITE_ROW_RIGHT 5
|
||||
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
|
||||
#define BOOTMAGIC_LITE_EEPROM_ROW 1
|
||||
#define BOOTMAGIC_LITE_EEPROM_ROW 1
|
||||
#define BOOTMAGIC_LITE_EEPROM_COLUMN 0
|
||||
#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 1
|
||||
#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 1
|
||||
#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 0
|
||||
|
||||
@@ -83,12 +83,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
SFT_T(KC_SPACE), ALT_T(KC_Q), _______
|
||||
),
|
||||
[_MOUSE] = LAYOUT_charybdis_4x6(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, DRGSCRL,
|
||||
_______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING,
|
||||
_______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, DRGSCRL, _______,
|
||||
_______, SNIPING, SNIPING, _______, _______,
|
||||
_______, _______, _______
|
||||
_______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_charybdis_4x6_wrapper(
|
||||
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_charybdis_4x6_wrapper(
|
||||
QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT,
|
||||
QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_COMIC,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT,
|
||||
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR,
|
||||
KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
|
||||
UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
|
||||
@@ -121,8 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format on
|
||||
|
||||
|
||||
void matrix_init_keymap(void) {
|
||||
setPinInputHigh(A0);
|
||||
void keyboard_post_init_keymap(void) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
g_led_config.flags[53] = g_led_config.flags[54] = g_led_config.flags[55] =
|
||||
g_led_config.flags[0] = g_led_config.flags[1] = g_led_config.flags[2] = g_led_config.flags[3] =
|
||||
@@ -131,11 +130,17 @@ void matrix_init_keymap(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void matrix_scan_keymap(void) {
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
|
||||
void keyboard_pre_init_keymap(void) {
|
||||
setPinInputHigh(A0);
|
||||
}
|
||||
|
||||
void housekeeping_task_keymap(void) {
|
||||
if (!readPin(A0)) {
|
||||
reset_keyboard();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef USB_VBUS_PIN
|
||||
bool usb_vbus_state(void) {
|
||||
@@ -145,12 +150,13 @@ bool usb_vbus_state(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
|
||||
void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
|
||||
for (int32_t i = 0; i < 40; i++) {
|
||||
__asm__ volatile("nop" ::: "memory");
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
@@ -18,23 +18,10 @@
|
||||
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
#undef STM32_PWM_USE_ADVANCED
|
||||
#define STM32_PWM_USE_ADVANCED TRUE
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
|
||||
# undef STM32_PWM_USE_ADVANCED
|
||||
# define STM32_PWM_USE_ADVANCED TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM1
|
||||
#define STM32_PWM_USE_TIM1 TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM2
|
||||
#define STM32_PWM_USE_TIM2 TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM4
|
||||
#define STM32_PWM_USE_TIM4 TRUE
|
||||
|
||||
#undef STM32_SPI_USE_SPI1
|
||||
#define STM32_SPI_USE_SPI1 TRUE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART1
|
||||
#define STM32_SERIAL_USE_USART1 TRUE
|
||||
|
||||
#undef STM32_ST_USE_TIMER
|
||||
#define STM32_ST_USE_TIMER 5
|
||||
# undef STM32_PWM_USE_TIM4
|
||||
# define STM32_PWM_USE_TIM4 TRUE
|
||||
#endif
|
||||
|
||||
@@ -1,34 +1,56 @@
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
BOARD = BLACKPILL_STM32_F411
|
||||
CUSTOM_UNICODE_ENABLE = no
|
||||
CUSTOM_POINTING_DEVICE = no
|
||||
CUSTOM_SPLIT_TRANSPORT_SYNC = no
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER := tinyuf2
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/4x6/blackpill)
|
||||
# MCU name
|
||||
# Bootloader selection
|
||||
BOOTLOADER := tinyuf2
|
||||
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = yes # Audio output
|
||||
AUDIO_SUPPORTED = yes # is set to no in kb, needs to be forcibly enabled
|
||||
AUDIO_ENABLE = yes # Audio output
|
||||
AUDIO_SUPPORTED = yes # is set to no in kb, needs to be forcibly enabled
|
||||
AUDIO_DRIVER = pwm_hardware
|
||||
|
||||
KEYBOARD_SHARED_EP = yes
|
||||
MOUSE_SHARED_EP = yes
|
||||
BACKLIGHT_DRIVER = pwm
|
||||
|
||||
EEPROM_DRIVER = spi
|
||||
WS2812_DRIVER = pwm
|
||||
SERIAL_DRIVER = usart
|
||||
AUDIO_DRIVER = pwm_hardware
|
||||
BACKLIGHT_DRIVER = pwm
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
|
||||
AUTOCORRECT_ENABLE = yes
|
||||
CAPS_WORD_ENABLE = yes
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
DEBOUNCE_TYPE = asym_eager_defer_pk
|
||||
WPM_ENABLE = yes
|
||||
LTO_ENABLE = no
|
||||
# OPT = 3
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/4x6/v2/stemcell)
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/4x6/v2/splinky)
|
||||
OVERLOAD_FEATURES = yes
|
||||
endif
|
||||
ifeq ($(strip $(MCU)), atmega32u4)
|
||||
LTO_ENABLE = yes
|
||||
BOOTLOADER = qmk-hid
|
||||
BOOTLOADER_SIZE = 512
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(OVERLOAD_FEATURES)), yes)
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
|
||||
KEYBOARD_SHARED_EP = yes
|
||||
MOUSE_SHARED_EP = yes
|
||||
|
||||
AUTOCORRECT_ENABLE = yes
|
||||
CAPS_WORD_ENABLE = yes
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
DEBOUNCE_TYPE = asym_eager_defer_pk
|
||||
WPM_ENABLE = yes
|
||||
LTO_ENABLE = no
|
||||
# OPT = 3
|
||||
|
||||
CUSTOM_UNICODE_ENABLE = yes
|
||||
CUSTOM_POINTING_DEVICE = yes
|
||||
CUSTOM_SPLIT_TRANSPORT_SYNC = yes
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -20,6 +20,16 @@
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP29, GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
@@ -29,7 +39,10 @@
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP18
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP19
|
||||
#define POINTING_DEVICE_CS_PIN GP14
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
@@ -17,17 +17,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
#undef RP_SPI_USE_SPI0
|
||||
#define RP_SPI_USE_SPI0 TRUE
|
||||
5
keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md
Normal file
5
keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
36
keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk
Normal file
36
keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk
Normal file
@@ -0,0 +1,36 @@
|
||||
# MCU name
|
||||
MCU = RP2040
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# RP2040-specific options
|
||||
ALLOW_WARNINGS = yes
|
||||
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
POINTING_DEVICE_ENABLE = yes # Enable trackball
|
||||
POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
50
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h
Normal file
50
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP29, GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define POINTING_DEVICE_CS_PIN GP16
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
6
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json
Normal file
6
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Charybdis (4x6) Splinky",
|
||||
"usb": {
|
||||
"device_version": "2.0.0"
|
||||
}
|
||||
}
|
||||
23
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h
Normal file
23
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
#undef RP_SPI_USE_SPI0
|
||||
#define RP_SPI_USE_SPI0 TRUE
|
||||
5
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md
Normal file
5
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
36
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk
Normal file
36
keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk
Normal file
@@ -0,0 +1,36 @@
|
||||
# MCU name
|
||||
MCU = RP2040
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# RP2040-specific options
|
||||
ALLOW_WARNINGS = yes
|
||||
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
POINTING_DEVICE_ENABLE = yes # Enable trackball
|
||||
POINTING_DEVICE_DRIVER = pmw3360
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* Pointing device configuration. */
|
||||
|
||||
// Enable use of pointing device on slave split.
|
||||
|
||||
23
keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h
Normal file
23
keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next "halconf.h"
|
||||
@@ -112,7 +112,7 @@ bool oled_task_keymap(void) {
|
||||
};
|
||||
oled_write_raw_P(header_image, sizeof(header_image));
|
||||
oled_set_cursor(7, 0);
|
||||
oled_write_P(PSTR("Rock On"), true);
|
||||
oled_write_P(PSTR("Dilemma"), true);
|
||||
|
||||
render_default_layer_state(1, 1);
|
||||
render_layer_state(1, 2);
|
||||
@@ -158,3 +158,19 @@ bool oled_task_keymap(void) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Left hand, matrix positions */
|
||||
{{0, 4}, {3, 4}, {2, 4}, {5, 4}, {4, 4}},
|
||||
{{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}},
|
||||
{{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}},
|
||||
{{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}},
|
||||
/* Right hand, matrix positions */
|
||||
{{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}},
|
||||
{{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}},
|
||||
{{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}},
|
||||
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}},
|
||||
};
|
||||
#endif
|
||||
|
||||
26
keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h
Normal file
26
keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
#include_next "mcuconf.h"
|
||||
|
||||
#undef RP_SPI_USE_SPI1
|
||||
#define RP_SPI_USE_SPI1 TRUE
|
||||
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -18,14 +18,11 @@
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP29, GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_SCK_PIN GP18
|
||||
#define SPI_MOSI_PIN GP19
|
||||
#define POINTING_DEVICE_CS_PIN GP14
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
@@ -33,3 +30,14 @@
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
5
keyboards/bastardkb/scylla/v2/splinky_2/readme.md
Normal file
5
keyboards/bastardkb/scylla/v2/splinky_2/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
@@ -31,5 +31,3 @@ SPLIT_KEYBOARD = yes
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
DEFAULT_FOLDER = bastardkb/scylla/v2/splinky/v3
|
||||
@@ -18,14 +18,11 @@
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP29, GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define POINTING_DEVICE_CS_PIN GP16
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
@@ -33,3 +30,14 @@
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
6
keyboards/bastardkb/scylla/v2/splinky_3/info.json
Normal file
6
keyboards/bastardkb/scylla/v2/splinky_3/info.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Scylla Splinky",
|
||||
"usb": {
|
||||
"device_version": "2.0.0"
|
||||
}
|
||||
}
|
||||
5
keyboards/bastardkb/scylla/v2/splinky_3/readme.md
Normal file
5
keyboards/bastardkb/scylla/v2/splinky_3/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
33
keyboards/bastardkb/scylla/v2/splinky_3/rules.mk
Normal file
33
keyboards/bastardkb/scylla/v2/splinky_3/rules.mk
Normal file
@@ -0,0 +1,33 @@
|
||||
# MCU name
|
||||
MCU = RP2040
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# RP2040-specific options
|
||||
ALLOW_WARNINGS = yes
|
||||
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
@@ -18,14 +18,11 @@
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_SCK_PIN GP18
|
||||
#define SPI_MOSI_PIN GP19
|
||||
#define POINTING_DEVICE_CS_PIN GP14
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
@@ -33,3 +30,14 @@
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
5
keyboards/bastardkb/skeletyl/v2/splinky_2/readme.md
Normal file
5
keyboards/bastardkb/skeletyl/v2/splinky_2/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
@@ -32,5 +32,3 @@ LAYOUTS = split_3x5_3
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
DEFAULT_FOLDER = bastardkb/skeletyl/v2/splinky/v3
|
||||
@@ -18,14 +18,11 @@
|
||||
#pragma once
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ GP26, GP5, GP4, GP9 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP28, GP21, GP6, GP7, GP8 }
|
||||
|
||||
/* SPI & PMW3360 settings. */
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define POINTING_DEVICE_CS_PIN GP16
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
@@ -33,3 +30,14 @@
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP15
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* serial.c configuration (for split keyboard). */
|
||||
#define SOFT_SERIAL_PIN GP1
|
||||
|
||||
/* RGB settings. */
|
||||
#define RGB_DI_PIN GP0
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
6
keyboards/bastardkb/skeletyl/v2/splinky_3/info.json
Normal file
6
keyboards/bastardkb/skeletyl/v2/splinky_3/info.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Skeletyl Splinky",
|
||||
"usb": {
|
||||
"device_version": "2.0.0"
|
||||
}
|
||||
}
|
||||
5
keyboards/bastardkb/skeletyl/v2/splinky_3/readme.md
Normal file
5
keyboards/bastardkb/skeletyl/v2/splinky_3/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
|
||||
34
keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk
Normal file
34
keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk
Normal file
@@ -0,0 +1,34 @@
|
||||
# MCU name
|
||||
MCU = RP2040
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# RP2040-specific options
|
||||
ALLOW_WARNINGS = yes
|
||||
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
LAYOUTS = split_3x5_3
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
WS2812_DRIVER = vendor
|
||||
@@ -1,6 +0,0 @@
|
||||
# Splinky controller
|
||||
|
||||
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
|
||||
|
||||
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
|
||||
for you (v2 and v3) supported.
|
||||
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Key matrix configuration. */
|
||||
#define MATRIX_COL_PINS \
|
||||
{ GP27, GP28, GP15, GP6, GP7, GP8 }
|
||||
|
||||
/* Handedness. */
|
||||
#define MASTER_RIGHT
|
||||
|
||||
// To use the handedness pin, resistors need to be installed on the adapter PCB.
|
||||
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
|
||||
// #define SPLIT_HAND_PIN GP13
|
||||
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
@@ -1,2 +0,0 @@
|
||||
# Intentionally blank so that QMK detects this folder as a valid keyboard
|
||||
# parameter.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user