Skip to content

Commit

Permalink
add k03 pro rev2
Browse files Browse the repository at this point in the history
  • Loading branch information
danil-tolkachev committed Feb 18, 2025
1 parent 81a1fa1 commit e594b6f
Show file tree
Hide file tree
Showing 20 changed files with 237 additions and 15 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/build-ergohaven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,9 @@ jobs:
qmk compile -kb ergohaven/macropad/rev2 -km v2_ccw
qmk compile -kb ergohaven/trackball -km v1
qmk compile -kb ergohaven/trackball -km v2
qmk compile -kb ergohaven/k03pro/43mm -km v1
qmk compile -kb ergohaven/k03pro/65mm -km v1
qmk compile -kb ergohaven/k03pro/43mm -km v1_no_zoom
qmk compile -kb ergohaven/k03pro/65mm -km v1_no_zoom
qmk compile -kb ergohaven/k03pro/rev1/43mm -km v1
qmk compile -kb ergohaven/k03pro/rev1/65mm -km v1
qmk compile -kb ergohaven/k03pro/rev2 -km v2
- uses: actions/upload-artifact@v4
name: Upload
Expand Down
1 change: 1 addition & 0 deletions keyboards/ergohaven/k03pro/halconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

#define HAL_USE_SPI TRUE
#define HAL_USE_PWM TRUE
#define HAL_USE_I2C TRUE

#include_next <halconf.h>
2 changes: 0 additions & 2 deletions keyboards/ergohaven/k03pro/keymaps/v1/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,3 @@
#define VIAL_KEYBOARD_UID {0x26, 0xFC, 0xBC, 0x9E, 0x4E, 0x73, 0xD5, 0xE2}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
#define VIAL_UNLOCK_COMBO_COLS { 5, 4 }

#define AZOTEQ_IQS5XX_ZOOM_ENABLE true
1 change: 0 additions & 1 deletion keyboards/ergohaven/k03pro/keymaps/v1_no_zoom/rules.mk

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,3 @@
#define VIAL_KEYBOARD_UID {0x26, 0xFC, 0xBC, 0x9E, 0x4E, 0x73, 0xD5, 0xE2}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
#define VIAL_UNLOCK_COMBO_COLS { 5, 4 }

#define AZOTEQ_IQS5XX_ZOOM_ENABLE false
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

),
};

