From 44a516008457e15de3aca5f0ee0af779da3719d0 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Tue, 9 Jan 2024 23:03:46 -0300 Subject: [PATCH 01/23] First TypeK support --- keyboards/typek/config.h | 53 ++++ keyboards/typek/halconf.h | 22 ++ keyboards/typek/info.json | 110 ++++++++ keyboards/typek/keymaps/default/keymap.c | 48 ++++ keyboards/typek/keymaps/via/keymap.c | 48 ++++ keyboards/typek/keymaps/via/rules.mk | 1 + keyboards/typek/mcuconf.h | 41 +++ keyboards/typek/readme.md | 60 ++++ keyboards/typek/rules.mk | 2 + keyboards/typek/typek.c | 339 +++++++++++++++++++++++ 10 files changed, 724 insertions(+) create mode 100644 keyboards/typek/config.h create mode 100644 keyboards/typek/halconf.h create mode 100644 keyboards/typek/info.json create mode 100644 keyboards/typek/keymaps/default/keymap.c create mode 100644 keyboards/typek/keymaps/via/keymap.c create mode 100644 keyboards/typek/keymaps/via/rules.mk create mode 100644 keyboards/typek/mcuconf.h create mode 100644 keyboards/typek/readme.md create mode 100644 keyboards/typek/rules.mk create mode 100644 keyboards/typek/typek.c diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h new file mode 100644 index 00000000000..ceb758c0429 --- /dev/null +++ b/keyboards/typek/config.h @@ -0,0 +1,53 @@ +/* +Copyright 2022 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 . +*/ + +#define RGBLIGHT_LIMIT_VAL 200 +#define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL + +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 + +/* LED MAP + 0 , 1 , 2 Three indicators + 3 , 4 , 5 Three RGBs on left side + 66, 67, 68 Three RGBs on right side + 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6 Left RGB wing (30 LEDs) + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65 Right RGB wing (30 LEDs) + */ +#define RGBLIGHT_LED_MAP {0 , 1 , 2, 3 , 4 , 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65 } + +#define EECONFIG_KB_DATA_SIZE (3*6) + +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/typek/halconf.h b/keyboards/typek/halconf.h new file mode 100644 index 00000000000..485d48ef306 --- /dev/null +++ b/keyboards/typek/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json new file mode 100644 index 00000000000..8076209447f --- /dev/null +++ b/keyboards/typek/info.json @@ -0,0 +1,110 @@ +{ + "keyboard_name": "TypeK-S Rev. Zeta-RC2", + "manufacturer": "gok", + "usb": { + "pid": "0x8475", + "vid": "0x7179", + "device_version": "6.2.0" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["A3" , "B12", "A0" , "A10", "B0" , "B1" , "B10", "B3" , "C15", "C14", "C13", "B9" , "B8" , "B5" ], + "rows": ["A7" , "A8" , "A15", "A1" , "A2" ] + }, + "features": { + "bootmagic": true, + "lto": true, + "mousekey": false, + "extrakey": false, + "console": false, + "backlight": false, + "rgblight": true, + "audio": false, + "encoder": false, + "nkro": true + }, + "ws2812":{ + "pin": "B15" + }, + "rgblight": { + "led_count": 69 + }, + "url": "https://www.gok.design/type-k", + "maintainer": "Gondolindrim", + "processor": "STM32F411", + "bootloader": "stm32-dfu", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "matrix":[ 0, 0], "x":0.75, "y":0 }, + {"label":"`~", "matrix":[ 0, 1], "x":2.5, "y":0 }, + {"label":"1!", "matrix":[ 0, 2], "x":3.5, "y":0 }, + {"label":"2@", "matrix":[ 0, 3], "x":5, "y":0 }, + {"label":"3#", "matrix":[ 0, 4], "x":6, "y":0 }, + {"label":"4$", "matrix":[ 0, 5], "x":7, "y":0 }, + {"label":"5%", "matrix":[ 0, 6], "x":8, "y":0 }, + {"label":"7&", "matrix":[ 0, 7], "x":12.75, "y":0 }, + {"label":"8*", "matrix":[ 0, 8], "x":13.75, "y":0 }, + {"label":"9(", "matrix":[ 0, 9], "x":14.75, "y":0 }, + {"label":"0)", "matrix":[ 0,10], "x":15.75, "y":0 }, + {"label":"-_", "matrix":[ 0,11], "x":17, "y":0 }, + {"label":"=+", "matrix":[ 0,12], "x":18, "y":0 }, + {"label":"\\|", "matrix":[ 0,13], "x":19, "y":0 }, + {"label":"Page Up", "matrix":[ 1, 0], "x":0.5, "y":1 }, + {"label":"Tab", "matrix":[ 1, 1], "x":2.25, "y":1, "w":1.5 }, + {"label":"Q", "matrix":[ 1, 2], "x":3.75, "y":1 }, + {"label":"W", "matrix":[ 1, 3], "x":5.5, "y":1 }, + {"label":"E", "matrix":[ 1, 4], "x":6.5, "y":1 }, + {"label":"R", "matrix":[ 1, 5], "x":7.5, "y":1 }, + {"label":"T", "matrix":[ 1, 6], "x":8.5, "y":1 }, + {"label":"Y", "matrix":[ 1, 7], "x":12, "y":1 }, + {"label":"U", "matrix":[ 1, 8], "x":13, "y":1 }, + {"label":"I", "matrix":[ 1, 9], "x":14, "y":1 }, + {"label":"O", "matrix":[ 1,10], "x":15, "y":1 }, + {"label":"P", "matrix":[ 1,11], "x":16.75, "y":1 }, + {"label":"[{", "matrix":[ 1,12], "x":17.75, "y":1 }, + {"label":"]}", "matrix":[ 1,13], "x":18.75, "y":1 }, + {"label":"Page Down", "matrix":[ 2, 0], "x":0.25, "y":2 }, + {"label":"Caps Lock", "matrix":[ 2, 1], "x":2.25, "y":2, "w":1.75}, + {"label":"A", "matrix":[ 2, 2], "x":4, "y":2 }, + {"label":"S", "matrix":[ 2, 3], "x":5.75, "y":2 }, + {"label":"D", "matrix":[ 2, 4], "x":6.75, "y":2 }, + {"label":"F", "matrix":[ 2, 5], "x":7.75, "y":2 }, + {"label":"G", "matrix":[ 2, 6], "x":8.75, "y":2 }, + {"label":"H", "matrix":[ 2, 7], "x":12.25, "y":2 }, + {"label":"J", "matrix":[ 2, 8], "x":13.25, "y":2 }, + {"label":"K", "matrix":[ 2, 9], "x":14.25, "y":2 }, + {"label":"L", "matrix":[ 2,10], "x":15.25, "y":2 }, + {"label":";:", "matrix":[ 2,11], "x":17.25, "y":2 }, + {"label":"\"", "matrix":[ 2,12], "x":18.25, "y":2 }, + {"label":"Del", "matrix":[ 2,13], "x":20, "y":0 }, + {"label":"End", "matrix":[ 3, 0], "x":0, "y":3 }, + {"label":"Shift", "matrix":[ 3, 1], "x":1.5, "y":3, "w":2.25}, + {"label":"Z", "matrix":[ 3, 2], "x":3.75, "y":3 }, + {"label":"X", "matrix":[ 3, 3], "x":6, "y":3 }, + {"label":"C", "matrix":[ 3, 4], "x":7, "y":3 }, + {"label":"V", "matrix":[ 3, 5], "x":8, "y":3 }, + {"label":"B", "matrix":[ 3, 6], "x":9, "y":3 }, + {"label":"B", "matrix":[ 3, 7], "x":11.75, "y":3 }, + {"label":"N", "matrix":[ 3, 8], "x":12.75, "y":3 }, + {"label":"M", "matrix":[ 3, 9], "x":13.75, "y":3 }, + {"label":",<", "matrix":[ 3,10], "x":14.75, "y":3 }, + {"label":".>", "matrix":[ 3,11], "x":17, "y":3 }, + {"label":"/?", "matrix":[ 3,12], "x":18, "y":3 }, + {"label":"Shift", "matrix":[ 3,13], "x":19, "y":3, "w":1.25}, + {"label":"Control", "matrix":[ 4, 1], "x":1.5, "y":4, "w":1.5 }, + {"label":"Alt", "matrix":[ 4, 2], "x":6, "y":4, "w":1.5 }, + {"label":"Space", "matrix":[ 4, 4], "x":7.5, "y":4, "w":2 }, + {"label":"Left GUI", "matrix":[ 4, 5], "x":9.5, "y":4 }, + {"label":"^6", "matrix":[ 4, 6], "x":9, "y":0 }, + {"label":"Space", "matrix":[ 4, 7], "x":11.25, "y":4 }, + {"label":"Space", "matrix":[ 4, 8], "x":12.25, "y":4, "w":2 }, + {"label":"Alt", "matrix":[ 4, 9], "x":14.25, "y":4, "w":1.5 }, + {"label":"Backspace", "matrix":[ 4,10], "x":19.75, "y":1, "w":1.5 }, + {"label":"Enter", "matrix":[ 4,11], "x":19.25, "y":2, "w":2.25}, + {"label":"MO(1)", "matrix":[ 4,12], "x":20.25, "y":3 }, + {"label":"Control", "matrix":[ 4,13], "x":19.25, "y":4, "w":1.5 } + ] + } + } +} diff --git a/keyboards/typek/keymaps/default/keymap.c b/keyboards/typek/keymaps/default/keymap.c new file mode 100644 index 00000000000..611ffb35f4c --- /dev/null +++ b/keyboards/typek/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2023 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT( /* Base */ + KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, + KC_PGUP, 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_PGDN, 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_DEL , + MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL +), +[1] = LAYOUT( + QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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 +), +[2] = LAYOUT( + 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 +), +[3] = LAYOUT( + 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 +) +}; diff --git a/keyboards/typek/keymaps/via/keymap.c b/keyboards/typek/keymaps/via/keymap.c new file mode 100644 index 00000000000..87a69075f69 --- /dev/null +++ b/keyboards/typek/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2023 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT( /* Base */ + KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, + KC_PGUP, 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_PGDN, 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_DEL , + MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL +), +[1] = LAYOUT( + QK_BOOT, KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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 +), +[2] = LAYOUT( + 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 +), +[3] = LAYOUT( + 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 +) +}; diff --git a/keyboards/typek/keymaps/via/rules.mk b/keyboards/typek/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/typek/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/typek/mcuconf.h b/keyboards/typek/mcuconf.h new file mode 100644 index 00000000000..3b8dd15a879 --- /dev/null +++ b/keyboards/typek/mcuconf.h @@ -0,0 +1,41 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +#pragma once + +#include_next +#undef STM32_PLLM_VALUE +#undef STM32_PLLN_VALUE +#undef STM32_PLLP_VALUE +#undef STM32_PLLQ_VALUE +#undef STM32_PPRE1 +#undef STM32_PPRE2 + +#define STM32_PLLM_VALUE 4 +#define STM32_PLLN_VALUE 72 +#define STM32_PLLP_VALUE 2 +#define STM32_PLLQ_VALUE 3 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV1 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/typek/readme.md b/keyboards/typek/readme.md new file mode 100644 index 00000000000..c83895155d7 --- /dev/null +++ b/keyboards/typek/readme.md @@ -0,0 +1,60 @@ +# Iron 165R2 QMK folder + +![Iron165R2](https://i.imgur.com/jPamxKu.jpg) + +## Introduction + +This is the QMK Firmware repository for the Iron165 Round 2 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim), who is also the firwmare maintainer. + +The Iron 165R2 PCB is a 65% PCB with support for a myriad of alternative layouts, including a 7U bottom row and ISO. It also supports in-switch single-color LEDs and RGB LEDs for underglow light. + +As of November 2021, the only way to obtain an Iron165 was through the [Group Buy](https://geekhack.org/index.php?topic=110985) which is already over; extra units are still to be sold. + +## How to flash + +### Enter bootloader + +The DFU state in the bootloader can be accessed in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key, escape in the default keymap) and plug in the keyboard; +* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds; +* **Keycode in layout**: Press the key mapped to `RESET`; in the default layout, that is top left key ('escape') in layer 1. + +### How to compile and flash + +The 165R2 PCB was prototyped and tested using two microcontrollers: STM32F072 and STM32F411. Most production-run units were manufactured with the latter. + +After checking what PCB you own and setting up your build environment, you can compile the Iron 165R2 default keymap by using one of the options below. + + make smithrune/iron165r2/165r2_f072:default + make smithrune/iron165r2/165r2_f411:default + +And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: + + make smithrune/iron165r2/165r2_f072:default:flash + make smithrune/iron165r2/165r2_f411: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). + +## The "runes RGB" feature + +The firmware for 165R2 allows the user to control the RGBs on the PCB through limiting their span according to the usage. There are four possible usages: + +- "Rune RGBs" where only the RGBs under the SnR rune logo on the 165R2 case are lit up; +- "Line RGBs" where only the RGBs on the two alpha cluster rows are lit up; +- "Luke RGBs" where the line RGBs and D25-D23 are on (to avoid hotspotting on the rune backplate); and +- "All RGBs" where all RGBs are turned on. + +In order to use the "rune RGBs" option, you can turn this option on by un-commenting the respective line on the corresponding `config.h` file: + + #define RUNES_RGBS + +If you want to use the "line RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: + + #define LINES_RGBS + +If you want to use the "luke RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: + + #define LUKE_RGBS + +The options supersede each other in this order. If no option is defined, then the firwmare defaults to the "all RGBs" option. diff --git a/keyboards/typek/rules.mk b/keyboards/typek/rules.mk new file mode 100644 index 00000000000..a92b0993283 --- /dev/null +++ b/keyboards/typek/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/typek/typek.c b/keyboards/typek/typek.c new file mode 100644 index 00000000000..97bb8925d6d --- /dev/null +++ b/keyboards/typek/typek.c @@ -0,0 +1,339 @@ +/* Copyright 2023 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 . + */ + +#include "quantum.h" +#include "print.h" + +/* RGB indicators: by default, they are numbered (when looking from above) INDICATOR_R, INDICATOR_C, INDICATOR_L +*/ + +// Declaring a type indicator_config that stores color and enabled state +typedef struct _indicator_config_t { +// H, S, V store the color values; func stores the function (caps lock, scroll, num, layer indication); index stores the RGB LED index; and enabled stores the enabled state + uint8_t h; + uint8_t s; + uint8_t v; + uint8_t func ; + uint8_t index ; + bool enabled; +} indicator_config ; + +// Number of properties of the "indicator" struct +#define INDICATOR_PROPERTY_NUMBER 6 +// Declaring a keyboard_indicators type that stores the indicators states +#define INDICATOR_NUMBER 3 + +/* List of functions: + 0x00 NONE + 0x01 CAPS LOCK + 0x02 NUM LOCK + 0x03 SCROLL LOCK + 0x04 LAYER 0 + 0x05 LAYER 1 + 0x06 LAYER 2 + 0x07 LAYER 3 +*/ + +bool func_switch(uint8_t func) { + switch (func) + { + case 0x00: + { + return false; + break; + } + case 0x01: // If indicator is set as caps lock + { + if (host_keyboard_led_state().caps_lock) return true; + break; + } + case 0x02: // If indicator is set as num lock + { + if (host_keyboard_led_state().num_lock) return true; + break; + } + case 0x03: // If indicator is set as scroll lock + { + if (host_keyboard_led_state().scroll_lock) return true; + break; + } + case 0x04: // If indicator is set as layer 0 + case 0x05: + case 0x06: + case 0x07: + { + if ( IS_LAYER_ON( (int)(func) - 4 ) ) return true; + break; + } + default: + { + return false; + } + } + return false; +} + +// Here the indicators functions themselves are programmed. +bool set_indicator(indicator_config indicator) { + if (!indicator.enabled) return false; + return func_switch(indicator.func & 0x0F) | func_switch( (indicator.func & 0xF0) >> 4); +} + +typedef struct _keyboard_indicators_t { + indicator_config ind1 ; + indicator_config ind2 ; + indicator_config ind3 ; +} keyboard_indicators ; + +_Static_assert(sizeof(keyboard_indicators) == EECONFIG_KB_DATA_SIZE, "Mismatch in keyboard indicators stored data"); + +// Declaring a new variable indicators of the type keyboard_indicators +keyboard_indicators indicators; +uint8_t* pIndicators = (uint8_t*)&indicators ; // Gets a pointer to the first indicator + +// This function returns the pointer to an indicator given an index. Basically what is done is shifting the pointer of the indicators struct by 6*index. +// Each indicator is INDICATOR_PROPERTY_NUMBER bytes long, so the shift needs to be that size. +indicator_config* get_indicator_p (int index) { + return (indicator_config*) (pIndicators + INDICATOR_PROPERTY_NUMBER*index) ; +} + +// Initializing persistent memory configuration: default values are declared and stored in PMEM +void eeconfig_init_kb(void) { + // Default values: indicators start at white, 150 (roughly 60%) brightness value. Indicators 1 and 2 are active by default. + // INDICATOR 0: RIGHT INDICATOR + indicators.ind1.h = 0; + indicators.ind1.s = 255; + indicators.ind1.v = 150; + indicators.ind1.func = 0x76; + indicators.ind1.index = 0; + indicators.ind1.enabled = true; + + // INDICATOR 1: MIDDLE INDICATOR + indicators.ind2.h = 86; + indicators.ind2.s = 255; + indicators.ind2.v = 150; + indicators.ind2.func = 0x75; + indicators.ind2.index = 1; + indicators.ind2.enabled = true; + + // INDICATOR 2: LEFT INDICATOR + indicators.ind3.h = 166; + indicators.ind3.s = 254; + indicators.ind3.v = 150; + indicators.ind3.func = 0x01; + indicators.ind3.index = 2; + indicators.ind3.enabled = true; + + // Write default value to EEPROM now + eeconfig_update_kb_datablock(&indicators); +} + +// INDICATOR CALLBACK ------------------------------------------------------------------------------ +bool indicators_callback(void) { + + // Basic functioning: for each indicator, set_indicator is used to decide if the current indicator should be lit or off. + indicator_config* current_indicator_p ; + int index ; + for (index = 0 ; index < INDICATOR_NUMBER ; index++) { + current_indicator_p = get_indicator_p(index) ; + if (set_indicator( *(current_indicator_p)) ) sethsv( current_indicator_p -> h, current_indicator_p -> s, current_indicator_p -> v, (LED_TYPE *)&led[current_indicator_p -> index]); + else sethsv( 0,0,0, (LED_TYPE *)&led[current_indicator_p -> index]); + } + return true; +} + +// This function gets called when caps, num, scroll change +bool led_update_kb(led_t led_state) { + indicators_callback(); + return true; +} + +// This function is called when layers change +layer_state_t layer_state_set_user(layer_state_t state) { + indicators_callback(); + return state; +} + +// At the keyboard start, retrieves PMEM stored configs and runs indicator_callback +void keyboard_post_init_kb(void) { + eeconfig_read_kb_datablock(&indicators); + rgblight_set_effect_range(3,66); + indicators_callback(); + + debug_enable = true; + //debug_keyboard = true; +} + +// VIA CONFIGURATION ------------------------------------------------------------------------------- +enum via_indicator_color { + id_ind1_enabled = 1, + id_ind1_brightness = 2, + id_ind1_color = 3, + id_ind1_func1 = 4, + id_ind1_func2 = 5, +// + id_ind2_enabled = 6, + id_ind2_brightness = 7, + id_ind2_color = 8, + id_ind2_func1 = 9, + id_ind2_func2 = 10, +// + id_ind3_enabled = 11, + id_ind3_brightness = 12, + id_ind3_color = 13, + id_ind3_func1 = 14, + id_ind3_func2 = 15 +}; + +int indi_index; +int data_index; + +void indicator_config_set_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id; + value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + /* Suppose that the brightness value of indicator 3 is being changed; then + index = (12-1)/INDICATOR_PROPERTY_NUMBER = 11/5 = 2 (integer division!), which indeed relates to indicator 3 (ind1 is 0, ind2 is 1 etc) + data_index = (12 - index*INDICATOR_PROPERTY_NUMBER) = 12 - 2*5 = 2, which indeed relates to a brightness setting (0 is for enabled, 1 for brightness, 2 for color and 3 for func) + Therefore, the basic idea is that index is about which indicator the set_value is about, and data_index about what indicator property it is + */ + indi_index = ( (int)(*value_id) - 1) / 5; + data_index = (int)(*value_id) - indi_index*5; + indicator_config* current_indicator_p = get_indicator_p(indi_index); + uprintf("--> value_id: %X\n", (int)(*value_id)); + switch ( data_index ) + { + case 1 : + { + current_indicator_p -> enabled = value_data[0]; + break; + } + case 2 : + { + current_indicator_p -> v = value_data[0]; + break; + } + case 3: + { + current_indicator_p -> h = value_data[0]; + current_indicator_p -> s = value_data[1]; + break; + } + case 4: + { + current_indicator_p -> func = (current_indicator_p -> func & 0xF0 ) | (uint8_t) value_data[0]; + break; + } + case 5: + { + + current_indicator_p -> func = (current_indicator_p -> func & 0x0F ) | ((uint8_t) value_data[0] << 4); + break; + } + } + indicators_callback(); +} + + +void indicator_config_get_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + indi_index = ( (int)(*value_id) - 1) / 5; data_index = (int)(*value_id) - indi_index*5; + indicator_config* current_indicator_p = get_indicator_p(indi_index); + switch ( data_index ) + { + case 1: + { + value_data[0] = current_indicator_p -> enabled; + break; + } + case 2: + { + + value_data[0] = current_indicator_p -> v; + break; + } + case 3: + { + + value_data[0] = current_indicator_p -> h; + value_data[1] = current_indicator_p -> s; + break; + } + case 4: + { + + value_data[0] = current_indicator_p -> func & 0x0F; + uprintf("--> Current func: %x, current func with bitwise or: %X\n", current_indicator_p -> func, current_indicator_p -> func % 0x0F); + break; + } + case 5: + { + + value_data[0] = (current_indicator_p -> func & 0xF0) >> 4; + uprintf("--> Current func: %x, current func with bitwise or: %X\n", current_indicator_p -> func, current_indicator_p -> func % 0xF0); + break; + } + } +} + +void indicator_config_save(void) +{ + eeconfig_update_kb_datablock(&indicators); +} + +void via_custom_value_command_kb(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *channel_id = &(data[1]); + uint8_t *value_id_and_data = &(data[2]); + + if ( *channel_id == id_custom_channel ) { + switch ( *command_id ) + { + case id_custom_set_value: + { + indicator_config_set_value(value_id_and_data); + break; + } + case id_custom_get_value: + { + indicator_config_get_value(value_id_and_data); + break; + } + case id_custom_save: + { + indicator_config_save(); + break; + } + default: + { + // Unhandled message. + *command_id = id_unhandled; + break; + } + } + return; + } + + *command_id = id_unhandled; +} From 00a0b514eb18f5b9cb4192078ca9738fc11b6dae Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 17:58:39 -0300 Subject: [PATCH 02/23] Clear `rules.mk` --- keyboards/typek/rules.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/typek/rules.mk b/keyboards/typek/rules.mk index a92b0993283..ba1300b2aa8 100644 --- a/keyboards/typek/rules.mk +++ b/keyboards/typek/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE +# This file was intentionally left blank From 7bde35ee56de2d9e4166d67908d7b7208c29d1ad Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:02:00 -0300 Subject: [PATCH 03/23] Move RGB animation defs to `info.json` --- keyboards/typek/config.h | 11 ----------- keyboards/typek/info.json | 14 +++++++++++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h index ceb758c0429..cd9b71709fe 100644 --- a/keyboards/typek/config.h +++ b/keyboards/typek/config.h @@ -18,17 +18,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 200 #define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) #define WS2812_PWM_COMPLEMENTARY_OUTPUT diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 8076209447f..afd20efb114 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -27,7 +27,19 @@ "pin": "B15" }, "rgblight": { - "led_count": 69 + "led_count": 69, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } }, "url": "https://www.gok.design/type-k", "maintainer": "Gondolindrim", From ead8350a65b64b47a75ec127f1cb9142c2061696 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:07:27 -0300 Subject: [PATCH 04/23] Move RGB default animation to `info.json` --- keyboards/typek/config.h | 5 ----- keyboards/typek/info.json | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h index cd9b71709fe..70888597657 100644 --- a/keyboards/typek/config.h +++ b/keyboards/typek/config.h @@ -15,11 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#define RGBLIGHT_LIMIT_VAL 200 -#define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) - #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 #define WS2812_PWM_CHANNEL 3 diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index afd20efb114..3f12f19b4f1 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -39,6 +39,10 @@ "rgb_test": true, "alternating": true, "twinkle": true + }, + "default": { + "animation": "rainbow_swirl", + "val": 200 } }, "url": "https://www.gok.design/type-k", From ce5a4e6af0e3903340d850b03a289989df4b8644 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:13:48 -0300 Subject: [PATCH 05/23] Move LED MAP and EEPROM config to `info.json` --- keyboards/typek/config.h | 9 +++------ keyboards/typek/info.json | 10 +++++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h index 70888597657..358fcfa86d4 100644 --- a/keyboards/typek/config.h +++ b/keyboards/typek/config.h @@ -22,6 +22,9 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA2_STREAM5 #define WS2812_DMA_CHANNEL 6 +#define EECONFIG_KB_DATA_SIZE (3*6) + + /* LED MAP 0 , 1 , 2 Three indicators 3 , 4 , 5 Three RGBs on left side @@ -29,9 +32,3 @@ along with this program. If not, see . 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6 Left RGB wing (30 LEDs) 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65 Right RGB wing (30 LEDs) */ -#define RGBLIGHT_LED_MAP {0 , 1 , 2, 3 , 4 , 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65 } - -#define EECONFIG_KB_DATA_SIZE (3*6) - -#define WEAR_LEVELING_LOGICAL_SIZE 2048 -#define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 3f12f19b4f1..4e5b6602d4a 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -43,8 +43,16 @@ "default": { "animation": "rainbow_swirl", "val": 200 + }, + "led_map": [0 , 1 , 2, 3 , 4 , 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "backing_size": 4096, + "logical_size": 2048 } - }, + }, "url": "https://www.gok.design/type-k", "maintainer": "Gondolindrim", "processor": "STM32F411", From 25efc8ea8e152baf3c8cb0022376d324cf5aa45c Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:16:07 -0300 Subject: [PATCH 06/23] Add LTO to build defs in `info.json` --- keyboards/typek/info.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 4e5b6602d4a..bded834e376 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -23,6 +23,9 @@ "encoder": false, "nkro": true }, + "build": { + "lto": true + }, "ws2812":{ "pin": "B15" }, From ea6ddf0fc8f186591135808c5ca1a138fde13eaa Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:17:08 -0300 Subject: [PATCH 07/23] Remove default features values --- keyboards/typek/info.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index bded834e376..091ebb452dd 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -13,14 +13,10 @@ }, "features": { "bootmagic": true, - "lto": true, "mousekey": false, "extrakey": false, "console": false, - "backlight": false, "rgblight": true, - "audio": false, - "encoder": false, "nkro": true }, "build": { From 0a8439e977319d7d98655f0f0ecd3321552b5f3f Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:18:24 -0300 Subject: [PATCH 08/23] Remove transparent layers from keymap defs --- keyboards/typek/keymaps/default/keymap.c | 14 -------------- keyboards/typek/keymaps/via/keymap.c | 14 -------------- 2 files changed, 28 deletions(-) diff --git a/keyboards/typek/keymaps/default/keymap.c b/keyboards/typek/keymaps/default/keymap.c index 611ffb35f4c..50e94b748cd 100644 --- a/keyboards/typek/keymaps/default/keymap.c +++ b/keyboards/typek/keymaps/default/keymap.c @@ -30,19 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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 -), -[2] = LAYOUT( - 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 -), -[3] = LAYOUT( - 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 ) }; diff --git a/keyboards/typek/keymaps/via/keymap.c b/keyboards/typek/keymaps/via/keymap.c index 87a69075f69..f3ff1882794 100644 --- a/keyboards/typek/keymaps/via/keymap.c +++ b/keyboards/typek/keymaps/via/keymap.c @@ -30,19 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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 -), -[2] = LAYOUT( - 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 -), -[3] = LAYOUT( - 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 ) }; From 6cfe6961362f4e285c0ddc40a755d0b9088daea5 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Wed, 10 Jan 2024 18:27:01 -0300 Subject: [PATCH 09/23] Add PWM driver definition to `ws2812` --- keyboards/typek/info.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 091ebb452dd..ca185f24409 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -23,7 +23,8 @@ "lto": true }, "ws2812":{ - "pin": "B15" + "pin": "B15", + "driver": "pwm" }, "rgblight": { "led_count": 69, From d42162a5006a00d066832cdb0bfdd0b8fb2ef8da Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Sat, 2 Mar 2024 19:28:56 -0300 Subject: [PATCH 10/23] Add nosplits layout --- keyboards/typek/info.json | 71 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index ca185f24409..00ac655265f 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -58,7 +58,7 @@ "processor": "STM32F411", "bootloader": "stm32-dfu", "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"label":"Esc", "matrix":[ 0, 0], "x":0.75, "y":0 }, {"label":"`~", "matrix":[ 0, 1], "x":2.5, "y":0 }, @@ -129,6 +129,75 @@ {"label":"MO(1)", "matrix":[ 4,12], "x":20.25, "y":3 }, {"label":"Control", "matrix":[ 4,13], "x":19.25, "y":4, "w":1.5 } ] + }, + "LAYOUT_nosplits": { + "layout": [ + {"label":"Esc", "matrix":[ 0, 0], "x":0.75, "y":0 }, + {"label":"`~", "matrix":[ 0, 1], "x":2.5, "y":0 }, + {"label":"1!", "matrix":[ 0, 2], "x":3.5, "y":0 }, + {"label":"2@", "matrix":[ 0, 3], "x":5, "y":0 }, + {"label":"3#", "matrix":[ 0, 4], "x":6, "y":0 }, + {"label":"4$", "matrix":[ 0, 5], "x":7, "y":0 }, + {"label":"5%", "matrix":[ 0, 6], "x":8, "y":0 }, + {"label":"7&", "matrix":[ 0, 7], "x":12.75, "y":0 }, + {"label":"8*", "matrix":[ 0, 8], "x":13.75, "y":0 }, + {"label":"9(", "matrix":[ 0, 9], "x":14.75, "y":0 }, + {"label":"0)", "matrix":[ 0,10], "x":15.75, "y":0 }, + {"label":"-_", "matrix":[ 0,11], "x":17, "y":0 }, + {"label":"=+", "matrix":[ 0,12], "x":18, "y":0 }, + {"label":"Backspace", "matrix":[ 0,13], "x":19, "y":0, "w": 2 }, + {"label":"Page Up", "matrix":[ 1, 0], "x":0.5, "y":1 }, + {"label":"Tab", "matrix":[ 1, 1], "x":2.25, "y":1, "w":1.5 }, + {"label":"Q", "matrix":[ 1, 2], "x":3.75, "y":1 }, + {"label":"W", "matrix":[ 1, 3], "x":5.5, "y":1 }, + {"label":"E", "matrix":[ 1, 4], "x":6.5, "y":1 }, + {"label":"R", "matrix":[ 1, 5], "x":7.5, "y":1 }, + {"label":"T", "matrix":[ 1, 6], "x":8.5, "y":1 }, + {"label":"Y", "matrix":[ 1, 7], "x":12, "y":1 }, + {"label":"U", "matrix":[ 1, 8], "x":13, "y":1 }, + {"label":"I", "matrix":[ 1, 9], "x":14, "y":1 }, + {"label":"O", "matrix":[ 1,10], "x":15, "y":1 }, + {"label":"P", "matrix":[ 1,11], "x":16.75, "y":1 }, + {"label":"[{", "matrix":[ 1,12], "x":17.75, "y":1 }, + {"label":"]}", "matrix":[ 1,13], "x":18.75, "y":1 }, + {"label":"Page Down", "matrix":[ 2, 0], "x":0.25, "y":2 }, + {"label":"Caps Lock", "matrix":[ 2, 1], "x":2.25, "y":2, "w":1.75}, + {"label":"A", "matrix":[ 2, 2], "x":4, "y":2 }, + {"label":"S", "matrix":[ 2, 3], "x":5.75, "y":2 }, + {"label":"D", "matrix":[ 2, 4], "x":6.75, "y":2 }, + {"label":"F", "matrix":[ 2, 5], "x":7.75, "y":2 }, + {"label":"G", "matrix":[ 2, 6], "x":8.75, "y":2 }, + {"label":"H", "matrix":[ 2, 7], "x":12.25, "y":2 }, + {"label":"J", "matrix":[ 2, 8], "x":13.25, "y":2 }, + {"label":"K", "matrix":[ 2, 9], "x":14.25, "y":2 }, + {"label":"L", "matrix":[ 2,10], "x":15.25, "y":2 }, + {"label":";:", "matrix":[ 2,11], "x":17.25, "y":2 }, + {"label":"\"", "matrix":[ 2,12], "x":18.25, "y":2 }, + {"label":"End", "matrix":[ 3, 0], "x":0, "y":3 }, + {"label":"Shift", "matrix":[ 3, 1], "x":1.5, "y":3, "w":2.25}, + {"label":"Z", "matrix":[ 3, 2], "x":3.75, "y":3 }, + {"label":"X", "matrix":[ 3, 3], "x":6, "y":3 }, + {"label":"C", "matrix":[ 3, 4], "x":7, "y":3 }, + {"label":"V", "matrix":[ 3, 5], "x":8, "y":3 }, + {"label":"B", "matrix":[ 3, 6], "x":9, "y":3 }, + {"label":"B", "matrix":[ 3, 7], "x":11.75, "y":3 }, + {"label":"N", "matrix":[ 3, 8], "x":12.75, "y":3 }, + {"label":"M", "matrix":[ 3, 9], "x":13.75, "y":3 }, + {"label":",<", "matrix":[ 3,10], "x":14.75, "y":3 }, + {"label":".>", "matrix":[ 3,11], "x":17, "y":3 }, + {"label":"/?", "matrix":[ 3,12], "x":18, "y":3 }, + {"label":"Shift", "matrix":[ 3,13], "x":19, "y":3, "w":2.25}, + {"label":"Control", "matrix":[ 4, 1], "x":1.5, "y":4, "w":1.5 }, + {"label":"Alt", "matrix":[ 4, 2], "x":6, "y":4, "w":1.5 }, + {"label":"Space", "matrix":[ 4, 4], "x":7.5, "y":4, "w":3 }, + {"label":"^6", "matrix":[ 4, 6], "x":9, "y":0 }, + {"label":"Space", "matrix":[ 4, 8], "x":11.25, "y":4, "w":3 }, + {"label":"Alt", "matrix":[ 4, 9], "x":14.25, "y":4, "w":1.5 }, + {"label":"Backspace", "matrix":[ 4,10], "x":19.75, "y":1, "w":1.5 }, + {"label":"Enter", "matrix":[ 4,11], "x":19.25, "y":2, "w":2.25}, + {"label":"Control", "matrix":[ 4,13], "x":19.25, "y":4, "w":1.5 } + ] } + } } From 199f5bb1435fdd8fdc4cb0bb72187d5cf6401120 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Sat, 2 Mar 2024 19:34:36 -0300 Subject: [PATCH 11/23] Remove PAL definition from \'halconf\' --- keyboards/typek/halconf.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/typek/halconf.h b/keyboards/typek/halconf.h index 485d48ef306..612ce4fc4a8 100644 --- a/keyboards/typek/halconf.h +++ b/keyboards/typek/halconf.h @@ -17,6 +17,5 @@ #pragma once #define HAL_USE_PWM TRUE -#define HAL_USE_PAL TRUE #include_next From 8b996f6d6dd4962a8ca05f2a13330043db9e610a Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Sat, 2 Mar 2024 19:36:49 -0300 Subject: [PATCH 12/23] Remove I2C1 def from \'mcuconf\' --- keyboards/typek/mcuconf.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/typek/mcuconf.h b/keyboards/typek/mcuconf.h index 3b8dd15a879..8f2f7e1cab5 100644 --- a/keyboards/typek/mcuconf.h +++ b/keyboards/typek/mcuconf.h @@ -31,9 +31,6 @@ #define STM32_PPRE1 STM32_PPRE1_DIV2 #define STM32_PPRE2 STM32_PPRE2_DIV1 -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE - #undef STM32_PWM_USE_ADVANCED #define STM32_PWM_USE_ADVANCED TRUE From 2934573eb1e360253ef8bf69acb62c6ae2d9c08c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Sun, 12 May 2024 23:17:04 -0300 Subject: [PATCH 13/23] Update keyboards/typek/config.h Co-authored-by: Ryan --- keyboards/typek/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h index 358fcfa86d4..a36eee14aee 100644 --- a/keyboards/typek/config.h +++ b/keyboards/typek/config.h @@ -15,6 +15,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#pragma once + #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 #define WS2812_PWM_CHANNEL 3 From ec2ef781dfe7f3051d3586f8effc2cab34bdb6b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Sun, 12 May 2024 23:25:53 -0300 Subject: [PATCH 14/23] Update readme.md --- keyboards/typek/readme.md | 42 ++++++--------------------------------- 1 file changed, 6 insertions(+), 36 deletions(-) diff --git a/keyboards/typek/readme.md b/keyboards/typek/readme.md index c83895155d7..c851d518b3e 100644 --- a/keyboards/typek/readme.md +++ b/keyboards/typek/readme.md @@ -1,14 +1,10 @@ -# Iron 165R2 QMK folder +# gok TypeK QMK Firmware Folder -![Iron165R2](https://i.imgur.com/jPamxKu.jpg) +![TK](https://i.imgur.com/0ZEbEZth.jpg) ## Introduction -This is the QMK Firmware repository for the Iron165 Round 2 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim), who is also the firwmare maintainer. - -The Iron 165R2 PCB is a 65% PCB with support for a myriad of alternative layouts, including a 7U bottom row and ISO. It also supports in-switch single-color LEDs and RGB LEDs for underglow light. - -As of November 2021, the only way to obtain an Iron165 was through the [Group Buy](https://geekhack.org/index.php?topic=110985) which is already over; extra units are still to be sold. +This is the QMK Firmware repository for the Type K, the tented ergo by Gok. The TypeK went through GB on August, 2023. It is supported by a proprietary PCB ecosystem. ## How to flash @@ -22,39 +18,13 @@ The DFU state in the bootloader can be accessed in 3 ways: ### How to compile and flash -The 165R2 PCB was prototyped and tested using two microcontrollers: STM32F072 and STM32F411. Most production-run units were manufactured with the latter. -After checking what PCB you own and setting up your build environment, you can compile the Iron 165R2 default keymap by using one of the options below. +After setting up your build environment, you can compile the Iron 165R2 default keymap by using one of the options below. - make smithrune/iron165r2/165r2_f072:default - make smithrune/iron165r2/165r2_f411:default + make typek:default And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: - make smithrune/iron165r2/165r2_f072:default:flash - make smithrune/iron165r2/165r2_f411:default:flash + make typek: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). - -## The "runes RGB" feature - -The firmware for 165R2 allows the user to control the RGBs on the PCB through limiting their span according to the usage. There are four possible usages: - -- "Rune RGBs" where only the RGBs under the SnR rune logo on the 165R2 case are lit up; -- "Line RGBs" where only the RGBs on the two alpha cluster rows are lit up; -- "Luke RGBs" where the line RGBs and D25-D23 are on (to avoid hotspotting on the rune backplate); and -- "All RGBs" where all RGBs are turned on. - -In order to use the "rune RGBs" option, you can turn this option on by un-commenting the respective line on the corresponding `config.h` file: - - #define RUNES_RGBS - -If you want to use the "line RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: - - #define LINES_RGBS - -If you want to use the "luke RGBs" option, you can un-comment the respective lone on the corresponding `config.h` file: - - #define LUKE_RGBS - -The options supersede each other in this order. If no option is defined, then the firwmare defaults to the "all RGBs" option. From 78ef3165a97d709a07f8e795f677ad3794157f3b Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Sun, 12 May 2024 23:43:00 -0300 Subject: [PATCH 15/23] Remove VIA code --- keyboards/typek/keymaps/default/keymap.c | 4 +- keyboards/typek/keymaps/via/keymap.c | 4 +- keyboards/typek/typek.c | 331 ++--------------------- 3 files changed, 22 insertions(+), 317 deletions(-) diff --git a/keyboards/typek/keymaps/default/keymap.c b/keyboards/typek/keymaps/default/keymap.c index 50e94b748cd..34d9522f930 100644 --- a/keyboards/typek/keymaps/default/keymap.c +++ b/keyboards/typek/keymaps/default/keymap.c @@ -17,14 +17,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_all( /* Base */ KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, KC_PGUP, 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_PGDN, 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_DEL , MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL ), -[1] = LAYOUT( +[1] = LAYOUT_all( QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/typek/keymaps/via/keymap.c b/keyboards/typek/keymaps/via/keymap.c index f3ff1882794..ad19869c1fc 100644 --- a/keyboards/typek/keymaps/via/keymap.c +++ b/keyboards/typek/keymaps/via/keymap.c @@ -17,14 +17,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_all( /* Base */ KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, KC_PGUP, 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_PGDN, 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_DEL , MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL ), -[1] = LAYOUT( +[1] = LAYOUT_all( QK_BOOT, KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/typek/typek.c b/keyboards/typek/typek.c index 97bb8925d6d..4a8b11cf0b4 100644 --- a/keyboards/typek/typek.c +++ b/keyboards/typek/typek.c @@ -17,323 +17,28 @@ #include "quantum.h" #include "print.h" -/* RGB indicators: by default, they are numbered (when looking from above) INDICATOR_R, INDICATOR_C, INDICATOR_L -*/ - -// Declaring a type indicator_config that stores color and enabled state -typedef struct _indicator_config_t { -// H, S, V store the color values; func stores the function (caps lock, scroll, num, layer indication); index stores the RGB LED index; and enabled stores the enabled state - uint8_t h; - uint8_t s; - uint8_t v; - uint8_t func ; - uint8_t index ; - bool enabled; -} indicator_config ; - -// Number of properties of the "indicator" struct -#define INDICATOR_PROPERTY_NUMBER 6 -// Declaring a keyboard_indicators type that stores the indicators states -#define INDICATOR_NUMBER 3 - -/* List of functions: - 0x00 NONE - 0x01 CAPS LOCK - 0x02 NUM LOCK - 0x03 SCROLL LOCK - 0x04 LAYER 0 - 0x05 LAYER 1 - 0x06 LAYER 2 - 0x07 LAYER 3 -*/ - -bool func_switch(uint8_t func) { - switch (func) - { - case 0x00: - { - return false; - break; - } - case 0x01: // If indicator is set as caps lock - { - if (host_keyboard_led_state().caps_lock) return true; - break; - } - case 0x02: // If indicator is set as num lock - { - if (host_keyboard_led_state().num_lock) return true; - break; - } - case 0x03: // If indicator is set as scroll lock - { - if (host_keyboard_led_state().scroll_lock) return true; - break; - } - case 0x04: // If indicator is set as layer 0 - case 0x05: - case 0x06: - case 0x07: - { - if ( IS_LAYER_ON( (int)(func) - 4 ) ) return true; - break; - } - default: - { - return false; - } - } - return false; -} - -// Here the indicators functions themselves are programmed. -bool set_indicator(indicator_config indicator) { - if (!indicator.enabled) return false; - return func_switch(indicator.func & 0x0F) | func_switch( (indicator.func & 0xF0) >> 4); -} - -typedef struct _keyboard_indicators_t { - indicator_config ind1 ; - indicator_config ind2 ; - indicator_config ind3 ; -} keyboard_indicators ; - -_Static_assert(sizeof(keyboard_indicators) == EECONFIG_KB_DATA_SIZE, "Mismatch in keyboard indicators stored data"); - -// Declaring a new variable indicators of the type keyboard_indicators -keyboard_indicators indicators; -uint8_t* pIndicators = (uint8_t*)&indicators ; // Gets a pointer to the first indicator - -// This function returns the pointer to an indicator given an index. Basically what is done is shifting the pointer of the indicators struct by 6*index. -// Each indicator is INDICATOR_PROPERTY_NUMBER bytes long, so the shift needs to be that size. -indicator_config* get_indicator_p (int index) { - return (indicator_config*) (pIndicators + INDICATOR_PROPERTY_NUMBER*index) ; -} - -// Initializing persistent memory configuration: default values are declared and stored in PMEM -void eeconfig_init_kb(void) { - // Default values: indicators start at white, 150 (roughly 60%) brightness value. Indicators 1 and 2 are active by default. - // INDICATOR 0: RIGHT INDICATOR - indicators.ind1.h = 0; - indicators.ind1.s = 255; - indicators.ind1.v = 150; - indicators.ind1.func = 0x76; - indicators.ind1.index = 0; - indicators.ind1.enabled = true; - - // INDICATOR 1: MIDDLE INDICATOR - indicators.ind2.h = 86; - indicators.ind2.s = 255; - indicators.ind2.v = 150; - indicators.ind2.func = 0x75; - indicators.ind2.index = 1; - indicators.ind2.enabled = true; - - // INDICATOR 2: LEFT INDICATOR - indicators.ind3.h = 166; - indicators.ind3.s = 254; - indicators.ind3.v = 150; - indicators.ind3.func = 0x01; - indicators.ind3.index = 2; - indicators.ind3.enabled = true; - - // Write default value to EEPROM now - eeconfig_update_kb_datablock(&indicators); -} - -// INDICATOR CALLBACK ------------------------------------------------------------------------------ -bool indicators_callback(void) { - - // Basic functioning: for each indicator, set_indicator is used to decide if the current indicator should be lit or off. - indicator_config* current_indicator_p ; - int index ; - for (index = 0 ; index < INDICATOR_NUMBER ; index++) { - current_indicator_p = get_indicator_p(index) ; - if (set_indicator( *(current_indicator_p)) ) sethsv( current_indicator_p -> h, current_indicator_p -> s, current_indicator_p -> v, (LED_TYPE *)&led[current_indicator_p -> index]); - else sethsv( 0,0,0, (LED_TYPE *)&led[current_indicator_p -> index]); - } - return true; -} - // This function gets called when caps, num, scroll change bool led_update_kb(led_t led_state) { - indicators_callback(); - return true; + bool res = led_update_user(led_state); + if (res) { + led_state.caps_lock ? sethsv( HSV_RED, (rgb_led_t *)&led[0]) : sethsv( HSV_BLACK, (rgb_led_t *)&led[0]); + } + return res; } // This function is called when layers change -layer_state_t layer_state_set_user(layer_state_t state) { - indicators_callback(); +layer_state_t layer_state_set_kb(layer_state_t state) { + switch(get_highest_layer(state)) { + case 1: + sethsv(HSV_GREEN, (rgb_led_t *)&led[1]); + break; + case 2: + sethsv(HSV_BLUE, (rgb_led_t *)&led[2]); + break; + default: + sethsv(HSV_BLACK, (rgb_led_t *)&led[1]); + sethsv(HSV_BLACK, (rgb_led_t *)&led[2]); + break; + } return state; } - -// At the keyboard start, retrieves PMEM stored configs and runs indicator_callback -void keyboard_post_init_kb(void) { - eeconfig_read_kb_datablock(&indicators); - rgblight_set_effect_range(3,66); - indicators_callback(); - - debug_enable = true; - //debug_keyboard = true; -} - -// VIA CONFIGURATION ------------------------------------------------------------------------------- -enum via_indicator_color { - id_ind1_enabled = 1, - id_ind1_brightness = 2, - id_ind1_color = 3, - id_ind1_func1 = 4, - id_ind1_func2 = 5, -// - id_ind2_enabled = 6, - id_ind2_brightness = 7, - id_ind2_color = 8, - id_ind2_func1 = 9, - id_ind2_func2 = 10, -// - id_ind3_enabled = 11, - id_ind3_brightness = 12, - id_ind3_color = 13, - id_ind3_func1 = 14, - id_ind3_func2 = 15 -}; - -int indi_index; -int data_index; - -void indicator_config_set_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id; - value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - /* Suppose that the brightness value of indicator 3 is being changed; then - index = (12-1)/INDICATOR_PROPERTY_NUMBER = 11/5 = 2 (integer division!), which indeed relates to indicator 3 (ind1 is 0, ind2 is 1 etc) - data_index = (12 - index*INDICATOR_PROPERTY_NUMBER) = 12 - 2*5 = 2, which indeed relates to a brightness setting (0 is for enabled, 1 for brightness, 2 for color and 3 for func) - Therefore, the basic idea is that index is about which indicator the set_value is about, and data_index about what indicator property it is - */ - indi_index = ( (int)(*value_id) - 1) / 5; - data_index = (int)(*value_id) - indi_index*5; - indicator_config* current_indicator_p = get_indicator_p(indi_index); - uprintf("--> value_id: %X\n", (int)(*value_id)); - switch ( data_index ) - { - case 1 : - { - current_indicator_p -> enabled = value_data[0]; - break; - } - case 2 : - { - current_indicator_p -> v = value_data[0]; - break; - } - case 3: - { - current_indicator_p -> h = value_data[0]; - current_indicator_p -> s = value_data[1]; - break; - } - case 4: - { - current_indicator_p -> func = (current_indicator_p -> func & 0xF0 ) | (uint8_t) value_data[0]; - break; - } - case 5: - { - - current_indicator_p -> func = (current_indicator_p -> func & 0x0F ) | ((uint8_t) value_data[0] << 4); - break; - } - } - indicators_callback(); -} - - -void indicator_config_get_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - indi_index = ( (int)(*value_id) - 1) / 5; data_index = (int)(*value_id) - indi_index*5; - indicator_config* current_indicator_p = get_indicator_p(indi_index); - switch ( data_index ) - { - case 1: - { - value_data[0] = current_indicator_p -> enabled; - break; - } - case 2: - { - - value_data[0] = current_indicator_p -> v; - break; - } - case 3: - { - - value_data[0] = current_indicator_p -> h; - value_data[1] = current_indicator_p -> s; - break; - } - case 4: - { - - value_data[0] = current_indicator_p -> func & 0x0F; - uprintf("--> Current func: %x, current func with bitwise or: %X\n", current_indicator_p -> func, current_indicator_p -> func % 0x0F); - break; - } - case 5: - { - - value_data[0] = (current_indicator_p -> func & 0xF0) >> 4; - uprintf("--> Current func: %x, current func with bitwise or: %X\n", current_indicator_p -> func, current_indicator_p -> func % 0xF0); - break; - } - } -} - -void indicator_config_save(void) -{ - eeconfig_update_kb_datablock(&indicators); -} - -void via_custom_value_command_kb(uint8_t *data, uint8_t length) { - // data = [ command_id, channel_id, value_id, value_data ] - uint8_t *command_id = &(data[0]); - uint8_t *channel_id = &(data[1]); - uint8_t *value_id_and_data = &(data[2]); - - if ( *channel_id == id_custom_channel ) { - switch ( *command_id ) - { - case id_custom_set_value: - { - indicator_config_set_value(value_id_and_data); - break; - } - case id_custom_get_value: - { - indicator_config_get_value(value_id_and_data); - break; - } - case id_custom_save: - { - indicator_config_save(); - break; - } - default: - { - // Unhandled message. - *command_id = id_unhandled; - break; - } - } - return; - } - - *command_id = id_unhandled; -} From 656f2366c0c09fe5d116de7df59ed92f706a57fb Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Sun, 12 May 2024 23:48:35 -0300 Subject: [PATCH 16/23] Fix eeprom wear leveling def --- keyboards/typek/info.json | 1 + keyboards/typek/mcuconf.h | 14 -------------- keyboards/typek/typek.c | 1 - 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 00ac655265f..2c3218d7bc1 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -49,6 +49,7 @@ "eeprom": { "driver": "wear_leveling", "wear_leveling": { + "driver": "embedded_flash", "backing_size": 4096, "logical_size": 2048 } diff --git a/keyboards/typek/mcuconf.h b/keyboards/typek/mcuconf.h index 8f2f7e1cab5..bc2fd4f678d 100644 --- a/keyboards/typek/mcuconf.h +++ b/keyboards/typek/mcuconf.h @@ -15,21 +15,7 @@ */ #pragma once - #include_next -#undef STM32_PLLM_VALUE -#undef STM32_PLLN_VALUE -#undef STM32_PLLP_VALUE -#undef STM32_PLLQ_VALUE -#undef STM32_PPRE1 -#undef STM32_PPRE2 - -#define STM32_PLLM_VALUE 4 -#define STM32_PLLN_VALUE 72 -#define STM32_PLLP_VALUE 2 -#define STM32_PLLQ_VALUE 3 -#define STM32_PPRE1 STM32_PPRE1_DIV2 -#define STM32_PPRE2 STM32_PPRE2_DIV1 #undef STM32_PWM_USE_ADVANCED #define STM32_PWM_USE_ADVANCED TRUE diff --git a/keyboards/typek/typek.c b/keyboards/typek/typek.c index 4a8b11cf0b4..b0260ccc9fc 100644 --- a/keyboards/typek/typek.c +++ b/keyboards/typek/typek.c @@ -15,7 +15,6 @@ */ #include "quantum.h" -#include "print.h" // This function gets called when caps, num, scroll change bool led_update_kb(led_t led_state) { From c4ef2ed77dce157388725bee8dfed5799edf6f08 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Mon, 13 May 2024 16:27:22 -0300 Subject: [PATCH 17/23] Change HSV API to RGBLIGHT --- keyboards/typek/typek.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/typek/typek.c b/keyboards/typek/typek.c index b0260ccc9fc..58d47de5619 100644 --- a/keyboards/typek/typek.c +++ b/keyboards/typek/typek.c @@ -20,7 +20,7 @@ bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (res) { - led_state.caps_lock ? sethsv( HSV_RED, (rgb_led_t *)&led[0]) : sethsv( HSV_BLACK, (rgb_led_t *)&led[0]); + led_state.caps_lock? rgblight_setrgb_at(RGB_RED, 0) : rgblight_setrgb_at(RGB_OFF, 0); } return res; } @@ -29,14 +29,14 @@ bool led_update_kb(led_t led_state) { layer_state_t layer_state_set_kb(layer_state_t state) { switch(get_highest_layer(state)) { case 1: - sethsv(HSV_GREEN, (rgb_led_t *)&led[1]); + rgblight_setrgb_at(RGB_GREEN, 1); break; case 2: - sethsv(HSV_BLUE, (rgb_led_t *)&led[2]); + rgblight_setrgb_at(RGB_BLUE, 2); break; default: - sethsv(HSV_BLACK, (rgb_led_t *)&led[1]); - sethsv(HSV_BLACK, (rgb_led_t *)&led[2]); + rgblight_setrgb_at(RGB_OFF, 1); + rgblight_setrgb_at(RGB_OFF, 2); break; } return state; From baffc9e89d56cbb23b37571a17807d22a1ba4d44 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Mon, 13 May 2024 16:28:27 -0300 Subject: [PATCH 18/23] Run formatting routine on info.json --- keyboards/typek/info.json | 351 +++++++++++++++++++------------------- 1 file changed, 175 insertions(+), 176 deletions(-) diff --git a/keyboards/typek/info.json b/keyboards/typek/info.json index 2c3218d7bc1..1323e865e30 100644 --- a/keyboards/typek/info.json +++ b/keyboards/typek/info.json @@ -1,204 +1,203 @@ { - "keyboard_name": "TypeK-S Rev. Zeta-RC2", "manufacturer": "gok", - "usb": { - "pid": "0x8475", - "vid": "0x7179", - "device_version": "6.2.0" - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["A3" , "B12", "A0" , "A10", "B0" , "B1" , "B10", "B3" , "C15", "C14", "C13", "B9" , "B8" , "B5" ], - "rows": ["A7" , "A8" , "A15", "A1" , "A2" ] - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": false, - "console": false, - "rgblight": true, - "nkro": true - }, + "keyboard_name": "TypeK-S Rev. Zeta-RC2", + "maintainer": "Gondolindrim", + "bootloader": "stm32-dfu", "build": { "lto": true }, - "ws2812":{ - "pin": "B15", - "driver": "pwm" + "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "backing_size": 4096, + "driver": "embedded_flash", + "logical_size": 2048 + } }, + "features": { + "bootmagic": true, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["A3", "B12", "A0", "A10", "B0", "B1", "B10", "B3", "C15", "C14", "C13", "B9", "B8", "B5"], + "rows": ["A7", "A8", "A15", "A1", "A2"] + }, + "processor": "STM32F411", "rgblight": { - "led_count": 69, "animations": { + "alternating": true, "breathing": true, + "christmas": true, + "knight": true, "rainbow_mood": true, "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, "rgb_test": true, - "alternating": true, + "snake": true, + "static_gradient": true, "twinkle": true }, "default": { "animation": "rainbow_swirl", "val": 200 }, - "led_map": [0 , 1 , 2, 3 , 4 , 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] - }, - "eeprom": { - "driver": "wear_leveling", - "wear_leveling": { - "driver": "embedded_flash", - "backing_size": 4096, - "logical_size": 2048 - } + "led_count": 69, + "led_map": [0, 1, 2, 3, 4, 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] }, "url": "https://www.gok.design/type-k", - "maintainer": "Gondolindrim", - "processor": "STM32F411", - "bootloader": "stm32-dfu", + "usb": { + "device_version": "6.2.0", + "pid": "0x8475", + "vid": "0x7179" + }, + "ws2812": { + "driver": "pwm", + "pin": "B15" + }, "layouts": { "LAYOUT_all": { "layout": [ - {"label":"Esc", "matrix":[ 0, 0], "x":0.75, "y":0 }, - {"label":"`~", "matrix":[ 0, 1], "x":2.5, "y":0 }, - {"label":"1!", "matrix":[ 0, 2], "x":3.5, "y":0 }, - {"label":"2@", "matrix":[ 0, 3], "x":5, "y":0 }, - {"label":"3#", "matrix":[ 0, 4], "x":6, "y":0 }, - {"label":"4$", "matrix":[ 0, 5], "x":7, "y":0 }, - {"label":"5%", "matrix":[ 0, 6], "x":8, "y":0 }, - {"label":"7&", "matrix":[ 0, 7], "x":12.75, "y":0 }, - {"label":"8*", "matrix":[ 0, 8], "x":13.75, "y":0 }, - {"label":"9(", "matrix":[ 0, 9], "x":14.75, "y":0 }, - {"label":"0)", "matrix":[ 0,10], "x":15.75, "y":0 }, - {"label":"-_", "matrix":[ 0,11], "x":17, "y":0 }, - {"label":"=+", "matrix":[ 0,12], "x":18, "y":0 }, - {"label":"\\|", "matrix":[ 0,13], "x":19, "y":0 }, - {"label":"Page Up", "matrix":[ 1, 0], "x":0.5, "y":1 }, - {"label":"Tab", "matrix":[ 1, 1], "x":2.25, "y":1, "w":1.5 }, - {"label":"Q", "matrix":[ 1, 2], "x":3.75, "y":1 }, - {"label":"W", "matrix":[ 1, 3], "x":5.5, "y":1 }, - {"label":"E", "matrix":[ 1, 4], "x":6.5, "y":1 }, - {"label":"R", "matrix":[ 1, 5], "x":7.5, "y":1 }, - {"label":"T", "matrix":[ 1, 6], "x":8.5, "y":1 }, - {"label":"Y", "matrix":[ 1, 7], "x":12, "y":1 }, - {"label":"U", "matrix":[ 1, 8], "x":13, "y":1 }, - {"label":"I", "matrix":[ 1, 9], "x":14, "y":1 }, - {"label":"O", "matrix":[ 1,10], "x":15, "y":1 }, - {"label":"P", "matrix":[ 1,11], "x":16.75, "y":1 }, - {"label":"[{", "matrix":[ 1,12], "x":17.75, "y":1 }, - {"label":"]}", "matrix":[ 1,13], "x":18.75, "y":1 }, - {"label":"Page Down", "matrix":[ 2, 0], "x":0.25, "y":2 }, - {"label":"Caps Lock", "matrix":[ 2, 1], "x":2.25, "y":2, "w":1.75}, - {"label":"A", "matrix":[ 2, 2], "x":4, "y":2 }, - {"label":"S", "matrix":[ 2, 3], "x":5.75, "y":2 }, - {"label":"D", "matrix":[ 2, 4], "x":6.75, "y":2 }, - {"label":"F", "matrix":[ 2, 5], "x":7.75, "y":2 }, - {"label":"G", "matrix":[ 2, 6], "x":8.75, "y":2 }, - {"label":"H", "matrix":[ 2, 7], "x":12.25, "y":2 }, - {"label":"J", "matrix":[ 2, 8], "x":13.25, "y":2 }, - {"label":"K", "matrix":[ 2, 9], "x":14.25, "y":2 }, - {"label":"L", "matrix":[ 2,10], "x":15.25, "y":2 }, - {"label":";:", "matrix":[ 2,11], "x":17.25, "y":2 }, - {"label":"\"", "matrix":[ 2,12], "x":18.25, "y":2 }, - {"label":"Del", "matrix":[ 2,13], "x":20, "y":0 }, - {"label":"End", "matrix":[ 3, 0], "x":0, "y":3 }, - {"label":"Shift", "matrix":[ 3, 1], "x":1.5, "y":3, "w":2.25}, - {"label":"Z", "matrix":[ 3, 2], "x":3.75, "y":3 }, - {"label":"X", "matrix":[ 3, 3], "x":6, "y":3 }, - {"label":"C", "matrix":[ 3, 4], "x":7, "y":3 }, - {"label":"V", "matrix":[ 3, 5], "x":8, "y":3 }, - {"label":"B", "matrix":[ 3, 6], "x":9, "y":3 }, - {"label":"B", "matrix":[ 3, 7], "x":11.75, "y":3 }, - {"label":"N", "matrix":[ 3, 8], "x":12.75, "y":3 }, - {"label":"M", "matrix":[ 3, 9], "x":13.75, "y":3 }, - {"label":",<", "matrix":[ 3,10], "x":14.75, "y":3 }, - {"label":".>", "matrix":[ 3,11], "x":17, "y":3 }, - {"label":"/?", "matrix":[ 3,12], "x":18, "y":3 }, - {"label":"Shift", "matrix":[ 3,13], "x":19, "y":3, "w":1.25}, - {"label":"Control", "matrix":[ 4, 1], "x":1.5, "y":4, "w":1.5 }, - {"label":"Alt", "matrix":[ 4, 2], "x":6, "y":4, "w":1.5 }, - {"label":"Space", "matrix":[ 4, 4], "x":7.5, "y":4, "w":2 }, - {"label":"Left GUI", "matrix":[ 4, 5], "x":9.5, "y":4 }, - {"label":"^6", "matrix":[ 4, 6], "x":9, "y":0 }, - {"label":"Space", "matrix":[ 4, 7], "x":11.25, "y":4 }, - {"label":"Space", "matrix":[ 4, 8], "x":12.25, "y":4, "w":2 }, - {"label":"Alt", "matrix":[ 4, 9], "x":14.25, "y":4, "w":1.5 }, - {"label":"Backspace", "matrix":[ 4,10], "x":19.75, "y":1, "w":1.5 }, - {"label":"Enter", "matrix":[ 4,11], "x":19.25, "y":2, "w":2.25}, - {"label":"MO(1)", "matrix":[ 4,12], "x":20.25, "y":3 }, - {"label":"Control", "matrix":[ 4,13], "x":19.25, "y":4, "w":1.5 } - ] + {"label": "Esc", "matrix": [0, 0], "x": 0.75, "y": 0}, + {"label": "`~", "matrix": [0, 1], "x": 2.5, "y": 0}, + {"label": "1!", "matrix": [0, 2], "x": 3.5, "y": 0}, + {"label": "2@", "matrix": [0, 3], "x": 5, "y": 0}, + {"label": "3#", "matrix": [0, 4], "x": 6, "y": 0}, + {"label": "4$", "matrix": [0, 5], "x": 7, "y": 0}, + {"label": "5%", "matrix": [0, 6], "x": 8, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 12.75, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 13.75, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 14.75, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 15.75, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 17, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 18, "y": 0}, + {"label": "\\|", "matrix": [0, 13], "x": 19, "y": 0}, + {"label": "Page Up", "matrix": [1, 0], "x": 0.5, "y": 1}, + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 5.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 6.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 7.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 8.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 12, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 13, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 14, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 15, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 16.75, "y": 1}, + {"label": "[{", "matrix": [1, 12], "x": 17.75, "y": 1}, + {"label": "]}", "matrix": [1, 13], "x": 18.75, "y": 1}, + {"label": "Page Down", "matrix": [2, 0], "x": 0.25, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 5.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 6.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 7.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 8.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 12.25, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 13.25, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 14.25, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 15.25, "y": 2}, + {"label": ";:", "matrix": [2, 11], "x": 17.25, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 18.25, "y": 2}, + {"label": "Del", "matrix": [2, 13], "x": 20, "y": 0}, + {"label": "End", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Shift", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 3.75, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 6, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 7, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 8, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 9, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 11.75, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 12.75, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 13.75, "y": 3}, + {"label": ",<", "matrix": [3, 10], "x": 14.75, "y": 3}, + {"label": ".>", "matrix": [3, 11], "x": 17, "y": 3}, + {"label": "/?", "matrix": [3, 12], "x": 18, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 19, "y": 3, "w": 1.25}, + {"label": "Control", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 6, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 4], "x": 7.5, "y": 4, "w": 2}, + {"label": "Left GUI", "matrix": [4, 5], "x": 9.5, "y": 4}, + {"label": "^6", "matrix": [4, 6], "x": 9, "y": 0}, + {"label": "Space", "matrix": [4, 7], "x": 11.25, "y": 4}, + {"label": "Space", "matrix": [4, 8], "x": 12.25, "y": 4, "w": 2}, + {"label": "Alt", "matrix": [4, 9], "x": 14.25, "y": 4, "w": 1.5}, + {"label": "Backspace", "matrix": [4, 10], "x": 19.75, "y": 1, "w": 1.5}, + {"label": "Enter", "matrix": [4, 11], "x": 19.25, "y": 2, "w": 2.25}, + {"label": "MO(1)", "matrix": [4, 12], "x": 20.25, "y": 3}, + {"label": "Control", "matrix": [4, 13], "x": 19.25, "y": 4, "w": 1.5} + ] }, "LAYOUT_nosplits": { "layout": [ - {"label":"Esc", "matrix":[ 0, 0], "x":0.75, "y":0 }, - {"label":"`~", "matrix":[ 0, 1], "x":2.5, "y":0 }, - {"label":"1!", "matrix":[ 0, 2], "x":3.5, "y":0 }, - {"label":"2@", "matrix":[ 0, 3], "x":5, "y":0 }, - {"label":"3#", "matrix":[ 0, 4], "x":6, "y":0 }, - {"label":"4$", "matrix":[ 0, 5], "x":7, "y":0 }, - {"label":"5%", "matrix":[ 0, 6], "x":8, "y":0 }, - {"label":"7&", "matrix":[ 0, 7], "x":12.75, "y":0 }, - {"label":"8*", "matrix":[ 0, 8], "x":13.75, "y":0 }, - {"label":"9(", "matrix":[ 0, 9], "x":14.75, "y":0 }, - {"label":"0)", "matrix":[ 0,10], "x":15.75, "y":0 }, - {"label":"-_", "matrix":[ 0,11], "x":17, "y":0 }, - {"label":"=+", "matrix":[ 0,12], "x":18, "y":0 }, - {"label":"Backspace", "matrix":[ 0,13], "x":19, "y":0, "w": 2 }, - {"label":"Page Up", "matrix":[ 1, 0], "x":0.5, "y":1 }, - {"label":"Tab", "matrix":[ 1, 1], "x":2.25, "y":1, "w":1.5 }, - {"label":"Q", "matrix":[ 1, 2], "x":3.75, "y":1 }, - {"label":"W", "matrix":[ 1, 3], "x":5.5, "y":1 }, - {"label":"E", "matrix":[ 1, 4], "x":6.5, "y":1 }, - {"label":"R", "matrix":[ 1, 5], "x":7.5, "y":1 }, - {"label":"T", "matrix":[ 1, 6], "x":8.5, "y":1 }, - {"label":"Y", "matrix":[ 1, 7], "x":12, "y":1 }, - {"label":"U", "matrix":[ 1, 8], "x":13, "y":1 }, - {"label":"I", "matrix":[ 1, 9], "x":14, "y":1 }, - {"label":"O", "matrix":[ 1,10], "x":15, "y":1 }, - {"label":"P", "matrix":[ 1,11], "x":16.75, "y":1 }, - {"label":"[{", "matrix":[ 1,12], "x":17.75, "y":1 }, - {"label":"]}", "matrix":[ 1,13], "x":18.75, "y":1 }, - {"label":"Page Down", "matrix":[ 2, 0], "x":0.25, "y":2 }, - {"label":"Caps Lock", "matrix":[ 2, 1], "x":2.25, "y":2, "w":1.75}, - {"label":"A", "matrix":[ 2, 2], "x":4, "y":2 }, - {"label":"S", "matrix":[ 2, 3], "x":5.75, "y":2 }, - {"label":"D", "matrix":[ 2, 4], "x":6.75, "y":2 }, - {"label":"F", "matrix":[ 2, 5], "x":7.75, "y":2 }, - {"label":"G", "matrix":[ 2, 6], "x":8.75, "y":2 }, - {"label":"H", "matrix":[ 2, 7], "x":12.25, "y":2 }, - {"label":"J", "matrix":[ 2, 8], "x":13.25, "y":2 }, - {"label":"K", "matrix":[ 2, 9], "x":14.25, "y":2 }, - {"label":"L", "matrix":[ 2,10], "x":15.25, "y":2 }, - {"label":";:", "matrix":[ 2,11], "x":17.25, "y":2 }, - {"label":"\"", "matrix":[ 2,12], "x":18.25, "y":2 }, - {"label":"End", "matrix":[ 3, 0], "x":0, "y":3 }, - {"label":"Shift", "matrix":[ 3, 1], "x":1.5, "y":3, "w":2.25}, - {"label":"Z", "matrix":[ 3, 2], "x":3.75, "y":3 }, - {"label":"X", "matrix":[ 3, 3], "x":6, "y":3 }, - {"label":"C", "matrix":[ 3, 4], "x":7, "y":3 }, - {"label":"V", "matrix":[ 3, 5], "x":8, "y":3 }, - {"label":"B", "matrix":[ 3, 6], "x":9, "y":3 }, - {"label":"B", "matrix":[ 3, 7], "x":11.75, "y":3 }, - {"label":"N", "matrix":[ 3, 8], "x":12.75, "y":3 }, - {"label":"M", "matrix":[ 3, 9], "x":13.75, "y":3 }, - {"label":",<", "matrix":[ 3,10], "x":14.75, "y":3 }, - {"label":".>", "matrix":[ 3,11], "x":17, "y":3 }, - {"label":"/?", "matrix":[ 3,12], "x":18, "y":3 }, - {"label":"Shift", "matrix":[ 3,13], "x":19, "y":3, "w":2.25}, - {"label":"Control", "matrix":[ 4, 1], "x":1.5, "y":4, "w":1.5 }, - {"label":"Alt", "matrix":[ 4, 2], "x":6, "y":4, "w":1.5 }, - {"label":"Space", "matrix":[ 4, 4], "x":7.5, "y":4, "w":3 }, - {"label":"^6", "matrix":[ 4, 6], "x":9, "y":0 }, - {"label":"Space", "matrix":[ 4, 8], "x":11.25, "y":4, "w":3 }, - {"label":"Alt", "matrix":[ 4, 9], "x":14.25, "y":4, "w":1.5 }, - {"label":"Backspace", "matrix":[ 4,10], "x":19.75, "y":1, "w":1.5 }, - {"label":"Enter", "matrix":[ 4,11], "x":19.25, "y":2, "w":2.25}, - {"label":"Control", "matrix":[ 4,13], "x":19.25, "y":4, "w":1.5 } - ] + {"label": "Esc", "matrix": [0, 0], "x": 0.75, "y": 0}, + {"label": "`~", "matrix": [0, 1], "x": 2.5, "y": 0}, + {"label": "1!", "matrix": [0, 2], "x": 3.5, "y": 0}, + {"label": "2@", "matrix": [0, 3], "x": 5, "y": 0}, + {"label": "3#", "matrix": [0, 4], "x": 6, "y": 0}, + {"label": "4$", "matrix": [0, 5], "x": 7, "y": 0}, + {"label": "5%", "matrix": [0, 6], "x": 8, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 12.75, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 13.75, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 14.75, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 15.75, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 17, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 18, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 19, "y": 0, "w": 2}, + {"label": "Page Up", "matrix": [1, 0], "x": 0.5, "y": 1}, + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 5.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 6.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 7.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 8.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 12, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 13, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 14, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 15, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 16.75, "y": 1}, + {"label": "[{", "matrix": [1, 12], "x": 17.75, "y": 1}, + {"label": "]}", "matrix": [1, 13], "x": 18.75, "y": 1}, + {"label": "Page Down", "matrix": [2, 0], "x": 0.25, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 5.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 6.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 7.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 8.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 12.25, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 13.25, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 14.25, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 15.25, "y": 2}, + {"label": ";:", "matrix": [2, 11], "x": 17.25, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 18.25, "y": 2}, + {"label": "End", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Shift", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 3.75, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 6, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 7, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 8, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 9, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 11.75, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 12.75, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 13.75, "y": 3}, + {"label": ",<", "matrix": [3, 10], "x": 14.75, "y": 3}, + {"label": ".>", "matrix": [3, 11], "x": 17, "y": 3}, + {"label": "/?", "matrix": [3, 12], "x": 18, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 19, "y": 3, "w": 2.25}, + {"label": "Control", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 6, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 4], "x": 7.5, "y": 4, "w": 3}, + {"label": "^6", "matrix": [4, 6], "x": 9, "y": 0}, + {"label": "Space", "matrix": [4, 8], "x": 11.25, "y": 4, "w": 3}, + {"label": "Alt", "matrix": [4, 9], "x": 14.25, "y": 4, "w": 1.5}, + {"label": "Backspace", "matrix": [4, 10], "x": 19.75, "y": 1, "w": 1.5}, + {"label": "Enter", "matrix": [4, 11], "x": 19.25, "y": 2, "w": 2.25}, + {"label": "Control", "matrix": [4, 13], "x": 19.25, "y": 4, "w": 1.5} + ] } - } -} +} \ No newline at end of file From b3564bb1f7a1be979913503775b08d132abfec84 Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Tue, 1 Oct 2024 02:40:50 -0300 Subject: [PATCH 19/23] Rename info.json, delete rules.mk --- keyboards/typek/{info.json => keyboard.json} | 0 keyboards/typek/rules.mk | 1 - 2 files changed, 1 deletion(-) rename keyboards/typek/{info.json => keyboard.json} (100%) delete mode 100644 keyboards/typek/rules.mk diff --git a/keyboards/typek/info.json b/keyboards/typek/keyboard.json similarity index 100% rename from keyboards/typek/info.json rename to keyboards/typek/keyboard.json diff --git a/keyboards/typek/rules.mk b/keyboards/typek/rules.mk deleted file mode 100644 index ba1300b2aa8..00000000000 --- a/keyboards/typek/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# This file was intentionally left blank From 084828e08feee31f6a5e74373d06d6970b0606ea Mon Sep 17 00:00:00 2001 From: Gondolindrim Date: Tue, 1 Oct 2024 02:42:15 -0300 Subject: [PATCH 20/23] Remove VIA keymap --- keyboards/typek/keymaps/via/keymap.c | 34 ---------------------------- keyboards/typek/keymaps/via/rules.mk | 1 - 2 files changed, 35 deletions(-) delete mode 100644 keyboards/typek/keymaps/via/keymap.c delete mode 100644 keyboards/typek/keymaps/via/rules.mk diff --git a/keyboards/typek/keymaps/via/keymap.c b/keyboards/typek/keymaps/via/keymap.c deleted file mode 100644 index ad19869c1fc..00000000000 --- a/keyboards/typek/keymaps/via/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2023 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 . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[0] = LAYOUT_all( /* Base */ - KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSLS, - KC_PGUP, 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_PGDN, 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_DEL , - MO(1) , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_SPC , KC_LGUI, KC_6 , KC_SPC , KC_SPC , KC_RALT, KC_BSPC, KC_ENT , MO(1) , KC_RCTL -), -[1] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_TRNS, - KC_HOME, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_END , KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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 -) -}; diff --git a/keyboards/typek/keymaps/via/rules.mk b/keyboards/typek/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb..00000000000 --- a/keyboards/typek/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes From bc2425fa52f8ccc62e8dd7bf8b8b40a4b48520ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Tue, 1 Oct 2024 17:19:55 -0300 Subject: [PATCH 21/23] Omit wear leveling defs in kb.json Co-authored-by: Joel Challis --- keyboards/typek/keyboard.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/typek/keyboard.json b/keyboards/typek/keyboard.json index 1323e865e30..b2ade4cc210 100644 --- a/keyboards/typek/keyboard.json +++ b/keyboards/typek/keyboard.json @@ -8,11 +8,8 @@ }, "diode_direction": "COL2ROW", "eeprom": { - "driver": "wear_leveling", "wear_leveling": { - "backing_size": 4096, - "driver": "embedded_flash", - "logical_size": 2048 + "backing_size": 4096 } }, "features": { From 24452d37b60d37235a5af7f50c83c3b81f896372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Tue, 1 Oct 2024 17:20:16 -0300 Subject: [PATCH 22/23] Remove deprecated advanced PWM defs in mcuconf Co-authored-by: Joel Challis --- keyboards/typek/mcuconf.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/typek/mcuconf.h b/keyboards/typek/mcuconf.h index bc2fd4f678d..bc272639307 100644 --- a/keyboards/typek/mcuconf.h +++ b/keyboards/typek/mcuconf.h @@ -17,8 +17,5 @@ #pragma once #include_next -#undef STM32_PWM_USE_ADVANCED -#define STM32_PWM_USE_ADVANCED TRUE - #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE From 721d129d5327a6e0321fc7785e05c3a04060ee91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Tue, 1 Oct 2024 17:20:31 -0300 Subject: [PATCH 23/23] Remove permanent memory data size def Co-authored-by: Joel Challis --- keyboards/typek/config.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/typek/config.h b/keyboards/typek/config.h index a36eee14aee..873d74500d6 100644 --- a/keyboards/typek/config.h +++ b/keyboards/typek/config.h @@ -24,9 +24,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA2_STREAM5 #define WS2812_DMA_CHANNEL 6 -#define EECONFIG_KB_DATA_SIZE (3*6) - - /* LED MAP 0 , 1 , 2 Three indicators 3 , 4 , 5 Three RGBs on left side