Refactor opendeck/32 (#24233)

This commit is contained in:
Joel Challis 2024-08-03 23:10:09 +01:00 committed by GitHub
parent 9f387f525c
commit 8808fffc2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 44 additions and 112 deletions

View file

@ -15,23 +15,13 @@
*/
#include QMK_KEYBOARD_H
#define _BL 0
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_ortho_4x8(
LSFT(KC_F13), LSFT(KC_F17), LSFT(KC_F21), LCTL(KC_F13), LCTL(KC_F17), LCTL(KC_F21), LALT(KC_F13), LALT(KC_F17),
LSFT(KC_F14), LSFT(KC_F18), LSFT(KC_F22), LCTL(KC_F14), LCTL(KC_F18), LCTL(KC_F22), LALT(KC_F14), LALT(KC_F18),
LSFT(KC_F15), LSFT(KC_F19), LSFT(KC_F23), LCTL(KC_F15), LCTL(KC_F19), LCTL(KC_F23), LALT(KC_F15), LALT(KC_F19),
LSFT(KC_F16), LSFT(KC_F20), LSFT(KC_F24), LCTL(KC_F16), LCTL(KC_F20), LCTL(KC_F24), LALT(KC_F16), LALT(KC_F20)
[0] = LAYOUT_ortho_4x8(
LSFT(KC_F13), LSFT(KC_F17), LSFT(KC_F21), LCTL(KC_F13), LCTL(KC_F17), LCTL(KC_F21), LALT(KC_F13), LALT(KC_F17),
LSFT(KC_F14), LSFT(KC_F18), LSFT(KC_F22), LCTL(KC_F14), LCTL(KC_F18), LCTL(KC_F22), LALT(KC_F14), LALT(KC_F18),
LSFT(KC_F15), LSFT(KC_F19), LSFT(KC_F23), LCTL(KC_F15), LCTL(KC_F19), LCTL(KC_F23), LALT(KC_F15), LALT(KC_F19),
LSFT(KC_F16), LSFT(KC_F20), LSFT(KC_F24), LCTL(KC_F16), LCTL(KC_F20), LCTL(KC_F24), LALT(KC_F16), LALT(KC_F20)
)
};
// clang-format on
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
}

View file

@ -19,9 +19,4 @@
#define IS31FL3731_SDB_PIN D2
#define IS31FL3731_IRQ_PIN D3
#define RGB_MATRIX_DISABLE_KEYCODES
// Slim down the ROM
#define NO_ACTION_LAYER
#define NO_ACTION_TAPPING
#define NO_ACTION_ONESHOT
#define POWER_LED_PIN F1

View file

@ -3,9 +3,9 @@
"lto": true
},
"features": {
"bootmagic": false,
"extrakey": false,
"mousekey": false,
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
@ -63,6 +63,40 @@
"animation": "cycle_spiral"
},
"driver": "is31fl3731",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 32, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 64, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 96, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 128, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 160, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 192, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 224, "y": 0, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
{"matrix": [1, 1], "x": 32, "y": 21, "flags": 4},
{"matrix": [1, 2], "x": 64, "y": 21, "flags": 4},
{"matrix": [1, 3], "x": 96, "y": 21, "flags": 4},
{"matrix": [1, 4], "x": 128, "y": 21, "flags": 4},
{"matrix": [1, 5], "x": 160, "y": 21, "flags": 4},
{"matrix": [1, 6], "x": 192, "y": 21, "flags": 4},
{"matrix": [1, 7], "x": 224, "y": 21, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 43, "flags": 4},
{"matrix": [2, 1], "x": 32, "y": 43, "flags": 4},
{"matrix": [2, 2], "x": 64, "y": 43, "flags": 4},
{"matrix": [2, 3], "x": 96, "y": 43, "flags": 4},
{"matrix": [2, 4], "x": 128, "y": 43, "flags": 4},
{"matrix": [2, 5], "x": 160, "y": 43, "flags": 4},
{"matrix": [2, 6], "x": 192, "y": 43, "flags": 4},
{"matrix": [2, 7], "x": 224, "y": 43, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [3, 1], "x": 32, "y": 64, "flags": 4},
{"matrix": [3, 2], "x": 64, "y": 64, "flags": 4},
{"matrix": [3, 3], "x": 96, "y": 64, "flags": 4},
{"matrix": [3, 4], "x": 128, "y": 64, "flags": 4},
{"matrix": [3, 5], "x": 160, "y": 64, "flags": 4},
{"matrix": [3, 6], "x": 192, "y": 64, "flags": 4},
{"matrix": [3, 7], "x": 224, "y": 64, "flags": 4}
],
"sleep": true
},
"diode_direction": "COL2ROW",