#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______)},
[2] = {ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______)},
[3] = {ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______)},
};
#endif
3 changes: 3 additions & 0 deletions keyboards/ergohaven/k03pro/keymaps/v2/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
VIAL_ENABLE = yes
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
#include "keyboards/ergohaven/vial_custom_keycodes.json"
"layouts": {
"labels": [
"Hide encoder L1",
"Hide encoder L2",
"Hide encoder L3",
"Hide encoder R1",
"Hide encoder R2",
"Hide encoder R3",
[ "Auto mouse layer", "Off", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15" ],
"Invert scroll",
[ "DPI", "320", "400", "500", "630", "800", "1000" ],
Expand All @@ -15,19 +21,25 @@
[ "Text sens", "1/6", "1/8", "1/11", "1/16", "1/23", "1/32", "1/45", "1/64" ]
],
"keymap": [
[{"y":0.4},"0,5","0,4",{"y":-0.45},"0,3",{"y":-0.1},"0,2",{"y":0.1},"0,1",{"y":0.15},"0,0"],
[{"rx":1,"y":0.4},"0,5","0,4",{"y":-0.45},"0,3",{"y":-0.1},"0,2",{"y":0.1},"0,1",{"y":0.15},"0,0"],
[{"y":0.3},"1,5","1,4",{"y":-0.45},"1,3",{"y":-0.1},"1,2",{"y":0.1},"1,1",{"y":0.15},"1,0"],
[{"y":0.3},"2,5","2,4",{"y":-0.45},"2,3",{"y":-0.1},"2,2",{"y":0.1},"2,1",{"y":0.15},"2,0"],
[{"y":0.3},"3,5","3,4",{"y":-0.45},"3,3",{"y":-0.1},"3,2",{"y":0.1},"3,1",{"y":0.15},"3,0","4,0"],
[{"x":2,"y":-0.15},"4,5",{"y":-0.1},"4,4"],
[{"r":20,"rx":4.3,"ry":4.0},"4,3",{"y":-0.2},"4,2",{"y":-0.2},"4,1"],
[{"r":20,"rx":5.3,"ry":4.0},"4,3",{"y":-0.2},"4,2",{"y":-0.2},"4,1"],
[{"r":0,"rx":8,"ry":2.6},"0,1\n\n\n0,0\n\n\n\n\n\ne",{"y":1.0,"x":-1},"0,0\n\n\n0,0\n\n\n\n\n\ne"],
[{"rx":7,"ry":-0.4},"1,1\n\n\n1,0\n\n\n\n\n\ne",{"y":1.0,"x":-1},"1,0\n\n\n1,0\n\n\n\n\n\ne"],
[{"rx":0,"ry":-0.1},"2,1\n\n\n2,0\n\n\n\n\n\ne",{"y":1.0,"x":-1},"2,0\n\n\n2,0\n\n\n\n\n\ne"],

[{"r":0,"rx":11,"ry":0.1},"5,0",{"y":-0.15},"5,1",{"y":-0.1},"5,2",{"y":0.1},"5,3",{"y":0.45},"5,4","5,5"],
[{"r":0,"rx":12,"ry":0.1},"5,0",{"y":-0.15},"5,1",{"y":-0.1},"5,2",{"y":0.1},"5,3",{"y":0.45},"5,4","5,5"],
[{"y":-0.3},"6,0",{"y":-0.15},"6,1",{"y":-0.1},"6,2",{"y":0.1},"6,3",{"y":0.45},"6,4","6,5"],
[{"y":-0.3},"7,0",{"y":-0.15},"7,1",{"y":-0.1},"7,2",{"y":0.1},"7,3",{"y":0.45},"7,4","7,5"],
[{"x":-1,"y":-0.3},"9,0","8,0",{"y":-0.15},"8,1",{"y":-0.1},"8,2",{"y":0.1},"8,3",{"y":0.45},"8,4","8,5"],
[{"x":2.0,"y":-0.6},"9,4",{"y":0.15},"9,5"],
[{"r":-20,"rx":9.76,"ry":4.65},"9,1",{"y":0.2},"9,2",{"y":0.2},"9,3"]
[{"r":-20,"rx":10.76,"ry":4.65},"9,1",{"y":0.2},"9,2",{"y":0.2},"9,3"],
[{"r":0,"rx":10,"ry":2.6},"3,1\n\n\n3,0\n\n\n\n\n\ne",{"x":-1,"y":1},"3,0\n\n\n3,0\n\n\n\n\n\ne"],
[{"rx":11,"ry":-0.4},"4,1\n\n\n4,0\n\n\n\n\n\ne",{"y":1.0,"x":-1},"4,0\n\n\n4,0\n\n\n\n\n\ne"],
[{"rx":18,"ry":-0.1},"5,1\n\n\n5,0\n\n\n\n\n\ne",{"y":1.0,"x":-1},"5,0\n\n\n5,0\n\n\n\n\n\ne"]
]
}
}
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"manufacturer": "Ergohaven",
"keyboard_name": "K:03 PRO 43mm",
"keyboard_name": "K:03 PRO v1 43mm",
"maintainer": "Ergohaven",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"manufacturer": "Ergohaven",
"keyboard_name": "K:03 PRO 65mm",
"keyboard_name": "K:03 PRO v1 65mm",
"maintainer": "Ergohaven",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#define AZOTEQ_IQS5XX_HOLD_TIME 200
#define AZOTEQ_IQS5XX_TAP_TIME 175
#define AZOTEQ_IQS5XX_TAP_DISTANCE 50
#define AZOTEQ_IQS5XX_ZOOM_ENABLE false

#define I2C_DRIVER I2CD1
#define I2C1_SDA_PIN GP2
Expand Down
File renamed without changes.
77 changes: 77 additions & 0 deletions keyboards/ergohaven/k03pro/rev2/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
#pragma once

#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 5
#define BOOTMAGIC_LITE_ROW_RIGHT 5
#define BOOTMAGIC_LITE_COLUMN_RIGHT 5

/* Serial settings */
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
#define SPLIT_HAND_PIN GP29

#define POINTING_DEVICE_RIGHT
#define AZOTEQ_IQS5XX_REPORT_RATE 10
#define POINTING_DEVICE_TASK_THROTTLE_MS 10
#define AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE true
#define AZOTEQ_IQS5XX_HOLD_TIME 200
#define AZOTEQ_IQS5XX_TAP_TIME 175
#define AZOTEQ_IQS5XX_TAP_DISTANCE 50
#define AZOTEQ_IQS5XX_ZOOM_ENABLE false

