Initial checkin

- trying to port over the old config to info.json data driven config
- stopped for tonight
This commit is contained in:
Victor 2024-05-12 23:34:04 -05:00
parent 6a086705c1
commit a274d43796
Failed to generate hash of commit
6 changed files with 186 additions and 0 deletions

55
keyboards/klor/config.h Normal file
View file

@ -0,0 +1,55 @@
#pragma once
// Most configuration will be found in info.json
// ┌─────────────────────────────────────────────────┐
// │ o l e d s │
// └─────────────────────────────────────────────────┘
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X64
#endif
// ┌─────────────────────────────────────────────────┐
// │ a u d i o │
// └─────────────────────────────────────────────────┘
#define AUDIO_PIN B5
#define AUDIO_VOICES
#define AUDIO_DAC_SAMPLE_MAX 4095U
#define AUDIO_VOICE_DEFAULT butts_fader
#ifdef AUDIO_ENABLE
# define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
# define STARTUP_SONG SONG(KLOR_SOUND)
# define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
# define GOODBYE_SONG SONG(BYE_SOUND)
# define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) }
#endif
// ┌─────────────────────────────────────────────────┐
// │ h a p t i c f e e d b a c k │
// └─────────────────────────────────────────────────┘
#ifdef HAPTIC_ENABLE
# define FB_ERM_LRA 1
# define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7
# define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3
# define RATED_VOLTAGE 2
# define V_PEAK 2.8
# define V_RMS 2.0
# define F_LRA 150 // resonance freq
# define DRV_GREETING alert_750ms
#endif
// ┌─────────────────────────────────────────────────┐
// │ t r a c k b a l l │
// └─────────────────────────────────────────────────┘
#ifdef POINTING_DEVICE_ENABLE
# define PAW3204_SCLK_PIN D0
# define PAW3204_SDIO_PIN D1
# define POINTING_DEVICE_AUTO_MOUSE_ENABLE
# define AUTO_MOUSE_DELAY 300
#endif

90
keyboards/klor/info.json Normal file
View file