View file

@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "rev1.h"
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
@ -63,31 +63,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
// clang-format on
};
// clang-format off
led_config_t g_led_config = {
{
// Key Matrix to LED Index
{ 0, 1, 2, 3, 4, 5, 6, 7 },
{ 8, 9, 10, 11, 12, 13, 14, 15 },
{ 16, 17, 18, 19, 20, 21, 22, 23 },
{ 24, 25, 26, 27, 28, 29, 30, 31 }
}, {
// LED Index to Physical Position
{ 0, 0 }, { 32, 0 }, { 64, 0 }, { 96, 0 }, { 128, 0 }, { 160, 0 }, { 192, 0 }, { 224, 0 },
{ 0, 21 }, { 32, 21 }, { 64, 21 }, { 96, 21 }, { 128, 21 }, { 160, 21 }, { 192, 21 }, { 224, 21 },
{ 0, 43 }, { 32, 43 }, { 64, 43 }, { 96, 43 }, { 128, 43 }, { 160, 43 }, { 192, 43 }, { 224, 43 },
{ 0, 64 }, { 32, 64 }, { 64, 64 }, { 96, 64 }, { 128, 64 }, { 160, 64 }, { 192, 64 }, { 224, 64 }
}, {
// LED Index to Flag
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4
}
};
// clang-format on
void keyboard_pre_init_kb(void) {
// Light power LED
gpio_set_pin_output(POWER_LED_PIN);
@ -100,37 +75,4 @@ void keyboard_pre_init_kb(void) {
keyboard_pre_init_user();
}
void keyboard_post_init_kb(void) {
// RGB enabled by default, no way to turn off. No need to expend EEPROM write cycles here.
rgb_matrix_enable_noeeprom();
keyboard_post_init_user();
}
#endif
#if defined(KC_WRAPPER_KEY)
static uint8_t g_key_wrapper_tracker = 0;
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) { return false; }
if (record->event.pressed && keycode != KC_WRAPPER_KEY) {
register_code(KC_WRAPPER_KEY);
register_code(keycode);
g_key_wrapper_tracker++;
return false;
}
return true;
}
void post_process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!record->event.pressed && keycode != KC_WRAPPER_KEY) {
--g_key_wrapper_tracker;
if (g_key_wrapper_tracker <= 0) {
unregister_code(KC_WRAPPER_KEY);
g_key_wrapper_tracker = 0;
}
}
post_process_record_user(keycode, record);
}
#endif

View file

@ -1,29 +0,0 @@
/* Copyright 2020 cmdremily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define POWER_LED_PIN F1
// If you want something similar to what Taran from LMG does in https://github.com/TaranVH/2nd-keyboard
// you can create a "wrapper key" by uncommenting the row below and chosing your wrapper keycode.
// You can then change the keymap in ../keymaps/default/keymap.c to adjust what key is sent inside the
// wrapper.
// Note: The default is to not wrap and to send F13-F24 with combinations of shift/control/alt as these
// are immediately usable in most software (e.g. OBS and DCSB for streaming) without using AHK.
//#define KC_WRAPPER_KEY KC_F24