#define I2C_DRIVER I2CD0
#define I2C1_SDA_PIN GP20
#define I2C1_SCL_PIN GP21

// SPI config for display
#define K03_DISPLAY_LEFT
#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP2
#define SPI_MOSI_PIN GP3
#define SPI_MISO_PIN GP4

// LCD config
#define LCD_DC_PIN GP18
#define LCD_CS_PIN GP16
#define LCD_RST_PIN GP19
#define BACKLIGHT_PWM_DRIVER PWMD0
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
#define QUANTUM_PAINTER_LVGL_USE_CUSTOM_CONF
#define QUANTUM_PAINTER_DISPLAY_TIMEOUT 0
#define QUANTUM_PAINTER_TASK_THROTTLE 50

/* split protocol settings */
#define SELECT_SOFT_SERIAL_SPEED 1
#define SPLIT_TRANSACTION_IDS_USER RPC_SYNC_TOUCH, RPC_SYNC_DISPLAY, RPC_SYNC_HID
#define SPLIT_MODS_ENABLE
#define SPLIT_ACTIVITY_ENABLE
#define SPLIT_LED_STATE_ENABLE
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_WATCHDOG_ENABLE
#define SPLIT_POINTING_ENABLE

#define RGBLIGHT_LED_COUNT 2
#define RGBLED_SPLIT {1, 1}
#define RGBLIGHT_SLEEP
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LAYERS
#define RGBLIGHT_MAX_LAYERS 16
#define RGBLIGHT_LAYERS_RETAIN_VAL
#define RGBLIGHT_DEFAULT_VAL 150
#define RGBLIGHT_LIMIT_VAL 150
#define RGBLIGHT_DEFAULT_SAT 0

#define TAP_CODE_DELAY 1

#define EH_HAS_DISPLAY
#define EH_SHORT_PRODUCT_NAME "K:03 PRO"

#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 3
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x0000025d

#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define EH_POINTING_KEYCODES

