From 6bbdb5b0ecacca850dc36184d7fb556c5cf0f443 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Thu, 28 Nov 2024 15:25:05 -0800 Subject: [PATCH 01/10] DecenTKL & NumPad initial commit --- keyboards/decent/numpad/keyboard.json | 144 +++++++++ .../decent/numpad/keymaps/default/config.h | 7 + .../decent/numpad/keymaps/default/keymap.c | 41 +++ keyboards/decent/numpad/readme.md | 73 +++++ keyboards/decent/numpad/rules.mk | 1 + keyboards/decent/tkl/keyboard.json | 290 ++++++++++++++++++ .../decent/tkl/keymaps/default/atari-font.c | 228 ++++++++++++++ keyboards/decent/tkl/keymaps/default/config.h | 12 + keyboards/decent/tkl/keymaps/default/keymap.c | 79 +++++ keyboards/decent/tkl/readme.md | 81 +++++ keyboards/decent/tkl/rules.mk | 1 + 11 files changed, 957 insertions(+) create mode 100644 keyboards/decent/numpad/keyboard.json create mode 100644 keyboards/decent/numpad/keymaps/default/config.h create mode 100644 keyboards/decent/numpad/keymaps/default/keymap.c create mode 100644 keyboards/decent/numpad/readme.md create mode 100644 keyboards/decent/numpad/rules.mk create mode 100644 keyboards/decent/tkl/keyboard.json create mode 100644 keyboards/decent/tkl/keymaps/default/atari-font.c create mode 100644 keyboards/decent/tkl/keymaps/default/config.h create mode 100644 keyboards/decent/tkl/keymaps/default/keymap.c create mode 100644 keyboards/decent/tkl/readme.md create mode 100644 keyboards/decent/tkl/rules.mk diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json new file mode 100644 index 000000000000..fbbeb0f06898 --- /dev/null +++ b/keyboards/decent/numpad/keyboard.json @@ -0,0 +1,144 @@ +{ + "manufacturer": "Bertrand Le roy", + "keyboard_name": "DecenTKL NumPad", + "maintainer": "bleroy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "encoder": false, + "bootmagic": true, + "rgb_matrix": true, + "oled": false, + "command": false, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": false + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3"], + "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"] + }, + "processor": "RP2040", + "url": "https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/", + "tags": ["ansi", "numpad", "rgb", "atari", "joystick"], + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "i2c": { + }, + "ws2812": { + "pin": "GP20", + "driver": "vendor" + }, + "layouts": { + "LAYOUT_default": { + "layout": [ + {"matrix": [0, 0], "x": 0.75, "y": 0, "label": "F11"}, + {"matrix": [0, 1], "x": 2.25, "y": 0, "label": "F12"}, + + {"matrix": [1, 0], "x": 0, "y": 1, "label": "Num"}, + {"matrix": [1, 1], "x": 1, "y": 1, "label": "/"}, + {"matrix": [1, 2], "x": 2, "y": 1, "label": "*"}, + {"matrix": [1, 3], "x": 3, "y": 1, "label": "-"}, + + {"matrix": [2, 0], "x": 0, "y": 2, "label": "7"}, + {"matrix": [2, 1], "x": 1, "y": 2, "label": "8"}, + {"matrix": [2, 2], "x": 2, "y": 2, "label": "9"}, + {"matrix": [2, 3], "x": 3, "y": 2, "label": "+"}, + + {"matrix": [3, 0], "x": 0, "y": 3, "label": "4"}, + {"matrix": [3, 1], "x": 1, "y": 3, "label": "5"}, + {"matrix": [3, 2], "x": 2, "y": 3, "label": "6"}, + + {"matrix": [4, 0], "x": 0, "y": 4, "label": "1"}, + {"matrix": [4, 1], "x": 1, "y": 4, "label": "2"}, + {"matrix": [4, 2], "x": 2, "y": 4, "label": "3"}, + {"matrix": [4, 3], "x": 3, "y": 4, "label": "Enter"}, + + {"matrix": [5, 0], "x": 0, "y": 5, "label": "0"}, + {"matrix": [5, 2], "x": 2, "y": 5, "label": "."} + ] + } + }, + "rgb_matrix": { + "max_brightness": 125, + "sleep": true, + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "layout": [ + {"matrix": [0, 0], "x": 56, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 169, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 0, "y": 20, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 20, "flags": 4}, + {"matrix": [1, 2], "x": 150, "y": 20, "flags": 4}, + {"matrix": [1, 3], "x": 224, "y": 20, "flags": 4}, + + {"matrix": [2, 0], "x": 0, "y": 31, "flags": 4}, + {"matrix": [2, 1], "x": 75, "y": 31, "flags": 4}, + {"matrix": [2, 2], "x": 150, "y": 31, "flags": 4}, + {"x": 224, "y": 31, "flags": 2}, + + {"matrix": [3, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [3, 1], "x": 75, "y": 42, "flags": 4}, + {"matrix": [3, 2], "x": 150, "y": 42, "flags": 4}, + {"matrix": [3, 3], "x": 224, "y": 42, "flags": 4}, + + {"matrix": [4, 0], "x": 0, "y": 53, "flags": 4}, + {"matrix": [4, 1], "x": 75, "y": 53, "flags": 4}, + {"matrix": [4, 2], "x": 150, "y": 53, "flags": 4}, + {"x": 224, "y": 53, "flags": 2}, + + {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, + {"x": 85, "y": 75, "flags": 2}, + {"matrix": [5, 2], "x": 150, "y": 64, "flags": 4}, + {"matrix": [5, 3], "x": 224, "y": 64, "flags": 4} + ], + "driver": "ws2812" + } +} \ No newline at end of file diff --git a/keyboards/decent/numpad/keymaps/default/config.h b/keyboards/decent/numpad/keymaps/default/config.h new file mode 100644 index 000000000000..a53b13c915b2 --- /dev/null +++ b/keyboards/decent/numpad/keymaps/default/config.h @@ -0,0 +1,7 @@ +#pragma once + +#define BOOTMAGIC_ROW 1 +#define BOOTMAGIC_COLUMN 0 +#define RGB_MATRIX_SLEEP + +#define RGB_MATRIX_LED_COUNT 22 diff --git a/keyboards/decent/numpad/keymaps/default/keymap.c b/keyboards/decent/numpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..ec493805b260 --- /dev/null +++ b/keyboards/decent/numpad/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * /─────/─────/ + * /F11 /F12 / + * /─────/─────/ + * ┌───┬───┬───┬───┐ + * │Num│ / │ * │ - │ + * ├───┼───┼───┼───┤ + * │ 7 │ 8 │ 9 │ + │ + * ├───┼───┼───┤ │ + * │ 4 │ 5 │ 6 │ │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │Ent│ + * ├───┴───┼───┤ er│ + * │ 0 │ . │ │ + * └───────┴───┴───┘ + */ + [0] = LAYOUT_default( + KC_F11, KC_F12, + + MO(1), KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, + KC_KP_4, KC_KP_5, KC_KP_6, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, + KC_KP_0, KC_KP_DOT + ), + [1] = LAYOUT_default( + S(KC_F11), S(KC_F12), + + _______, RGB_M_B, RGB_M_R, RGB_VAD, + _______, RGB_HUI, _______, RGB_VAI, + RGB_SPD, RGB_M_SW, RGB_SPI, + RGB_RMOD, RGB_HUD, RGB_MOD, _______, + RGB_TOG, _______ + ), +}; diff --git a/keyboards/decent/numpad/readme.md b/keyboards/decent/numpad/readme.md new file mode 100644 index 000000000000..d00d61d98fd9 --- /dev/null +++ b/keyboards/decent/numpad/readme.md @@ -0,0 +1,73 @@ +# DecenTKL NumPad + +![decentkl](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/Media/DecenTKL-logo.png) + +*A numeric pad to go with the DecenTKL keyboard* + +This numeric pad also includes a 3-port USB hub, enabling the connection of the TKL +keyboard on the back of the pad. + +The pad also has two Atari joystick ports. + +* Keyboard Maintainer: [Bertrand Le roy](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/) +* Hardware Supported: DecenTKL (RP2040-based) +* Hardware Availability: Custom built but open-source + +Make example for this keyboard (after setting up your build environment): + + make decent/numpad:default + +Flashing example for this keyboard: + + make decent/numpad:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Press the Num key or the button on the back of the board while connecting the pad. + +## Special commands + +Num + Enter: go into bootloader mode without unplugging the keyboard + +## Layout +```C +/* + * /─────/─────/ + * /F11 /F12 / + * /─────/─────/ + * ┌───┬───┬───┬───┐ + * │Num│ / │ * │ - │ + * ├───┼───┼───┼───┤ + * │ 7 │ 8 │ 9 │ + │ + * ├───┼───┼───┤ │ + * │ 4 │ 5 │ 6 │ │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │Ent│ + * ├───┴───┼───┤ er│ + * │ 0 │ . │ │ + * └───────┴───┴───┘ + */ +``` + +While holding the Num key: + +```C +/* + * /─────────/─────────/ + * /Shift+F11/Shift+F12/ + * /─────────/─────────/ + * ┌───────┬───────┬───────┬───────┐ + * │ │Breathe│Rainbow│Bright-│ + * ├───────┼───────┼───────┼───────┤ + * │ │ Hue + │ │Bright-│ + * ├───────┼───────┼───────┤ │ + * │Speed -│ Swirl │Speed +│ │ + * ├───────┼───────┼───────┼───────┤ + * │Mode - │ Hue - │Mode + │ │ + * ├───────┴───────┼───────┤ │ + * │ on / off │ │ │ + * └───────────────┴───────┴───────┘ + */ +``` diff --git a/keyboards/decent/numpad/rules.mk b/keyboards/decent/numpad/rules.mk new file mode 100644 index 000000000000..fc48d3e355af --- /dev/null +++ b/keyboards/decent/numpad/rules.mk @@ -0,0 +1 @@ +JOYSTICK_ENABLE = yes \ No newline at end of file diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json new file mode 100644 index 000000000000..0963bb585bfe --- /dev/null +++ b/keyboards/decent/tkl/keyboard.json @@ -0,0 +1,290 @@ +{ + "manufacturer": "Bertrand Le roy", + "keyboard_name": "DecenTKL", + "maintainer": "bleroy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "encoder": true, + "bootmagic": true, + "rgb_matrix": true, + "oled": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "rows": ["GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20"] + }, + "processor": "RP2040", + "url": "https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/", + "tags": ["ansi", "tkl", "rgb", "oled", "encoder", "atari"], + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "i2c": { + + }, + "oled": { + "driver": "ssd1306", + "transport": "i2c" + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP21", + "pin_b": "GP22", + "resolution": 1 + } + ] + }, + "ws2812": { + "pin": "GP0", + "driver": "vendor" + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 6], "x": 0.5, "y": 0, "label": "Esc"}, + {"matrix": [0, 5], "x": 3.5, "y": 0, "label": "F1"}, + {"matrix": [0, 4], "x": 5, "y": 0, "label": "F2"}, + {"matrix": [0, 3], "x": 6.5, "y": 0, "label": "F3"}, + {"matrix": [0, 2], "x": 8, "y": 0, "label": "F4"}, + {"matrix": [0, 1], "x": 9.5, "y": 0, "label": "F5"}, + {"matrix": [0, 0], "x": 11, "y": 0, "label": "F6"}, + {"matrix": [1, 0], "x": 12.5, "y": 0, "label": "F7"}, + {"matrix": [1, 1], "x": 14, "y": 0, "label": "F8"}, + {"matrix": [1, 2], "x": 15.5, "y": 0, "label": "F9"}, + {"matrix": [1, 3], "x": 17, "y": 0, "label": "F10"}, + + {"matrix": [2, 6], "x": 0, "y": 1.5, "label": "`"}, + {"matrix": [2, 5], "x": 1, "y": 1.5, "label": "1"}, + {"matrix": [2, 4], "x": 2, "y": 1.5, "label": "2"}, + {"matrix": [2, 3], "x": 3, "y": 1.5, "label": "3"}, + {"matrix": [2, 2], "x": 4, "y": 1.5, "label": "4"}, + {"matrix": [2, 1], "x": 5, "y": 1.5, "label": "5"}, + {"matrix": [2, 0], "x": 6, "y": 1.5, "label": "6"}, + {"matrix": [3, 0], "x": 7, "y": 1.5, "label": "7"}, + {"matrix": [3, 1], "x": 8, "y": 1.5, "label": "8"}, + {"matrix": [3, 2], "x": 9, "y": 1.5, "label": "9"}, + {"matrix": [3, 3], "x": 10, "y": 1.5, "label": "0"}, + {"matrix": [3, 4], "x": 11, "y": 1.5, "label": "-"}, + {"matrix": [3, 5], "x": 12, "y": 1.5, "label": "="}, + {"matrix": [3, 6], "x": 13, "y": 1.5, "w": 2, "label": "Backspace"}, + {"matrix": [1, 4], "x": 15.5, "y": 1.5, "label": "Insert"}, + {"matrix": [1, 5], "x": 16.5, "y": 1.5, "label": "Home"}, + {"matrix": [1, 6], "x": 17.5, "y": 1.5, "label": "PgUp"}, + + {"matrix": [4, 6], "x": 0, "y": 2.5, "w": 1.5, "label": "Tab"}, + {"matrix": [4, 5], "x": 1.5, "y": 2.5, "label": "Q"}, + {"matrix": [4, 4], "x": 2.5, "y": 2.5, "label": "W"}, + {"matrix": [4, 3], "x": 3.5, "y": 2.5, "label": "E"}, + {"matrix": [4, 2], "x": 4.5, "y": 2.5, "label": "R"}, + {"matrix": [4, 1], "x": 5.5, "y": 2.5, "label": "T"}, + {"matrix": [4, 0], "x": 6.5, "y": 2.5, "label": "Y"}, + {"matrix": [5, 0], "x": 7.5, "y": 2.5, "label": "U"}, + {"matrix": [5, 1], "x": 8.5, "y": 2.5, "label": "I"}, + {"matrix": [5, 2], "x": 9.5, "y": 2.5, "label": "O"}, + {"matrix": [5, 3], "x": 10.5, "y": 2.5, "label": "P"}, + {"matrix": [5, 4], "x": 11.5, "y": 2.5, "label": "["}, + {"matrix": [5, 5], "x": 12.5, "y": 2.5, "label": "]"}, + {"matrix": [5, 6], "x": 13.5, "y": 2.5, "w": 1.5, "label": "\\"}, + {"matrix": [9, 5], "x": 15.5, "y": 2.5, "label": "Del"}, + {"matrix": [9, 6], "x": 16.5, "y": 2.5, "label": "End"}, + {"matrix": [7, 6], "x": 17.5, "y": 2.5, "label": "PgDn"}, + + {"matrix": [6, 6], "x": 0, "y": 3.5, "w": 1.75, "label": "Caps"}, + {"matrix": [6, 5], "x": 1.75, "y": 3.5, "label": "A"}, + {"matrix": [6, 4], "x": 2.75, "y": 3.5, "label": "S"}, + {"matrix": [6, 3], "x": 3.75, "y": 3.5, "label": "D"}, + {"matrix": [6, 2], "x": 4.75, "y": 3.5, "label": "F"}, + {"matrix": [6, 1], "x": 5.75, "y": 3.5, "label": "G"}, + {"matrix": [6, 0], "x": 6.75, "y": 3.5, "label": "H"}, + {"matrix": [7, 0], "x": 7.75, "y": 3.5, "label": "J"}, + {"matrix": [7, 1], "x": 8.75, "y": 3.5, "label": "K"}, + {"matrix": [7, 2], "x": 9.75, "y": 3.5, "label": "L"}, + {"matrix": [7, 3], "x": 10.75, "y": 3.5, "label": ";"}, + {"matrix": [7, 4], "x": 11.75, "y": 3.5, "label": "'"}, + {"matrix": [7, 5], "x": 12.75, "y": 3.5, "w": 2.25, "label": "Return"}, + + {"matrix": [8, 6], "x": 0, "y": 4.5, "w": 2.25, "label": "Shift"}, + {"matrix": [8, 5], "x": 2.25, "y": 4.5, "label": "Z"}, + {"matrix": [8, 4], "x": 3.25, "y": 4.5, "label": "X"}, + {"matrix": [8, 3], "x": 4.25, "y": 4.5, "label": "C"}, + {"matrix": [8, 2], "x": 5.25, "y": 4.5, "label": "V"}, + {"matrix": [8, 1], "x": 6.25, "y": 4.5, "label": "B"}, + {"matrix": [8, 0], "x": 7.25, "y": 4.5, "label": "N"}, + {"matrix": [9, 0], "x": 8.25, "y": 4.5, "label": "M"}, + {"matrix": [9, 1], "x": 9.25, "y": 4.5, "label": ","}, + {"matrix": [9, 2], "x": 10.25, "y": 4.5, "label": "."}, + {"matrix": [9, 3], "x": 11.25, "y": 4.5, "label": "/"}, + {"matrix": [9, 4], "x": 12.25, "y": 4.5, "w": 2.75, "label": "Shift"}, + {"matrix": [4, 7], "x": 16.5, "y": 4.5, "label": "Up"}, + + {"matrix": [0, 8], "x": 0, "y": 5.5, "w": 1.25, "label": "Ctrl"}, + {"matrix": [1, 8], "x": 1.25, "y": 5.5, "w": 1.25, "label": "Atari"}, + {"matrix": [2, 8], "x": 2.5, "y": 5.5, "w": 1.25, "label": "Alt"}, + {"matrix": [3, 8], "x": 3.75, "y": 5.5, "w": 6.25, "label": "Space"}, + {"matrix": [2, 7], "x": 10, "y": 5.5, "w": 1.25, "label": "Alt"}, + {"matrix": [1, 7], "x": 11.25, "y": 5.5, "w": 1.25, "label": "Fn"}, + {"matrix": [3, 7], "x": 12.5, "y": 5.5, "w": 1.25, "label": "Menu"}, + {"matrix": [0, 7], "x": 13.75, "y": 5.5, "w": 1.25, "label": "Ctrl"}, + {"matrix": [4, 8], "x": 15.25, "y": 5.5, "label": "Left"}, + {"matrix": [5, 7], "x": 16.25, "y": 5.5, "label": "Down"}, + {"matrix": [5, 8], "x": 17.25, "y": 5.5, "label": "Right"} + ] + } + }, + "rgb_matrix": { + "max_brightness": 125, + "sleep": true, + "default": { + "animation": "typing_heatmap" + }, + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "flower_blooming": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "typing_heatmap": true + }, + "layout": [ + {"matrix": [0, 6], "x": 8, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 40, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 55, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 70, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 85, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 100, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 115, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 130, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 145, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 160, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 175, "y": 0, "flags": 4}, + + {"matrix": [2, 6], "x": 0, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 10, "y": 16, "flags": 4}, + {"matrix": [2, 4], "x": 20, "y": 16, "flags": 4}, + {"matrix": [2, 3], "x": 30, "y": 16, "flags": 1}, + {"matrix": [2, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [2, 1], "x": 50, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 60, "y": 16, "flags": 4}, + {"matrix": [3, 0], "x": 70, "y": 16, "flags": 4}, + {"matrix": [3, 1], "x": 80, "y": 16, "flags": 4}, + {"matrix": [3, 2], "x": 90, "y": 16, "flags": 4}, + {"matrix": [3, 3], "x": 100, "y": 16, "flags": 4}, + {"matrix": [3, 4], "x": 110, "y": 16, "flags": 4}, + {"matrix": [3, 5], "x": 120, "y": 16, "flags": 4}, + {"matrix": [3, 6], "x": 140, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 150, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 160, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 170, "y": 16, "flags": 4}, + + {"matrix": [4, 6], "x": 3, "y": 26, "flags": 4}, + {"matrix": [4, 5], "x": 15, "y": 26, "flags": 4}, + {"matrix": [4, 4], "x": 25, "y": 26, "flags": 4}, + {"matrix": [4, 3], "x": 35, "y": 26, "flags": 4}, + {"matrix": [4, 2], "x": 45, "y": 26, "flags": 4}, + {"matrix": [4, 1], "x": 55, "y": 26, "flags": 4}, + {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, + {"matrix": [5, 0], "x": 75, "y": 26, "flags": 4}, + {"matrix": [5, 1], "x": 85, "y": 26, "flags": 4}, + {"matrix": [5, 2], "x": 95, "y": 26, "flags": 4}, + {"matrix": [5, 3], "x": 105, "y": 26, "flags": 4}, + {"matrix": [5, 4], "x": 115, "y": 26, "flags": 4}, + {"matrix": [5, 5], "x": 125, "y": 26, "flags": 4}, + {"matrix": [5, 6], "x": 135, "y": 26, "flags": 4}, + {"matrix": [9, 5], "x": 150, "y": 26, "flags": 4}, + {"matrix": [9, 6], "x": 160, "y": 26, "flags": 4}, + {"matrix": [7, 6], "x": 170, "y": 26, "flags": 4}, + + {"matrix": [6, 6], "x": 4, "y": 36, "flags": 4}, + {"matrix": [6, 5], "x": 17, "y": 36, "flags": 4}, + {"matrix": [6, 4], "x": 27, "y": 36, "flags": 4}, + {"matrix": [6, 3], "x": 37, "y": 36, "flags": 4}, + {"matrix": [6, 2], "x": 47, "y": 36, "flags": 4}, + {"matrix": [6, 1], "x": 57, "y": 36, "flags": 4}, + {"matrix": [6, 0], "x": 67, "y": 36, "flags": 4}, + {"matrix": [7, 0], "x": 77, "y": 36, "flags": 4}, + {"matrix": [7, 1], "x": 87, "y": 36, "flags": 4}, + {"matrix": [7, 2], "x": 97, "y": 36, "flags": 4}, + {"matrix": [7, 3], "x": 107, "y": 36, "flags": 4}, + {"matrix": [7, 4], "x": 117, "y": 36, "flags": 4}, + {"matrix": [7, 5], "x": 132, "y": 36, "flags": 4}, + + {"matrix": [8, 6], "x": 6, "y": 46, "flags": 1}, + {"matrix": [8, 5], "x": 22, "y": 46, "flags": 4}, + {"matrix": [8, 4], "x": 32, "y": 46, "flags": 4}, + {"matrix": [8, 3], "x": 42, "y": 46, "flags": 4}, + {"matrix": [8, 2], "x": 52, "y": 46, "flags": 4}, + {"matrix": [8, 1], "x": 62, "y": 46, "flags": 4}, + {"matrix": [8, 0], "x": 72, "y": 46, "flags": 4}, + {"matrix": [9, 0], "x": 82, "y": 46, "flags": 4}, + {"matrix": [9, 1], "x": 92, "y": 46, "flags": 4}, + {"matrix": [9, 2], "x": 102, "y": 46, "flags": 4}, + {"matrix": [9, 3], "x": 112, "y": 46, "flags": 4}, + {"matrix": [9, 4], "x": 130, "y": 46, "flags": 1}, + {"matrix": [4, 7], "x": 160, "y": 46, "flags": 4}, + + {"matrix": [0, 8], "x": 1, "y": 56, "flags": 1}, + {"matrix": [1, 8], "x": 14, "y": 56, "flags": 1}, + {"matrix": [2, 8], "x": 26, "y": 56, "flags": 1}, + {"matrix": [3, 8], "x": 63, "y": 56, "flags": 4}, + {"matrix": [2, 7], "x": 100, "y": 56, "flags": 1}, + {"matrix": [1, 7], "x": 112, "y": 56, "flags": 1}, + {"matrix": [3, 7], "x": 125, "y": 56, "flags": 1}, + {"matrix": [0, 7], "x": 137, "y": 56, "flags": 4}, + {"matrix": [4, 8], "x": 150, "y": 56, "flags": 4}, + {"matrix": [5, 7], "x": 160, "y": 56, "flags": 4}, + {"matrix": [5, 8], "x": 170, "y": 56, "flags": 4} + ], + "driver": "ws2812" + } +} \ No newline at end of file diff --git a/keyboards/decent/tkl/keymaps/default/atari-font.c b/keyboards/decent/tkl/keymaps/default/atari-font.c new file mode 100644 index 000000000000..dd3a641b4247 --- /dev/null +++ b/keyboards/decent/tkl/keymaps/default/atari-font.c @@ -0,0 +1,228 @@ +#include "progmem.h" + +static const unsigned char PROGMEM font[] = { + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x18, 0x18, 0x1F, 0x1F, 0x00, 0x00, + 0x18, 0x18, 0xFF, 0xFF, 0x00, 0x00, + 0x18, 0x18, 0xF8, 0xF8, 0x00, 0x00, + 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, + 0x07, 0x0E, 0x1C, 0x38, 0x70, 0xE0, + 0x80, 0xC0, 0xF0, 0xF8, 0xFE, 0xFF, + 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, + 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x80, + 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, + 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, + 0x18, 0x58, 0x66, 0x66, 0x58, 0x18, + 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, + 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, + 0x18, 0x18, 0x1F, 0x1F, 0x18, 0x18, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, + 0x1F, 0x15, 0x75, 0x50, 0x50, 0x00, + 0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00, + 0x10, 0x30, 0x7E, 0x30, 0x10, 0x00, + 0x10, 0x38, 0x54, 0x10, 0x10, 0x00, + 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, + 0x24, 0x7E, 0x24, 0x7E, 0x24, 0x00, + 0x24, 0x2A, 0x6B, 0x2A, 0x12, 0x00, + 0x4C, 0x2C, 0x10, 0x68, 0x64, 0x00, + 0x30, 0x4A, 0x55, 0x32, 0x50, 0x00, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x10, 0x54, 0x38, 0x54, 0x10, 0x00, + 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3C, 0x52, 0x4A, 0x46, 0x3C, 0x00, + 0x00, 0x44, 0x7E, 0x40, 0x00, 0x00, + 0x44, 0x62, 0x52, 0x4A, 0x44, 0x00, + 0x22, 0x42, 0x4A, 0x56, 0x22, 0x00, + 0x30, 0x28, 0x24, 0x7E, 0x20, 0x00, + 0x2E, 0x4A, 0x4A, 0x4A, 0x32, 0x00, + 0x3C, 0x4A, 0x4A, 0x4A, 0x30, 0x00, + 0x62, 0x12, 0x0A, 0x06, 0x02, 0x00, + 0x34, 0x4A, 0x4A, 0x4A, 0x34, 0x00, + 0x04, 0x4A, 0x4A, 0x2A, 0x1C, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x48, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x48, 0x48, 0x48, 0x48, 0x48, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x04, 0x02, 0x52, 0x0A, 0x04, 0x00, + 0x3C, 0x42, 0x5A, 0x5A, 0x5C, 0x00, + 0x78, 0x24, 0x22, 0x24, 0x78, 0x00, + 0x7E, 0x4A, 0x4A, 0x4A, 0x34, 0x00, + 0x3C, 0x42, 0x42, 0x42, 0x24, 0x00, + 0x7E, 0x42, 0x42, 0x24, 0x18, 0x00, + 0x7E, 0x4A, 0x4A, 0x4A, 0x42, 0x00, + 0x7E, 0x0A, 0x0A, 0x0A, 0x02, 0x00, + 0x3C, 0x42, 0x42, 0x52, 0x72, 0x00, + 0x7E, 0x08, 0x08, 0x08, 0x7E, 0x00, + 0x00, 0x42, 0x7E, 0x42, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3E, 0x00, 0x00, + 0x7E, 0x18, 0x24, 0x42, 0x00, 0x00, + 0x7E, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7E, 0x04, 0x08, 0x04, 0x7E, 0x00, + 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00, + 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x00, + 0x7E, 0x12, 0x12, 0x12, 0x0C, 0x00, + 0x3C, 0x42, 0x52, 0x22, 0x5C, 0x00, + 0x7E, 0x12, 0x12, 0x32, 0x4C, 0x00, + 0x04, 0x4A, 0x4A, 0x4A, 0x30, 0x00, + 0x02, 0x02, 0x7E, 0x02, 0x02, 0x00, + 0x7E, 0x40, 0x40, 0x40, 0x7E, 0x00, + 0x1E, 0x20, 0x40, 0x20, 0x1E, 0x00, + 0x7E, 0x20, 0x10, 0x20, 0x7E, 0x00, + 0x42, 0x24, 0x18, 0x24, 0x42, 0x00, + 0x06, 0x08, 0x70, 0x08, 0x06, 0x00, + 0x62, 0x52, 0x4A, 0x46, 0x42, 0x00, + 0x00, 0x7E, 0x42, 0x42, 0x00, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x00, 0x42, 0x42, 0x7E, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x18, 0x3C, 0x7E, 0x7E, 0x3C, 0x18, + 0x20, 0x54, 0x54, 0x54, 0x78, 0x00, + 0x7E, 0x48, 0x48, 0x48, 0x30, 0x00, + 0x00, 0x38, 0x44, 0x44, 0x44, 0x00, + 0x30, 0x48, 0x48, 0x48, 0x7E, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7C, 0x0A, 0x0A, 0x00, + 0x98, 0xA4, 0xA4, 0xA4, 0x7C, 0x00, + 0x7E, 0x08, 0x08, 0x08, 0x70, 0x00, + 0x00, 0x48, 0x7A, 0x40, 0x00, 0x00, + 0x00, 0x80, 0x80, 0x80, 0x7A, 0x00, + 0x00, 0x7E, 0x10, 0x28, 0x40, 0x00, + 0x00, 0x42, 0x7E, 0x40, 0x00, 0x00, + 0x7C, 0x0C, 0x18, 0x0C, 0x78, 0x00, + 0x7C, 0x04, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x00, 0xFC, 0x24, 0x24, 0x18, 0x00, + 0x00, 0x18, 0x24, 0x24, 0xFC, 0x00, + 0x00, 0x7C, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x00, 0x04, 0x3E, 0x44, 0x44, 0x00, + 0x3C, 0x40, 0x40, 0x40, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x1C, 0x70, 0x38, 0x70, 0x1C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x8C, 0x90, 0x90, 0x50, 0x3C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x18, 0x5C, 0x7E, 0x7E, 0x5C, 0x18, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0x1E, 0x06, 0x0A, 0x72, 0x00, 0x00, + 0x00, 0x08, 0x1C, 0x3E, 0x7F, 0x00, + 0x00, 0x7F, 0x3E, 0x1C, 0x08, 0x00, + 0x7E, 0xD5, 0xD5, 0xD5, 0xD5, 0x7E, + 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, + 0xFE, 0xCF, 0x33, 0xE3, 0xC1, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, + 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x03, 0x01, 0x01, 0xF1, 0xF1, 0xF1, + 0xE1, 0x03, 0x03, 0x0F, 0xFF, 0x03, + 0x01, 0x01, 0x31, 0x31, 0x31, 0x31, + 0x31, 0xFF, 0x0F, 0x03, 0x03, 0xE1, + 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xFF, + 0x03, 0x01, 0x01, 0x31, 0x31, 0x31, + 0x31, 0x31, 0xFF, 0x03, 0x01, 0x01, + 0xC1, 0x03, 0x0F, 0x3F, 0xFF, 0x01, + 0x01, 0x01, 0xFF, 0xF1, 0xF1, 0xF1, + 0x01, 0x01, 0x01, 0x01, 0xF1, 0xF1, + 0xF1, 0xFF, 0x01, 0x01, 0x01, 0x01, + 0x0F, 0x07, 0x03, 0xC1, 0xE1, 0xF1, + 0xF9, 0xFD, 0xFF, 0x01, 0x01, 0x01, + 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x4C, 0x5A, 0x32, 0x00, + 0x7E, 0x08, 0x70, 0x00, 0x7A, 0x00, + 0x7C, 0x0A, 0x00, 0x3E, 0x48, 0x00, + 0x00, 0x00, 0x7E, 0x0A, 0x0A, 0x00, + 0x78, 0x08, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, + 0xBA, 0xBA, 0xFE, 0x86, 0xEA, 0xEA, + 0x86, 0xFE, 0x82, 0xEA, 0xEA, 0xF6, + 0xFE, 0xB6, 0xAA, 0xDA, 0xFE, 0x7C, + 0x20, 0x30, 0x38, 0x3C, 0x3E, 0x3F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x3F, 0x38, 0x27, 0x2F, + 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, + 0x3C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x30, 0x20, 0xA0, 0x23, 0xA3, 0x23, + 0xA1, 0x30, 0x30, 0x3C, 0x3F, 0x30, + 0x20, 0x20, 0x23, 0x23, 0x23, 0x23, + 0x23, 0x3F, 0x3C, 0x30, 0x20, 0x21, + 0x23, 0x23, 0x23, 0x23, 0x23, 0x3F, + 0x30, 0x20, 0x20, 0x23, 0x23, 0x23, + 0x23, 0x23, 0x3F, 0x20, 0x20, 0x20, + 0x3F, 0x3F, 0x3C, 0x30, 0x20, 0x20, + 0x20, 0x30, 0x3F, 0x3F, 0x3F, 0x3F, + 0x20, 0x20, 0x20, 0x20, 0x3F, 0x3F, + 0x3F, 0x3F, 0x20, 0x20, 0x20, 0x20, + 0x3C, 0x38, 0x30, 0x20, 0x21, 0x23, + 0x27, 0x2F, 0x3F, 0x30, 0x20, 0x20, + 0x20, 0x23, 0x23, 0x23, 0x23, 0x23, + 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, + 0xBF, 0x9F, 0xCF, 0xE1, 0xFF, 0x81, + 0xFF, 0xE1, 0xCF, 0x9F, 0xBF, 0xFF, + 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0xFF, 0xB3, 0xA5, 0xCD, 0xFF, + 0x81, 0xF7, 0x8F, 0xFF, 0x85, 0xFF, + 0x83, 0xF5, 0xFF, 0xC1, 0xB7, 0x7E, + 0x7E, 0xFF, 0x81, 0xF5, 0xF5, 0xFF, + 0x87, 0xF7, 0x8F, 0xFF, 0x7E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, + 0x44, 0x44, 0x00, 0x78, 0x14, 0x14, + 0x78, 0x00, 0x7C, 0x14, 0x14, 0x08, + 0x00, 0x48, 0x54, 0x24, 0x00, 0x00, + 0x7E, 0xFF, 0xC3, 0xBD, 0xBD, 0xFF, + 0xC1, 0xB7, 0xFF, 0x8F, 0xF7, 0xF7, + 0xFF, 0x81, 0xFF, 0x7E, 0x00, 0x00, + 0x7E, 0xFF, 0x83, 0xF5, 0xF5, 0x83, + 0xFF, 0x81, 0xFF, 0xC1, 0xB7, 0x7E, + 0x2A, 0x7F, 0xF1, 0x6F, 0xC1, 0x6F, + 0xF1, 0x7F, 0x2A, 0x00, 0x00, 0x3E, + 0x7F, 0x41, 0x61, 0xFF, 0xBE, 0x00, + 0x7F, 0x7E, 0x0C, 0x18, 0x0C, 0x7E, + 0x7F, 0x00, 0x7F, 0x7F, 0x1C, 0x36, + 0x63, 0x41, 0x00, 0x00, 0x00, 0x7F, + 0x7F, 0x1B, 0x1B, 0x03, 0x00, 0x7B, + 0x7B, 0x00, 0x7C, 0x78, 0x0C, 0x0C, + 0x00, 0x7C, 0x78, 0x0C, 0x7C, 0x78, + 0x0C, 0x7C, 0x78, 0x00, 0x1C, 0x38, + 0x60, 0x38, 0x60, 0x38, 0x1C, 0x00, + 0x20, 0x74, 0x54, 0x54, 0x3C, 0x78, + 0x00, 0x7C, 0x78, 0x0C, 0x0C, 0x00, + 0x38, 0x7C, 0x54, 0x54, 0x5C, 0x58, + 0x00, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, + 0x40, 0x60, 0x30, 0x1E, 0x00, 0x7E, + 0x00, 0x1E, 0x30, 0x60, 0x40, 0x00, + 0x40, 0x60, 0x70, 0x78, 0x7C, 0x7E, + 0x7F, 0x73, 0x65, 0x49, 0x51, 0x63, + 0x7F, 0x7F, 0x41, 0x5D, 0x63, 0x7F, + 0x41, 0x55, 0x5D, 0x7F, 0x63, 0x5D, + 0x5D, 0x7F, 0x41, 0x55, 0x5D, 0x7F, + 0x41, 0x73, 0x67, 0x41, 0x7F, 0x79, + 0x79, 0x41, 0x41, 0x79, 0x79, 0x7F, + 0x41, 0x41, 0x63, 0x41, 0x49, 0x5D, + 0x7F, 0x41, 0x41, 0x4F, 0x4F, 0x7F, + 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, +}; diff --git a/keyboards/decent/tkl/keymaps/default/config.h b/keyboards/decent/tkl/keymaps/default/config.h new file mode 100644 index 000000000000..3b49be5144a8 --- /dev/null +++ b/keyboards/decent/tkl/keymaps/default/config.h @@ -0,0 +1,12 @@ +#pragma once + +#define BOOTMAGIC_ROW 0 +#define BOOTMAGIC_COLUMN 6 + +#define I2C1_SDA_PIN GP26 +#define I2C1_SCL_PIN GP27 + +#define RGB_MATRIX_LED_COUNT 82 +#define RGB_MATRIX_SLEEP + +#define OLED_FONT_H "atari-font.c" \ No newline at end of file diff --git a/keyboards/decent/tkl/keymaps/default/keymap.c b/keyboards/decent/tkl/keymaps/default/keymap.c new file mode 100644 index 000000000000..bc8d2d7170f9 --- /dev/null +++ b/keyboards/decent/tkl/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ + * /Esc / /F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10 / + * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ Fn │Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, 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_BSLS, KC_DEL, KC_END, 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* + * / / /MyCmp/HomeP/Calc /Media/ ⏮ / ⏭ / ⏯ / ⏹ /Mute / / + * + * │ │💡│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │V+ │ + * │ │ │🔆│ │ │ │ │ │ │ │ │ │ │BootL│ │ │ │V- │ + * │ │ │🔅│ │ │ │ │ │ │ │ │ │ │ + * │ │ │🎨│ │ │ │ │ │ │ │ │ │ │🗘 │ + * │ │ │ │ │ │ │ │ │ │㉈ │🗘 │㉏ │ + */ + [1] = LAYOUT_tkl_ansi( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, _______, + + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_VOLD, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x20, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0x20, 0x20, 0x00 + }; + + oled_write_P(qmk_logo, false); + oled_write_pixel(126, 0, 1); + oled_write_pixel(127, 0, 1); + oled_write_pixel(126, 1, 1); +} + +bool oled_task_user(void) { + render_logo(); + return false; +} + +bool led_update_user(led_t led_state) { + return true; +} \ No newline at end of file diff --git a/keyboards/decent/tkl/readme.md b/keyboards/decent/tkl/readme.md new file mode 100644 index 000000000000..696f6888beb9 --- /dev/null +++ b/keyboards/decent/tkl/readme.md @@ -0,0 +1,81 @@ +# DecenTKL + +![decentkl](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/Media/DecenTKL-logo.png) + +*A TKL keyboard inspired by the language design of Atari XE and ST computers* + +* Keyboard Maintainer: [Bertrand Le roy](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/) +* Hardware Supported: DecenTKL (Pi Pico based) +* Hardware Availability: Custom built but open-source + +Make example for this keyboard (after setting up your build environment): + + make decent/tkl:default + +Flashing example for this keyboard: + + make decent/tkl:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Press the escape key or the button on the back of the Pi while connecting the keyboard. + +## Special commands + +Fn + F1: Open my computer +Fn + F2: Browser home +Fn + F3: Open calculator +Fn + F4: Open media player +Fn + F5: Previous media +Fn + F6: Next media +Fn + F7: Play media +Fn + F8: Stop media +Fn + F9: Mute +Fn + PgUp: Volume up +Fn + PgDn: Volume down +Fn + 1: Toggle RGB lighting +Fn + Up: Next RGB effect +Fn + Down: Previous RGB effect +Fn + X: Change RGB hue +Fn + S: Lower RGB brightness +Fn + W: Raise RGB brightness +Fn + Left: Lower RGB animation speed +Fn + Right: Raise RGB animation speed + +Fn + \: go into bootloader mode without unplugging the keyboard + +## Layout +```C +/* + * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ + * /Esc / /F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10 / + * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ Fn │Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ +*/ +``` + +When holding Fn down: + +```C +/* + * / / /MyCmp/HomeP/Calc /Media/ ⏮ / ⏭ / ⏯ / ⏹ /Mute / / + * + * │ │💡│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │V+ │ + * │ │ │🔆│ │ │ │ │ │ │ │ │ │ │BootL│ │ │ │V- │ + * │ │ │🔅│ │ │ │ │ │ │ │ │ │ │ + * │ │ │🎨│ │ │ │ │ │ │ │ │ │ │🗘 │ + * │ │ │ │ │ │ │ │ │ │㉈ │🗘 │㉏ │ +*/ +``` \ No newline at end of file diff --git a/keyboards/decent/tkl/rules.mk b/keyboards/decent/tkl/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/decent/tkl/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file From f75ed5a936f41e3506416e992cbc2e2988e9e05c Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Fri, 29 Nov 2024 14:49:44 -0800 Subject: [PATCH 02/10] Add joystick support and fix RGB map --- keyboards/decent/numpad/keyboard.json | 6 + .../decent/numpad/keymaps/default/config.h | 5 + .../decent/numpad/keymaps/default/keymap.c | 103 +++++++++++- keyboards/decent/numpad/readme.md | 10 +- keyboards/decent/numpad/rules.mk | 3 +- keyboards/decent/tkl/keyboard.json | 146 ++++++++++-------- keyboards/decent/tkl/keymaps/default/config.h | 3 +- keyboards/decent/tkl/keymaps/default/keymap.c | 46 +++++- 8 files changed, 241 insertions(+), 81 deletions(-) diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index fbbeb0f06898..301ede109a2c 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -84,6 +84,7 @@ "cycle_up_down": true, "digital_rain": true, "dual_beacon": true, + "flower_blooming": true, "gradient_left_right": true, "gradient_up_down": true, "hue_breathing": true, @@ -92,11 +93,13 @@ "jellybean_raindrops": true, "multisplash": true, "pixel_flow": true, + "pixel_fractal": true, "pixel_rain": true, "rainbow_beacon": true, "rainbow_moving_chevron": true, "rainbow_pinwheels": true, "raindrops": true, + "riverflow": true, "solid_multisplash": true, "solid_reactive": true, "solid_reactive_cross": true, @@ -108,6 +111,9 @@ "solid_reactive_wide": true, "solid_splash": true, "splash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, "typing_heatmap": true }, "layout": [ diff --git a/keyboards/decent/numpad/keymaps/default/config.h b/keyboards/decent/numpad/keymaps/default/config.h index a53b13c915b2..dc5cb4392fdc 100644 --- a/keyboards/decent/numpad/keymaps/default/config.h +++ b/keyboards/decent/numpad/keymaps/default/config.h @@ -5,3 +5,8 @@ #define RGB_MATRIX_SLEEP #define RGB_MATRIX_LED_COUNT 22 +#define RGB_MATRIX_CENTER {37, 42} + +#define JOYSTICK_AXIS_COUNT 4 +#define JOYSTICK_BUTTON_COUNT 10 +#define JOYSTICK_HAS_HAT \ No newline at end of file diff --git a/keyboards/decent/numpad/keymaps/default/keymap.c b/keyboards/decent/numpad/keymaps/default/keymap.c index ec493805b260..76c37e9068d3 100644 --- a/keyboards/decent/numpad/keymaps/default/keymap.c +++ b/keyboards/decent/numpad/keymaps/default/keymap.c @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H +#include "analog.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -35,7 +36,107 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_M_B, RGB_M_R, RGB_VAD, _______, RGB_HUI, _______, RGB_VAI, RGB_SPD, RGB_M_SW, RGB_SPI, - RGB_RMOD, RGB_HUD, RGB_MOD, _______, + RGB_RMOD, RGB_HUD, RGB_MOD, QK_BOOT, RGB_TOG, _______ ), }; + +joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { + [0] = JOYSTICK_AXIS_VIRTUAL, + [1] = JOYSTICK_AXIS_VIRTUAL, + [2] = JOYSTICK_AXIS_VIRTUAL, + [3] = JOYSTICK_AXIS_VIRTUAL +}; + +void keyboard_post_init_user(void) { + gpio_set_pin_input_high(GP10); // Up1 + gpio_set_pin_input_high(GP11); // Down1 + gpio_set_pin_input_high(GP12); // Left1 + gpio_set_pin_input_high(GP13); // Right1 + gpio_set_pin_input_high(GP14); // Fire1 + gpio_set_pin_input_high(GP15); + gpio_set_pin_input_high(GP16); + gpio_set_pin_input_high(GP17); + gpio_set_pin_input_high(GP18); + gpio_set_pin_input_high(GP19); +} + +void set_button_state(int btn, bool state) { + if (state) { + unregister_joystick_button(btn); + } + else { + register_joystick_button(btn); + } +} + +void matrix_scan_user(void) { + set_button_state(0, gpio_read_pin(GP16)); + set_button_state(1, gpio_read_pin(GP18)); + set_button_state(2, gpio_read_pin(GP17)); + set_button_state(3, gpio_read_pin(GP15)); + set_button_state(4, gpio_read_pin(GP14)); + set_button_state(5, gpio_read_pin(GP19)); + bool up = !gpio_read_pin(10); + bool down = !gpio_read_pin(11); + bool left = !gpio_read_pin(12); + bool right = !gpio_read_pin(13); + if (up) { + if (left) { + joystick_set_hat(7); + } + else if (right) { + joystick_set_hat(1); + } + else { + joystick_set_hat(0); + } + } + else if (down) { + if (left) { + joystick_set_hat(5); + } + else if (right) { + joystick_set_hat(3); + } + else { + joystick_set_hat(4); + } + } + else if (left) { + joystick_set_hat(6); + } + else if (right) { + joystick_set_hat(2); + } + else { + joystick_set_hat(-1); + } + int analog = analogReadPin(GP26); + joystick_set_axis(0, analog); + analog = analogReadPin(GP27); + joystick_set_axis(1, analog); + analog = analogReadPin(GP28); + joystick_set_axis(2, analog); + analog = analogReadPin(GP29); + joystick_set_axis(3, analog); +} + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_GREEN); + } + } + } + } + + return false; +} \ No newline at end of file diff --git a/keyboards/decent/numpad/readme.md b/keyboards/decent/numpad/readme.md index d00d61d98fd9..6641b99f968f 100644 --- a/keyboards/decent/numpad/readme.md +++ b/keyboards/decent/numpad/readme.md @@ -34,9 +34,9 @@ Num + Enter: go into bootloader mode without unplugging the keyboard ## Layout ```C /* - * /─────/─────/ - * /F11 /F12 / - * /─────/─────/ + * /─────/─────/ + * /F11 /F12 / + * /─────/─────/ * ┌───┬───┬───┬───┐ * │Num│ / │ * │ - │ * ├───┼───┼───┼───┤ @@ -61,12 +61,12 @@ While holding the Num key: * ┌───────┬───────┬───────┬───────┐ * │ │Breathe│Rainbow│Bright-│ * ├───────┼───────┼───────┼───────┤ - * │ │ Hue + │ │Bright-│ + * │ │ Hue + │ │Bright+│ * ├───────┼───────┼───────┤ │ * │Speed -│ Swirl │Speed +│ │ * ├───────┼───────┼───────┼───────┤ * │Mode - │ Hue - │Mode + │ │ - * ├───────┴───────┼───────┤ │ + * ├───────┴───────┼───────┤BootSel│ * │ on / off │ │ │ * └───────────────┴───────┴───────┘ */ diff --git a/keyboards/decent/numpad/rules.mk b/keyboards/decent/numpad/rules.mk index fc48d3e355af..6f0fabd31139 100644 --- a/keyboards/decent/numpad/rules.mk +++ b/keyboards/decent/numpad/rules.mk @@ -1 +1,2 @@ -JOYSTICK_ENABLE = yes \ No newline at end of file +JOYSTICK_ENABLE = yes +ANALOG_DRIVER_REQUIRED = yes \ No newline at end of file diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json index 0963bb585bfe..1b10919c8315 100644 --- a/keyboards/decent/tkl/keyboard.json +++ b/keyboards/decent/tkl/keyboard.json @@ -12,7 +12,7 @@ "command": false, "console": false, "extrakey": true, - "mousekey": true, + "mousekey": false, "nkro": true }, "matrix_pins": { @@ -28,7 +28,6 @@ "vid": "0xFEED" }, "i2c": { - }, "oled": { "driver": "ssd1306", @@ -198,91 +197,102 @@ }, "layout": [ {"matrix": [0, 6], "x": 8, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 85, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 100, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 115, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 130, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 145, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 160, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 175, "y": 0, "flags": 4}, - {"matrix": [2, 6], "x": 0, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 10, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 20, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 30, "y": 16, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 50, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 60, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 70, "y": 16, "flags": 4}, - {"matrix": [3, 1], "x": 80, "y": 16, "flags": 4}, - {"matrix": [3, 2], "x": 90, "y": 16, "flags": 4}, - {"matrix": [3, 3], "x": 100, "y": 16, "flags": 4}, - {"matrix": [3, 4], "x": 110, "y": 16, "flags": 4}, - {"matrix": [3, 5], "x": 120, "y": 16, "flags": 4}, - {"matrix": [3, 6], "x": 140, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 150, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 170, "y": 16, "flags": 4}, - {"matrix": [4, 6], "x": 3, "y": 26, "flags": 4}, - {"matrix": [4, 5], "x": 15, "y": 26, "flags": 4}, - {"matrix": [4, 4], "x": 25, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 35, "y": 26, "flags": 4}, - {"matrix": [4, 2], "x": 45, "y": 26, "flags": 4}, - {"matrix": [4, 1], "x": 55, "y": 26, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [5, 0], "x": 75, "y": 26, "flags": 4}, - {"matrix": [5, 1], "x": 85, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 95, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 105, "y": 26, "flags": 4}, - {"matrix": [5, 4], "x": 115, "y": 26, "flags": 4}, - {"matrix": [5, 5], "x": 125, "y": 26, "flags": 4}, - {"matrix": [5, 6], "x": 135, "y": 26, "flags": 4}, - {"matrix": [9, 5], "x": 150, "y": 26, "flags": 4}, - {"matrix": [9, 6], "x": 160, "y": 26, "flags": 4}, - {"matrix": [7, 6], "x": 170, "y": 26, "flags": 4}, - {"matrix": [6, 6], "x": 4, "y": 36, "flags": 4}, - {"matrix": [6, 5], "x": 17, "y": 36, "flags": 4}, - {"matrix": [6, 4], "x": 27, "y": 36, "flags": 4}, - {"matrix": [6, 3], "x": 37, "y": 36, "flags": 4}, - {"matrix": [6, 2], "x": 47, "y": 36, "flags": 4}, - {"matrix": [6, 1], "x": 57, "y": 36, "flags": 4}, - {"matrix": [6, 0], "x": 67, "y": 36, "flags": 4}, - {"matrix": [7, 0], "x": 77, "y": 36, "flags": 4}, - {"matrix": [7, 1], "x": 87, "y": 36, "flags": 4}, - {"matrix": [7, 2], "x": 97, "y": 36, "flags": 4}, - {"matrix": [7, 3], "x": 107, "y": 36, "flags": 4}, - {"matrix": [7, 4], "x": 117, "y": 36, "flags": 4}, - {"matrix": [7, 5], "x": 132, "y": 36, "flags": 4}, - {"matrix": [8, 6], "x": 6, "y": 46, "flags": 1}, + {"matrix": [0, 8], "x": 1, "y": 56, "flags": 1}, + + {"matrix": [0, 5], "x": 40, "y": 0, "flags": 4}, + {"matrix": [2, 5], "x": 10, "y": 16, "flags": 4}, + {"matrix": [4, 5], "x": 15, "y": 26, "flags": 4}, + {"matrix": [6, 5], "x": 17, "y": 36, "flags": 4}, {"matrix": [8, 5], "x": 22, "y": 46, "flags": 4}, + {"matrix": [1, 8], "x": 14, "y": 56, "flags": 1}, + + {"matrix": [0, 4], "x": 55, "y": 0, "flags": 4}, + {"matrix": [2, 4], "x": 20, "y": 16, "flags": 4}, + {"matrix": [4, 4], "x": 25, "y": 26, "flags": 4}, + {"matrix": [6, 4], "x": 27, "y": 36, "flags": 4}, {"matrix": [8, 4], "x": 32, "y": 46, "flags": 4}, + {"matrix": [2, 8], "x": 26, "y": 56, "flags": 1}, + + {"matrix": [0, 3], "x": 70, "y": 0, "flags": 4}, + {"matrix": [2, 3], "x": 30, "y": 16, "flags": 4}, + {"matrix": [4, 3], "x": 35, "y": 26, "flags": 4}, + {"matrix": [6, 3], "x": 37, "y": 36, "flags": 4}, {"matrix": [8, 3], "x": 42, "y": 46, "flags": 4}, + + {"matrix": [0, 2], "x": 85, "y": 0, "flags": 4}, + {"matrix": [2, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [4, 2], "x": 45, "y": 26, "flags": 4}, + {"matrix": [6, 2], "x": 47, "y": 36, "flags": 4}, {"matrix": [8, 2], "x": 52, "y": 46, "flags": 4}, + + {"matrix": [0, 1], "x": 100, "y": 0, "flags": 4}, + {"matrix": [2, 1], "x": 50, "y": 16, "flags": 4}, + {"matrix": [4, 1], "x": 55, "y": 26, "flags": 4}, + {"matrix": [6, 1], "x": 57, "y": 36, "flags": 4}, {"matrix": [8, 1], "x": 62, "y": 46, "flags": 4}, + {"matrix": [3, 8], "x": 63, "y": 56, "flags": 4}, + + {"matrix": [0, 0], "x": 115, "y": 0, "flags": 4}, + {"matrix": [2, 0], "x": 60, "y": 16, "flags": 4}, + {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, + {"matrix": [6, 0], "x": 67, "y": 36, "flags": 4}, {"matrix": [8, 0], "x": 72, "y": 46, "flags": 4}, + + {"matrix": [1, 0], "x": 130, "y": 0, "flags": 4}, + {"matrix": [3, 0], "x": 70, "y": 16, "flags": 4}, + {"matrix": [5, 0], "x": 75, "y": 26, "flags": 4}, + {"matrix": [7, 0], "x": 77, "y": 36, "flags": 4}, {"matrix": [9, 0], "x": 82, "y": 46, "flags": 4}, + + {"matrix": [1, 1], "x": 145, "y": 0, "flags": 4}, + {"matrix": [3, 1], "x": 80, "y": 16, "flags": 4}, + {"matrix": [5, 1], "x": 85, "y": 26, "flags": 4}, + {"matrix": [7, 1], "x": 87, "y": 36, "flags": 4}, {"matrix": [9, 1], "x": 92, "y": 46, "flags": 4}, + + {"matrix": [1, 2], "x": 160, "y": 0, "flags": 4}, + {"matrix": [3, 2], "x": 90, "y": 16, "flags": 4}, + {"matrix": [5, 2], "x": 95, "y": 26, "flags": 4}, + {"matrix": [7, 2], "x": 97, "y": 36, "flags": 4}, {"matrix": [9, 2], "x": 102, "y": 46, "flags": 4}, - {"matrix": [9, 3], "x": 112, "y": 46, "flags": 4}, - {"matrix": [9, 4], "x": 130, "y": 46, "flags": 1}, - {"matrix": [4, 7], "x": 160, "y": 46, "flags": 4}, - {"matrix": [0, 8], "x": 1, "y": 56, "flags": 1}, - {"matrix": [1, 8], "x": 14, "y": 56, "flags": 1}, - {"matrix": [2, 8], "x": 26, "y": 56, "flags": 1}, - {"matrix": [3, 8], "x": 63, "y": 56, "flags": 4}, + {"matrix": [1, 3], "x": 175, "y": 0, "flags": 4}, + {"matrix": [3, 3], "x": 100, "y": 16, "flags": 4}, + {"matrix": [5, 3], "x": 105, "y": 26, "flags": 4}, + {"matrix": [7, 3], "x": 107, "y": 36, "flags": 4}, + {"matrix": [9, 3], "x": 112, "y": 46, "flags": 4}, {"matrix": [2, 7], "x": 100, "y": 56, "flags": 1}, + + {"matrix": [3, 4], "x": 110, "y": 16, "flags": 4}, + {"matrix": [5, 4], "x": 115, "y": 26, "flags": 4}, + {"matrix": [7, 4], "x": 117, "y": 36, "flags": 4}, + {"matrix": [9, 4], "x": 130, "y": 46, "flags": 1}, {"matrix": [1, 7], "x": 112, "y": 56, "flags": 1}, + + {"matrix": [3, 5], "x": 120, "y": 16, "flags": 4}, + {"matrix": [5, 5], "x": 125, "y": 26, "flags": 4}, + {"matrix": [7, 5], "x": 132, "y": 36, "flags": 4}, {"matrix": [3, 7], "x": 125, "y": 56, "flags": 1}, - {"matrix": [0, 7], "x": 137, "y": 56, "flags": 4}, + + {"matrix": [3, 6], "x": 140, "y": 16, "flags": 4}, + {"matrix": [5, 6], "x": 135, "y": 26, "flags": 4}, + {"matrix": [0, 7], "x": 137, "y": 56, "flags": 1}, + + {"matrix": [1, 4], "x": 150, "y": 16, "flags": 4}, + {"matrix": [9, 5], "x": 150, "y": 26, "flags": 4}, {"matrix": [4, 8], "x": 150, "y": 56, "flags": 4}, + + {"matrix": [1, 5], "x": 160, "y": 16, "flags": 4}, + {"matrix": [9, 6], "x": 160, "y": 26, "flags": 4}, + {"matrix": [4, 7], "x": 160, "y": 46, "flags": 4}, {"matrix": [5, 7], "x": 160, "y": 56, "flags": 4}, + + {"matrix": [1, 6], "x": 170, "y": 16, "flags": 4}, + {"matrix": [7, 6], "x": 170, "y": 26, "flags": 4}, {"matrix": [5, 8], "x": 170, "y": 56, "flags": 4} ], "driver": "ws2812" diff --git a/keyboards/decent/tkl/keymaps/default/config.h b/keyboards/decent/tkl/keymaps/default/config.h index 3b49be5144a8..0271c1b84db6 100644 --- a/keyboards/decent/tkl/keymaps/default/config.h +++ b/keyboards/decent/tkl/keymaps/default/config.h @@ -7,6 +7,5 @@ #define I2C1_SCL_PIN GP27 #define RGB_MATRIX_LED_COUNT 82 -#define RGB_MATRIX_SLEEP - +#define RGB_MATRIX_CENTER {77, 32} #define OLED_FONT_H "atari-font.c" \ No newline at end of file diff --git a/keyboards/decent/tkl/keymaps/default/keymap.c b/keyboards/decent/tkl/keymaps/default/keymap.c index bc8d2d7170f9..3cc344a645e4 100644 --- a/keyboards/decent/tkl/keymaps/default/keymap.c +++ b/keyboards/decent/tkl/keymaps/default/keymap.c @@ -58,9 +58,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { static void render_logo(void) { static const char PROGMEM qmk_logo[] = { + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0x20, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0x20, 0x20, 0x00 + 0x20, 0x20, 0x20, 0x20, 0x20, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xBC, 0xBD, 0xBE, 0xBF, + 0x00 }; oled_write_P(qmk_logo, false); @@ -69,11 +72,46 @@ static void render_logo(void) { oled_write_pixel(126, 1, 1); } +static const char PROGMEM caps_on[] = { 0x9C, 0x9D, 0x9E, 0x9F }; +static const char PROGMEM caps_off[] = { 0xBC, 0xBD, 0xBE, 0xBF }; + bool oled_task_user(void) { render_logo(); + + bool caps = host_keyboard_led_state().caps_lock; + + if (caps) { + oled_set_cursor(17, 3); + oled_write(caps ? caps_on : caps_off, false); + } return false; } -bool led_update_user(led_t led_state) { - return true; -} \ No newline at end of file +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool caps = host_keyboard_led_state().caps_lock; + + if (caps) { + for (uint8_t i = led_min; i < led_max; i++) { + if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { + rgb_matrix_set_color(i, RGB_RED); + } + } + } + + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_GREEN); + } + } + } + } + + return false; +} From 12ce56a77cbba2532f2e805226b1db5619efeb2b Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Mon, 9 Dec 2024 22:25:01 -0800 Subject: [PATCH 03/10] Remove TKL keyboard to re-submit in a separate PR --- keyboards/decent/tkl/keyboard.json | 300 ------------------ .../decent/tkl/keymaps/default/atari-font.c | 228 ------------- keyboards/decent/tkl/keymaps/default/config.h | 11 - keyboards/decent/tkl/keymaps/default/keymap.c | 117 ------- keyboards/decent/tkl/readme.md | 81 ----- keyboards/decent/tkl/rules.mk | 1 - 6 files changed, 738 deletions(-) delete mode 100644 keyboards/decent/tkl/keyboard.json delete mode 100644 keyboards/decent/tkl/keymaps/default/atari-font.c delete mode 100644 keyboards/decent/tkl/keymaps/default/config.h delete mode 100644 keyboards/decent/tkl/keymaps/default/keymap.c delete mode 100644 keyboards/decent/tkl/readme.md delete mode 100644 keyboards/decent/tkl/rules.mk diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json deleted file mode 100644 index 1b10919c8315..000000000000 --- a/keyboards/decent/tkl/keyboard.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "manufacturer": "Bertrand Le roy", - "keyboard_name": "DecenTKL", - "maintainer": "bleroy", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "encoder": true, - "bootmagic": true, - "rgb_matrix": true, - "oled": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": false, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], - "rows": ["GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20"] - }, - "processor": "RP2040", - "url": "https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/", - "tags": ["ansi", "tkl", "rgb", "oled", "encoder", "atari"], - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "i2c": { - }, - "oled": { - "driver": "ssd1306", - "transport": "i2c" - }, - "encoder": { - "rotary": [ - { - "pin_a": "GP21", - "pin_b": "GP22", - "resolution": 1 - } - ] - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"matrix": [0, 6], "x": 0.5, "y": 0, "label": "Esc"}, - {"matrix": [0, 5], "x": 3.5, "y": 0, "label": "F1"}, - {"matrix": [0, 4], "x": 5, "y": 0, "label": "F2"}, - {"matrix": [0, 3], "x": 6.5, "y": 0, "label": "F3"}, - {"matrix": [0, 2], "x": 8, "y": 0, "label": "F4"}, - {"matrix": [0, 1], "x": 9.5, "y": 0, "label": "F5"}, - {"matrix": [0, 0], "x": 11, "y": 0, "label": "F6"}, - {"matrix": [1, 0], "x": 12.5, "y": 0, "label": "F7"}, - {"matrix": [1, 1], "x": 14, "y": 0, "label": "F8"}, - {"matrix": [1, 2], "x": 15.5, "y": 0, "label": "F9"}, - {"matrix": [1, 3], "x": 17, "y": 0, "label": "F10"}, - - {"matrix": [2, 6], "x": 0, "y": 1.5, "label": "`"}, - {"matrix": [2, 5], "x": 1, "y": 1.5, "label": "1"}, - {"matrix": [2, 4], "x": 2, "y": 1.5, "label": "2"}, - {"matrix": [2, 3], "x": 3, "y": 1.5, "label": "3"}, - {"matrix": [2, 2], "x": 4, "y": 1.5, "label": "4"}, - {"matrix": [2, 1], "x": 5, "y": 1.5, "label": "5"}, - {"matrix": [2, 0], "x": 6, "y": 1.5, "label": "6"}, - {"matrix": [3, 0], "x": 7, "y": 1.5, "label": "7"}, - {"matrix": [3, 1], "x": 8, "y": 1.5, "label": "8"}, - {"matrix": [3, 2], "x": 9, "y": 1.5, "label": "9"}, - {"matrix": [3, 3], "x": 10, "y": 1.5, "label": "0"}, - {"matrix": [3, 4], "x": 11, "y": 1.5, "label": "-"}, - {"matrix": [3, 5], "x": 12, "y": 1.5, "label": "="}, - {"matrix": [3, 6], "x": 13, "y": 1.5, "w": 2, "label": "Backspace"}, - {"matrix": [1, 4], "x": 15.5, "y": 1.5, "label": "Insert"}, - {"matrix": [1, 5], "x": 16.5, "y": 1.5, "label": "Home"}, - {"matrix": [1, 6], "x": 17.5, "y": 1.5, "label": "PgUp"}, - - {"matrix": [4, 6], "x": 0, "y": 2.5, "w": 1.5, "label": "Tab"}, - {"matrix": [4, 5], "x": 1.5, "y": 2.5, "label": "Q"}, - {"matrix": [4, 4], "x": 2.5, "y": 2.5, "label": "W"}, - {"matrix": [4, 3], "x": 3.5, "y": 2.5, "label": "E"}, - {"matrix": [4, 2], "x": 4.5, "y": 2.5, "label": "R"}, - {"matrix": [4, 1], "x": 5.5, "y": 2.5, "label": "T"}, - {"matrix": [4, 0], "x": 6.5, "y": 2.5, "label": "Y"}, - {"matrix": [5, 0], "x": 7.5, "y": 2.5, "label": "U"}, - {"matrix": [5, 1], "x": 8.5, "y": 2.5, "label": "I"}, - {"matrix": [5, 2], "x": 9.5, "y": 2.5, "label": "O"}, - {"matrix": [5, 3], "x": 10.5, "y": 2.5, "label": "P"}, - {"matrix": [5, 4], "x": 11.5, "y": 2.5, "label": "["}, - {"matrix": [5, 5], "x": 12.5, "y": 2.5, "label": "]"}, - {"matrix": [5, 6], "x": 13.5, "y": 2.5, "w": 1.5, "label": "\\"}, - {"matrix": [9, 5], "x": 15.5, "y": 2.5, "label": "Del"}, - {"matrix": [9, 6], "x": 16.5, "y": 2.5, "label": "End"}, - {"matrix": [7, 6], "x": 17.5, "y": 2.5, "label": "PgDn"}, - - {"matrix": [6, 6], "x": 0, "y": 3.5, "w": 1.75, "label": "Caps"}, - {"matrix": [6, 5], "x": 1.75, "y": 3.5, "label": "A"}, - {"matrix": [6, 4], "x": 2.75, "y": 3.5, "label": "S"}, - {"matrix": [6, 3], "x": 3.75, "y": 3.5, "label": "D"}, - {"matrix": [6, 2], "x": 4.75, "y": 3.5, "label": "F"}, - {"matrix": [6, 1], "x": 5.75, "y": 3.5, "label": "G"}, - {"matrix": [6, 0], "x": 6.75, "y": 3.5, "label": "H"}, - {"matrix": [7, 0], "x": 7.75, "y": 3.5, "label": "J"}, - {"matrix": [7, 1], "x": 8.75, "y": 3.5, "label": "K"}, - {"matrix": [7, 2], "x": 9.75, "y": 3.5, "label": "L"}, - {"matrix": [7, 3], "x": 10.75, "y": 3.5, "label": ";"}, - {"matrix": [7, 4], "x": 11.75, "y": 3.5, "label": "'"}, - {"matrix": [7, 5], "x": 12.75, "y": 3.5, "w": 2.25, "label": "Return"}, - - {"matrix": [8, 6], "x": 0, "y": 4.5, "w": 2.25, "label": "Shift"}, - {"matrix": [8, 5], "x": 2.25, "y": 4.5, "label": "Z"}, - {"matrix": [8, 4], "x": 3.25, "y": 4.5, "label": "X"}, - {"matrix": [8, 3], "x": 4.25, "y": 4.5, "label": "C"}, - {"matrix": [8, 2], "x": 5.25, "y": 4.5, "label": "V"}, - {"matrix": [8, 1], "x": 6.25, "y": 4.5, "label": "B"}, - {"matrix": [8, 0], "x": 7.25, "y": 4.5, "label": "N"}, - {"matrix": [9, 0], "x": 8.25, "y": 4.5, "label": "M"}, - {"matrix": [9, 1], "x": 9.25, "y": 4.5, "label": ","}, - {"matrix": [9, 2], "x": 10.25, "y": 4.5, "label": "."}, - {"matrix": [9, 3], "x": 11.25, "y": 4.5, "label": "/"}, - {"matrix": [9, 4], "x": 12.25, "y": 4.5, "w": 2.75, "label": "Shift"}, - {"matrix": [4, 7], "x": 16.5, "y": 4.5, "label": "Up"}, - - {"matrix": [0, 8], "x": 0, "y": 5.5, "w": 1.25, "label": "Ctrl"}, - {"matrix": [1, 8], "x": 1.25, "y": 5.5, "w": 1.25, "label": "Atari"}, - {"matrix": [2, 8], "x": 2.5, "y": 5.5, "w": 1.25, "label": "Alt"}, - {"matrix": [3, 8], "x": 3.75, "y": 5.5, "w": 6.25, "label": "Space"}, - {"matrix": [2, 7], "x": 10, "y": 5.5, "w": 1.25, "label": "Alt"}, - {"matrix": [1, 7], "x": 11.25, "y": 5.5, "w": 1.25, "label": "Fn"}, - {"matrix": [3, 7], "x": 12.5, "y": 5.5, "w": 1.25, "label": "Menu"}, - {"matrix": [0, 7], "x": 13.75, "y": 5.5, "w": 1.25, "label": "Ctrl"}, - {"matrix": [4, 8], "x": 15.25, "y": 5.5, "label": "Left"}, - {"matrix": [5, 7], "x": 16.25, "y": 5.5, "label": "Down"}, - {"matrix": [5, 8], "x": 17.25, "y": 5.5, "label": "Right"} - ] - } - }, - "rgb_matrix": { - "max_brightness": 125, - "sleep": true, - "default": { - "animation": "typing_heatmap" - }, - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "typing_heatmap": true - }, - "layout": [ - {"matrix": [0, 6], "x": 8, "y": 0, "flags": 4}, - {"matrix": [2, 6], "x": 0, "y": 16, "flags": 4}, - {"matrix": [4, 6], "x": 3, "y": 26, "flags": 4}, - {"matrix": [6, 6], "x": 4, "y": 36, "flags": 4}, - {"matrix": [8, 6], "x": 6, "y": 46, "flags": 1}, - {"matrix": [0, 8], "x": 1, "y": 56, "flags": 1}, - - {"matrix": [0, 5], "x": 40, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 10, "y": 16, "flags": 4}, - {"matrix": [4, 5], "x": 15, "y": 26, "flags": 4}, - {"matrix": [6, 5], "x": 17, "y": 36, "flags": 4}, - {"matrix": [8, 5], "x": 22, "y": 46, "flags": 4}, - {"matrix": [1, 8], "x": 14, "y": 56, "flags": 1}, - - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 4}, - {"matrix": [2, 4], "x": 20, "y": 16, "flags": 4}, - {"matrix": [4, 4], "x": 25, "y": 26, "flags": 4}, - {"matrix": [6, 4], "x": 27, "y": 36, "flags": 4}, - {"matrix": [8, 4], "x": 32, "y": 46, "flags": 4}, - {"matrix": [2, 8], "x": 26, "y": 56, "flags": 1}, - - {"matrix": [0, 3], "x": 70, "y": 0, "flags": 4}, - {"matrix": [2, 3], "x": 30, "y": 16, "flags": 4}, - {"matrix": [4, 3], "x": 35, "y": 26, "flags": 4}, - {"matrix": [6, 3], "x": 37, "y": 36, "flags": 4}, - {"matrix": [8, 3], "x": 42, "y": 46, "flags": 4}, - - {"matrix": [0, 2], "x": 85, "y": 0, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [4, 2], "x": 45, "y": 26, "flags": 4}, - {"matrix": [6, 2], "x": 47, "y": 36, "flags": 4}, - {"matrix": [8, 2], "x": 52, "y": 46, "flags": 4}, - - {"matrix": [0, 1], "x": 100, "y": 0, "flags": 4}, - {"matrix": [2, 1], "x": 50, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 55, "y": 26, "flags": 4}, - {"matrix": [6, 1], "x": 57, "y": 36, "flags": 4}, - {"matrix": [8, 1], "x": 62, "y": 46, "flags": 4}, - {"matrix": [3, 8], "x": 63, "y": 56, "flags": 4}, - - {"matrix": [0, 0], "x": 115, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 60, "y": 16, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [6, 0], "x": 67, "y": 36, "flags": 4}, - {"matrix": [8, 0], "x": 72, "y": 46, "flags": 4}, - - {"matrix": [1, 0], "x": 130, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 70, "y": 16, "flags": 4}, - {"matrix": [5, 0], "x": 75, "y": 26, "flags": 4}, - {"matrix": [7, 0], "x": 77, "y": 36, "flags": 4}, - {"matrix": [9, 0], "x": 82, "y": 46, "flags": 4}, - - {"matrix": [1, 1], "x": 145, "y": 0, "flags": 4}, - {"matrix": [3, 1], "x": 80, "y": 16, "flags": 4}, - {"matrix": [5, 1], "x": 85, "y": 26, "flags": 4}, - {"matrix": [7, 1], "x": 87, "y": 36, "flags": 4}, - {"matrix": [9, 1], "x": 92, "y": 46, "flags": 4}, - - {"matrix": [1, 2], "x": 160, "y": 0, "flags": 4}, - {"matrix": [3, 2], "x": 90, "y": 16, "flags": 4}, - {"matrix": [5, 2], "x": 95, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 97, "y": 36, "flags": 4}, - {"matrix": [9, 2], "x": 102, "y": 46, "flags": 4}, - - {"matrix": [1, 3], "x": 175, "y": 0, "flags": 4}, - {"matrix": [3, 3], "x": 100, "y": 16, "flags": 4}, - {"matrix": [5, 3], "x": 105, "y": 26, "flags": 4}, - {"matrix": [7, 3], "x": 107, "y": 36, "flags": 4}, - {"matrix": [9, 3], "x": 112, "y": 46, "flags": 4}, - {"matrix": [2, 7], "x": 100, "y": 56, "flags": 1}, - - {"matrix": [3, 4], "x": 110, "y": 16, "flags": 4}, - {"matrix": [5, 4], "x": 115, "y": 26, "flags": 4}, - {"matrix": [7, 4], "x": 117, "y": 36, "flags": 4}, - {"matrix": [9, 4], "x": 130, "y": 46, "flags": 1}, - {"matrix": [1, 7], "x": 112, "y": 56, "flags": 1}, - - {"matrix": [3, 5], "x": 120, "y": 16, "flags": 4}, - {"matrix": [5, 5], "x": 125, "y": 26, "flags": 4}, - {"matrix": [7, 5], "x": 132, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 125, "y": 56, "flags": 1}, - - {"matrix": [3, 6], "x": 140, "y": 16, "flags": 4}, - {"matrix": [5, 6], "x": 135, "y": 26, "flags": 4}, - {"matrix": [0, 7], "x": 137, "y": 56, "flags": 1}, - - {"matrix": [1, 4], "x": 150, "y": 16, "flags": 4}, - {"matrix": [9, 5], "x": 150, "y": 26, "flags": 4}, - {"matrix": [4, 8], "x": 150, "y": 56, "flags": 4}, - - {"matrix": [1, 5], "x": 160, "y": 16, "flags": 4}, - {"matrix": [9, 6], "x": 160, "y": 26, "flags": 4}, - {"matrix": [4, 7], "x": 160, "y": 46, "flags": 4}, - {"matrix": [5, 7], "x": 160, "y": 56, "flags": 4}, - - {"matrix": [1, 6], "x": 170, "y": 16, "flags": 4}, - {"matrix": [7, 6], "x": 170, "y": 26, "flags": 4}, - {"matrix": [5, 8], "x": 170, "y": 56, "flags": 4} - ], - "driver": "ws2812" - } -} \ No newline at end of file diff --git a/keyboards/decent/tkl/keymaps/default/atari-font.c b/keyboards/decent/tkl/keymaps/default/atari-font.c deleted file mode 100644 index dd3a641b4247..000000000000 --- a/keyboards/decent/tkl/keymaps/default/atari-font.c +++ /dev/null @@ -1,228 +0,0 @@ -#include "progmem.h" - -static const unsigned char PROGMEM font[] = { - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x18, 0x18, 0x1F, 0x1F, 0x00, 0x00, - 0x18, 0x18, 0xFF, 0xFF, 0x00, 0x00, - 0x18, 0x18, 0xF8, 0xF8, 0x00, 0x00, - 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, - 0x07, 0x0E, 0x1C, 0x38, 0x70, 0xE0, - 0x80, 0xC0, 0xF0, 0xF8, 0xFE, 0xFF, - 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, - 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x80, - 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, - 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, - 0x18, 0x58, 0x66, 0x66, 0x58, 0x18, - 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, - 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, - 0x18, 0x18, 0x1F, 0x1F, 0x18, 0x18, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, - 0x1F, 0x15, 0x75, 0x50, 0x50, 0x00, - 0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00, - 0x10, 0x30, 0x7E, 0x30, 0x10, 0x00, - 0x10, 0x38, 0x54, 0x10, 0x10, 0x00, - 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, - 0x24, 0x7E, 0x24, 0x7E, 0x24, 0x00, - 0x24, 0x2A, 0x6B, 0x2A, 0x12, 0x00, - 0x4C, 0x2C, 0x10, 0x68, 0x64, 0x00, - 0x30, 0x4A, 0x55, 0x32, 0x50, 0x00, - 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x10, 0x54, 0x38, 0x54, 0x10, 0x00, - 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, - 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3C, 0x52, 0x4A, 0x46, 0x3C, 0x00, - 0x00, 0x44, 0x7E, 0x40, 0x00, 0x00, - 0x44, 0x62, 0x52, 0x4A, 0x44, 0x00, - 0x22, 0x42, 0x4A, 0x56, 0x22, 0x00, - 0x30, 0x28, 0x24, 0x7E, 0x20, 0x00, - 0x2E, 0x4A, 0x4A, 0x4A, 0x32, 0x00, - 0x3C, 0x4A, 0x4A, 0x4A, 0x30, 0x00, - 0x62, 0x12, 0x0A, 0x06, 0x02, 0x00, - 0x34, 0x4A, 0x4A, 0x4A, 0x34, 0x00, - 0x04, 0x4A, 0x4A, 0x2A, 0x1C, 0x00, - 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x48, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x48, 0x48, 0x48, 0x48, 0x48, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x04, 0x02, 0x52, 0x0A, 0x04, 0x00, - 0x3C, 0x42, 0x5A, 0x5A, 0x5C, 0x00, - 0x78, 0x24, 0x22, 0x24, 0x78, 0x00, - 0x7E, 0x4A, 0x4A, 0x4A, 0x34, 0x00, - 0x3C, 0x42, 0x42, 0x42, 0x24, 0x00, - 0x7E, 0x42, 0x42, 0x24, 0x18, 0x00, - 0x7E, 0x4A, 0x4A, 0x4A, 0x42, 0x00, - 0x7E, 0x0A, 0x0A, 0x0A, 0x02, 0x00, - 0x3C, 0x42, 0x42, 0x52, 0x72, 0x00, - 0x7E, 0x08, 0x08, 0x08, 0x7E, 0x00, - 0x00, 0x42, 0x7E, 0x42, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3E, 0x00, 0x00, - 0x7E, 0x18, 0x24, 0x42, 0x00, 0x00, - 0x7E, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7E, 0x04, 0x08, 0x04, 0x7E, 0x00, - 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00, - 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x00, - 0x7E, 0x12, 0x12, 0x12, 0x0C, 0x00, - 0x3C, 0x42, 0x52, 0x22, 0x5C, 0x00, - 0x7E, 0x12, 0x12, 0x32, 0x4C, 0x00, - 0x04, 0x4A, 0x4A, 0x4A, 0x30, 0x00, - 0x02, 0x02, 0x7E, 0x02, 0x02, 0x00, - 0x7E, 0x40, 0x40, 0x40, 0x7E, 0x00, - 0x1E, 0x20, 0x40, 0x20, 0x1E, 0x00, - 0x7E, 0x20, 0x10, 0x20, 0x7E, 0x00, - 0x42, 0x24, 0x18, 0x24, 0x42, 0x00, - 0x06, 0x08, 0x70, 0x08, 0x06, 0x00, - 0x62, 0x52, 0x4A, 0x46, 0x42, 0x00, - 0x00, 0x7E, 0x42, 0x42, 0x00, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x00, 0x42, 0x42, 0x7E, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x18, 0x3C, 0x7E, 0x7E, 0x3C, 0x18, - 0x20, 0x54, 0x54, 0x54, 0x78, 0x00, - 0x7E, 0x48, 0x48, 0x48, 0x30, 0x00, - 0x00, 0x38, 0x44, 0x44, 0x44, 0x00, - 0x30, 0x48, 0x48, 0x48, 0x7E, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7C, 0x0A, 0x0A, 0x00, - 0x98, 0xA4, 0xA4, 0xA4, 0x7C, 0x00, - 0x7E, 0x08, 0x08, 0x08, 0x70, 0x00, - 0x00, 0x48, 0x7A, 0x40, 0x00, 0x00, - 0x00, 0x80, 0x80, 0x80, 0x7A, 0x00, - 0x00, 0x7E, 0x10, 0x28, 0x40, 0x00, - 0x00, 0x42, 0x7E, 0x40, 0x00, 0x00, - 0x7C, 0x0C, 0x18, 0x0C, 0x78, 0x00, - 0x7C, 0x04, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x00, 0xFC, 0x24, 0x24, 0x18, 0x00, - 0x00, 0x18, 0x24, 0x24, 0xFC, 0x00, - 0x00, 0x7C, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x00, 0x04, 0x3E, 0x44, 0x44, 0x00, - 0x3C, 0x40, 0x40, 0x40, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x1C, 0x70, 0x38, 0x70, 0x1C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x8C, 0x90, 0x90, 0x50, 0x3C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x18, 0x5C, 0x7E, 0x7E, 0x5C, 0x18, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x1E, 0x06, 0x0A, 0x72, 0x00, 0x00, - 0x00, 0x08, 0x1C, 0x3E, 0x7F, 0x00, - 0x00, 0x7F, 0x3E, 0x1C, 0x08, 0x00, - 0x7E, 0xD5, 0xD5, 0xD5, 0xD5, 0x7E, - 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, - 0xFE, 0xCF, 0x33, 0xE3, 0xC1, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, - 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x03, 0x01, 0x01, 0xF1, 0xF1, 0xF1, - 0xE1, 0x03, 0x03, 0x0F, 0xFF, 0x03, - 0x01, 0x01, 0x31, 0x31, 0x31, 0x31, - 0x31, 0xFF, 0x0F, 0x03, 0x03, 0xE1, - 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xFF, - 0x03, 0x01, 0x01, 0x31, 0x31, 0x31, - 0x31, 0x31, 0xFF, 0x03, 0x01, 0x01, - 0xC1, 0x03, 0x0F, 0x3F, 0xFF, 0x01, - 0x01, 0x01, 0xFF, 0xF1, 0xF1, 0xF1, - 0x01, 0x01, 0x01, 0x01, 0xF1, 0xF1, - 0xF1, 0xFF, 0x01, 0x01, 0x01, 0x01, - 0x0F, 0x07, 0x03, 0xC1, 0xE1, 0xF1, - 0xF9, 0xFD, 0xFF, 0x01, 0x01, 0x01, - 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0x4C, 0x5A, 0x32, 0x00, - 0x7E, 0x08, 0x70, 0x00, 0x7A, 0x00, - 0x7C, 0x0A, 0x00, 0x3E, 0x48, 0x00, - 0x00, 0x00, 0x7E, 0x0A, 0x0A, 0x00, - 0x78, 0x08, 0x70, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, - 0xBA, 0xBA, 0xFE, 0x86, 0xEA, 0xEA, - 0x86, 0xFE, 0x82, 0xEA, 0xEA, 0xF6, - 0xFE, 0xB6, 0xAA, 0xDA, 0xFE, 0x7C, - 0x20, 0x30, 0x38, 0x3C, 0x3E, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x38, 0x27, 0x2F, - 0x20, 0x20, 0x20, 0x20, 0x30, 0x30, - 0x3C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x30, 0x20, 0xA0, 0x23, 0xA3, 0x23, - 0xA1, 0x30, 0x30, 0x3C, 0x3F, 0x30, - 0x20, 0x20, 0x23, 0x23, 0x23, 0x23, - 0x23, 0x3F, 0x3C, 0x30, 0x20, 0x21, - 0x23, 0x23, 0x23, 0x23, 0x23, 0x3F, - 0x30, 0x20, 0x20, 0x23, 0x23, 0x23, - 0x23, 0x23, 0x3F, 0x20, 0x20, 0x20, - 0x3F, 0x3F, 0x3C, 0x30, 0x20, 0x20, - 0x20, 0x30, 0x3F, 0x3F, 0x3F, 0x3F, - 0x20, 0x20, 0x20, 0x20, 0x3F, 0x3F, - 0x3F, 0x3F, 0x20, 0x20, 0x20, 0x20, - 0x3C, 0x38, 0x30, 0x20, 0x21, 0x23, - 0x27, 0x2F, 0x3F, 0x30, 0x20, 0x20, - 0x20, 0x23, 0x23, 0x23, 0x23, 0x23, - 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, - 0xBF, 0x9F, 0xCF, 0xE1, 0xFF, 0x81, - 0xFF, 0xE1, 0xCF, 0x9F, 0xBF, 0xFF, - 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7E, 0xFF, 0xB3, 0xA5, 0xCD, 0xFF, - 0x81, 0xF7, 0x8F, 0xFF, 0x85, 0xFF, - 0x83, 0xF5, 0xFF, 0xC1, 0xB7, 0x7E, - 0x7E, 0xFF, 0x81, 0xF5, 0xF5, 0xFF, - 0x87, 0xF7, 0x8F, 0xFF, 0x7E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, - 0x44, 0x44, 0x00, 0x78, 0x14, 0x14, - 0x78, 0x00, 0x7C, 0x14, 0x14, 0x08, - 0x00, 0x48, 0x54, 0x24, 0x00, 0x00, - 0x7E, 0xFF, 0xC3, 0xBD, 0xBD, 0xFF, - 0xC1, 0xB7, 0xFF, 0x8F, 0xF7, 0xF7, - 0xFF, 0x81, 0xFF, 0x7E, 0x00, 0x00, - 0x7E, 0xFF, 0x83, 0xF5, 0xF5, 0x83, - 0xFF, 0x81, 0xFF, 0xC1, 0xB7, 0x7E, - 0x2A, 0x7F, 0xF1, 0x6F, 0xC1, 0x6F, - 0xF1, 0x7F, 0x2A, 0x00, 0x00, 0x3E, - 0x7F, 0x41, 0x61, 0xFF, 0xBE, 0x00, - 0x7F, 0x7E, 0x0C, 0x18, 0x0C, 0x7E, - 0x7F, 0x00, 0x7F, 0x7F, 0x1C, 0x36, - 0x63, 0x41, 0x00, 0x00, 0x00, 0x7F, - 0x7F, 0x1B, 0x1B, 0x03, 0x00, 0x7B, - 0x7B, 0x00, 0x7C, 0x78, 0x0C, 0x0C, - 0x00, 0x7C, 0x78, 0x0C, 0x7C, 0x78, - 0x0C, 0x7C, 0x78, 0x00, 0x1C, 0x38, - 0x60, 0x38, 0x60, 0x38, 0x1C, 0x00, - 0x20, 0x74, 0x54, 0x54, 0x3C, 0x78, - 0x00, 0x7C, 0x78, 0x0C, 0x0C, 0x00, - 0x38, 0x7C, 0x54, 0x54, 0x5C, 0x58, - 0x00, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, - 0x40, 0x60, 0x30, 0x1E, 0x00, 0x7E, - 0x00, 0x1E, 0x30, 0x60, 0x40, 0x00, - 0x40, 0x60, 0x70, 0x78, 0x7C, 0x7E, - 0x7F, 0x73, 0x65, 0x49, 0x51, 0x63, - 0x7F, 0x7F, 0x41, 0x5D, 0x63, 0x7F, - 0x41, 0x55, 0x5D, 0x7F, 0x63, 0x5D, - 0x5D, 0x7F, 0x41, 0x55, 0x5D, 0x7F, - 0x41, 0x73, 0x67, 0x41, 0x7F, 0x79, - 0x79, 0x41, 0x41, 0x79, 0x79, 0x7F, - 0x41, 0x41, 0x63, 0x41, 0x49, 0x5D, - 0x7F, 0x41, 0x41, 0x4F, 0x4F, 0x7F, - 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, -}; diff --git a/keyboards/decent/tkl/keymaps/default/config.h b/keyboards/decent/tkl/keymaps/default/config.h deleted file mode 100644 index 0271c1b84db6..000000000000 --- a/keyboards/decent/tkl/keymaps/default/config.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#define BOOTMAGIC_ROW 0 -#define BOOTMAGIC_COLUMN 6 - -#define I2C1_SDA_PIN GP26 -#define I2C1_SCL_PIN GP27 - -#define RGB_MATRIX_LED_COUNT 82 -#define RGB_MATRIX_CENTER {77, 32} -#define OLED_FONT_H "atari-font.c" \ No newline at end of file diff --git a/keyboards/decent/tkl/keymaps/default/keymap.c b/keyboards/decent/tkl/keymaps/default/keymap.c deleted file mode 100644 index 3cc344a645e4..000000000000 --- a/keyboards/decent/tkl/keymaps/default/keymap.c +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ - * /Esc / /F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10 / - * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ - * │Ctrl│GUI │Alt │ │ Alt│ Fn │Menu│Ctrl│ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ - */ - [0] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, 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_BSLS, KC_DEL, KC_END, 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_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* - * / / /MyCmp/HomeP/Calc /Media/ ⏮ / ⏭ / ⏯ / ⏹ /Mute / / - * - * │ │💡│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │V+ │ - * │ │ │🔆│ │ │ │ │ │ │ │ │ │ │BootL│ │ │ │V- │ - * │ │ │🔅│ │ │ │ │ │ │ │ │ │ │ - * │ │ │🎨│ │ │ │ │ │ │ │ │ │ │🗘 │ - * │ │ │ │ │ │ │ │ │ │㉈ │🗘 │㉏ │ - */ - [1] = LAYOUT_tkl_ansi( - _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, _______, - - _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_VOLD, - _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } -}; -#endif - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - 0x20, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xBC, 0xBD, 0xBE, 0xBF, - 0x00 - }; - - oled_write_P(qmk_logo, false); - oled_write_pixel(126, 0, 1); - oled_write_pixel(127, 0, 1); - oled_write_pixel(126, 1, 1); -} - -static const char PROGMEM caps_on[] = { 0x9C, 0x9D, 0x9E, 0x9F }; -static const char PROGMEM caps_off[] = { 0xBC, 0xBD, 0xBE, 0xBF }; - -bool oled_task_user(void) { - render_logo(); - - bool caps = host_keyboard_led_state().caps_lock; - - if (caps) { - oled_set_cursor(17, 3); - oled_write(caps ? caps_on : caps_off, false); - } - return false; -} - -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - bool caps = host_keyboard_led_state().caps_lock; - - if (caps) { - for (uint8_t i = led_min; i < led_max; i++) { - if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { - rgb_matrix_set_color(i, RGB_RED); - } - } - } - - if (get_highest_layer(layer_state) > 0) { - uint8_t layer = get_highest_layer(layer_state); - - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - for (uint8_t col = 0; col < MATRIX_COLS; ++col) { - uint8_t index = g_led_config.matrix_co[row][col]; - - if (index >= led_min && index < led_max && index != NO_LED && - keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { - rgb_matrix_set_color(index, RGB_GREEN); - } - } - } - } - - return false; -} diff --git a/keyboards/decent/tkl/readme.md b/keyboards/decent/tkl/readme.md deleted file mode 100644 index 696f6888beb9..000000000000 --- a/keyboards/decent/tkl/readme.md +++ /dev/null @@ -1,81 +0,0 @@ -# DecenTKL - -![decentkl](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/Media/DecenTKL-logo.png) - -*A TKL keyboard inspired by the language design of Atari XE and ST computers* - -* Keyboard Maintainer: [Bertrand Le roy](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/) -* Hardware Supported: DecenTKL (Pi Pico based) -* Hardware Availability: Custom built but open-source - -Make example for this keyboard (after setting up your build environment): - - make decent/tkl:default - -Flashing example for this keyboard: - - make decent/tkl:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Press the escape key or the button on the back of the Pi while connecting the keyboard. - -## Special commands - -Fn + F1: Open my computer -Fn + F2: Browser home -Fn + F3: Open calculator -Fn + F4: Open media player -Fn + F5: Previous media -Fn + F6: Next media -Fn + F7: Play media -Fn + F8: Stop media -Fn + F9: Mute -Fn + PgUp: Volume up -Fn + PgDn: Volume down -Fn + 1: Toggle RGB lighting -Fn + Up: Next RGB effect -Fn + Down: Previous RGB effect -Fn + X: Change RGB hue -Fn + S: Lower RGB brightness -Fn + W: Raise RGB brightness -Fn + Left: Lower RGB animation speed -Fn + Right: Raise RGB animation speed - -Fn + \: go into bootloader mode without unplugging the keyboard - -## Layout -```C -/* - * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ - * /Esc / /F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10 / - * /─────/ /─────/─────/─────/─────/─────/─────/─────/─────/─────/─────/ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ - * │Ctrl│GUI │Alt │ │ Alt│ Fn │Menu│Ctrl│ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ -*/ -``` - -When holding Fn down: - -```C -/* - * / / /MyCmp/HomeP/Calc /Media/ ⏮ / ⏭ / ⏯ / ⏹ /Mute / / - * - * │ │💡│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │V+ │ - * │ │ │🔆│ │ │ │ │ │ │ │ │ │ │BootL│ │ │ │V- │ - * │ │ │🔅│ │ │ │ │ │ │ │ │ │ │ - * │ │ │🎨│ │ │ │ │ │ │ │ │ │ │🗘 │ - * │ │ │ │ │ │ │ │ │ │㉈ │🗘 │㉏ │ -*/ -``` \ No newline at end of file diff --git a/keyboards/decent/tkl/rules.mk b/keyboards/decent/tkl/rules.mk deleted file mode 100644 index a40474b4d5c7..000000000000 --- a/keyboards/decent/tkl/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes \ No newline at end of file From f5a7cfadceac1dd9c67db831d477c3bf1b35b3e9 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Mon, 9 Dec 2024 23:43:57 -0800 Subject: [PATCH 04/10] Address code review comments --- keyboards/decent/numpad/keyboard.json | 11 +++++++---- keyboards/decent/numpad/keymaps/default/config.h | 10 +++------- keyboards/decent/numpad/keymaps/default/keymap.c | 4 ++-- keyboards/decent/numpad/readme.md | 2 -- keyboards/decent/numpad/rules.mk | 2 -- 5 files changed, 12 insertions(+), 17 deletions(-) delete mode 100644 keyboards/decent/numpad/rules.mk diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index 301ede109a2c..1345c422b32e 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -13,7 +13,8 @@ "console": false, "extrakey": false, "mousekey": false, - "nkro": false + "nkro": false, + "joystick": true }, "matrix_pins": { "cols": ["GP0", "GP1", "GP2", "GP3"], @@ -27,14 +28,15 @@ "pid": "0x0000", "vid": "0xFEED" }, - "i2c": { - }, "ws2812": { "pin": "GP20", "driver": "vendor" }, + "bootmagic": { + "matrix": [1, 0] + }, "layouts": { - "LAYOUT_default": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0.75, "y": 0, "label": "F11"}, {"matrix": [0, 1], "x": 2.25, "y": 0, "label": "F12"}, @@ -64,6 +66,7 @@ } }, "rgb_matrix": { + "center_point": [37, 42], "max_brightness": 125, "sleep": true, "animations": { diff --git a/keyboards/decent/numpad/keymaps/default/config.h b/keyboards/decent/numpad/keymaps/default/config.h index dc5cb4392fdc..07d712dab943 100644 --- a/keyboards/decent/numpad/keymaps/default/config.h +++ b/keyboards/decent/numpad/keymaps/default/config.h @@ -1,11 +1,7 @@ -#pragma once - -#define BOOTMAGIC_ROW 1 -#define BOOTMAGIC_COLUMN 0 -#define RGB_MATRIX_SLEEP +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later -#define RGB_MATRIX_LED_COUNT 22 -#define RGB_MATRIX_CENTER {37, 42} +#pragma once #define JOYSTICK_AXIS_COUNT 4 #define JOYSTICK_BUTTON_COUNT 10 diff --git a/keyboards/decent/numpad/keymaps/default/keymap.c b/keyboards/decent/numpad/keymaps/default/keymap.c index 76c37e9068d3..8776ad896884 100644 --- a/keyboards/decent/numpad/keymaps/default/keymap.c +++ b/keyboards/decent/numpad/keymaps/default/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ 0 │ . │ │ * └───────┴───┴───┘ */ - [0] = LAYOUT_default( + [0] = LAYOUT( KC_F11, KC_F12, MO(1), KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, KC_KP_0, KC_KP_DOT ), - [1] = LAYOUT_default( + [1] = LAYOUT( S(KC_F11), S(KC_F12), _______, RGB_M_B, RGB_M_R, RGB_VAD, diff --git a/keyboards/decent/numpad/readme.md b/keyboards/decent/numpad/readme.md index 6641b99f968f..458b5418fe0b 100644 --- a/keyboards/decent/numpad/readme.md +++ b/keyboards/decent/numpad/readme.md @@ -1,7 +1,5 @@ # DecenTKL NumPad -![decentkl](https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/Media/DecenTKL-logo.png) - *A numeric pad to go with the DecenTKL keyboard* This numeric pad also includes a 3-port USB hub, enabling the connection of the TKL diff --git a/keyboards/decent/numpad/rules.mk b/keyboards/decent/numpad/rules.mk deleted file mode 100644 index 6f0fabd31139..000000000000 --- a/keyboards/decent/numpad/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -JOYSTICK_ENABLE = yes -ANALOG_DRIVER_REQUIRED = yes \ No newline at end of file From f78792a9dbd9b98ab43066f256d4fb3fd0dae970 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Tue, 10 Dec 2024 16:42:01 -0800 Subject: [PATCH 05/10] Addressing more code review comments --- keyboards/decent/numpad/{keymaps/default => }/config.h | 0 keyboards/decent/numpad/keyboard.json | 4 ++-- keyboards/decent/numpad/keymaps/default/keymap.c | 10 +++++----- keyboards/decent/numpad/readme.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) rename keyboards/decent/numpad/{keymaps/default => }/config.h (100%) diff --git a/keyboards/decent/numpad/keymaps/default/config.h b/keyboards/decent/numpad/config.h similarity index 100% rename from keyboards/decent/numpad/keymaps/default/config.h rename to keyboards/decent/numpad/config.h diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index 1345c422b32e..74617ac7913f 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -2,6 +2,8 @@ "manufacturer": "Bertrand Le roy", "keyboard_name": "DecenTKL NumPad", "maintainer": "bleroy", + "url": "https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/", + "tags": ["ansi", "numpad", "rgb", "atari", "joystick"], "bootloader": "rp2040", "diode_direction": "COL2ROW", "features": { @@ -21,8 +23,6 @@ "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"] }, "processor": "RP2040", - "url": "https://github.com/bleroy/3d-junkyard/blob/main/DecenTKL/", - "tags": ["ansi", "numpad", "rgb", "atari", "joystick"], "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/decent/numpad/keymaps/default/keymap.c b/keyboards/decent/numpad/keymaps/default/keymap.c index 8776ad896884..71139c0db1e7 100644 --- a/keyboards/decent/numpad/keymaps/default/keymap.c +++ b/keyboards/decent/numpad/keymaps/default/keymap.c @@ -33,11 +33,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( S(KC_F11), S(KC_F12), - _______, RGB_M_B, RGB_M_R, RGB_VAD, - _______, RGB_HUI, _______, RGB_VAI, - RGB_SPD, RGB_M_SW, RGB_SPI, - RGB_RMOD, RGB_HUD, RGB_MOD, QK_BOOT, - RGB_TOG, _______ + _______, _______, _______, RM_VALD, + _______, RM_HUEU, _______, RM_VALU, + RM_SPDD, _______, RM_SPDU, + RM_PREV, RM_HUED, RM_NEXT, QK_BOOT, + RM_TOGG, _______ ), }; diff --git a/keyboards/decent/numpad/readme.md b/keyboards/decent/numpad/readme.md index 458b5418fe0b..83436bf8c03d 100644 --- a/keyboards/decent/numpad/readme.md +++ b/keyboards/decent/numpad/readme.md @@ -57,7 +57,7 @@ While holding the Num key: * /Shift+F11/Shift+F12/ * /─────────/─────────/ * ┌───────┬───────┬───────┬───────┐ - * │ │Breathe│Rainbow│Bright-│ + * │ │ │ │Bright-│ * ├───────┼───────┼───────┼───────┤ * │ │ Hue + │ │Bright+│ * ├───────┼───────┼───────┤ │ From feaa45e8fd103a620fad24df5b116c0bf98e73cd Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Fri, 13 Dec 2024 12:49:56 -0800 Subject: [PATCH 06/10] Add key sizes --- keyboards/decent/numpad/keyboard.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index 74617ac7913f..936c0f88e786 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -49,7 +49,7 @@ {"matrix": [2, 0], "x": 0, "y": 2, "label": "7"}, {"matrix": [2, 1], "x": 1, "y": 2, "label": "8"}, {"matrix": [2, 2], "x": 2, "y": 2, "label": "9"}, - {"matrix": [2, 3], "x": 3, "y": 2, "label": "+"}, + {"matrix": [2, 3], "x": 3, "y": 2, "h": 2, "label": "+"}, {"matrix": [3, 0], "x": 0, "y": 3, "label": "4"}, {"matrix": [3, 1], "x": 1, "y": 3, "label": "5"}, @@ -58,9 +58,9 @@ {"matrix": [4, 0], "x": 0, "y": 4, "label": "1"}, {"matrix": [4, 1], "x": 1, "y": 4, "label": "2"}, {"matrix": [4, 2], "x": 2, "y": 4, "label": "3"}, - {"matrix": [4, 3], "x": 3, "y": 4, "label": "Enter"}, + {"matrix": [4, 3], "x": 3, "y": 4, "h": 2, "label": "Enter"}, - {"matrix": [5, 0], "x": 0, "y": 5, "label": "0"}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 2, "label": "0"}, {"matrix": [5, 2], "x": 2, "y": 5, "label": "."} ] } From 4327d198f2126e300e291bf15aebbb04ca9bcab6 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Sat, 14 Dec 2024 10:48:33 -0800 Subject: [PATCH 07/10] Move joystick code to the keyboard level. --- keyboards/decent/numpad/keyboard.json | 9 +- .../decent/numpad/keymaps/default/keymap.c | 101 ----------------- keyboards/decent/numpad/numpad.c | 105 ++++++++++++++++++ 3 files changed, 107 insertions(+), 108 deletions(-) create mode 100644 keyboards/decent/numpad/numpad.c diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index 936c0f88e786..745b639a6f15 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -7,15 +7,10 @@ "bootloader": "rp2040", "diode_direction": "COL2ROW", "features": { - "encoder": false, "bootmagic": true, "rgb_matrix": true, - "oled": false, - "command": false, - "console": false, - "extrakey": false, - "mousekey": false, - "nkro": false, + "extrakey": true, + "mousekey": true, "joystick": true }, "matrix_pins": { diff --git a/keyboards/decent/numpad/keymaps/default/keymap.c b/keyboards/decent/numpad/keymaps/default/keymap.c index 71139c0db1e7..c450b186d9ee 100644 --- a/keyboards/decent/numpad/keymaps/default/keymap.c +++ b/keyboards/decent/numpad/keymaps/default/keymap.c @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "analog.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -40,103 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RM_TOGG, _______ ), }; - -joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { - [0] = JOYSTICK_AXIS_VIRTUAL, - [1] = JOYSTICK_AXIS_VIRTUAL, - [2] = JOYSTICK_AXIS_VIRTUAL, - [3] = JOYSTICK_AXIS_VIRTUAL -}; - -void keyboard_post_init_user(void) { - gpio_set_pin_input_high(GP10); // Up1 - gpio_set_pin_input_high(GP11); // Down1 - gpio_set_pin_input_high(GP12); // Left1 - gpio_set_pin_input_high(GP13); // Right1 - gpio_set_pin_input_high(GP14); // Fire1 - gpio_set_pin_input_high(GP15); - gpio_set_pin_input_high(GP16); - gpio_set_pin_input_high(GP17); - gpio_set_pin_input_high(GP18); - gpio_set_pin_input_high(GP19); -} - -void set_button_state(int btn, bool state) { - if (state) { - unregister_joystick_button(btn); - } - else { - register_joystick_button(btn); - } -} - -void matrix_scan_user(void) { - set_button_state(0, gpio_read_pin(GP16)); - set_button_state(1, gpio_read_pin(GP18)); - set_button_state(2, gpio_read_pin(GP17)); - set_button_state(3, gpio_read_pin(GP15)); - set_button_state(4, gpio_read_pin(GP14)); - set_button_state(5, gpio_read_pin(GP19)); - bool up = !gpio_read_pin(10); - bool down = !gpio_read_pin(11); - bool left = !gpio_read_pin(12); - bool right = !gpio_read_pin(13); - if (up) { - if (left) { - joystick_set_hat(7); - } - else if (right) { - joystick_set_hat(1); - } - else { - joystick_set_hat(0); - } - } - else if (down) { - if (left) { - joystick_set_hat(5); - } - else if (right) { - joystick_set_hat(3); - } - else { - joystick_set_hat(4); - } - } - else if (left) { - joystick_set_hat(6); - } - else if (right) { - joystick_set_hat(2); - } - else { - joystick_set_hat(-1); - } - int analog = analogReadPin(GP26); - joystick_set_axis(0, analog); - analog = analogReadPin(GP27); - joystick_set_axis(1, analog); - analog = analogReadPin(GP28); - joystick_set_axis(2, analog); - analog = analogReadPin(GP29); - joystick_set_axis(3, analog); -} - -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - if (get_highest_layer(layer_state) > 0) { - uint8_t layer = get_highest_layer(layer_state); - - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - for (uint8_t col = 0; col < MATRIX_COLS; ++col) { - uint8_t index = g_led_config.matrix_co[row][col]; - - if (index >= led_min && index < led_max && index != NO_LED && - keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { - rgb_matrix_set_color(index, RGB_GREEN); - } - } - } - } - - return false; -} \ No newline at end of file diff --git a/keyboards/decent/numpad/numpad.c b/keyboards/decent/numpad/numpad.c new file mode 100644 index 000000000000..4b65e6e75f4c --- /dev/null +++ b/keyboards/decent/numpad/numpad.c @@ -0,0 +1,105 @@ +// Copyright 2024 B. Le Roy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "analog.h" + +joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { + [0] = JOYSTICK_AXIS_VIRTUAL, + [1] = JOYSTICK_AXIS_VIRTUAL, + [2] = JOYSTICK_AXIS_VIRTUAL, + [3] = JOYSTICK_AXIS_VIRTUAL +}; + +void keyboard_post_init_kb(void) { + gpio_set_pin_input_high(GP10); // Up1 + gpio_set_pin_input_high(GP11); // Down1 + gpio_set_pin_input_high(GP12); // Left1 + gpio_set_pin_input_high(GP13); // Right1 + gpio_set_pin_input_high(GP14); // Fire1 + gpio_set_pin_input_high(GP15); + gpio_set_pin_input_high(GP16); + gpio_set_pin_input_high(GP17); + gpio_set_pin_input_high(GP18); + gpio_set_pin_input_high(GP19); +} + +void set_button_state(int btn, bool state) { + if (state) { + unregister_joystick_button(btn); + } + else { + register_joystick_button(btn); + } +} + +void matrix_scan_kb(void) { + set_button_state(0, gpio_read_pin(GP16)); + set_button_state(1, gpio_read_pin(GP18)); + set_button_state(2, gpio_read_pin(GP17)); + set_button_state(3, gpio_read_pin(GP15)); + set_button_state(4, gpio_read_pin(GP14)); + set_button_state(5, gpio_read_pin(GP19)); + bool up = !gpio_read_pin(10); + bool down = !gpio_read_pin(11); + bool left = !gpio_read_pin(12); + bool right = !gpio_read_pin(13); + if (up) { + if (left) { + joystick_set_hat(7); + } + else if (right) { + joystick_set_hat(1); + } + else { + joystick_set_hat(0); + } + } + else if (down) { + if (left) { + joystick_set_hat(5); + } + else if (right) { + joystick_set_hat(3); + } + else { + joystick_set_hat(4); + } + } + else if (left) { + joystick_set_hat(6); + } + else if (right) { + joystick_set_hat(2); + } + else { + joystick_set_hat(-1); + } + int analog = analogReadPin(GP26); + joystick_set_axis(0, analog); + analog = analogReadPin(GP27); + joystick_set_axis(1, analog); + analog = analogReadPin(GP28); + joystick_set_axis(2, analog); + analog = analogReadPin(GP29); + joystick_set_axis(3, analog); +} + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_GREEN); + } + } + } + } + + return false; +} \ No newline at end of file From 5c9d931376a6538489c6334b94969c50e2a1f846 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Sat, 14 Dec 2024 12:24:01 -0800 Subject: [PATCH 08/10] Call user functions, move joystick code to housekeeping --- keyboards/decent/numpad/numpad.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/keyboards/decent/numpad/numpad.c b/keyboards/decent/numpad/numpad.c index 4b65e6e75f4c..1412f12ee177 100644 --- a/keyboards/decent/numpad/numpad.c +++ b/keyboards/decent/numpad/numpad.c @@ -22,6 +22,8 @@ void keyboard_post_init_kb(void) { gpio_set_pin_input_high(GP17); gpio_set_pin_input_high(GP18); gpio_set_pin_input_high(GP19); + + keyboard_post_init_user(); } void set_button_state(int btn, bool state) { @@ -33,7 +35,7 @@ void set_button_state(int btn, bool state) { } } -void matrix_scan_kb(void) { +void housekeeping_task_kb(void) { set_button_state(0, gpio_read_pin(GP16)); set_button_state(1, gpio_read_pin(GP18)); set_button_state(2, gpio_read_pin(GP17)); @@ -83,9 +85,15 @@ void matrix_scan_kb(void) { joystick_set_axis(2, analog); analog = analogReadPin(GP29); joystick_set_axis(3, analog); + + housekeeping_task_user(); } bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if (get_highest_layer(layer_state) > 0) { uint8_t layer = get_highest_layer(layer_state); From 4316b579095c25c6e2be3fd52b857c37cb6fbb5e Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Sat, 14 Dec 2024 13:23:14 -0800 Subject: [PATCH 09/10] Remove call to user function --- keyboards/decent/numpad/numpad.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/decent/numpad/numpad.c b/keyboards/decent/numpad/numpad.c index 1412f12ee177..3856ca5fc88c 100644 --- a/keyboards/decent/numpad/numpad.c +++ b/keyboards/decent/numpad/numpad.c @@ -85,8 +85,6 @@ void housekeeping_task_kb(void) { joystick_set_axis(2, analog); analog = analogReadPin(GP29); joystick_set_axis(3, analog); - - housekeeping_task_user(); } bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { From a93eb3be4e79345e25307c348eee3f3f52e72879 Mon Sep 17 00:00:00 2001 From: Bertrand Le roy Date: Sun, 22 Dec 2024 18:50:21 -0800 Subject: [PATCH 10/10] More CR --- keyboards/decent/numpad/config.h | 2 +- keyboards/decent/numpad/keyboard.json | 2 +- keyboards/decent/numpad/numpad.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/decent/numpad/config.h b/keyboards/decent/numpad/config.h index 07d712dab943..f5114d3ce03a 100644 --- a/keyboards/decent/numpad/config.h +++ b/keyboards/decent/numpad/config.h @@ -5,4 +5,4 @@ #define JOYSTICK_AXIS_COUNT 4 #define JOYSTICK_BUTTON_COUNT 10 -#define JOYSTICK_HAS_HAT \ No newline at end of file +#define JOYSTICK_HAS_HAT diff --git a/keyboards/decent/numpad/keyboard.json b/keyboards/decent/numpad/keyboard.json index 745b639a6f15..eb45c72232ff 100644 --- a/keyboards/decent/numpad/keyboard.json +++ b/keyboards/decent/numpad/keyboard.json @@ -145,4 +145,4 @@ ], "driver": "ws2812" } -} \ No newline at end of file +} diff --git a/keyboards/decent/numpad/numpad.c b/keyboards/decent/numpad/numpad.c index 3856ca5fc88c..5a8b0327461b 100644 --- a/keyboards/decent/numpad/numpad.c +++ b/keyboards/decent/numpad/numpad.c @@ -77,7 +77,7 @@ void housekeeping_task_kb(void) { else { joystick_set_hat(-1); } - int analog = analogReadPin(GP26); + int16_t analog = analogReadPin(GP26); joystick_set_axis(0, analog); analog = analogReadPin(GP27); joystick_set_axis(1, analog); @@ -108,4 +108,4 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } return false; -} \ No newline at end of file +}