[Keyboard] Convert most of sinc to data driven info.json (#18481)
This commit is contained in:
parent
1dd15a8f22
commit
26c3e877c7
10 changed files with 124 additions and 85 deletions
|
@ -5,6 +5,24 @@
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0xCB10"
|
"vid": "0xCB10"
|
||||||
},
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"protocol": "atmel-dfu",
|
||||||
|
"features": {
|
||||||
|
"audio": false,
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": false,
|
||||||
|
"nkro": false,
|
||||||
|
"unicode": false,
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"lto": true,
|
||||||
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_75": {
|
"LAYOUT_75": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
|
|
@ -18,31 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
// Rows are doubled-up
|
|
||||||
#define MATRIX_ROWS 12
|
|
||||||
#define MATRIX_COLS 9
|
|
||||||
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
// wiring of each half
|
// wiring of each half
|
||||||
#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7, B0 }
|
|
||||||
#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 }
|
|
||||||
#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7, B0 }
|
|
||||||
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 }
|
|
||||||
#define SPLIT_HAND_PIN F7
|
#define SPLIT_HAND_PIN F7
|
||||||
#define ENCODERS_PAD_A { F5 }
|
|
||||||
#define ENCODERS_PAD_B { F6 }
|
|
||||||
#define ENCODERS_PAD_A_RIGHT { D6 }
|
|
||||||
#define ENCODERS_PAD_B_RIGHT { D4 }
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B5
|
|
||||||
#define CAPS_LOCK_LED_PIN B6
|
|
||||||
|
|
||||||
/* serial.c configuration for split keyboard */
|
|
||||||
#define SOFT_SERIAL_PIN D0
|
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -50,10 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
/* ws2812 RGB LED */
|
/* ws2812 RGB LED */
|
||||||
#define RGB_DI_PIN E6
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
|
||||||
#define RGBLED_NUM 16 // Number of LEDs
|
|
||||||
#define RGBLED_SPLIT { 8, 8 }
|
|
||||||
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
|
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
|
||||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
|
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,55 @@
|
||||||
"usb": {
|
"usb": {
|
||||||
"pid": "0x1267",
|
"pid": "0x1267",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"rgblight": true,
|
||||||
|
"backlight": true,
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "B6"
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"soft_serial_pin": "D0",
|
||||||
|
"transport": {
|
||||||
|
"protocol": "serial"
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"right": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "D6", "pin_b": "D4" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"right":{
|
||||||
|
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
|
||||||
|
"rows": ["B3", "B2", "B6", "B4", "D7", "B0"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F4", "F1", "F0", "B7", "B3", "D2", "D3", "D5", "D4"],
|
||||||
|
"rows": ["B1", "B2", "C7", "B4", "D7", "B0"],
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "F5", "pin_b": "F6" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"backlight":{
|
||||||
|
"pin": "B5",
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"pin": "E6",
|
||||||
|
"led_count" : 16,
|
||||||
|
"split_count": [8, 8],
|
||||||
|
"animations": {
|
||||||
|
"all": true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
#include "split_util.h"
|
#include "split_util.h"
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
setPinOutput(CAPS_LOCK_LED_PIN);
|
setPinOutput(LED_CAPS_LOCK_PIN);
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool led_update_kb(led_t led_state) {
|
bool led_update_kb(led_t led_state) {
|
||||||
// Only update if left half
|
// Only update if left half
|
||||||
if (isLeftHand && led_update_user(led_state)) {
|
if (isLeftHand && led_update_user(led_state)) {
|
||||||
writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
|
writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
BACKLIGHT_ENABLE = yes
|
# This file intentionally left blank
|
||||||
RGBLIGHT_ENABLE = yes
|
|
||||||
ENCODER_ENABLE = yes
|
|
||||||
|
|
|
@ -16,31 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
// Rows are doubled-up
|
|
||||||
#define MATRIX_ROWS 12
|
|
||||||
#define MATRIX_COLS 9
|
|
||||||
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
// wiring of each half
|
// wiring of each half
|
||||||
#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7, B0 }
|
|
||||||
#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 }
|
|
||||||
#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7, B0 }
|
|
||||||
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 }
|
|
||||||
#define SPLIT_HAND_PIN F7
|
#define SPLIT_HAND_PIN F7
|
||||||
#define ENCODERS_PAD_A { F5 }
|
|
||||||
#define ENCODERS_PAD_B { F6 }
|
|
||||||
#define ENCODERS_PAD_A_RIGHT { D6 }
|
|
||||||
#define ENCODERS_PAD_B_RIGHT { D4 }
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B5
|
|
||||||
#define CAPS_LOCK_LED_PIN B6
|
|
||||||
|
|
||||||
/* serial.c configuration for split keyboard */
|
|
||||||
#define SOFT_SERIAL_PIN D0
|
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -48,10 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
/* ws2812 RGB LED */
|
/* ws2812 RGB LED */
|
||||||
#define RGB_DI_PIN E6
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
|
||||||
#define RGBLED_NUM 16 // Number of LEDs
|
|
||||||
#define RGBLED_SPLIT { 8, 8 }
|
|
||||||
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
|
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
|
||||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
|
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,55 @@
|
||||||
"usb": {
|
"usb": {
|
||||||
"pid": "0x2267",
|
"pid": "0x2267",
|
||||||
"device_version": "2.0.0"
|
"device_version": "2.0.0"
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"rgblight": true,
|
||||||
|
"backlight": true,
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "B6"
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"soft_serial_pin": "D0",
|
||||||
|
"transport": {
|
||||||
|
"protocol": "serial"
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"right": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "D6", "pin_b": "D4" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"right":{
|
||||||
|
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
|
||||||
|
"rows": ["B3", "B2", "B6", "B4", "D7", "B0"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F4", "F1", "F0", "B7", "B3", "D2", "D3", "D5", "D4"],
|
||||||
|
"rows": ["B1", "B2", "C7", "B4", "D7", "B0"],
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "F5", "pin_b": "F6" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"backlight":{
|
||||||
|
"pin": "B5",
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"pin": "E6",
|
||||||
|
"led_count" : 16,
|
||||||
|
"split_count": [8, 8],
|
||||||
|
"animations": {
|
||||||
|
"all": true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,14 +18,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "split_util.h"
|
#include "split_util.h"
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
setPinOutput(CAPS_LOCK_LED_PIN);
|
setPinOutput(LED_CAPS_LOCK_PIN);
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool led_update_kb(led_t led_state) {
|
bool led_update_kb(led_t led_state) {
|
||||||
// Only update if left half
|
// Only update if left half
|
||||||
if (isLeftHand && led_update_user(led_state)) {
|
if (isLeftHand && led_update_user(led_state)) {
|
||||||
writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
|
writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
BACKLIGHT_ENABLE = yes
|
# This file intentionally left blank
|
||||||
RGBLIGHT_ENABLE = yes
|
|
||||||
ENCODER_ENABLE = yes
|
|
||||||
|
|
|
@ -1,22 +1 @@
|
||||||
# MCU name
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Bootloader selection
|
|
||||||
BOOTLOADER = atmel-dfu
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
|
||||||
LTO_ENABLE = yes
|
|
||||||
SPLIT_KEYBOARD = yes
|
|
||||||
|
|
||||||
DEFAULT_FOLDER = keebio/sinc/rev1
|
DEFAULT_FOLDER = keebio/sinc/rev1
|
||||||
|
|
Loading…
Reference in a new issue