Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions keyboards/wily/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"manufacturer": "KKC",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x5750",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"nkro": true
},
"build": {
"lto": true
},
"diode_direction": "COL2ROW",
"processor": "STM32F411",
"bootloader": "stm32-dfu"
}
26 changes: 26 additions & 0 deletions keyboards/wily/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# KKC Wily

The Wily is a 65% keyboard by Keyote Key Company.

* Keyboard Maintainer: [gondolindrim](https://github.com/gondolindrim)
* Hardware Supported: three PCB variants (solderable, hotswap with Tsangan bottom row, hotswap with default bottom row), both based on STM32F072
* Hardware Availability: not yet available for purchase as of november 2025.

Make example for this keyboard (after setting up your build environment):

make wily/<version>:default

Where `<version>` can be either `wily_s` , `wily_h625` or `wily_h700`. Flashing example for this keyboard:

make wily/<version>: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 (0,0) in the matrix (Escape) and plug in the keyboard
* **Physical reset button**: press and hold the button on the back of the PCB for five seconds
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

90 changes: 90 additions & 0 deletions keyboards/wily/wily_h625/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"keyboard_name": "Keyote Wily-H625",
"usb": {
"pid": "0x5053",
"device_version": "0.0.1"
},
"matrix_pins": {
"cols": ["A15", "B10", "C15", "C14", "C13", "B1", "B0", "A7", "A6", "A5", "B14", "B13", "B12", "A4", "A3"],
"rows": ["A0", "B8", "B3", "B5", "B9"]
},
"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, "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,14], "x":14, "y":0},
{"matrix":[1,14], "x":15, "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,13], "x":13.5, "y":1, "w":1.5},
{"matrix":[2,14], "x":15 , "y":1},

{"matrix":[2,0], "x":0 , "y":2},
{"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":[2,12], "x":12.75, "y":2, "w":2.25},
{"matrix":[2,13], "x":15 , "y":2},

{"matrix":[3,0], "x":0 , "y":3, "w":2.25},
{"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":[3,14], "x":15, "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,2], "x":2.5 , "y":4, "w":1.25},
{"matrix":[4,6], "x":3.75, "y":4, "w":6.25},
{"matrix":[4,8], "x":10, "y":4},
{"matrix":[4,9], "x":11, "y":4},
{"matrix":[4,10], "x":12, "y":4},
{"matrix":[4,12], "x":13, "y":4},
{"matrix":[4,13], "x":14, "y":4},
{"matrix":[4,14], "x":15, "y":4}
]
}
}
}
34 changes: 34 additions & 0 deletions keyboards/wily/wily_h625/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* Copyright 2025 Gondolindrim
*
* 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
#define LT1GUI LT(1, KC_RGUI)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
QK_GESC, 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_BSPC, KC_BSPC, 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_BSLS, KC_HOME,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_END ,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_INS ,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, LT1GUI , KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
89 changes: 89 additions & 0 deletions keyboards/wily/wily_h700/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"keyboard_name": "Keyote Wily-H700",
"usb": {
"pid": "0x5052",
"device_version": "0.0.1"
},
"matrix_pins": {
"cols": ["A15", "B10", "C15", "C14", "C13", "B1", "B0", "A7", "A6", "A5", "B14", "B13", "B12", "A4", "A3"],
"rows": ["A0", "B8", "B3", "B5", "B9"]
},
"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, "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,14], "x":14, "y":0},
{"matrix":[1,14], "x":15, "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,13], "x":13.5, "y":1, "w":1.5},
{"matrix":[2,14], "x":15 , "y":1},

{"matrix":[2,0], "x":0 , "y":2},
{"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":[2,12], "x":12.75, "y":2, "w":2.25},
{"matrix":[2,13], "x":15 , "y":2},

{"matrix":[3,0], "x":0 , "y":3, "w":2.25},
{"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":[3,14], "x":15, "y":3},

{"matrix":[4,0], "x":0 , "y":4, "w":1.5},
{"matrix":[4,1], "x":1, "y":4},
{"matrix":[4,2], "x":2.5 , "y":4, "w":1.5},
{"matrix":[4,6], "x":4, "y":4, "w":7},
{"matrix":[4,9], "x":11, "y":4},
{"matrix":[4,10], "x":12, "y":4},
{"matrix":[4,12], "x":13, "y":4},
{"matrix":[4,13], "x":14, "y":4},
{"matrix":[4,14], "x":15, "y":4}
]
}
}
}
34 changes: 34 additions & 0 deletions keyboards/wily/wily_h700/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* Copyright 2025 Gondolindrim
*
* 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
#define LT1GUI LT(1, KC_RGUI)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
QK_GESC, 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_BSPC, KC_BSPC, 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_BSLS, KC_HOME,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_END ,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_INS ,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , LT1GUI , KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
21 changes: 21 additions & 0 deletions keyboards/wily/wily_s/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2025 Gondolindrim

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 BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 4
#define BACKLIGHT_PWM_PAL_MOPDE 2
21 changes: 21 additions & 0 deletions keyboards/wily/wily_s/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2025 Gondolindrim
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#define HAL_USE_PWM TRUE

#include_next <halconf.h>
Loading