From 9e242621611ac97a9fe8f12133812019af41e072 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 9 Sep 2022 21:21:48 +0100 Subject: [PATCH 1/7] Fix DD use within boardsource/microdox (#18319) --- keyboards/boardsource/microdox/config.h | 77 --------------------- keyboards/boardsource/microdox/v1/config.h | 16 +---- keyboards/boardsource/microdox/v1/info.json | 4 +- keyboards/boardsource/microdox/v2/config.h | 1 - 4 files changed, 3 insertions(+), 95 deletions(-) delete mode 100644 keyboards/boardsource/microdox/config.h diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h deleted file mode 100644 index 517e0e7376..0000000000 --- a/keyboards/boardsource/microdox/config.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -Copyright 2020 Cole Smith - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#include "config_common.h" - -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 8 -#define MATRIX_COLS 5 -#define MATRIX_ROW_PINS \ - { B2, B6, B4, B5 } - -// wiring of each half -#define MATRIX_COL_PINS \ - { F4, F5, F6, F7, B1 } -#define USE_SERIAL -#define SOFT_SERIAL_PIN D2 -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -// #define BACKLIGHT_LEVELS 3 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -//#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -//#define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGB_DI_PIN D3 -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 12 // Number of LEDs -# define RGBLED_SPLIT \ - { 6, 6 } -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_STATIC_GRADIENT - -#endif - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/boardsource/microdox/v1/config.h b/keyboards/boardsource/microdox/v1/config.h index 111033dd67..01b894afd6 100644 --- a/keyboards/boardsource/microdox/v1/config.h +++ b/keyboards/boardsource/microdox/v1/config.h @@ -3,18 +3,4 @@ #pragma once -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT +// Just here to please quantum/split_common/split_util.c diff --git a/keyboards/boardsource/microdox/v1/info.json b/keyboards/boardsource/microdox/v1/info.json index a79153a73c..85f2e61457 100644 --- a/keyboards/boardsource/microdox/v1/info.json +++ b/keyboards/boardsource/microdox/v1/info.json @@ -2,7 +2,7 @@ "features": { "rgblight": true }, - "matrix_pins": { + "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1"], "rows": ["B2", "B6", "B4", "B5"] }, @@ -12,7 +12,7 @@ "split": { "soft_serial_pin": "D2" }, - "rgblight": { + "rgblight": { "pin": "D3", "sleep": true, "led_count": 12, diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h index b2e6ba9335..e6a7ddc16b 100644 --- a/keyboards/boardsource/microdox/v2/config.h +++ b/keyboards/boardsource/microdox/v2/config.h @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#undef RGB_DI_PIN #define RGB_DI_PIN B5 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define DRIVER_LED_TOTAL 44 From 725df1278bcb7d4b2c2744fd23a850c186f964b9 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 9 Sep 2022 21:22:55 +0100 Subject: [PATCH 2/7] Fix '_RIGHT' matrix pins lint error (#18320) --- lib/python/qmk/info.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index c95b55916c..7460d84ad3 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -370,7 +370,7 @@ def _extract_split_right_pins(info_data, config_c): direct_pins = config_c.get('DIRECT_PINS_RIGHT', '').replace(' ', '')[1:-1] if row_pins or col_pins or direct_pins: - if info_data.get('split', {}).get('matrix_pins', {}).get('right') in info_data: + if info_data.get('split', {}).get('matrix_pins', {}).get('right', None): _log_warning(info_data, 'Right hand matrix data is specified in both info.json and config.h, the config.h values win.') if 'split' not in info_data: From 405a32ddf4d81374b490bf2a413eb485f76f2658 Mon Sep 17 00:00:00 2001 From: Joy Lee Date: Sat, 10 Sep 2022 06:12:48 +0800 Subject: [PATCH 3/7] Added gmmk v2 p65 keyboard. (#18185) --- keyboards/gmmk/gmmk2/p65/ansi/ansi.c | 236 +++++++++++++++++ keyboards/gmmk/gmmk2/p65/ansi/ansi.h | 47 ++++ keyboards/gmmk/gmmk2/p65/ansi/info.json | 90 +++++++ .../gmmk2/p65/ansi/keymaps/default/keymap.c | 44 ++++ .../gmmk2/p65/ansi/keymaps/default/readme.md | 1 + .../gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c | 51 ++++ .../gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk | 1 + keyboards/gmmk/gmmk2/p65/ansi/readme.md | 23 ++ keyboards/gmmk/gmmk2/p65/ansi/rules.mk | 22 ++ keyboards/gmmk/gmmk2/p65/config.h | 117 +++++++++ keyboards/gmmk/gmmk2/p65/halconf.h | 29 +++ keyboards/gmmk/gmmk2/p65/iso/info.json | 91 +++++++ keyboards/gmmk/gmmk2/p65/iso/iso.c | 238 ++++++++++++++++++ keyboards/gmmk/gmmk2/p65/iso/iso.h | 47 ++++ .../gmmk2/p65/iso/keymaps/default/keymap.c | 44 ++++ .../gmmk2/p65/iso/keymaps/default/readme.md | 1 + .../gmmk/gmmk2/p65/iso/keymaps/via/keymap.c | 50 ++++ .../gmmk/gmmk2/p65/iso/keymaps/via/rules.mk | 1 + keyboards/gmmk/gmmk2/p65/iso/readme.md | 23 ++ keyboards/gmmk/gmmk2/p65/iso/rules.mk | 22 ++ keyboards/gmmk/gmmk2/p65/mcuconf.h | 27 ++ keyboards/gmmk/gmmk2/p65/p65.c | 17 ++ keyboards/gmmk/gmmk2/p65/p65.h | 25 ++ 23 files changed, 1247 insertions(+) create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/ansi.c create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/ansi.h create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/info.json create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/readme.md create mode 100644 keyboards/gmmk/gmmk2/p65/ansi/rules.mk create mode 100644 keyboards/gmmk/gmmk2/p65/config.h create mode 100644 keyboards/gmmk/gmmk2/p65/halconf.h create mode 100644 keyboards/gmmk/gmmk2/p65/iso/info.json create mode 100644 keyboards/gmmk/gmmk2/p65/iso/iso.c create mode 100644 keyboards/gmmk/gmmk2/p65/iso/iso.h create mode 100644 keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c create mode 100644 keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md create mode 100644 keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c create mode 100644 keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk create mode 100644 keyboards/gmmk/gmmk2/p65/iso/readme.md create mode 100644 keyboards/gmmk/gmmk2/p65/iso/rules.mk create mode 100644 keyboards/gmmk/gmmk2/p65/mcuconf.h create mode 100644 keyboards/gmmk/gmmk2/p65/p65.c create mode 100644 keyboards/gmmk/gmmk2/p65/p65.h diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c new file mode 100644 index 0000000000..437b50648e --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c @@ -0,0 +1,236 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "ansi.h" + +#ifdef RGB_MATRIX_ENABLE + +const aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc + {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1 + {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2 + {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3 + {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4 + {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5 + {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6 + {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7 + {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8 + {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9 + {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0 + {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 - + {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 = + {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace + {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 Del + + {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab + {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q + {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W + {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E + {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R + {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T + {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y + {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U + {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I + {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O + {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P + {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [ + {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ] + {1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 28 \| + {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp + + {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock + {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A + {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S + {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D + {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F + {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G + {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H + {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J + {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ; + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 ' + {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 42 Enter + {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn + + {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L + {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 45 Z + {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 46 X + {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 47 C + {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 48 V + {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 49 B + {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 50 N + {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 51 M + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 52 , + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 53 . + {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 54 / + {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 55 Shift_R + {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 56 Up + {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 57 END + + {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 58 Ctrl_L + {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 59 Win_L + {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 60 Alt_L + {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 61 Space + {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 62 Alt_R + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 63 FN + {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 64 Left + {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 65 Down + {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 66 Right + + {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 69 LED 1 + {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70 LED 2 + {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 71 LED 3 + {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 72 LED 4 + {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 73 LED 5 + {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 74 LED 6 + {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 75 LED 7 + {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 76 LED 8 + {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 77 LED 9 + {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 78 LED 10 + {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 79 LED 11 + {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 80 LED 12 + {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 81 LED 13 + {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 82 LED 14 + {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 83 LED 15 + {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84 LED 16 + {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 85 LED 17 + {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 86 LED 18 + {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 87 LED 19 + {1, CS16_SW10, CS17_SW10, CS18_SW10} // 88 LED 20 +}; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 44, 57, __, 64, __, 66, 58, 55}, + { 16, 15, 31, 0, 45, 59, __, 1}, + { 17, 30, 32, 60, 46, 14, 29, 2}, + { 18, 61, 33, 63, 47, 56, 62, 3}, + { 19, 20, 34, 35, 48, 49, 5, 4}, + { 22, 21, 37, 36, 51, 50, 6, 7}, + { 23, 27, 38, __, 52, 43, 12, 8}, + { 24, 13, 39, 65, 53, __, 28, 9}, + { 25, 26, 40, 41, 42, 54, 11, 10} +}, { + {14, 0 }, // 0 Esc + {28, 0 }, // 1 1 + {42, 0 }, // 2 2 + {56, 0 }, // 3 3 + {70, 0 }, // 4 4 + {84, 0 }, // 5 5 + {98, 0 }, // 6 6 + {112, 0 }, // 7 7 + {126, 0 }, // 8 8 + {140, 0 }, // 9 9 + {154, 0 }, // 10 0 + {168, 0 }, // 11 - + {182, 0 }, // 12 = + {196, 0 }, // 13 Backspace + {210, 0 }, // 14 Del + + {14, 16}, // 15 Tab + {28, 16}, // 16 Q + {42, 16}, // 17 W + {56, 16}, // 18 E + {70, 16}, // 19 R + {84, 16}, // 20 T + {98, 16}, // 21 Y + {112, 16}, // 22 U + {126, 16}, // 23 I + {140, 16}, // 24 O + {154, 16}, // 25 P + {168, 16}, // 26 [ + {182, 16}, // 27 ] + {196, 16}, // 28 \| + {210, 16}, // 29 PgUp + + {14, 32}, // 30 Caps Lock + {28, 32}, // 31 A + {42, 32}, // 32 S + {56, 32}, // 33 D + {70, 32}, // 34 F + {84, 32}, // 35 G + {98, 32}, // 36 H + {112, 32}, // 37 J + {126, 32}, // 38 K + {140, 32}, // 39 L + {154, 32}, // 40 ; + {168, 32}, // 41 ' + {196, 32}, // 42 Enter + {210, 32}, // 43 PgDn + + {14, 48}, // 44 Shift_L + {42, 48}, // 45 Z + {56, 48}, // 46 X + {70, 48}, // 47 C + {84, 48}, // 48 V + {98, 48}, // 49 B + {112, 48}, // 50 N + {126, 48}, // 51 M + {140, 48}, // 52 , + {154, 48}, // 53 . + {168, 48}, // 54 / + {182, 48}, // 55 Shift_R + {196, 48}, // 56 Up + {210, 48}, // 57 END + + {14, 64}, // 58 Ctrl_L + {28, 64}, // 59 Win_L + {42, 64}, // 60 Alt_L + {84, 64}, // 61 Space + {126, 64}, // 62 Alt_R + {140, 64}, // 63 FN + {182, 64}, // 64 Left + {196, 64}, // 65 Down + {210, 64}, // 66 Right + + {0, 0}, // 69 LED 1 + {0, 7}, // 70 LED 2 + {0, 14}, // 71 LED 3 + {0, 21}, // 72 LED 4 + {0, 28}, // 73 LED 5 + {0, 35}, // 74 LED 6 + {0, 42}, // 75 LED 7 + {0, 49}, // 76 LED 8 + {0, 56}, // 77 LED 9 + {0, 64}, // 78 LED 10 + {224, 0 }, // 79 LED 11 + {224, 7 }, // 80 LED 12 + {224, 14}, // 81 LED 13 + {224, 21}, // 82 LED 14 + {224, 28}, // 83 LED 15 + {224, 35}, // 84 LED 16 + {224, 42}, // 85 LED 17 + {224, 49}, // 86 LED 18 + {224, 56}, // 87 LED 19 + {224, 64}, // 88 LED 20 +}, { + 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, 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, 4, 4, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.h b/keyboards/gmmk/gmmk2/p65/ansi/ansi.h new file mode 100644 index 0000000000..2c25a72bef --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.h @@ -0,0 +1,47 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +// ESC 1 2 3 4 5 6 7 8 9 0 - = BS Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; ' Enter PgDn +// Sh_L Z X C V B N M , . / Sh_R Up END +// Ct_L Win_L Alt_L SPACE Alt_R FN Left Down Right + +// clang-format off +#define LAYOUT( \ + k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\ + k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k76, k26,\ + k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, k65,\ + k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\ + k06, k15, k23, k31, k36, k33, k03, k73, k05 \ +)\ +{\ + { k00, k01, ___, k03, ___, k05, k06, k07},\ + { k10, k11, k12, k13, k14, k15, ___, k17},\ + { k20, k21, k22, k23, k24, k25, k26, k27},\ + { k30, k31, k32, k33, k34, k35, k36, k37},\ + { k40, k41, k42, k43, k44, k45, k46, k47},\ + { k50, k51, k52, k53, k54, k55, k56, k57},\ + { k60, k61, k62, ___, k64, k65, k66, k67},\ + { k70, k71, k72, k73, k74, ___, k76, k77},\ + { k80, k81, k82, k83, k84, k85, k86, k87} \ +} diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json new file mode 100644 index 0000000000..8aedd894ae --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json @@ -0,0 +1,90 @@ +{ + "keyboard_name": "GMMK V2 65 ANSI", + "manufacturer": "Glorious", + "url": "http://www.pcgamingrace.com", + "maintainer": "GloriousThrall", + "usb": { + "vid": "0x320F", + "pid": "0x5045", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "`", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Backspace", "x": 13, "y": 0, "w": 2.25}, + { "label": "PgUp", "x": 15.25, "y": 0 }, + + + { "label": "Tab", "x": 0, "y": 1, "w": 1.5}, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "[", "x": 11.5, "y": 1 }, + { "label": "]", "x": 12.5, "y": 1 }, + { "label": "\\", "x": 13.5, "y": 1 , "w": 1.75}, + { "label": "PgDn", "x": 15.25, "y": 1 }, + + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75}, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ";", "x": 10.75, "y": 2 }, + { "label": "'", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "HOME", "x": 15.25, "y": 2 }, + + + { "label": "Shift", "x": 0, "y": 3, "w": 2.25}, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": ",", "x": 9.25, "y": 3 }, + { "label": ".", "x": 10.25, "y": 3 }, + { "label": "/", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75}, + { "label": "Up", "x": 14.25, "y": 3 }, + { "label": "END", "x": 15.25, "y": 3 }, + + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25}, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, + { "label": "Space", "x": 3.75, "y": 4, "w": 6.25}, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25}, + { "label": "FN", "x": 11.25, "y": 4, "w": 1.25}, + { "label": "Left", "x": 13.25, "y": 4 }, + { "label": "Down", "x": 14.25, "y": 4 }, + { "label": "Right", "x": 15.25, "y": 4 } + ] + } + } +} diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c new file mode 100644 index 0000000000..e331d60c4e --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +enum custom_layers { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, + _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD) +}; diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md new file mode 100644 index 0000000000..4f80a5b956 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md @@ -0,0 +1 @@ +# ANSI GMMKV2 65% Layout diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c new file mode 100644 index 0000000000..365c7578cc --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[0] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[1] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, + _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD), + +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______), +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gmmk/gmmk2/p65/ansi/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/readme.md new file mode 100644 index 0000000000..b231b48883 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/readme.md @@ -0,0 +1,23 @@ +# GMMK V2 65% (ANSI) + +A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller + +* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall) +* Hardware Supported: GMMK V2 +* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com) + +Make example for this keyboard (after setting up your build environment): + + make gmmk/gmmk2/p65/ansi:default + +Flashing example for this keyboard: + + make gmmk/gmmk2/p65/ansi:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side) +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap + +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). diff --git a/keyboards/gmmk/gmmk2/p65/ansi/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/rules.mk new file mode 100644 index 0000000000..1cf9d7a709 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/ansi/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = WB32F3G71 + +# Bootloader selection +BOOTLOADER = wb32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite. +MOUSEKEY_ENABLE = yes # Mouse keys. +EXTRAKEY_ENABLE = yes # Audio control and System control. +CONSOLE_ENABLE = no # Console for debug. +COMMAND_ENABLE = no # Commands for debug and configuration. +NKRO_ENABLE = yes # Enable NKRO Rollover. +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality. +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow. +AUDIO_ENABLE = no # Audio output. +RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. +RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects. +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = embedded_flash diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h new file mode 100644 index 0000000000..6a6c22c6f0 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/config.h @@ -0,0 +1,117 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 8 + +#define MATRIX_ROW_PINS \ + { B0, B1, B2, B3, B4, B5, B6, B7, B8 } +#define MATRIX_COL_PINS \ + { A0, A1, A2, A3, A4, A8, A9, A10 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Hold ESC on start up to clear EEPROM and boot into bootloader mode */ +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 3 + +#define TAP_CODE_DELAY 10 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* SPI Config for LED Driver */ +#define SPI_DRIVER SPIDM2 +#define SPI_SCK_PIN B13 +#define SPI_MOSI_PIN B15 +#define SPI_MISO_PIN B14 + +#define DRIVER_1_CS A15 +#define DRIVER_2_CS B9 +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 54 +#define DRIVER_2_LED_TOTAL 34 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +/* Set debounce time to 5ms */ +#define DEBOUNCE 5 + +/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */ +// #define FORCE_NKRO diff --git a/keyboards/gmmk/gmmk2/p65/halconf.h b/keyboards/gmmk/gmmk2/p65/halconf.h new file mode 100644 index 0000000000..293d182917 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/halconf.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/wb_support/gmmk2/halconf.h -r platforms/chibios/boards/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next + diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json new file mode 100644 index 0000000000..9f0285abbb --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/info.json @@ -0,0 +1,91 @@ +{ + "keyboard_name": "GMMK V2 65 ISO", + "manufacturer": "Glorious", + "url": "http://www.pcgamingrace.com", + "maintainer": "GloriousThrall", + "usb": { + "vid": "0x320F", + "pid": "0x504A", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "`", "x": 0, "y": 0 }, + { "label": "1", "x": 1, "y": 0 }, + { "label": "2", "x": 2, "y": 0 }, + { "label": "3", "x": 3, "y": 0 }, + { "label": "4", "x": 4, "y": 0 }, + { "label": "5", "x": 5, "y": 0 }, + { "label": "6", "x": 6, "y": 0 }, + { "label": "7", "x": 7, "y": 0 }, + { "label": "8", "x": 8, "y": 0 }, + { "label": "9", "x": 9, "y": 0 }, + { "label": "0", "x": 10, "y": 0 }, + { "label": "-", "x": 11, "y": 0 }, + { "label": "=", "x": 12, "y": 0 }, + { "label": "Backspace", "x": 13, "y": 0, "w": 2.25}, + { "label": "PgUp", "x": 15.25, "y": 0 }, + + + { "label": "Tab", "x": 0, "y": 1, "w": 1.5}, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "[", "x": 11.5, "y": 1 }, + { "label": "]", "x": 12.5, "y": 1 }, + { "label": "Enter", "x": 13.5, "y": 1 ,"h":2, "w": 1.75}, + { "label": "PgDn", "x": 15.25, "y": 1 }, + + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75}, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ";", "x": 10.75, "y": 2 }, + { "label": "'", "x": 11.75, "y": 2 }, + { "label": "#", "x": 12.75, "y": 2 }, + { "label": "HOME", "x": 15.25, "y": 2 }, + + + { "label": "Shift", "x": 0, "y": 3, "w": 1.25}, + { "label": "\\", "x": 1.25, "y": 3 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": ",", "x": 9.25, "y": 3 }, + { "label": ".", "x": 10.25, "y": 3 }, + { "label": "/", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75}, + { "label": "Up", "x": 14.25, "y": 3 }, + { "label": "END", "x": 15.25, "y": 3 }, + + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25}, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, + { "label": "Space", "x": 3.75, "y": 4, "w": 6.25}, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25}, + { "label": "FN", "x": 11.25, "y": 4, "w": 1.25}, + { "label": "Left", "x": 13.25, "y": 4 }, + { "label": "Down", "x": 14.25, "y": 4 }, + { "label": "Right", "x": 15.25, "y": 4 } + ] + } + } +} diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c new file mode 100644 index 0000000000..651a612a58 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c @@ -0,0 +1,238 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "iso.h" + +#ifdef RGB_MATRIX_ENABLE + +const aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc + {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1 + {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2 + {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3 + {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4 + {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5 + {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6 + {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7 + {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8 + {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9 + {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0 + {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 - + {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 = + {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace + {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 HOME + + {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab + {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q + {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W + {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E + {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R + {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T + {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y + {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U + {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I + {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O + {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P + {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [ + {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ] + {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 28 ENTER + {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp + + {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock + {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A + {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S + {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D + {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F + {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G + {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H + {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J + {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ; + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 ' + {1, CS1_SW10, CS2_SW10, CS3_SW10 }, // 42 k42 + {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn + + {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L + {0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 45 k45 + {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 46 Z + {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 47 X + {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 48 C + {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 49 V + {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 50 B + {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 51 N + {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 52 M + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53 , + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54 . + {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 55 / + {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 56 Shift_R + {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 57 Up + {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 58 END + + {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 59 Ctrl_L + {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 60 Win_L + {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 61 Alt_L + {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 62 Space + {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 63 Alt_R + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 64 FN + {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 65 Left + {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 66 Down + {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 67 Right + + {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 68 LED 1 + {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 69 LED 2 + {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 70 LED 3 + {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 71 LED 4 + {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 72 LED 5 + {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 73 LED 6 + {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 74 LED 7 + {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 75 LED 8 + {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 76 LED 9 + {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 77 LED 10 + {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 78 LED 11 + {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 79 LED 12 + {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 80 LED 13 + {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 81 LED 14 + {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 82 LED 15 + {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 83 LED 16 + {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 84 LED 17 + {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 85 LED 18 + {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 86 LED 19 + {1, CS16_SW10, CS17_SW10, CS18_SW10} // 87 LED 20 +}; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 44, 58, 45, 65, __, 67, 59, 56}, + { 16, 15, 31, 0, 46, 60, __, 1}, + { 17, 30, 32, 61, 47, 14, 29, 2}, + { 18, 62, 33, 64, 48, 57, 63, 3}, + { 19, 20, 34, 35, 49, 50, 5, 4}, + { 22, 21, 37, 36, 52, 51, 6, 7}, + { 23, 27, 38, __, 53, 43, 12, 8}, + { 24, 13, 39, 66, 54, 42, __, 9}, + { 25, 26, 40, 41, 28, 55, 11, 10} +}, { + {14, 0 }, // 0 Esc + {28, 0 }, // 1 1 + {42, 0 }, // 2 2 + {56, 0 }, // 3 3 + {70, 0 }, // 4 4 + {84, 0 }, // 5 5 + {98, 0 }, // 6 6 + {112, 0 }, // 7 7 + {126, 0 }, // 8 8 + {140, 0 }, // 9 9 + {154, 0 }, // 10 0 + {168, 0 }, // 11 - + {182, 0 }, // 12 = + {196, 0 }, // 13 Backspace + {210, 0 }, // 14 HOME + + {14, 16}, // 15 Tab + {28, 16}, // 16 Q + {42, 16}, // 17 W + {56, 16}, // 18 E + {70, 16}, // 19 R + {84, 16}, // 20 T + {98, 16}, // 21 Y + {112, 16}, // 22 U + {126, 16}, // 23 I + {140, 16}, // 24 O + {154, 16}, // 25 P + {168, 16}, // 26 [ + {182, 16}, // 27 ] + {196, 16}, // 28 ENTER + {210, 16}, // 29 PgUp + + {14, 32}, // 30 Caps Lock + {28, 32}, // 31 A + {42, 32}, // 32 S + {56, 32}, // 33 D + {70, 32}, // 34 F + {84, 32}, // 35 G + {98, 32}, // 36 H + {112, 32}, // 37 J + {126, 32}, // 38 K + {140, 32}, // 39 L + {154, 32}, // 40 ; + {168, 32}, // 41 ' + {182, 32}, // 42 k42 + {210, 32}, // 43 PgDn + + {14, 48}, // 44 Shift_L + {28, 48}, // 45 k45 + {42, 48}, // 46 Z + {56, 48}, // 47 X + {70, 48}, // 48 C + {84, 48}, // 49 V + {98, 48}, // 50 B + {112, 48}, // 51 N + {126, 48}, // 52 M + {140, 48}, // 53 , + {154, 48}, // 54 . + {168, 48}, // 55 / + {182, 48}, // 56 Shift_R + {196, 48}, // 57 Up + {210, 48}, // 58 END + + {14, 64}, // 59 Ctrl_L + {28, 64}, // 60 Win_L + {42, 64}, // 61 Alt_L + {84, 64}, // 62 Space + {126, 64}, // 63 Alt_R + {140, 64}, // 64 FN + {182, 64}, // 65 Left + {196, 64}, // 66 Down + {210, 64}, // 67 Right + + {0, 0}, // 68 LED 1 + {0, 7}, // 69 LED 2 + {0, 14}, // 70 LED 3 + {0, 21}, // 71 LED 4 + {0, 28}, // 72 LED 5 + {0, 35}, // 73 LED 6 + {0, 42}, // 74 LED 7 + {0, 49}, // 75 LED 8 + {0, 56}, // 76 LED 9 + {0, 64}, // 77 LED 10 + {224, 0 }, // 78 LED 11 + {224, 7 }, // 79 LED 12 + {224, 14}, // 80 LED 13 + {224, 21}, // 81 LED 14 + {224, 28}, // 82 LED 15 + {224, 35}, // 83 LED 16 + {224, 42}, // 84 LED 17 + {224, 49}, // 85 LED 18 + {224, 56}, // 86 LED 19 + {224, 64}, // 87 LED 20 +}, { + 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, 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, 4, 4, 4, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.h b/keyboards/gmmk/gmmk2/p65/iso/iso.h new file mode 100644 index 0000000000..206647cf79 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.h @@ -0,0 +1,47 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +// ESC 1 2 3 4 5 6 7 8 9 0 - = BS PgUp +// Tab Q W E R T Y U I O P [ ] Enter PgUp +// Caps A S D F G H J K L ; ' \ Enter HOME +// Sh_L \ Z X C V B N M , . / Sh_R Up END +// Ct_L Win_L Alt_L SPACE Alt_R FN Left Down Right + +// clang-format off +#define LAYOUT( \ + k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\ + k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k84, k26,\ + k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k75, k65,\ + k00, k02, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\ + k06, k15, k23, k31, k36, k33, k03, k73, k05 \ +)\ +{\ + { k00, k01, k02, k03, ___, k05, k06, k07},\ + { k10, k11, k12, k13, k14, k15, ___, k17},\ + { k20, k21, k22, k23, k24, k25, k26, k27},\ + { k30, k31, k32, k33, k34, k35, k36, k37},\ + { k40, k41, k42, k43, k44, k45, k46, k47},\ + { k50, k51, k52, k53, k54, k55, k56, k57},\ + { k60, k61, k62, ___, k64, k65, k66, k67},\ + { k70, k71, k72, k73, k74, k75, ___, k77},\ + { k80, k81, k82, k83, k84, k85, k86, k87} \ +} diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c new file mode 100644 index 0000000000..61072536d7 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +enum custom_layers { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_PGUP, + 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_NUHS, KC_PGDN, + KC_LSFT, KC_NUBS, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, + _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD) +}; diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md new file mode 100644 index 0000000000..89d52f6afa --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md @@ -0,0 +1 @@ +# ISO GMMKV2 65% Layout diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c new file mode 100644 index 0000000000..53918fc1e1 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[0] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_PGUP, + 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_NUHS, KC_PGDN, + KC_LSFT, KC_NUBS, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, + _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD), + +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______), +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gmmk/gmmk2/p65/iso/readme.md b/keyboards/gmmk/gmmk2/p65/iso/readme.md new file mode 100644 index 0000000000..1775862e0f --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/readme.md @@ -0,0 +1,23 @@ +# GMMK V2 65% (ISO) + +A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller + +* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall) +* Hardware Supported: GMMK V2 +* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com) + +Make example for this keyboard (after setting up your build environment): + + make gmmk/gmmk2/p65/iso:default + +Flashing example for this keyboard: + + make gmmk/gmmk2/p65/iso:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side) +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap + +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). diff --git a/keyboards/gmmk/gmmk2/p65/iso/rules.mk b/keyboards/gmmk/gmmk2/p65/iso/rules.mk new file mode 100644 index 0000000000..1cf9d7a709 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/iso/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = WB32F3G71 + +# Bootloader selection +BOOTLOADER = wb32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite. +MOUSEKEY_ENABLE = yes # Mouse keys. +EXTRAKEY_ENABLE = yes # Audio control and System control. +CONSOLE_ENABLE = no # Console for debug. +COMMAND_ENABLE = no # Commands for debug and configuration. +NKRO_ENABLE = yes # Enable NKRO Rollover. +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality. +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow. +AUDIO_ENABLE = no # Audio output. +RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. +RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects. +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = embedded_flash diff --git a/keyboards/gmmk/gmmk2/p65/mcuconf.h b/keyboards/gmmk/gmmk2/p65/mcuconf.h new file mode 100644 index 0000000000..e5b8188e9e --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/mcuconf.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/wb_support/gmmk2/mcuconf.h -r platforms/chibios/GENERIC_WB32_F3G71XX/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef WB32_SPI_USE_SPIM2 +#define WB32_SPI_USE_SPIM2 TRUE diff --git a/keyboards/gmmk/gmmk2/p65/p65.c b/keyboards/gmmk/gmmk2/p65/p65.c new file mode 100644 index 0000000000..d7e06f6488 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/p65.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "p65.h" diff --git a/keyboards/gmmk/gmmk2/p65/p65.h b/keyboards/gmmk/gmmk2/p65/p65.h new file mode 100644 index 0000000000..7a6339c2e0 --- /dev/null +++ b/keyboards/gmmk/gmmk2/p65/p65.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Glorious, LLC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#if defined(KEYBOARD_gmmk_gmmk2_p65_ansi) +# include "ansi/ansi.h" +#elif defined(KEYBOARD_gmmk_gmmk2_p65_iso) +# include "iso/iso.h" +#endif // GMMK V2 revisions From 16c2b528dfdbcef2ef888e901fa5d51b59a62840 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 10 Sep 2022 13:31:46 +0100 Subject: [PATCH 4/7] GMMK2: Fix 'ISO' within product name (#18322) --- tmk_core/protocol/usb_descriptor.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 52e3276d35..21795cef60 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -45,6 +45,9 @@ # include "joystick.h" #endif +// TODO: wb32 support defines ISO macro which breaks PRODUCT stringification +#undef ISO + // clang-format off /* From f46379f308783994b8178f95adc686f4b4c3ebd8 Mon Sep 17 00:00:00 2001 From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Sun, 11 Sep 2022 22:07:32 +1000 Subject: [PATCH 5/7] fixed missing x coordinate on spacebar (#18330) --- keyboards/idobao/id80/v3/ansi/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/idobao/id80/v3/ansi/info.json b/keyboards/idobao/id80/v3/ansi/info.json index c7768130e1..fccff8efda 100644 --- a/keyboards/idobao/id80/v3/ansi/info.json +++ b/keyboards/idobao/id80/v3/ansi/info.json @@ -108,7 +108,7 @@ { "matrix": [0, 0], "x":0, "y":5.25, "w":1.25}, { "matrix": [1, 0], "x":1.25, "y":5.25, "w":1.25}, { "matrix": [2, 0], "x":2.5, "y":5.25, "w":1.25}, - { "matrix": [6, 0], "y":5.25, "w":6.25}, + { "matrix": [6, 0], "x":3.75, "y":5.25, "w":6.25}, { "matrix": [8, 0], "x":10, "y":5.25, "w":1.5}, { "matrix": [7, 0], "x":11.5, "y":5.25, "w":1.5}, From 110de0b512375d33a0936424e05404e4edbee147 Mon Sep 17 00:00:00 2001 From: ebastler Date: Mon, 12 Sep 2022 18:17:01 +0200 Subject: [PATCH 6/7] Add EM.8 keyboard (#18328) by ebastler --- keyboards/linworks/em8/config.h | 8 + keyboards/linworks/em8/info.json | 190 ++++++++++++++++++ .../linworks/em8/keymaps/default/keymap.c | 52 +++++ keyboards/linworks/em8/keymaps/via/keymap.c | 52 +++++ keyboards/linworks/em8/keymaps/via/rules.mk | 1 + keyboards/linworks/em8/readme.md | 22 ++ keyboards/linworks/em8/rules.mk | 1 + 7 files changed, 326 insertions(+) create mode 100644 keyboards/linworks/em8/config.h create mode 100644 keyboards/linworks/em8/info.json create mode 100644 keyboards/linworks/em8/keymaps/default/keymap.c create mode 100644 keyboards/linworks/em8/keymaps/via/keymap.c create mode 100644 keyboards/linworks/em8/keymaps/via/rules.mk create mode 100644 keyboards/linworks/em8/readme.md create mode 100644 keyboards/linworks/em8/rules.mk diff --git a/keyboards/linworks/em8/config.h b/keyboards/linworks/em8/config.h new file mode 100644 index 0000000000..176c814e35 --- /dev/null +++ b/keyboards/linworks/em8/config.h @@ -0,0 +1,8 @@ +// Copyright 2022 moritz plattner (@moritz plattner) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Move Bootmagic key from ~ to ESC (0,0 to 1,0) +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/linworks/em8/info.json b/keyboards/linworks/em8/info.json new file mode 100644 index 0000000000..e4d58708e5 --- /dev/null +++ b/keyboards/linworks/em8/info.json @@ -0,0 +1,190 @@ +{ + "manufacturer": "Linworks", + "keyboard_name": "EM.8", + "maintainer": "ebastler", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "cols": [ "B5", "B4", "D0", "D1", "D4", "D6", "D7", "F6", "F5", "F4", "F1", "B2", "B6", "C6", "C7" ], + "rows": [ "B7", "B0", "F0", "E6", "F7" ] + }, + "processor": "atmega32u4", + "url": "https://klc-playground.com/", + "usb": { + "device_version": "1.0.0", + "pid": "0x0006", + "vid": "0x4C58" + }, + "indicators": { + "num_lock": "D2", + "caps_lock": "D3", + "scroll_lock": "D5", + "on_state": 0 + }, + "layouts": { + "LAYOUT_em8_2u_backsp": { + "layout": [ + {"x":0, "y":0, "matrix":[1,0] }, + {"x":1.25, "y":0, "matrix":[0,0] }, + {"x":2.25, "y":0, "matrix":[0,1] }, + {"x":3.25, "y":0, "matrix":[0,2] }, + {"x":4.25, "y":0, "matrix":[0,3] }, + {"x":5.25, "y":0, "matrix":[0,4] }, + {"x":6.25, "y":0, "matrix":[0,5] }, + {"x":7.25, "y":0, "matrix":[0,6] }, + {"x":10.25, "y":0, "matrix":[0,7] }, + {"x":11.25, "y":0, "matrix":[0,8] }, + {"x":12.25, "y":0, "matrix":[0,9] }, + {"x":13.25, "y":0, "matrix":[0,10] }, + {"x":14.25, "y":0, "matrix":[0,11] }, + {"x":15.25, "y":0, "matrix":[0,12] }, + {"x":16.25, "y":0, "w": 2, "matrix":[0,13] }, + {"x":18.5, "y":0, "matrix":[0,14] }, + + {"x":0, "y":1, "matrix":[2,0] }, + {"x":1.25, "y":1, "w":1.5, "matrix":[1,1] }, + {"x":2.75, "y":1, "matrix":[1,2] }, + {"x":3.75, "y":1, "matrix":[1,3] }, + {"x":4.75, "y":1, "matrix":[1,4] }, + {"x":5.75, "y":1, "matrix":[1,5] }, + {"x":6.75, "y":1, "matrix":[1,6] }, + {"x":9.75, "y":1, "matrix":[1,7] }, + {"x":10.75, "y":1, "matrix":[1,8] }, + {"x":11.75, "y":1, "matrix":[1,9] }, + {"x":12.75, "y":1, "matrix":[1,10] }, + {"x":13.75, "y":1, "matrix":[1,11] }, + {"x":14.75, "y":1, "matrix":[1,12] }, + {"x":15.75, "y":1, "matrix":[1,13] }, + {"x":16.75, "y":1, "w":1.5, "matrix":[1,14] }, + {"x":18.5, "y":1, "matrix":[2,14] }, + + {"x":0, "y":2, "matrix":[3,0] }, + {"x":1.25, "y":2, "w":1.75, "matrix":[2,1] }, + {"x":3, "y":2, "matrix":[2,2] }, + {"x":4, "y":2, "matrix":[2,3] }, + {"x":5, "y":2, "matrix":[2,4] }, + {"x":6, "y":2, "matrix":[2,5] }, + {"x":7, "y":2, "matrix":[2,6] }, + {"x":10, "y":2, "matrix":[2,7] }, + {"x":11, "y":2, "matrix":[2,8] }, + {"x":12, "y":2, "matrix":[2,9] }, + {"x":13, "y":2, "matrix":[2,10] }, + {"x":14, "y":2, "matrix":[2,11] }, + {"x":15, "y":2, "matrix":[2,12] }, + {"x":16, "y":2, "w":2.25, "matrix":[2,13] }, + + {"x":1.25, "y":3, "w":2.25, "matrix":[3,1] }, + {"x":3.5, "y":3, "matrix":[3,2] }, + {"x":4.5, "y":3, "matrix":[3,3] }, + {"x":5.5, "y":3, "matrix":[3,4] }, + {"x":6.5, "y":3, "matrix":[3,5] }, + {"x":7.5, "y":3, "matrix":[3,6] }, + {"x":9.5, "y":3, "matrix":[3,7] }, + {"x":10.5, "y":3, "matrix":[3,8] }, + {"x":11.5, "y":3, "matrix":[3,9] }, + {"x":12.5, "y":3, "matrix":[3,10] }, + {"x":13.5, "y":3, "matrix":[3,11] }, + {"x":14.5, "y":3, "matrix":[3,12] }, + {"x":15.5, "y":3, "w":1.75, "matrix":[3,13] }, + {"x":17.5, "y":3.25, "matrix":[3,14] }, + + {"x":1.25, "y":4, "w":1.5, "matrix":[4,1] }, + {"x":4.25, "y":4, "w":1.5, "matrix":[4,3] }, + {"x":5.75, "y":4, "w":2.25, "matrix":[4,5] }, + {"x":8, "y":4, "w":1, "matrix":[4,6] }, + {"x":9.5, "y":4, "w":2.75, "matrix":[4,8] }, + {"x":12.25, "y":4, "w":1.5, "matrix":[4,10] }, + {"x":16.5, "y":4.25, "w":1, "matrix":[4,12] }, + {"x":17.5, "y":4.25, "w":1, "matrix":[4,13] }, + {"x":18.5, "y":4.25, "w":1, "matrix":[4,14] } + ] + }, + + "LAYOUT_em8_all": { + "layout": [ + {"x":0, "y":0, "matrix":[1,0] }, + {"x":1.25, "y":0, "matrix":[0,0] }, + {"x":2.25, "y":0, "matrix":[0,1] }, + {"x":3.25, "y":0, "matrix":[0,2] }, + {"x":4.25, "y":0, "matrix":[0,3] }, + {"x":5.25, "y":0, "matrix":[0,4] }, + {"x":6.25, "y":0, "matrix":[0,5] }, + {"x":7.25, "y":0, "matrix":[0,6] }, + {"x":10.25, "y":0, "matrix":[0,7] }, + {"x":11.25, "y":0, "matrix":[0,8] }, + {"x":12.25, "y":0, "matrix":[0,9] }, + {"x":13.25, "y":0, "matrix":[0,10] }, + {"x":14.25, "y":0, "matrix":[0,11] }, + {"x":15.25, "y":0, "matrix":[0,12] }, + {"x":16.25, "y":0, "matrix":[0,13] }, + {"x":17.25, "y":0, "matrix":[4,11] }, + {"x":18.5, "y":0, "matrix":[0,14] }, + + {"x":0, "y":1, "matrix":[2,0] }, + {"x":1.25, "y":1, "w":1.5, "matrix":[1,1] }, + {"x":2.75, "y":1, "matrix":[1,2] }, + {"x":3.75, "y":1, "matrix":[1,3] }, + {"x":4.75, "y":1, "matrix":[1,4] }, + {"x":5.75, "y":1, "matrix":[1,5] }, + {"x":6.75, "y":1, "matrix":[1,6] }, + {"x":9.75, "y":1, "matrix":[1,7] }, + {"x":10.75, "y":1, "matrix":[1,8] }, + {"x":11.75, "y":1, "matrix":[1,9] }, + {"x":12.75, "y":1, "matrix":[1,10] }, + {"x":13.75, "y":1, "matrix":[1,11] }, + {"x":14.75, "y":1, "matrix":[1,12] }, + {"x":15.75, "y":1, "matrix":[1,13] }, + {"x":16.75, "y":1, "w":1.5, "matrix":[1,14] }, + {"x":18.5, "y":1, "matrix":[2,14] }, + + {"x":0, "y":2, "matrix":[3,0] }, + {"x":1.25, "y":2, "w":1.75, "matrix":[2,1] }, + {"x":3, "y":2, "matrix":[2,2] }, + {"x":4, "y":2, "matrix":[2,3] }, + {"x":5, "y":2, "matrix":[2,4] }, + {"x":6, "y":2, "matrix":[2,5] }, + {"x":7, "y":2, "matrix":[2,6] }, + {"x":10, "y":2, "matrix":[2,7] }, + {"x":11, "y":2, "matrix":[2,8] }, + {"x":12, "y":2, "matrix":[2,9] }, + {"x":13, "y":2, "matrix":[2,10] }, + {"x":14, "y":2, "matrix":[2,11] }, + {"x":15, "y":2, "matrix":[2,12] }, + {"x":16, "y":2, "w":2.25, "matrix":[2,13] }, + + {"x":1.25, "y":3, "w":2.25, "matrix":[3,1] }, + {"x":3.5, "y":3, "matrix":[3,2] }, + {"x":4.5, "y":3, "matrix":[3,3] }, + {"x":5.5, "y":3, "matrix":[3,4] }, + {"x":6.5, "y":3, "matrix":[3,5] }, + {"x":7.5, "y":3, "matrix":[3,6] }, + {"x":9.5, "y":3, "matrix":[3,7] }, + {"x":10.5, "y":3, "matrix":[3,8] }, + {"x":11.5, "y":3, "matrix":[3,9] }, + {"x":12.5, "y":3, "matrix":[3,10] }, + {"x":13.5, "y":3, "matrix":[3,11] }, + {"x":14.5, "y":3, "matrix":[3,12] }, + {"x":15.5, "y":3, "w":1.75, "matrix":[3,13] }, + {"x":17.5, "y":3.25, "matrix":[3,14] }, + + {"x":1.25, "y":4, "w":1.5, "matrix":[4,1] }, + {"x":4.25, "y":4, "w":1.5, "matrix":[4,3] }, + {"x":5.75, "y":4, "w":2.25, "matrix":[4,5] }, + {"x":8, "y":4, "w":1, "matrix":[4,6] }, + {"x":9.5, "y":4, "w":2.75, "matrix":[4,8] }, + {"x":12.25, "y":4, "w":1.5, "matrix":[4,10] }, + {"x":16.5, "y":4.25, "w":1, "matrix":[4,12] }, + {"x":17.5, "y":4.25, "w":1, "matrix":[4,13] }, + {"x":18.5, "y":4.25, "w":1, "matrix":[4,14] } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/linworks/em8/keymaps/default/keymap.c b/keyboards/linworks/em8/keymaps/default/keymap.c new file mode 100644 index 0000000000..f195907db9 --- /dev/null +++ b/keyboards/linworks/em8/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_em8_all( + KC_ESC, 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_BSPC, KC_INS, + 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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + + [2] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/linworks/em8/keymaps/via/keymap.c b/keyboards/linworks/em8/keymaps/via/keymap.c new file mode 100644 index 0000000000..f195907db9 --- /dev/null +++ b/keyboards/linworks/em8/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2022 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_em8_all( + KC_ESC, 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_BSPC, KC_INS, + 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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + + [2] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_em8_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/linworks/em8/keymaps/via/rules.mk b/keyboards/linworks/em8/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/linworks/em8/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/linworks/em8/readme.md b/keyboards/linworks/em8/readme.md new file mode 100644 index 0000000000..cd8f6a5ba3 --- /dev/null +++ b/keyboards/linworks/em8/readme.md @@ -0,0 +1,22 @@ +# EM.8 + +The Ergonomic Modified 8 is a tented ergonomic keyboard and the successor to the EM.7, designed by Syryan and Lx3.The default PCB supports hotswap and the layout options are limited to split or regular backpsace, as well as regular or stepped caps lock. + +* Keyboard maintainer: [ebastler](https://github.com/ebastler) +* Hardware supported: Lin EM.8 +* Hardware availability: Groupbuy. More infos on [the Linworks Discord](https://discord.gg/UC8gTdVnsj) + +Make example for this keyboard (after setting up your build environment): + + make linworks/em8:default + +Flash example for this keyboard: + + make linworks/em8: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). + + +## How to enter the bootloader +* **Bootmagic reset**: Hold down the key `ESC` key and plug in the keyboard (Top left most switch). On older firmware revisions, `~` (top left most switch of the alpha cluster) may be needed instead. +* **Physical reset button**: Briefly press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/linworks/em8/rules.mk b/keyboards/linworks/em8/rules.mk new file mode 100644 index 0000000000..7ff128fa69 --- /dev/null +++ b/keyboards/linworks/em8/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From b2ad047d7f09be14667927d058b36737d8248994 Mon Sep 17 00:00:00 2001 From: Purdea Andrei Date: Tue, 13 Sep 2022 01:10:17 +0300 Subject: [PATCH 7/7] Fix keyboard_name for Unicomp Classic/Ultra Classic keyboards (#18327) --- keyboards/unicomp/classic_ultracl_post_2013/info.json | 2 +- keyboards/unicomp/classic_ultracl_pre_2013/info.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/unicomp/classic_ultracl_post_2013/info.json b/keyboards/unicomp/classic_ultracl_post_2013/info.json index fa1a563970..bfb70eb880 100644 --- a/keyboards/unicomp/classic_ultracl_post_2013/info.json +++ b/keyboards/unicomp/classic_ultracl_post_2013/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Unicomp Spacesaver M", + "keyboard_name": "Unicomp Classic / Ultra Classic (post-2013)", "manufacturer": "Unicomp/Purdea Andrei", "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", "maintainer": "purdeaandrei", diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/info.json index d7f8e9dcbf..618a7c1c46 100644 --- a/keyboards/unicomp/classic_ultracl_pre_2013/info.json +++ b/keyboards/unicomp/classic_ultracl_pre_2013/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Unicomp Spacesaver M", + "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)", "manufacturer": "Unicomp/Purdea Andrei", "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", "maintainer": "purdeaandrei",