@ -0,0 +1,90 @@
{
"keyboard_name": "KLOR",
"url": "https://github.com/GEIGEIGEIST/KLOR",
"manufacturer": "GEIST",
"usb": {
"vid": "0x3A3C",
"pid": "0x0001",
"device_version": "1.3.0"
},
"processor": "RP2040",
"bootloader": "rp2040",
"matrix_pins": {
"cols": [ "F6", "F7", "B1", "B3", "B2", "B6" ],
"rows": [ "C6", "D7", "E6", "B4" ]
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"encoder": true,
"oled": true
},
"build": {
"lto": true
},
"encoder": {
"rotary": [
{
"pin_a": "F4",
"pin_b": "F5",
"resolution": 2
}
]
},
"split": {
"enabled": true,
"soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
{
"pin_a": "F4",
"pin_b": "F5",
"resolution": 2
}
]
}
},
"transport": {
"sync": {
"matrix_state": true,
"oled": true,
"haptic": true
}
}
},
"rgb_matrix": {
"driver": "ws2812",
"led_count": 42,
"split_count": [21,21],
"max_brightness": 180,
"sleep": true
},
"ws2812": {
"pin": "D3",
"driver": "vendor"
},
"layouts": {
"LAYOUT_polydactyl": {
"layout": [
{"x":3, "y":0.25}, {"x":13, "y":0.25}, {"x":4, "y":0.75}, {"x":12, "y":0.75}, {"x":5, "y":1}, {"x":11, "y":1}, {"x":3, "y":1.25}, {"x":13, "y":1.25}, {"x":4, "y":1.75}, {"x":12, "y":1.75}, {"x":5, "y":2}, {"x":11, "y":2}, {"x":3, "y":2.25}, {"x":13, "y":2.25}, {"x":4, "y":2.75}, {"x":12, "y":2.75}, {"x":5, "y":3}, {"x":11, "y":3}, {"x":6.25, "y":3.25}, {"x":9.75, "y":3.25}, {"x":-0.5, "y":-0.4500000000000002}, {"x":-0.5, "y":-4.15}, {"x":-0.5, "y":-6.15}, {"x":-0.5, "y":-5.15}, {"x":-0.5, "y":-4.15}, {"x":-0.25, "y":-5.5}, {"x":0.75, "y":-4.7}, {"x":-0.25, "y":-4.500000000000001}, {"x":0.75, "y":-3.7000000000000006}, {"x":-0.25, "y":-3.5000000000000004}, {"x":-0.5, "y":-7.200000000000001}, {"x":-0.5, "y":-7.200000000000001}, {"x":-0.5, "y":-7.200000000000001}, {"x":-0.5, "y":-10.9}, {"x":-0.5, "y":-10.9}, {"x":-0.5, "y":-10.9}, {"x":-1.0, "y":-12.250000000000002}, {"x":-2, "y":-11.450000000000001}, {"x":-1.0, "y":-11.250000000000002}, {"x":-2, "y":-10.450000000000001}, {"x":-1.0, "y":-10.250000000000002}, {"x":-0.75, "y":-12.250000000000002}, {"x":-0.75, "y":-11.250000000000002}, {"x":-0.75, "y":-10.250000000000002}
]
},
"LAYOUT_konrad": {
"layout": [
{"x":3, "y":0.25}, {"x":13, "y":0.25}, {"x":4, "y":0.75}, {"x":12, "y":0.75}, {"x":5, "y":1}, {"x":11, "y":1}, {"x":3, "y":1.25}, {"x":13, "y":1.25}, {"x":4, "y":1.75}, {"x":12, "y":1.75}, {"x":5, "y":2}, {"x":11, "y":2}, {"x":3, "y":2.25}, {"x":13, "y":2.25}, {"x":4, "y":2.75}, {"x":12, "y":2.75}, {"x":5, "y":3}, {"x":11, "y":3}, {"x":6.25, "y":3.25}, {"x":9.75, "y":3.25}, {"x":-0.5, "y":-0.4499999999999993}, {"x":-0.5, "y":-4.149999999999999}, {"x":-0.5, "y":-6.149999999999999}, {"x":-0.5, "y":-5.149999999999999}, {"x":-0.5, "y":-4.149999999999999}, {"x":-0.25, "y":-5.499999999999999}, {"x":0.75, "y":-4.699999999999998}, {"x":-0.25, "y":-4.499999999999999}, {"x":0.75, "y":-3.6999999999999984}, {"x":-0.25, "y":-3.4999999999999987}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-10.899999999999999}, {"x":-0.5, "y":-10.899999999999999}, {"x":-1.0, "y":-12.249999999999998}, {"x":-2, "y":-11.449999999999998}, {"x":-1.0, "y":-11.249999999999998}, {"x":-2, "y":-10.449999999999998}, {"x":-1.0, "y":-10.249999999999998}, {"x":-0.75, "y":-12.249999999999998}, {"x":-0.75, "y":-11.249999999999998}, {"x":-0.75, "y":-10.249999999999998}
]
},
"LAYOUT_yubitsume": {
"layout": [
{"x":2.25, "y":0.25}, {"x":12.25, "y":0.25}, {"x":3.25, "y":0.75}, {"x":11.25, "y":0.75}, {"x":4.25, "y":1}, {"x":10.25, "y":1}, {"x":2.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":3.25, "y":1.75}, {"x":11.25, "y":1.75}, {"x":4.25, "y":2}, {"x":10.25, "y":2}, {"x":2.25, "y":2.25}, {"x":12.25, "y":2.25}, {"x":3.25, "y":2.75}, {"x":11.25, "y":2.75}, {"x":4.25, "y":3}, {"x":10.25, "y":3}, {"x":5.5, "y":3.25}, {"x":9, "y":3.25}, {"x":-0.5, "y":-0.4499999999999993}, {"x":-0.5, "y":-4.149999999999999}, {"x":-1.25, "y":-6.149999999999999}, {"x":-1.25, "y":-5.149999999999999}, {"x":-1.25, "y":-4.149999999999999}, {"x":-1.0, "y":-5.499999999999999}, {"x":-1.0, "y":-4.499999999999999}, {"x":-1.0, "y":-3.4999999999999987}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-7.199999999999999}, {"x":-0.5, "y":-10.899999999999999}, {"x":-0.5, "y":-10.899999999999999}, {"x":-0.5, "y":-10.899999999999999}, {"x":-1.75, "y":-12.25}, {"x":-1.75, "y":-11.25}, {"x":-1.75, "y":-10.25}, {"x":-1.5, "y":-12.25}, {"x":-1.5, "y":-11.25}, {"x":-1.5, "y":-10.25}
]
},
"LAYOUT_saegewerk": {
"layout": [
{"x":2.25, "y":0.25}, {"x":12.25, "y":0.25}, {"x":3.25, "y":0.75}, {"x":11.25, "y":0.75}, {"x":4.25, "y":1}, {"x":10.25, "y":1}, {"x":2.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":3.25, "y":1.75}, {"x":11.25, "y":1.75}, {"x":4.25, "y":2}, {"x":10.25, "y":2}, {"x":2.25, "y":2.25}, {"x":12.25, "y":2.25}, {"x":3.25, "y":2.75}, {"x":11.25, "y":2.75}, {"x":4.25, "y":3}, {"x":10.25, "y":3}, {"x":5.5, "y":3.25}, {"x":9, "y":3.25}, {"x":-0.5, "y":-0.4499999999999993}, {"x":-0.5, "y":-4.149999999999999}, {"x":-1.25, "y":-6.149999999999999}, {"x":-1.25, "y":-5.149999999999999}, {"x":-1.25, "y":-4.149999999999999}, {"x":-1.0, "y":-5.499999999999999}, {"x":-1.0, "y":-4.499999999999999}, {"x":-1.0, "y":-3.4999999999999987}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-7.199999999999998}, {"x":-0.5, "y":-10.899999999999999}, {"x":-0.5, "y":-10.899999999999999}, {"x":-1.75, "y":-12.249999999999998}, {"x":-1.75, "y":-11.249999999999998}, {"x":-1.75, "y":-10.249999999999998}, {"x":-1.5, "y":-12.249999999999998}, {"x":-1.5, "y":-11.249999999999998}, {"x":-1.5, "y":-10.249999999999998}
]
}
}
}

