From c2326c05c0778025adc681b962a04626ea6dba77 Mon Sep 17 00:00:00 2001 From: John Barbero Date: Sun, 12 Nov 2023 06:30:31 +0100 Subject: [PATCH] [Keyboard] Fixes to make snes_macropad play nicer with qmk configurator (#22432) * [Keyboard] Change default implementation for get_layer_name_user Will now show the layer number instead of "Unknown", since this is what will be shown if QMK Configurator is used to compile the firmware. * [Keyboard] Update the layout info This makes it look sort of like a macropad + gamepad rather than an 4x6 ortholinear keyboard. * [Keyboard] Fix default implementation of get_layer_name_user Based on feedback from code review the implementation was swapped in favor of using get_u8_str. This implied a change to the argument type from int to uint8_t, which cascaded into the existing keymaps. (This made sense in general, since the return type of get_highest_layer is also a uint8_t.) --- keyboards/snes_macropad/info.json | 24 +++++++++---------- .../snes_macropad/keymaps/default/keymap.c | 2 +- .../snes_macropad/keymaps/jbarberu/keymap.c | 2 +- keyboards/snes_macropad/keymaps/test/keymap.c | 2 +- keyboards/snes_macropad/snes_macropad.c | 4 ++-- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/keyboards/snes_macropad/info.json b/keyboards/snes_macropad/info.json index c54e9bb0b2..15e3c9ee67 100644 --- a/keyboards/snes_macropad/info.json +++ b/keyboards/snes_macropad/info.json @@ -45,18 +45,18 @@ {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5}, - {"matrix": [5, 1], "x": 1, "y": 5}, - {"matrix": [5, 2], "x": 2, "y": 5}, - {"matrix": [5, 3], "x": 3, "y": 5} + {"matrix": [3, 0], "x": 5.2, "y": 0, "w": 2, "h": 0.75}, + {"matrix": [3, 1], "x": 10.65, "y": 0, "w": 2, "h": 0.75}, + {"matrix": [3, 2], "x": 7.9, "y": 2.5, "w": 1, "h": 0.75}, + {"matrix": [3, 3], "x": 8.9, "y": 2.5, "w": 1, "h": 0.75}, + {"matrix": [4, 0], "x": 6, "y": 1, "w": 0.85, "h": 0.85}, + {"matrix": [4, 1], "x": 6, "y": 3, "w": 0.85, "h": 0.85}, + {"matrix": [4, 2], "x": 5.2, "y": 2, "w": 0.85, "h": 0.85}, + {"matrix": [4, 3], "x": 6.8, "y": 2, "w": 0.85, "h": 0.85}, + {"matrix": [5, 0], "x": 11.8, "y": 2, "w": 0.85, "h": 0.85}, + {"matrix": [5, 1], "x": 11, "y": 3, "w": 0.85, "h": 0.85}, + {"matrix": [5, 2], "x": 11, "y": 1, "w": 0.85, "h": 0.85}, + {"matrix": [5, 3], "x": 10.2, "y": 2, "w": 0.85, "h": 0.85} ] } }, diff --git a/keyboards/snes_macropad/keymaps/default/keymap.c b/keyboards/snes_macropad/keymaps/default/keymap.c index 34f4f6248a..c4896b1f49 100644 --- a/keyboards/snes_macropad/keymaps/default/keymap.c +++ b/keyboards/snes_macropad/keymaps/default/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -const char* get_layer_name_user(int layer) { +const char* get_layer_name_user(uint8_t layer) { switch (layer) { case L_Numpad: return "Numpad"; diff --git a/keyboards/snes_macropad/keymaps/jbarberu/keymap.c b/keyboards/snes_macropad/keymaps/jbarberu/keymap.c index 0fbe0fa626..478d1461e2 100644 --- a/keyboards/snes_macropad/keymaps/jbarberu/keymap.c +++ b/keyboards/snes_macropad/keymaps/jbarberu/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -const char * get_layer_name_user(int layer) { +const char * get_layer_name_user(uint8_t layer) { switch (layer) { case L_Numpad: return "Numpad"; diff --git a/keyboards/snes_macropad/keymaps/test/keymap.c b/keyboards/snes_macropad/keymaps/test/keymap.c index 86dd669965..72be941694 100644 --- a/keyboards/snes_macropad/keymaps/test/keymap.c +++ b/keyboards/snes_macropad/keymaps/test/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -const char * get_layer_name_user(int layer) { +const char * get_layer_name_user(uint8_t layer) { switch (layer) { case L_Numpad: return "Numpad"; diff --git a/keyboards/snes_macropad/snes_macropad.c b/keyboards/snes_macropad/snes_macropad.c index a8e04c8c32..ba4ce44bd1 100644 --- a/keyboards/snes_macropad/snes_macropad.c +++ b/keyboards/snes_macropad/snes_macropad.c @@ -57,8 +57,8 @@ static void oled_render_keylog(void) { oled_write_char(key_name, false); } -__attribute__((weak)) const char * get_layer_name_user(int layer) { - return "Unknown"; +__attribute__((weak)) const char * get_layer_name_user(uint8_t layer) { + return get_u8_str(layer, ' '); } static void oled_render_layer(void) {