mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-01-19 00:03:33 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
5a9481b831
@ -628,24 +628,9 @@ ifeq ($(strip $(XAP_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/xap/xap.c $(QUANTUM_DIR)/xap/xap_handlers.c
|
||||
endif
|
||||
|
||||
VALID_MAGIC_TYPES := yes
|
||||
BOOTMAGIC_ENABLE ?= no
|
||||
ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
|
||||
ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid BOOTMAGIC_ENABLE,BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic)
|
||||
endif
|
||||
ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
|
||||
OPT_DEFS += -DBOOTMAGIC_LITE
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_lite.c
|
||||
endif
|
||||
endif
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/bootmagic
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/magic.c
|
||||
|
||||
VALID_CUSTOM_MATRIX_TYPES:= yes lite no
|
||||
|
||||
CUSTOM_MATRIX ?= no
|
||||
|
||||
ifneq ($(strip $(CUSTOM_MATRIX)), yes)
|
||||
ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid CUSTOM_MATRIX,CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type)
|
||||
|
@ -21,6 +21,7 @@ SPACE_CADET_ENABLE ?= yes
|
||||
GENERIC_FEATURES = \
|
||||
AUTO_SHIFT \
|
||||
AUTOCORRECT \
|
||||
BOOTMAGIC \
|
||||
CAPS_WORD \
|
||||
COMBO \
|
||||
COMMAND \
|
||||
|
@ -314,8 +314,8 @@
|
||||
},
|
||||
"features": {
|
||||
"$ref": "qmk.definitions.v1#/boolean_array",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" },
|
||||
"not": { "required": [ "lto" ] }
|
||||
},
|
||||
"indicators": {
|
||||
"type": "object",
|
||||
|
@ -82,10 +82,10 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t
|
||||
```c
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
|
||||
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
|
||||
[_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
|
||||
[0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
|
||||
[2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
|
||||
[3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
|
||||
};
|
||||
#endif
|
||||
```
|
||||
|
@ -365,6 +365,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
|
||||
#define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set
|
||||
#define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
|
||||
#define LED_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
|
||||
#define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set
|
||||
#define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
|
||||
// If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
|
||||
```
|
||||
|
@ -873,12 +873,13 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
|
||||
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
|
||||
#define RGB_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
|
||||
#define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set
|
||||
#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
|
||||
#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
|
||||
// If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
|
||||
|
@ -128,6 +128,9 @@ report_analog_joystick_t analog_joystick_read(void) {
|
||||
}
|
||||
|
||||
void analog_joystick_init(void) {
|
||||
setPinInputHigh(ANALOG_JOYSTICK_X_AXIS_PIN);
|
||||
setPinInputHigh(ANALOG_JOYSTICK_Y_AXIS_PIN);
|
||||
|
||||
#ifdef ANALOG_JOYSTICK_CLICK_PIN
|
||||
setPinInputHigh(ANALOG_JOYSTICK_CLICK_PIN);
|
||||
#endif
|
||||
|
@ -16,15 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
// clang-format off
|
||||
|
||||
/* default setup after eeprom reset */
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
|
||||
#define RGBLIGHT_DEFAULT_HUE 152
|
||||
#define RGBLIGHT_DEFAULT_SAT 232
|
||||
#define RGBLIGHT_DEFAULT_VAR 255
|
||||
#define RGBLIGHT_DEFAULT_SPD 2
|
||||
// clang-format on
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
@ -40,6 +40,11 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"hue": 152,
|
||||
"sat": 232,
|
||||
"speed": 2
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -38,7 +38,6 @@
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"solid_color": true,
|
||||
"band_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
|
@ -41,7 +41,6 @@
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 150,
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -8,9 +8,11 @@
|
||||
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
|
||||
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"lto": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
|
@ -8,9 +8,11 @@
|
||||
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
|
||||
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"lto": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
|
@ -8,9 +8,11 @@
|
||||
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
|
||||
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"lto": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
|
@ -1,5 +1,4 @@
|
||||
/*
|
||||
* Copyright 2022 Uthol
|
||||
/* Copyright 2024 Aidan Smith <aidan@aidansmith.dev>
|
||||
*
|
||||
* 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
|
||||
@ -17,5 +16,4 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
//RGB Stuff
|
||||
#define RGBLIGHT_DEFAULT_HUE 201
|
||||
#define EE_HANDS
|
220
keyboards/aidansmithdotdev/sango/info.json
Normal file
220
keyboards/aidansmithdotdev/sango/info.json
Normal file
@ -0,0 +1,220 @@
|
||||
{
|
||||
"manufacturer": "AidanSmith.dev",
|
||||
"keyboard_name": "aidansmithdotdev/Sango",
|
||||
"Maintainer": "AidanSmith.dev",
|
||||
"bootloader": "rp2040",
|
||||
"bootmagic": {
|
||||
"matrix": [0, 7]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP4", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"],
|
||||
"rows": ["GP7", "GP6", "GP3", "GP2", "GP0"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"split_count": [36, 36],
|
||||
"layout": [
|
||||
{"matrix": [0, 1], "x": 60, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 50, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 40, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 30, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 20, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 6], "x": 10, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 7], "x": 0, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 0, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 10, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 20, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 30, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 40, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 50, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 60, "y": 10, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 70, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 60, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 50, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 40, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 30, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 20, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 10, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 0, "y": 20, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 0, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 10, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 20, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 30, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 40, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 50, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 1], "x": 60, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 0], "x": 70, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 0], "x": 70, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 1], "x": 60, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 50, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 20, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 10, "y": 30, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 0, "y": 30, "flags": 4},
|
||||
{"matrix": [5, 1], "x": 100, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 2], "x": 110, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 3], "x": 120, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 4], "x": 130, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 5], "x": 140, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 6], "x": 150, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 7], "x": 160, "y": 0, "flags": 4},
|
||||
{"matrix": [6, 7], "x": 160, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 6], "x": 150, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 5], "x": 140, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 4], "x": 130, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 3], "x": 120, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 2], "x": 110, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 1], "x": 100, "y": 10, "flags": 4},
|
||||
{"matrix": [7, 0], "x": 90, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 1], "x": 100, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 2], "x": 110, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 3], "x": 120, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 4], "x": 130, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 5], "x": 140, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 6], "x": 150, "y": 20, "flags": 4},
|
||||
{"matrix": [7, 7], "x": 160, "y": 20, "flags": 4},
|
||||
{"matrix": [8, 7], "x": 160, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 6], "x": 150, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 5], "x": 140, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 4], "x": 130, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 3], "x": 120, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 2], "x": 110, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 1], "x": 100, "y": 30, "flags": 4},
|
||||
{"matrix": [8, 0], "x": 90, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 0], "x": 90, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 1], "x": 100, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 2], "x": 110, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 5], "x": 140, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 6], "x": 150, "y": 30, "flags": 4},
|
||||
{"matrix": [9, 7], "x": 160, "y": 30, "flags": 4}
|
||||
]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 8,
|
||||
"max_brightness": 128,
|
||||
"saturation_steps": 8,
|
||||
"split": true,
|
||||
"split_count": [36, 36]
|
||||
},
|
||||
"split": {
|
||||
"bootmagic": {
|
||||
"matrix": [4, 7]
|
||||
},
|
||||
"enabled": true,
|
||||
"main": "matrix_grid",
|
||||
"matrix_pins": {
|
||||
"right": {
|
||||
"cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"],
|
||||
"rows": ["GP2", "GP3", "GP4", "GP5", "GP6"]
|
||||
}
|
||||
},
|
||||
"soft_serial_pin": "GP1"
|
||||
},
|
||||
"url": "https://aidansmith.dev",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x2567",
|
||||
"vid": "0xA059"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP10"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "L07", "matrix": [0, 7], "x": 0, "y": 0.3},
|
||||
{"label": "L06", "matrix": [0, 6], "x": 1, "y": 0.3},
|
||||
{"label": "L05", "matrix": [0, 5], "x": 2, "y": 0.3},
|
||||
{"label": "L04", "matrix": [0, 4], "x": 3, "y": 0.1},
|
||||
{"label": "L03", "matrix": [0, 3], "x": 4, "y": 0},
|
||||
{"label": "L02", "matrix": [0, 2], "x": 5, "y": 0.1},
|
||||
{"label": "L01", "matrix": [0, 1], "x": 6, "y": 0.2},
|
||||
{"label": "R01", "matrix": [5, 1], "x": 10, "y": 0.2},
|
||||
{"label": "R02", "matrix": [5, 2], "x": 11, "y": 0.1},
|
||||
{"label": "R03", "matrix": [5, 3], "x": 12, "y": 0},
|
||||
{"label": "R04", "matrix": [5, 4], "x": 13, "y": 0.1},
|
||||
{"label": "R05", "matrix": [5, 5], "x": 14, "y": 0.3},
|
||||
{"label": "R06", "matrix": [5, 6], "x": 15, "y": 0.3},
|
||||
{"label": "R07", "matrix": [5, 7], "x": 16, "y": 0.3},
|
||||
{"label": "L17", "matrix": [1, 7], "x": 0, "y": 1.3},
|
||||
{"label": "L16", "matrix": [1, 6], "x": 1, "y": 1.3},
|
||||
{"label": "L15", "matrix": [1, 5], "x": 2, "y": 1.3},
|
||||
{"label": "L14", "matrix": [1, 4], "x": 3, "y": 1.1},
|
||||
{"label": "L13", "matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"label": "L12", "matrix": [1, 2], "x": 5, "y": 1.1},
|
||||
{"label": "L11", "matrix": [1, 1], "x": 6, "y": 1.2},
|
||||
{"label": "R11", "matrix": [6, 1], "x": 10, "y": 1.2},
|
||||
{"label": "R12", "matrix": [6, 2], "x": 11, "y": 1.1},
|
||||
{"label": "R13", "matrix": [6, 3], "x": 12, "y": 1},
|
||||
{"label": "R14", "matrix": [6, 4], "x": 13, "y": 1.1},
|
||||
{"label": "R15", "matrix": [6, 5], "x": 14, "y": 1.3},
|
||||
{"label": "R16", "matrix": [6, 6], "x": 15, "y": 1.3},
|
||||
{"label": "R17", "matrix": [6, 7], "x": 16, "y": 1.3},
|
||||
{"label": "L27", "matrix": [2, 7], "x": 0, "y": 2.3},
|
||||
{"label": "L26", "matrix": [2, 6], "x": 1, "y": 2.3},
|
||||
{"label": "L25", "matrix": [2, 5], "x": 2, "y": 2.3},
|
||||
{"label": "L24", "matrix": [2, 4], "x": 3, "y": 2.1},
|
||||
{"label": "L23", "matrix": [2, 3], "x": 4, "y": 2},
|
||||
{"label": "L22", "matrix": [2, 2], "x": 5, "y": 2.1},
|
||||
{"label": "L21", "matrix": [2, 1], "x": 6, "y": 2.2},
|
||||
{"label": "L20", "matrix": [2, 0], "x": 7, "y": 2.7},
|
||||
{"label": "R20", "matrix": [7, 0], "x": 9, "y": 2.7},
|
||||
{"label": "R21", "matrix": [7, 1], "x": 10, "y": 2.2},
|
||||
{"label": "R22", "matrix": [7, 2], "x": 11, "y": 2.1},
|
||||
{"label": "R23", "matrix": [7, 3], "x": 12, "y": 2},
|
||||
{"label": "R24", "matrix": [7, 4], "x": 13, "y": 2.1},
|
||||
{"label": "R25", "matrix": [7, 5], "x": 14, "y": 2.3},
|
||||
{"label": "R26", "matrix": [7, 6], "x": 15, "y": 2.3},
|
||||
{"label": "R27", "matrix": [7, 7], "x": 16, "y": 2.3},
|
||||
{"label": "L37", "matrix": [3, 7], "x": 0, "y": 3.3},
|
||||
{"label": "L36", "matrix": [3, 6], "x": 1, "y": 3.3},
|
||||
{"label": "L35", "matrix": [3, 5], "x": 2, "y": 3.3},
|
||||
{"label": "L34", "matrix": [3, 4], "x": 3, "y": 3.1},
|
||||
{"label": "L33", "matrix": [3, 3], "x": 4, "y": 3},
|
||||
{"label": "L32", "matrix": [3, 2], "x": 5, "y": 3.1},
|
||||
{"label": "L31", "matrix": [3, 1], "x": 6, "y": 3.2},
|
||||
{"label": "L30", "matrix": [3, 0], "x": 7, "y": 3.7},
|
||||
{"label": "R30", "matrix": [8, 0], "x": 9, "y": 3.7},
|
||||
{"label": "R31", "matrix": [8, 1], "x": 10, "y": 3.2},
|
||||
{"label": "R32", "matrix": [8, 2], "x": 11, "y": 3.1},
|
||||
{"label": "R33", "matrix": [8, 3], "x": 12, "y": 3},
|
||||
{"label": "R34", "matrix": [8, 4], "x": 13, "y": 3.1},
|
||||
{"label": "R35", "matrix": [8, 5], "x": 14, "y": 3.3},
|
||||
{"label": "R36", "matrix": [8, 6], "x": 15, "y": 3.3},
|
||||
{"label": "R37", "matrix": [8, 7], "x": 16, "y": 3.3},
|
||||
{"label": "L47", "matrix": [4, 7], "x": 0, "y": 3.3},
|
||||
{"label": "L46", "matrix": [4, 6], "x": 1, "y": 3.3},
|
||||
{"label": "L45", "matrix": [4, 5], "x": 2, "y": 3.3},
|
||||
{"label": "L42", "matrix": [4, 2], "x": 5, "y": 3.1},
|
||||
{"label": "L41", "matrix": [4, 1], "x": 6, "y": 3.2},
|
||||
{"label": "L40", "matrix": [4, 0], "x": 7, "y": 3.7},
|
||||
{"label": "R40", "matrix": [9, 0], "x": 9, "y": 3.7},
|
||||
{"label": "R41", "matrix": [9, 1], "x": 10, "y": 3.2},
|
||||
{"label": "R42", "matrix": [9, 2], "x": 11, "y": 3.1},
|
||||
{"label": "R45", "matrix": [9, 5], "x": 14, "y": 3.3},
|
||||
{"label": "R46", "matrix": [9, 6], "x": 15, "y": 3.3},
|
||||
{"label": "R47", "matrix": [9, 7], "x": 16, "y": 3.3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
32
keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c
Normal file
32
keyboards/aidansmithdotdev/sango/keymaps/default/keymap.c
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright 2024 Aidan Smith <aidan@aidansmith.dev>
|
||||
*
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
};
|
||||
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL ,
|
||||
KC_DEL , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC ,
|
||||
KC_PGUP , KC_LCAP , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LCBR , KC_RCBR , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , KC_ENT ,
|
||||
KC_PGDN , KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC , KC_RBRC , KC_N , KC_M , KC_DOT , KC_COMM , KC_SLSH , KC_UP , KC_BSLS ,
|
||||
KC_LCTL , KC_LGUI , KC_LALT , KC_LCTL , KC_LALT , KC_BSPC , KC_SPC , KC_RGUI , KC_RALT , KC_LEFT , KC_DOWN , KC_RGHT
|
||||
)
|
||||
};
|
19
keyboards/aidansmithdotdev/sango/readme.md
Normal file
19
keyboards/aidansmithdotdev/sango/readme.md
Normal file
@ -0,0 +1,19 @@
|
||||
# Sango
|
||||
|
||||
![aidansmithdotdev/sango](https://i.imgur.com/NzvLxqyh.jpg)
|
||||
|
||||
An open source 65%ish split columnar low profile keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Aidan Smith](https://github.com/Aidan-OS)
|
||||
* Hardware Supported: Sango
|
||||
* Hardware Availability: https://github.com/Aidan-OS/Sango
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make aidansmithdotdev/sango:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make aidansmithdotdev/sango:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
1
keyboards/aidansmithdotdev/sango/rules.mk
Normal file
1
keyboards/aidansmithdotdev/sango/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
SERIAL_DRIVER = vendor
|
@ -349,6 +349,322 @@
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_625u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [2, 14], "x": 15.25, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_625u_space_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 15], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [2, 14], "x": 15.25, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_7u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [2, 14], "x": 15.25, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_7u_space_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 15], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [2, 14], "x": 15.25, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
|
@ -30,7 +30,6 @@
|
||||
"gradient_up_down": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"solid_color": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_splash": true
|
||||
},
|
||||
|
@ -3,8 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
|
||||
|
||||
/* Double tap reset button to enter bootloader */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
|
@ -35,6 +35,9 @@
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_mood"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -3,14 +3,11 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE 9
|
||||
|
||||
/* Double tap reset button to enter bootloader */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||
|
||||
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define I2C1_SDA_PIN GP6
|
||||
#define I2C1_SCL_PIN GP7
|
||||
|
@ -17,9 +17,6 @@
|
||||
"rgblight": {
|
||||
"led_count": 1,
|
||||
"hue_steps": 10,
|
||||
"saturation_steps": 17,
|
||||
"brightness_steps": 17,
|
||||
"max_brightness": 255,
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
@ -31,6 +28,9 @@
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -3,8 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD
|
||||
|
||||
/* Double tap reset button to enter bootloader */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
|
@ -34,6 +34,9 @@
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_mood"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -50,7 +50,6 @@
|
||||
"split_count": [36, 36],
|
||||
"max_brightness": 176,
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -51,7 +51,6 @@
|
||||
"max_brightness": 176,
|
||||
"center_point": [112, 28],
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
12
keyboards/binepad/bnk9/config.h
Normal file
12
keyboards/binepad/bnk9/config.h
Normal file
@ -0,0 +1,12 @@
|
||||
// Copyright 2023 binepad (@binepad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution
|
||||
|
||||
// Default PIO0 cases flickering in this board. Setting to PIO1 resolves this issue.
|
||||
#define WS2812_PIO_USE_PIO1
|
||||
|
||||
// Timing for SK6812
|
||||
#define WS2812_T1H 650
|
86
keyboards/binepad/bnk9/info.json
Normal file
86
keyboards/binepad/bnk9/info.json
Normal file
@ -0,0 +1,86 @@
|
||||
{
|
||||
"manufacturer": "binepad",
|
||||
"keyboard_name": "BNK9",
|
||||
"maintainer": "binepad",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"bootloader_instructions": "Hold down the key at (0x0) in the matrix (the 'knob' / rotary encoder) and plug in the keyboard.",
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP13", "pin_b": "GP14"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP1", "GP2", "GP3"],
|
||||
"rows": ["GP12", "GP4", "GP5", "GP6"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_up_down": true,
|
||||
"jellybean_raindrops": true,
|
||||
"riverflow": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_splash": true,
|
||||
"splash": true,
|
||||
"starlight": true,
|
||||
"starlight_dual_hue": true,
|
||||
"starlight_dual_sat": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [1, 0], "x": 80, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 112, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 144, "y": 0, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 144, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 112, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 80, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 0], "x": 80, "y": 64, "flags": 4},
|
||||
{"matrix": [3, 1], "x": 112, "y": 64, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 144, "y": 64, "flags": 4}
|
||||
],
|
||||
"led_process_limit": 9,
|
||||
"max_brightness": 180,
|
||||
"sleep": true
|
||||
},
|
||||
"url": "https://www.binepad.com/product-page/bnk9",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x4E39",
|
||||
"vid": "0x4249"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP11"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "Knob", "matrix": [0, 0], "x": 0, "y": 0, "w": 3, "h": 3, "encoder": 0},
|
||||
{"label": "1", "matrix": [1, 0], "x": 3.25, "y": 0},
|
||||
{"label": "2", "matrix": [1, 1], "x": 4.25, "y": 0},
|
||||
{"label": "3", "matrix": [1, 2], "x": 5.25, "y": 0},
|
||||
{"label": "4", "matrix": [2, 0], "x": 3.25, "y": 1},
|
||||
{"label": "5", "matrix": [2, 1], "x": 4.25, "y": 1},
|
||||
{"label": "6", "matrix": [2, 2], "x": 5.25, "y": 1},
|
||||
{"label": "7", "matrix": [3, 0], "x": 3.25, "y": 2},
|
||||
{"label": "8", "matrix": [3, 1], "x": 4.25, "y": 2},
|
||||
{"label": "9", "matrix": [3, 2], "x": 5.25, "y": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
28
keyboards/binepad/bnk9/keymaps/default/keymap.c
Normal file
28
keyboards/binepad/bnk9/keymaps/default/keymap.c
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2023 Binepad (@binpad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P4, KC_P5, KC_P6,
|
||||
KC_P7, KC_P8, LT(1, KC_P9)
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG,
|
||||
RGB_HUI, RGB_SAI, RGB_SPI,
|
||||
RGB_HUD, RGB_SAD, RGB_SPD,
|
||||
RGB_RMOD, RGB_MOD, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
|
||||
};
|
||||
|
||||
#endif
|
@ -1,2 +1 @@
|
||||
# Encoder enabled
|
||||
ENCODER_MAP_ENABLE = yes
|
28
keyboards/binepad/bnk9/keymaps/via/keymap.c
Normal file
28
keyboards/binepad/bnk9/keymaps/via/keymap.c
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2023 Binepad (@binpad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P4, KC_P5, KC_P6,
|
||||
KC_P7, KC_P8, LT(1, KC_P9)
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG,
|
||||
RGB_HUI, RGB_SAI, RGB_SPI,
|
||||
RGB_HUD, RGB_SAD, RGB_SPD,
|
||||
RGB_RMOD, RGB_MOD, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
|
||||
};
|
||||
|
||||
#endif
|
@ -1,4 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
|
||||
# Encoder enabled
|
||||
ENCODER_MAP_ENABLE = yes
|
27
keyboards/binepad/bnk9/readme.md
Normal file
27
keyboards/binepad/bnk9/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# BINEPAD BNK9
|
||||
|
||||
![BINEPAD BNK9](https://i.imgur.com/FrkVRhhh.jpg)
|
||||
|
||||
A 3x3 macropad with a large rotary encoder.
|
||||
|
||||
* Keyboard Maintainer: [binepad](https://github.com/binepad)
|
||||
* Hardware Supported: BINPAD BNK9
|
||||
* Hardware Availability: [binepad.com](https://www.binepad.com/product-page/bnk9)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make binepad/bnk9:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make binepad/bnk9:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0x0) in the matrix (the 'knob' / rotary encoder) and plug in the keyboard.
|
||||
* **Physical reset button**: Briefly press the PCB button located on the back of the PCB.
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` *(or* `RESET` *in VIA)* if it is available.
|
1
keyboards/binepad/bnk9/rules.mk
Normal file
1
keyboards/binepad/bnk9/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
@ -52,7 +52,6 @@
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"solid_color": true,
|
||||
"solid_multisplash": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_cross": true,
|
||||
|
@ -146,7 +146,6 @@
|
||||
"val_steps": 8,
|
||||
"center_point": [124, 32],
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -14,7 +14,6 @@
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"lto": true,
|
||||
"midi": false,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
|
@ -23,7 +23,6 @@
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -14,7 +14,6 @@
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"lto": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"oled": true
|
||||
|
@ -8,6 +8,9 @@
|
||||
"pid": "0x4D45",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": true,
|
||||
@ -16,7 +19,6 @@
|
||||
"console": false,
|
||||
"encoder": false,
|
||||
"extrakey": true,
|
||||
"lto": true,
|
||||
"mousekey": false,
|
||||
"nkro": true,
|
||||
"rgblight": false
|
||||
|
@ -48,7 +48,6 @@
|
||||
"center_point": [24, 32],
|
||||
"max_brightness": 140,
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -23,7 +23,6 @@
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
|
@ -71,7 +71,6 @@
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"solid_color": true,
|
||||
"solid_multisplash": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_cross": true,
|
||||
|
20
keyboards/dnworks/numpad/config.h
Normal file
20
keyboards/dnworks/numpad/config.h
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
Copyright 2023 zeix (@itsme-zeix)
|
||||
|
||||
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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
73
keyboards/dnworks/numpad/info.json
Normal file
73
keyboards/dnworks/numpad/info.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"manufacturer": "dnworks",
|
||||
"keyboard_name": "DN Numpad Rev1",
|
||||
"maintainer": "itsme-zeix",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP5", "GP6", "GP7", "GP25"],
|
||||
"rows": ["GP11", "GP4", "GP3", "GP2", "GP1", "GP0", "GP24"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2937",
|
||||
"vid": "0x4C23"
|
||||
},
|
||||
"community_layouts": ["numpad_6x4", "ortho_6x4"],
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_6x4": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [6, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 2.25, "h": 2},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 2},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 3, "y": 4.25, "h": 2}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_6x4": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [6, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25},
|
||||
{"matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 3, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
29
keyboards/dnworks/numpad/keymaps/default/keymap.c
Normal file
29
keyboards/dnworks/numpad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2023 zeix (@itsme-zeix)
|
||||
|
||||
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 QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_ortho_6x4(
|
||||
KC_ESC, KC_APP, KC_TAB, KC_BSPC,
|
||||
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
};
|
29
keyboards/dnworks/numpad/keymaps/via/keymap.c
Normal file
29
keyboards/dnworks/numpad/keymaps/via/keymap.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2023 zeix (@itsme-zeix)
|
||||
|
||||
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 QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_ortho_6x4(
|
||||
KC_ESC, KC_APP, KC_TAB, KC_BSPC,
|
||||
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
};
|
1
keyboards/dnworks/numpad/keymaps/via/rules.mk
Normal file
1
keyboards/dnworks/numpad/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
25
keyboards/dnworks/numpad/matrix_diagram.md
Normal file
25
keyboards/dnworks/numpad/matrix_diagram.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Matrix Diagram for dnworks numpad rev1
|
||||
|
||||
```
|
||||
Top Left 2u
|
||||
┌───────┐┌───────┐
|
||||
│00 ││02 │ Top Right 2u
|
||||
└───────┘└───────┘
|
||||
┌───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │
|
||||
└───┴───┴───┴───┘
|
||||
┌───┬───┬───┬───┐
|
||||
│10 │11 │12 │63 │
|
||||
├───┼───┼───┼───┤ ┌───┐
|
||||
│20 │21 │22 │ │ │23 │
|
||||
├───┼───┼───┤33 │ ├───┤ Split Plus
|
||||
│30 │31 │32 │ │ │33 │
|
||||
├───┼───┼───┼───┤ └───┘ ┌───┐
|
||||
│40 │41 │42 │ │ │43 │
|
||||
├───┴───┼───┤53 │ ├───┤ Split Enter
|
||||
│50 │52 │ │ │53 │
|
||||
└───────┴───┴───┘ └───┘
|
||||
┌───┬───┐
|
||||
│50 │51 │ Split Zero
|
||||
└───┴───┘
|
||||
```
|
27
keyboards/dnworks/numpad/readme.md
Normal file
27
keyboards/dnworks/numpad/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# DN Numpad Rev1
|
||||
|
||||
![DN Numpad Rev1](https://i.imgur.com/OpklWTih.png)
|
||||
|
||||
PCB that supports the numpad designed by dnworks.
|
||||
|
||||
* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix)
|
||||
* Hardware Supported: DN Numpad Rev1
|
||||
* Hardware Availability: dnworks.co
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make dnworks/numpad:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make dnworks/numpad:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/dnworks/numpad/rules.mk
Normal file
1
keyboards/dnworks/numpad/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
111
keyboards/doio/kb04/info.json
Normal file
111
keyboards/doio/kb04/info.json
Normal file
@ -0,0 +1,111 @@
|
||||
{
|
||||
"manufacturer": "DOIO",
|
||||
"keyboard_name": "KB04-01",
|
||||
"maintainer": "filmstarr",
|
||||
"bootloader": "stm32duino",
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "B5", "pin_b": "B6"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B14", "B13", "B12", "B0", "A7"],
|
||||
"rows": ["B3"]
|
||||
},
|
||||
"processor": "STM32F103",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 75, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 149, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"x": 112, "y": 64, "flags": 1},
|
||||
{"x": 112, "y": 64, "flags": 1},
|
||||
{"x": 112, "y": 64, "flags": 1},
|
||||
{"x": 112, "y": 64, "flags": 1}
|
||||
],
|
||||
"max_brightness": 200,
|
||||
"sleep": true
|
||||
},
|
||||
"url": "https://www.keebmonkey.com/products/megalodon-macro-pad-with-a-knob",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x0401",
|
||||
"vid": "0xD010"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "A10"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "1!", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "2@", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "3#", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "4$", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "Encoder", "matrix": [0, 4], "x": 1.5, "y": 1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
48
keyboards/doio/kb04/keymaps/default/keymap.c
Normal file
48
keyboards/doio/kb04/keymaps/default/keymap.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* Copyright 2022 filmstarr <https://github.com/filmstarr>
|
||||
*
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_LAY0,
|
||||
_LAY1
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
L0:
|
||||
┌───┬───┬───┬───┐ ┌───┐
|
||||
│MO1│Prv│Ply│Nxt│ │Mut│
|
||||
└───┴───┴───┴───┘ └───┘
|
||||
L1:
|
||||
┌───┬───┬───┬───┐ ┌───┐
|
||||
│ │Hud│Tog│Mod│ │ │
|
||||
└───┴───┴───┴───┘ └───┘
|
||||
*/
|
||||
[_LAY0] = LAYOUT(
|
||||
MO(_LAY1), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE
|
||||
),
|
||||
[_LAY1] = LAYOUT(
|
||||
KC_TRNS, RGB_HUD, RGB_TOG, RGB_MOD, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
1
keyboards/doio/kb04/keymaps/default/rules.mk
Normal file
1
keyboards/doio/kb04/keymaps/default/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
48
keyboards/doio/kb04/keymaps/via/keymap.c
Normal file
48
keyboards/doio/kb04/keymaps/via/keymap.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* Copyright 2022 filmstarr <https://github.com/filmstarr>
|
||||
*
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_LAY0,
|
||||
_LAY1
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
L0:
|
||||
┌───┬───┬───┬───┐ ┌───┐
|
||||
│MO1│Prv│Ply│Nxt│ │Mut│
|
||||
└───┴───┴───┴───┘ └───┘
|
||||
L1:
|
||||
┌───┬───┬───┬───┐ ┌───┐
|
||||
│ │Hud│Tog│Mod│ │ │
|
||||
└───┴───┴───┴───┘ └───┘
|
||||
*/
|
||||
[_LAY0] = LAYOUT(
|
||||
MO(_LAY1), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE
|
||||
),
|
||||
[_LAY1] = LAYOUT(
|
||||
KC_TRNS, RGB_HUD, RGB_TOG, RGB_MOD, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
2
keyboards/doio/kb04/keymaps/via/rules.mk
Normal file
2
keyboards/doio/kb04/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
27
keyboards/doio/kb04/readme.md
Normal file
27
keyboards/doio/kb04/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# doio/kb04
|
||||
|
||||
![doio/kb04](https://i.imgur.com/lqABZw4h.png)
|
||||
|
||||
A macropad that have 4-key keyboard made by DOIO, which controlled by an APM32F103CBT6 chipset. The keyboard features per-key RGB and 1 encoder.
|
||||
|
||||
* Keyboard Maintainer: [filmstarr](https://github.com/filmstarr)
|
||||
* Hardware Supported: DOIO Knob Board - KB04
|
||||
* Hardware Availability: [keebmonkey.com](https://www.keebmonkey.com/products/megalodon-macro-pad-with-a-knob)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
qmk compile -kb doio/kb04 -km default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
qmk flash -kb doio/kb04 -km default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/doio/kb04/rules.mk
Normal file
1
keyboards/doio/kb04/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
109
keyboards/doio/kb16/info.json
Normal file
109
keyboards/doio/kb16/info.json
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
"keyboard_name": "KB16-01",
|
||||
"manufacturer": "DOIO",
|
||||
"maintainer": "HorrorTroll",
|
||||
"usb": {
|
||||
"vid": "0xD010",
|
||||
"pid": "0x1601",
|
||||
"force_nkro": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"nkro": true,
|
||||
"oled": true,
|
||||
"rgb_matrix": true,
|
||||
"encoder": true
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 200,
|
||||
"default": {
|
||||
"animation": "cycle_up_down"
|
||||
},
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 75, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 2], "x": 149, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 3], "x": 224, "y": 0, "flags": 1},
|
||||
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 75, "y": 21, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 149, "y": 21, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 224, "y": 21, "flags": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 75, "y": 43, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 149, "y": 43, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 224, "y": 43, "flags": 1},
|
||||
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
|
||||
{"matrix": [3, 1], "x": 75, "y": 64, "flags": 1},
|
||||
{"matrix": [3, 2], "x": 149, "y": 64, "flags": 1},
|
||||
{"matrix": [3, 3], "x": 224, "y": 64, "flags": 1}
|
||||
],
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_pinwheel": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"multisplash": true,
|
||||
"solid_multisplash": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
|
||||
{"matrix": [1, 4], "x": 6, "y": 0},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
|
||||
{"matrix": [2, 4], "x": 5.375, "y": 2.5},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -48,22 +48,3 @@
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
led_config_t g_led_config = { {
|
||||
{ 0, 1, 2, 3, NO_LED },
|
||||
{ 4, 5, 6, 7, NO_LED },
|
||||
{ 8, 9, 10, 11, NO_LED },
|
||||
{ 12, 13, 14, 15, NO_LED }
|
||||
}, {
|
||||
{0 , 0}, {75 , 0}, {149, 0}, {224, 0},
|
||||
{0 , 21}, {75 , 21}, {149, 21}, {224, 21},
|
||||
{0 , 43}, {75 , 43}, {149, 43}, {224, 43},
|
||||
{0 , 64}, {75 , 64}, {149, 64}, {224, 64},
|
||||
}, {
|
||||
1, 1, 1, 1,
|
||||
1, 4, 4, 1,
|
||||
1, 4, 4, 1,
|
||||
1, 1, 1, 1,
|
||||
} };
|
||||
#endif
|
||||
|
@ -1,56 +1,16 @@
|
||||
{
|
||||
"keyboard_name": "KB16-01",
|
||||
"manufacturer": "DOIO",
|
||||
"url": "",
|
||||
"maintainer": "HorrorTroll",
|
||||
"usb": {
|
||||
"vid": "0xD010",
|
||||
"pid": "0x1601",
|
||||
"device_version": "0.0.1",
|
||||
"force_nkro": true
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_pinwheel": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"multisplash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "cycle_up_down"
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 200
|
||||
"features": {
|
||||
"grave_esc": false,
|
||||
"space_cadet": false,
|
||||
"magic": false
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F5", "F4", "F1", "F0", "B7"],
|
||||
"rows": ["D5", "D4", "D3", "D2"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "F7", "pin_b": "E6"},
|
||||
@ -62,36 +22,5 @@
|
||||
"pin": "F6"
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
|
||||
{"matrix": [1, 4], "x": 6, "y": 0},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
|
||||
{"matrix": [2, 4], "x": 5.375, "y": 2.5},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
"bootloader": "atmel-dfu"
|
||||
}
|
||||
|
@ -1,140 +0,0 @@
|
||||
/* Copyright 2022 DOIO
|
||||
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||
*
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
// OLED animation
|
||||
#include "./lib/layer_status/layer_status.h"
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN,
|
||||
_FN1,
|
||||
_FN2
|
||||
};
|
||||
|
||||
// enum layer_keycodes { };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ 5 │ 6 │ 7 │ 8 │
|
||||
├───┼───┼───┼───┤
|
||||
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||
├───┼───┼───┼───┤ │Mut│
|
||||
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ % │ ^ │ & │ * │
|
||||
├───┼───┼───┼───┤
|
||||
│ ( │ ) │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_BASE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ │ │ │ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ │ │ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│ │ │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN] = LAYOUT(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, TO(_FN1),
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ │ │ │ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ │ │ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│ │ │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, TO(_FN2),
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│Spi│Spd│ │ │ │ │ │TO0│
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│Sai│Sad│ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│Tog│Mod│Hui│ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │Vai│Hud│Vad│ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN2] = LAYOUT(
|
||||
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
|
||||
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
|
||||
_______, RGB_VAI, RGB_HUD, RGB_VAD
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
render_layer_status();
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
};
|
||||
#endif
|
@ -1,28 +1,2 @@
|
||||
SRC += ./lib/layer_status/layer_status.c
|
||||
SRC += ./lib/logo.c
|
||||
|
||||
# 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 = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# Additional thing to reduce compiled size
|
||||
LTO_ENABLE = yes
|
||||
SPACE_CADET_ENABLE = no
|
||||
|
||||
# OLED enabled
|
||||
OLED_ENABLE = yes
|
||||
|
||||
# RGB Matrix enabled
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
|
||||
# Encoder enabled
|
||||
ENCODER_ENABLE = yes
|
||||
|
@ -22,7 +22,4 @@
|
||||
#define I2C1_SCL_PIN B10
|
||||
#define I2C1_SDA_PIN B11
|
||||
#define I2C_DRIVER I2CD2
|
||||
|
||||
/* Use the custom font */
|
||||
#define OLED_FONT_H "./lib/glcdfont.c"
|
||||
#endif
|
||||
|
@ -1,56 +1,11 @@
|
||||
{
|
||||
"keyboard_name": "KB16-01",
|
||||
"manufacturer": "DOIO",
|
||||
"url": "",
|
||||
"maintainer": "HorrorTroll",
|
||||
"usb": {
|
||||
"vid": "0xD010",
|
||||
"pid": "0x1601",
|
||||
"device_version": "0.0.2",
|
||||
"force_nkro": true
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_pinwheel": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"multisplash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "cycle_up_down"
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 200
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B14", "B13", "B12", "B0", "A7"],
|
||||
"rows": ["B3", "B4", "B9", "B8"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "B5", "pin_b": "B6"},
|
||||
@ -62,36 +17,5 @@
|
||||
"pin": "A10"
|
||||
},
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
|
||||
{"matrix": [1, 4], "x": 6, "y": 0},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
|
||||
{"matrix": [2, 4], "x": 5.375, "y": 2.5},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
"bootloader": "stm32duino"
|
||||
}
|
||||
|
@ -1,140 +0,0 @@
|
||||
/* Copyright 2022 DOIO
|
||||
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||
*
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
// OLED animation
|
||||
#include "./lib/layer_status/layer_status.h"
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN,
|
||||
_FN1,
|
||||
_FN2
|
||||
};
|
||||
|
||||
// enum layer_keycodes { };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ 5 │ 6 │ 7 │ 8 │
|
||||
├───┼───┼───┼───┤
|
||||
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||
├───┼───┼───┼───┤ │Mut│
|
||||
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ % │ ^ │ & │ * │
|
||||
├───┼───┼───┼───┤
|
||||
│ ( │ ) │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_BASE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ │ │ │ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ │ │ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│ │ │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN] = LAYOUT(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, TO(_FN1),
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│ │ │ │ │ │ │ │ │
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│ │ │ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│ │ │ │ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │ │ │ │ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, TO(_FN2),
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||
│Spi│Spd│ │ │ │ │ │TO0│
|
||||
├───┼───┼───┼───┤ └───┘ └───┘
|
||||
│Sai│Sad│ │ │
|
||||
├───┼───┼───┼───┤
|
||||
│Tog│Mod│Hui│ │ ┌───┐
|
||||
├───┼───┼───┼───┤ │ │
|
||||
│ │Vai│Hud│Vad│ └───┘
|
||||
└───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 */
|
||||
[_FN2] = LAYOUT(
|
||||
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
|
||||
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
|
||||
_______, RGB_VAI, RGB_HUD, RGB_VAD
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
render_layer_status();
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
};
|
||||
#endif
|
@ -3,25 +3,3 @@ SRC += ./lib/logo.c
|
||||
|
||||
# Configure for 128K flash
|
||||
MCU_LDSCRIPT = STM32F103xB
|
||||
|
||||
# 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 = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# OLED enabled
|
||||
OLED_ENABLE = yes
|
||||
|
||||
# RGB Matrix enabled
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
|
||||
# Encoder enabled
|
||||
ENCODER_ENABLE = yes
|
||||
|
@ -29,7 +29,6 @@
|
||||
"hue_wave": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"raindrops": true,
|
||||
"solid_color": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"solid_reactive_simple": true,
|
||||
|
@ -17,7 +17,6 @@
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
|
||||
#define RGBLIGHT_DEFAULT_SPD 15
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
@ -25,6 +25,9 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"speed": 15
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -16,4 +16,3 @@
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
|
||||
#define RGBLIGHT_DEFAULT_SPD 10
|
||||
|
@ -37,6 +37,9 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"speed": 10
|
||||
}
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
|
@ -9,11 +9,13 @@
|
||||
{"pin_a": "F0", "pin_b": "F1", "resolution": 2}
|
||||
]
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"encoder": false,
|
||||
"extrakey": true,
|
||||
"lto": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
|
@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
|
@ -21,7 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
|
@ -30,6 +30,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
/* Define less important options */
|
||||
|
||||
/*
|
||||
|
@ -26,6 +26,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
/* Define less important options */
|
||||
|
||||
/*
|
||||
|
@ -30,6 +30,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
/* Define less important options */
|
||||
|
||||
/*
|
||||
|
@ -30,6 +30,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
/* Define less important options */
|
||||
|
||||
/*
|
||||
|
@ -30,6 +30,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLIGHT_DEFAULT_SPD 144
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
|
||||
|
||||
/* Define less important options */
|
||||
|
||||
/*
|
||||
|
@ -30,6 +30,10 @@
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_swirl",
|
||||
"speed": 144
|
||||
}
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
|
@ -16,8 +16,4 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_DEFAULT_HUE 234
|
||||
|
||||
#define RGBLIGHT_DEFAULT_VAL 190
|
||||
|
||||
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + 2
|
||||
|
@ -35,6 +35,10 @@
|
||||
"rainbow_swirl": true,
|
||||
"snake": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"default": {
|
||||
"hue": 234,
|
||||
"val": 190
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
|
7
keyboards/fs_streampad/config.h
Normal file
7
keyboards/fs_streampad/config.h
Normal file
@ -0,0 +1,7 @@
|
||||
// Copyright 2023 Matthijs Muller
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
95
keyboards/fs_streampad/info.json
Normal file
95
keyboards/fs_streampad/info.json
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
"manufacturer": "Forward Slash",
|
||||
"keyboard_name": "FS streampad",
|
||||
"maintainer": "Matthijs Muller",
|
||||
"url": "https://github.com/smollchungus",
|
||||
"usb": {
|
||||
"vid": "0x5363",
|
||||
"pid": "0x3333",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"rows": ["GP10", "GP9", "GP23"],
|
||||
"cols": ["GP25", "GP26", "GP24"]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 }
|
||||
]
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP8",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "cycle_left_right"
|
||||
},
|
||||
"sleep": true,
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "flags": 4, "x": 0, "y": 0 },
|
||||
{"matrix": [0, 1], "flags": 4, "x": 112, "y": 0 },
|
||||
{"matrix": [0, 2], "flags": 4, "x": 224, "y": 0 },
|
||||
{"matrix": [1, 2], "flags": 4, "x": 224, "y": 32},
|
||||
{"matrix": [1, 1], "flags": 4, "x": 112, "y": 32},
|
||||
{"matrix": [1, 0], "flags": 4, "x": 0, "y": 32},
|
||||
{"matrix": [2, 0], "flags": 4, "x": 0, "y": 64},
|
||||
{"matrix": [2, 1], "flags": 4, "x": 112, "y": 64},
|
||||
{"matrix": [2, 2], "flags": 4, "x": 224, "y": 64}
|
||||
]
|
||||
}
|
||||
}
|
19
keyboards/fs_streampad/keymaps/default/keymap.c
Normal file
19
keyboards/fs_streampad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright 2023 Matthijs Muller
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_1, KC_2, KC_3,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_7, KC_8, MO(1)
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG, RGB_MOD, RGB_RMOD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
19
keyboards/fs_streampad/keymaps/via/keymap.c
Normal file
19
keyboards/fs_streampad/keymaps/via/keymap.c
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright 2023 Matthijs Muller
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_1, KC_2, KC_3,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_7, KC_8, MO(1)
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG, RGB_MOD, RGB_RMOD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user