#define AZOTEQ_IQS5XX_TPS65
#define AZOTEQ_IQS5XX_ROTATION_0
113 changes: 113 additions & 0 deletions keyboards/ergohaven/k03pro/rev2/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"manufacturer": "Ergohaven",
"keyboard_name": "K:03 PRO v2",
"maintainer": "Ergohaven",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"],
"rows": ["GP5", "GP6", "GP7", "GP8", "GP9"]
},
"processor": "RP2040",
"url": "https://ergohaven.xyz",
"usb": {
"vid": "0xE126",
"pid": "0x00A1",
"device_version": "1.0.0"
},
"backlight": {
"pin": "GP17",
"levels": 10,
"breathing": false
},
"encoder": {
"rotary": [
{"pin_a": "GP27", "pin_b": "GP26", "resolution": 2},
{"pin_a": "GP25", "pin_b": "GP24", "resolution": 2},
{"pin_a": "GP23", "pin_b": "GP22", "resolution": 2}
]
},
"rgb_matrix": {
"driver": "ws2812"
},
"ws2812": {
"pin": "GP28",
"driver": "vendor"
},
"layouts": {
"LAYOUT": {
"layout": [

{"matrix": [0, 5], "x": 0, "y": 0.5, "label": "Esc"},
{"matrix": [0, 4], "x": 1, "y": 0.3, "label": "1"},
{"matrix": [0, 3], "x": 2, "y": 0.15, "label": "2"},
{"matrix": [0, 2], "x": 3, "y": 0, "label": "3"},
{"matrix": [0, 1], "x": 4, "y": 0.15, "label": "4"},
{"matrix": [0, 0], "x": 5, "y": 0.3, "label": "5"},

{"matrix": [5, 0], "x": 9.25, "y": 0.3, "label": "6"},
{"matrix": [5, 1], "x": 10.25, "y": 0.15, "label": "7"},
{"matrix": [5, 2], "x": 11.25, "y": 0, "label": "8"},
{"matrix": [5, 3], "x": 12.25, "y": 0.15, "label": "9"},
{"matrix": [5, 4], "x": 13.25, "y": 0.3, "label": "0"},
{"matrix": [5, 5], "x": 14.25, "y": 0.5, "label": "-"},

{"matrix": [1, 5], "x": 0, "y": 1.5, "label": "Tab"},
{"matrix": [1, 4], "x": 1, "y": 1.3, "label": "Q"},
{"matrix": [1, 3], "x": 2, "y": 1.15, "label": "W"},
{"matrix": [1, 2], "x": 3, "y": 1, "label": "E"},
{"matrix": [1, 1], "x": 4, "y": 1.15, "label": "R"},
{"matrix": [1, 0], "x": 5, "y": 1.3, "label": "T"},

{"matrix": [6, 0], "x": 9.25, "y": 1.3, "label": "Y"},
{"matrix": [6, 1], "x": 10.25, "y": 1.15, "label": "U"},
{"matrix": [6, 2], "x": 11.25, "y": 1, "label": "I"},
{"matrix": [6, 3], "x": 12.25, "y": 1.15, "label": "O"},
{"matrix": [6, 4], "x": 13.25, "y": 1.3, "label": "P"},
{"matrix": [6, 5], "x": 14.25, "y": 1.5, "label": "="},

{"matrix": [2, 5], "x": 0, "y": 2.5, "label": "Shift"},
{"matrix": [2, 4], "x": 1, "y": 2.3, "label": "A"},
{"matrix": [2, 3], "x": 2, "y": 2.15, "label": "S"},
{"matrix": [2, 2], "x": 3, "y": 2, "label": "D"},
{"matrix": [2, 1], "x": 4, "y": 2.15, "label": "F"},
{"matrix": [2, 0], "x": 5, "y": 2.3, "label": "G"},

{"matrix": [7, 0], "x": 9.25, "y": 2.3, "label": "H"},
{"matrix": [7, 1], "x": 10.25, "y": 2.15, "label": "J"},
{"matrix": [7, 2], "x": 11.25, "y": 2, "label": "K"},
{"matrix": [7, 3], "x": 12.25, "y": 2.15, "label": "L"},
{"matrix": [7, 4], "x": 13.25, "y": 2.3, "label": ";"},
{"matrix": [7, 5], "x": 14.25, "y": 2.5, "label": "'"},

{"matrix": [3, 5], "x": 0, "y": 3.5, "label": "Ctrl"},
{"matrix": [3, 4], "x": 1, "y": 3.3, "label": "Z"},
{"matrix": [3, 3], "x": 2, "y": 3.15, "label": "X"},
{"matrix": [3, 2], "x": 3, "y": 3, "label": "C"},
{"matrix": [3, 1], "x": 4, "y": 3.15, "label": "V"},
{"matrix": [3, 0], "x": 5, "y": 3.3, "label": "B"},

{"matrix": [8, 0], "x": 9.25, "y": 3.3, "label": "N"},
{"matrix": [8, 1], "x": 10.25, "y": 3.15, "label": "M"},
{"matrix": [8, 2], "x": 11.25, "y": 3, "label": ","},
{"matrix": [8, 3], "x": 12.25, "y": 3.15, "label": "."},
{"matrix": [8, 4], "x": 13.25, "y": 3.3, "label": "/"},
{"matrix": [8, 5], "x": 14.25, "y": 3.5, "label": "\\"},

{"matrix": [4, 5], "x": 2, "y": 4.15, "label": "Super"},
{"matrix": [4, 4], "x": 3, "y": 4, "label": "Alt"},
{"matrix": [4, 3], "x": 4, "y": 4.25, "label": "Ctrl"},
{"matrix": [4, 2], "x": 5, "y": 4.4, "label": "Lower"},
{"matrix": [4, 1], "x": 5, "y": 4.4, "label": "Space"},
{"matrix": [4, 0], "x": 6, "y": 4.8, "label": "["},

{"matrix": [9, 0], "x": 8.25, "y": 4.8, "label": "]"},
{"matrix": [9, 1], "x": 9.25, "y": 4.4, "label": "Enter"},
{"matrix": [9, 2], "x": 10.25, "y": 4.25, "label": "Raise"},
{"matrix": [9, 3], "x": 11.25, "y": 4, "label": "Ctrl"},
{"matrix": [9, 4], "x": 12.25, "y": 4.15, "label": "Alt"},
{"matrix": [9, 5], "x": 12.25, "y": 4.15, "label": "Super"}
]
}
}
}
12 changes: 12 additions & 0 deletions keyboards/ergohaven/k03pro/rev2/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#pragma once

#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

#undef RP_PWM_USE_PWM0
#define RP_PWM_USE_PWM0 TRUE

#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 TRUE
Empty file.

0 comments on commit e594b6f

Please sign in to comment.