0
keyboards/klor/klor.c Normal file
View file

0
keyboards/klor/klor.h Normal file
View file

26
keyboards/klor/readme.md Normal file
View file

@ -0,0 +1,26 @@
```text
█ █ █ ▄▄▄▀▀▀▀▀▀▄▄▄ █▀▀▀▀▀▀▀▀▀▀█
█ █ █ ▄▀ ▀▄ █ █
█ █ █ ▄▀ ▀▄ █ █
█ █ █ █ █ █ █
█ █ █ █ █ █ █
█ █ █ █ █ █▄▄▄▄▄▄▄▄▄▄█
█ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █
█ █ █ █ ▀▄ ▄▀ █ █
██ █ █ ▀▄ ▄▀ █ █
█ █ █▄▄▄▄▄▄▄▄ ▀▀▀▄▄▄▄▄▄▀▀▀ █ █
```
# KLOR split keyboard
KLOR is 42 keys column-staggered split keyboard made by @geigeigeist. It supports a per key RGB matrix, encoders, OLED displays, haptic feedback, audio, a Pixart Paw3204 trackball and four different layouts, through brake off parts.
It's schematics are based on the Sofle, while the layout is based on the Yacc46.
t4croun: this is my attempt at modernizing @geigeigeist's keymap. The repo has not been updated in a few years and QMK has introduced breaking changes. His repo can be found [here](https://github.com/GEIGEIGEIST/qmk-config-klor). Note: Focusing on defining my saegewerk configuration as that is what I have
You can use this command to compile the firmware
`qmk compile -kb klor -km default`
and this command if you want to compile the firmware for a RP2040 based MCU
`qmk compile -kb klor/2040 -km default`

15
keyboards/klor/rules.mk Normal file
View file

@ -0,0 +1,15 @@
#HAPTIC FEEDBACK
HAPTIC_DRIVER = drv2605l
#PER KEY RGB
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
#SPACE SAVING
AUDIO_ENABLE = no
MUSIC_ENABLE = no
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
SPACE_CADET_ENABLE = no
GRAVE_ESC_ENABLE = no