From fb6557acf1c5b3753034f8d25e738ae964ea0215 Mon Sep 17 00:00:00 2001
From: 3araht <69518343+3araht@users.noreply.github.com>
Date: Mon, 3 Apr 2023 14:12:11 +0900
Subject: [PATCH 1/7] New layer added to giabalanai keyboard (#20118)
---
keyboards/giabalanai/config.h | 18 ++---
keyboards/giabalanai/info.json | 12 +++
.../giabalanai/keymaps/2firmware/config.h | 16 ++++
keyboards/giabalanai/keymaps/3araht/keymap.c | 74 ++++++++++++------
.../keymaps/default_giabarinaix2/config.h | 16 ++++
.../keymaps/giabarinaix2led/config.h | 16 ++++
keyboards/giabalanai/keymaps/party/keymap.c | 75 ++++++++++++-------
keyboards/giabalanai/keymaps/via/config.h | 16 ++++
keyboards/giabalanai/rules.mk | 10 ---
9 files changed, 183 insertions(+), 70 deletions(-)
diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h
index 01e84b4cdd82..2a977decedd8 100644
--- a/keyboards/giabalanai/config.h
+++ b/keyboards/giabalanai/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 3araht
+Copyright 2023 3araht
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
@@ -36,16 +36,6 @@ along with this program. If not, see .
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
-#define SELECT_SOFT_SERIAL_SPEED 1
-/*Sets the protocol speed when using serial communication*/
-//Speeds:
-//0: about 189kbps (Experimental only)
-//1: about 137kbps (default)
-//2: about 75kbps
-//3: about 39kbps
-//4: about 26kbps
-//5: about 20kbps
-
// Right side has to be the master since 1, LED data is output from right side, and 2, Audio pin is prepared on right side as a reserve.
#define MASTER_RIGHT
@@ -227,3 +217,9 @@ along with this program. If not, see .
// #define NO_ACTION_TAPPING
// NO_ACTION_ONESHOT -388 bytes
#define NO_ACTION_ONESHOT
+/*
+ * Encoder options
+ */
+#ifdef ENCODER_ENABLE
+# define ENCODER_RESOLUTIONS_RIGHT { 4 }
+#endif // ENCODER_ENABLE
diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json
index 30bd26159f96..6b474f7398d9 100644
--- a/keyboards/giabalanai/info.json
+++ b/keyboards/giabalanai/info.json
@@ -8,10 +8,22 @@
"pid": "0xF4B0",
"device_version": "0.0.1"
},
+ "features": {
+ "midi": true,
+ "extrakey": true,
+ "encoder": true,
+ "bootmagic": false,
+ "console": false,
+ "mousekey": false,
+ "nkro": false,
+ "rgblight": false,
+ "audio": false
+ },
"encoder": {
"rotary": []
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D2",
"encoder": {
"right": {
diff --git a/keyboards/giabalanai/keymaps/2firmware/config.h b/keyboards/giabalanai/keymaps/2firmware/config.h
index a9c772adefe8..e5ec1d73e28a 100644
--- a/keyboards/giabalanai/keymaps/2firmware/config.h
+++ b/keyboards/giabalanai/keymaps/2firmware/config.h
@@ -1,3 +1,19 @@
+/*
+Copyright 2023 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
#pragma once
//#define USE_MATRIX_I2C
diff --git a/keyboards/giabalanai/keymaps/3araht/keymap.c b/keyboards/giabalanai/keymaps/3araht/keymap.c
index b766d370589e..ca7be05088b5 100644
--- a/keyboards/giabalanai/keymaps/3araht/keymap.c
+++ b/keyboards/giabalanai/keymaps/3araht/keymap.c
@@ -58,17 +58,18 @@ user_config_t user_config;
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _C_SYSTEM_BASE, // MIDI C-system
- _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
- _C_SYSTEM_BASS2ROW, // counter bass system
- _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
- _C_SYSTEM_FREEBASS, // C-system Free Bass
+ _C_SYSTEM_BASE, // MIDI C-system
+ _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _C_SYSTEM_FREEBASS, // C-system Free Bass
_CHROMATONE,
- _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
+ _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
_QWERTY,
_COLEMAK,
- _ADJUST, // for Fn keys, etc.
- _FN // for changing layers, octaves, etc.
+ _ADJUST, // for Fn keys, etc.
+ _FN // for changing layers, octaves, etc.
};
// Defines the keycodes used by our macros in process_record_user
@@ -181,6 +182,7 @@ enum custom_keycodes {
CSYSTEM, // C-SYSTEM layout
BSYSTEM, // B-SYSTEM layout
CNTBASC, // CouNTer BASs C-system layout
+ CNTBASB, // CouNTer BASs B-system layout
CSYSALL, // C-SYStem ALL layout
CSYSFBS, // C-SYStem Free BaSs
CHRTONE, // CHRomaTONE layout
@@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
+ /* fake B-system */
+ [_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_Ab2,
+ MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
+ MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
+ MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
+ ),
+
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
@@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Fn */
[_FN] = LAYOUT(
- CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
@@ -348,24 +364,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX,
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
- CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
- [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
- [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
- [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
- [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
- [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
- [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
- [_FN] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
};
#endif
@@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
// Light up fn layer keys
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
- {0, 7, HSV_ORANGE}, // MIDI layouts
+ {0, 8, HSV_ORANGE}, // MIDI layouts
{11, 1, HSV_RED}, // RGB_TOG
{12, 1, HSV_WHITE}, // DF_QWER
{13, 1, HSV_CORAL}, // TGLBASS
@@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{53, 1, HSV_PINK},
#endif
// right keyboard
- {60, 7, HSV_ORANGE}, // MIDI layouts
+ {60, 8, HSV_ORANGE}, // MIDI layouts
{74, 1, HSV_CORAL}, // TGLBASS
{85, 1, HSV_BLUE}, // MIDI Oct
{86, 1, HSV_CYAN}, // MIDI Oct
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
{88, 1, HSV_GREEN}, // MIDI Oct
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
+ {95, 1, HSV_GOLD}, // VERSION
{96, 1, HSV_PINK}, // EE_CLR
- {98, 7, HSV_ORANGE}, // MIDI layouts
+ {98, 8, HSV_ORANGE}, // MIDI layouts
{107, 1, HSV_YELLOW}, // MI_VELD
{108, 1, HSV_GREEN}, // MI_VELU
{110, 1, HSV_RED}, // RGB_TOG
@@ -530,6 +548,7 @@ void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
keylight_manager(record, HSV_ORANGE, keylocation);
break;
case _C_SYSTEM_BASS2ROW:
+ case _FAKE_B_SYSTEM_BASS2ROW:
keylight_manager(record, HSV_YELLOW, keylocation);
break;
case _CFLIP_BASS2ROW:
@@ -546,6 +565,7 @@ void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
keylight_manager(record, HSV_YELLOW, keylocation);
break;
case _C_SYSTEM_BASS2ROW:
+ case _FAKE_B_SYSTEM_BASS2ROW:
keylight_manager(record, HSV_GOLDENROD, keylocation);
break;
case _CFLIP_BASS2ROW:
@@ -596,6 +616,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
break;
+ case CNTBASB:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
+ }
+ break;
+
case CSYSALL:
if (record->event.pressed) {
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
index 684287ba98bf..dd10d213a0b6 100644
--- a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
@@ -1,3 +1,19 @@
+/*
+Copyright 2023 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
#pragma once
#define GIABARINAIX2
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/config.h b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
index 684287ba98bf..dd10d213a0b6 100644
--- a/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
@@ -1,3 +1,19 @@
+/*
+Copyright 2023 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
#pragma once
#define GIABARINAIX2
diff --git a/keyboards/giabalanai/keymaps/party/keymap.c b/keyboards/giabalanai/keymaps/party/keymap.c
index 913bf056d28d..fdd9c2d52723 100644
--- a/keyboards/giabalanai/keymaps/party/keymap.c
+++ b/keyboards/giabalanai/keymaps/party/keymap.c
@@ -58,17 +58,18 @@ user_config_t user_config;
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _C_SYSTEM_BASE, // MIDI C-system
- _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
- _C_SYSTEM_BASS2ROW, // counter bass system
- _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
- _C_SYSTEM_FREEBASS, // C-system Free Bass
+ _C_SYSTEM_BASE, // MIDI C-system
+ _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _C_SYSTEM_FREEBASS, // C-system Free Bass
_CHROMATONE,
- _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
+ _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
_QWERTY,
_COLEMAK,
- _ADJUST, // for Fn keys, etc.
- _FN // for changing layers, octaves, etc.
+ _ADJUST, // for Fn keys, etc.
+ _FN // for changing layers, octaves, etc.
};
// Defines the keycodes used by our macros in process_record_user
@@ -181,6 +182,7 @@ enum custom_keycodes {
CSYSTEM, // C-SYSTEM layout
BSYSTEM, // B-SYSTEM layout
CNTBASC, // CouNTer BASs C-system layout
+ CNTBASB, // CouNTer BASs B-system layout
CSYSALL, // C-SYStem ALL layout
CSYSFBS, // C-SYStem Free BaSs
CHRTONE, // CHRomaTONE layout
@@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
+ /* fake B-system */
+ [_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_Ab2,
+ MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
+ MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
+ MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
+ ),
+
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
@@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Fn */
[_FN] = LAYOUT(
- CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
@@ -348,24 +364,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX,
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
- CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
- [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
- [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
- [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
- [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
- [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
- [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
- [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
- [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
};
#endif
@@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
// Light up fn layer keys
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
- {0, 7, HSV_ORANGE}, // MIDI layouts
+ {0, 8, HSV_ORANGE}, // MIDI layouts
{11, 1, HSV_RED}, // RGB_TOG
{12, 1, HSV_WHITE}, // DF_QWER
{13, 1, HSV_CORAL}, // TGLBASS
@@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{53, 1, HSV_PINK},
#endif
// right keyboard
- {60, 7, HSV_ORANGE}, // MIDI layouts
+ {60, 8, HSV_ORANGE}, // MIDI layouts
{74, 1, HSV_CORAL}, // TGLBASS
{85, 1, HSV_BLUE}, // MIDI Oct
{86, 1, HSV_CYAN}, // MIDI Oct
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
{88, 1, HSV_GREEN}, // MIDI Oct
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
+ {95, 1, HSV_GOLD}, // VERSION
{96, 1, HSV_PINK}, // EE_CLR
- {98, 7, HSV_ORANGE}, // MIDI layouts
+ {98, 8, HSV_ORANGE}, // MIDI layouts
{107, 1, HSV_YELLOW}, // MI_VELD
{108, 1, HSV_GREEN}, // MI_VELU
{110, 1, HSV_RED}, // RGB_TOG
@@ -490,7 +508,7 @@ bool rgb_matrix_indicators_user(void) {
// rgb_matrix_set_color(72, RGB_DARKORANGE);
break;
case _FN:
- for (i = 0;i < 7;i++) {
+ for (i = 0;i < 8;i++) {
rgb_matrix_set_color(74 - i, RGB_DARKORANGE); // MIDI layouts
// right keyboard
rgb_matrix_set_color(i, RGB_DARKORANGE); // MIDI layouts
@@ -512,6 +530,7 @@ bool rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(28, RGB_DARKSPRINGGREEN); // MIDI Oct
rgb_matrix_set_color(29, RGB_DARKGREEN); // MIDI Oct
rgb_matrix_set_color(30, RGB_DARKCHARTREUSE); // MIDI Oct
+ rgb_matrix_set_color(36, RGB_DARKGOLD); // VERSION
rgb_matrix_set_color(37, RGB_DARKPINK); // EE_CLR
rgb_matrix_set_color(41, RGB_DARKYELLOW); // MI_VELD
rgb_matrix_set_color(40, RGB_DARKGREEN); // MI_VELU
@@ -645,6 +664,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
break;
+ case CNTBASB:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
+ }
+ break;
+
case CSYSALL:
if (record->event.pressed) {
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
diff --git a/keyboards/giabalanai/keymaps/via/config.h b/keyboards/giabalanai/keymaps/via/config.h
index a3b77a5b4d0b..f225b6534047 100644
--- a/keyboards/giabalanai/keymaps/via/config.h
+++ b/keyboards/giabalanai/keymaps/via/config.h
@@ -1,3 +1,19 @@
+/*
+Copyright 2023 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
#pragma once
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/giabalanai/rules.mk b/keyboards/giabalanai/rules.mk
index b676b1da4624..d0e8dc4f2429 100644
--- a/keyboards/giabalanai/rules.mk
+++ b/keyboards/giabalanai/rules.mk
@@ -1,18 +1,8 @@
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-MIDI_ENABLE = yes # MIDI support
-ENCODER_ENABLE = yes # encoder on mute button
-SPLIT_KEYBOARD = yes # Enables split keyboard support
# RGB_MATRIX_ENABLE is not suitable for giabalanai keyboard on the right side (there are dulpicate keys).
RGB_MATRIX_ENABLE = no # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
RGB_MATRIX_DRIVER = WS2812 # 2021/01/23 added.
From 8a5e8ed88e818e2a4ccd1349ea63cb35042e674f Mon Sep 17 00:00:00 2001
From: 4pplet
Date: Mon, 3 Apr 2023 07:24:49 +0200
Subject: [PATCH 2/7] Adding Unextended Standard PCB (#20190)
Co-authored-by: Drashna Jaelre
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet
---
.../unextended_std/keymaps/default/keymap.c | 34 +++
.../unextended_std/keymaps/m0116/keymap.c | 40 +++
.../unextended_std/keymaps/m0118/keymap.c | 39 +++
.../unextended_std/keymaps/via/keymap.c | 48 ++++
.../unextended_std/keymaps/via/rules.mk | 1 +
keyboards/4pplet/unextended_std/readme.md | 23 ++
.../4pplet/unextended_std/rev_a/config.h | 19 ++
.../4pplet/unextended_std/rev_a/info.json | 262 ++++++++++++++++++
.../4pplet/unextended_std/rev_a/rules.mk | 10 +
9 files changed, 476 insertions(+)
create mode 100644 keyboards/4pplet/unextended_std/keymaps/default/keymap.c
create mode 100644 keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c
create mode 100644 keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c
create mode 100644 keyboards/4pplet/unextended_std/keymaps/via/keymap.c
create mode 100644 keyboards/4pplet/unextended_std/keymaps/via/rules.mk
create mode 100644 keyboards/4pplet/unextended_std/readme.md
create mode 100644 keyboards/4pplet/unextended_std/rev_a/config.h
create mode 100644 keyboards/4pplet/unextended_std/rev_a/info.json
create mode 100644 keyboards/4pplet/unextended_std/rev_a/rules.mk
diff --git a/keyboards/4pplet/unextended_std/keymaps/default/keymap.c b/keyboards/4pplet/unextended_std/keymaps/default/keymap.c
new file mode 100644
index 000000000000..bac0f0ef58ff
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/*
+Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+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] = {
+// main layer
+[0] = LAYOUT_all(
+ KC_ESC, 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_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_LCTL, 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_ENT,
+ 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,
+ MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
+// basic function layer
+[1] = LAYOUT_all(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/4pplet/unextended_std/keymaps/m0116/keymap.c b/keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c
new file mode 100644
index 000000000000..593e0de2b200
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c
@@ -0,0 +1,40 @@
+/*
+Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+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] = {
+// main layer
+/*
+* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
+* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Delete│
+* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
+* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
+* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴ │
+* │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
+* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
+* ├────┬───│───┴┬──┴┬──┴───┴───┴───┴─┬─┴─┬─┴──┬┴───┴┬────┬───┤
+* │Caps│Alt│Gui │ ` │ Space │ \ │Left│Right│Down│ Up│
+* └────┴───┴────┴───┴────────────────┴───┴────┴─────┴────┴───┘
+*/
+[0] = LAYOUT_m0116(
+ KC_ESC, 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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_CAPS, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP)
+};
diff --git a/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c b/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c
new file mode 100644
index 000000000000..1343ca2dc294
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+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] = {
+/*
+* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
+* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backsp│
+* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
+* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
+* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent│
+* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
+* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───│───┤
+* │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ Up│
+* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴┬──┴─┬─┴──┬┴────┬────┤
+* │Ctrl│Alt │GUI │ Space │GUI │Left│Right│Down│
+* └────┴────┴────┴──────────────────────┴────┴────┴─────┴────┘
+*/
+[0] = LAYOUT_m0118(
+ KC_ESC, 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_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_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_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_RIGHT,KC_DOWN)
+};
diff --git a/keyboards/4pplet/unextended_std/keymaps/via/keymap.c b/keyboards/4pplet/unextended_std/keymaps/via/keymap.c
new file mode 100644
index 000000000000..a99489b426e1
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+/*
+Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+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] = {
+// main layer
+[0] = LAYOUT_all(
+ KC_ESC, 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_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_LCTL, 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_ENT,
+ 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,
+ MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
+// basic function layer
+[1] = LAYOUT_all(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+// extra layer for VIA
+[2] = LAYOUT_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),
+// extra layer for VIA
+[3] = LAYOUT_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)
+};
diff --git a/keyboards/4pplet/unextended_std/keymaps/via/rules.mk b/keyboards/4pplet/unextended_std/keymaps/via/rules.mk
new file mode 100644
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/4pplet/unextended_std/readme.md b/keyboards/4pplet/unextended_std/readme.md
new file mode 100644
index 000000000000..2d276511edea
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/readme.md
@@ -0,0 +1,23 @@
+# Unextended Standard PCB
+
+PCB for the Unextended Standard Project. The PCB enables use of M0116, M0118, IIc and NeXT keycaps and is designed to fit in the open sourced Unextended case.
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: [Unextended Standard PCB](https://github.com/4pplet/Unextended-Standard-PCB)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 4pplet/unextended_std/rev_a:default
+
+Flashing example for this keyboard:
+
+ make 4pplet/unextended_std/rev_a:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the Escape-key and plug in the keyboard
+* **Physical reset header**: Briefly short the header labled "BL/reset" on the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/4pplet/unextended_std/rev_a/config.h b/keyboards/4pplet/unextended_std/rev_a/config.h
new file mode 100644
index 000000000000..eb7d87e083a0
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/rev_a/config.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2023 Stefan Sundin "4pplet"
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+#define WS2812_EXTERNAL_PULLUP
diff --git a/keyboards/4pplet/unextended_std/rev_a/info.json b/keyboards/4pplet/unextended_std/rev_a/info.json
new file mode 100644
index 000000000000..458439e7b74f
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/rev_a/info.json
@@ -0,0 +1,262 @@
+{
+ "keyboard_name": "Unextended Standard Rev A",
+ "manufacturer": "4pplet",
+ "url": "https://github.com/4pplet/Unextended",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
+ "processor": "STM32F072",
+ "bootloader": "stm32-dfu",
+
+ "matrix_pins": {
+ "rows":
+ ["B14","B15","B6","B5","B4"],
+ "cols":
+ ["B2","A4","A1","A2","F1","F0","C15","C14","C13","B9","B8","B7","B12","B3"]
+ },
+
+ "diode_direction": "COL2ROW",
+
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": true,
+ "audio": false
+ },
+
+ "rgblight": {
+ "pin": "A8",
+ "led_count": 16,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+
+ "indicators": {
+ "caps_lock": "A10",
+ "on_state": 0
+ },
+
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
+ {"label":"!", "matrix": [0, 1], "x":1, "y":0},
+ {"label":"@", "matrix": [0, 2], "x":2, "y":0},
+ {"label":"#", "matrix": [0, 3], "x":3, "y":0},
+ {"label":"$", "matrix": [0, 4], "x":4, "y":0},
+ {"label":"%", "matrix": [0, 5], "x":5, "y":0},
+ {"label":"^", "matrix": [0, 6], "x":6, "y":0},
+ {"label":"&", "matrix": [0, 7], "x":7, "y":0},
+ {"label":"*", "matrix": [0, 8], "x":8, "y":0},
+ {"label":"(", "matrix": [0, 9], "x":9, "y":0},
+ {"label":")", "matrix": [0, 10], "x":10, "y":0},
+ {"label":"_", "matrix": [0, 11], "x":11, "y":0},
+ {"label":"+", "matrix": [0, 12], "x":12, "y":0},
+ {"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
+ {"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
+ {"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
+ {"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
+ {"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
+ {"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
+ {"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
+ {"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
+ {"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
+ {"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
+ {"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
+ {"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
+ {"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
+ {"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
+ {"label":"|", "matrix": [1, 13], "x":13.5, "y":1},
+ {"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
+ {"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
+ {"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
+ {"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
+ {"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
+ {"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
+ {"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
+ {"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
+ {"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
+ {"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
+ {"label":":", "matrix": [2, 10], "x":10.75, "y":2},
+ {"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
+ {"label":"nubs", "matrix": [3, 13], "x":12.75, "y":2},
+ {"label":"Enter", "matrix": [2, 13], "x":13.75, "y":2, "w":0.75},
+ {"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
+ {"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
+ {"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
+ {"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
+ {"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
+ {"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
+ {"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
+ {"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
+ {"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
+ {"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
+ {"label":">", "matrix": [3, 10], "x":10.25, "y":3},
+ {"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
+ {"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
+ {"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
+ {"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
+ {"label":"opt", "matrix": [4, 1], "x":1, "y":4},
+ {"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
+ {"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
+ {"label":"Space", "matrix": [4, 6], "x":4.75, "y":4, "w":4.75},
+ {"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
+ {"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
+ {"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
+ {"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
+ {"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
+ ]
+ },
+ "LAYOUT_m0116": {
+ "layout": [
+ {"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
+ {"label":"!", "matrix": [0, 1], "x":1, "y":0},
+ {"label":"@", "matrix": [0, 2], "x":2, "y":0},
+ {"label":"#", "matrix": [0, 3], "x":3, "y":0},
+ {"label":"$", "matrix": [0, 4], "x":4, "y":0},
+ {"label":"%", "matrix": [0, 5], "x":5, "y":0},
+ {"label":"^", "matrix": [0, 6], "x":6, "y":0},
+ {"label":"&", "matrix": [0, 7], "x":7, "y":0},
+ {"label":"*", "matrix": [0, 8], "x":8, "y":0},
+ {"label":"(", "matrix": [0, 9], "x":9, "y":0},
+ {"label":")", "matrix": [0, 10], "x":10, "y":0},
+ {"label":"_", "matrix": [0, 11], "x":11, "y":0},
+ {"label":"+", "matrix": [0, 12], "x":12, "y":0},
+ {"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
+ {"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
+ {"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
+ {"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
+ {"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
+ {"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
+ {"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
+ {"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
+ {"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
+ {"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
+ {"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
+ {"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
+ {"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
+ {"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
+ {"label":"Enter", "matrix": [2, 13], "x":13.5, "y":1, "h":2},
+ {"label":"Control", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
+ {"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
+ {"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
+ {"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
+ {"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
+ {"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
+ {"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
+ {"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
+ {"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
+ {"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
+ {"label":":", "matrix": [2, 10], "x":10.75, "y":2},
+ {"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
+ {"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":2.25},
+ {"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
+ {"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
+ {"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
+ {"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
+ {"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
+ {"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
+ {"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
+ {"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
+ {"label":">", "matrix": [3, 10], "x":10.25, "y":3},
+ {"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
+ {"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":2.25},
+ {"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
+ {"label":"opt", "matrix": [4, 1], "x":1, "y":4},
+ {"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
+ {"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
+ {"label":"Space", "matrix": [4, 6],"x":4.75, "y":4, "w":4.75},
+ {"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
+ {"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
+ {"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
+ {"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
+ {"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
+ ]
+ },
+ "LAYOUT_m0118": {
+ "layout": [
+ {"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
+ {"label":"!", "matrix": [0, 1], "x":1, "y":0},
+ {"label":"@", "matrix": [0, 2], "x":2, "y":0},
+ {"label":"#", "matrix": [0, 3], "x":3, "y":0},
+ {"label":"$", "matrix": [0, 4], "x":4, "y":0},
+ {"label":"%", "matrix": [0, 5], "x":5, "y":0},
+ {"label":"^", "matrix": [0, 6], "x":6, "y":0},
+ {"label":"&", "matrix": [0, 7], "x":7, "y":0},
+ {"label":"*", "matrix": [0, 8], "x":8, "y":0},
+ {"label":"(", "matrix": [0, 9], "x":9, "y":0},
+ {"label":")", "matrix": [0, 10], "x":10, "y":0},
+ {"label":"_", "matrix": [0, 11], "x":11, "y":0},
+ {"label":"+", "matrix": [0, 12], "x":12, "y":0},
+ {"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
+ {"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
+ {"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
+ {"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
+ {"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
+ {"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
+ {"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
+ {"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
+ {"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
+ {"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
+ {"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
+ {"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
+ {"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
+ {"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
+ {"label":"Enter", "matrix": [2, 13], "x":13.75, "y":1, "w":0.75, "h":2},
+ {"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
+ {"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
+ {"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
+ {"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
+ {"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
+ {"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
+ {"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
+ {"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
+ {"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
+ {"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
+ {"label":":", "matrix": [2, 10], "x":10.75, "y":2},
+ {"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
+ {"label":"nuhs", "matrix": [3, 13], "x":12.75, "y":2},
+ {"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
+ {"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
+ {"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
+ {"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
+ {"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
+ {"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
+ {"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
+ {"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
+ {"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
+ {"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
+ {"label":">", "matrix": [3, 10], "x":10.25, "y":3},
+ {"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
+ {"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
+ {"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
+ {"label":"Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.25},
+ {"label":"Opt", "matrix": [4, 2], "x":1.25, "y":4, "w":1.5},
+ {"label":"Cmd", "matrix": [4, 3], "x":2.75, "y":4, "w":1.75},
+ {"label":"Space", "matrix": [4, 6], "x":4.5, "y":4, "w":5.25},
+ {"label":"Cmd", "matrix": [4, 9], "x":9.75, "y":4, "w":1.75},
+ {"label":"\u2190", "matrix": [4, 10], "x":11.5, "y":4},
+ {"label":"\u2192", "matrix": [4, 11], "x":12.5, "y":4},
+ {"label":"\u2193", "matrix": [4, 12], "x":13.5, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/4pplet/unextended_std/rev_a/rules.mk b/keyboards/4pplet/unextended_std/rev_a/rules.mk
new file mode 100644
index 000000000000..68bddfc74854
--- /dev/null
+++ b/keyboards/4pplet/unextended_std/rev_a/rules.mk
@@ -0,0 +1,10 @@
+# Build Options
+# change yes to no to disable
+#
+KEY_LOCK_ENABLE = yes
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -p FFFF -v FFFF
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
From f3f0bf6dbedef705b078a6ee7016b0d2b11c4bc7 Mon Sep 17 00:00:00 2001
From: studiokestra <74369928+studiokestra@users.noreply.github.com>
Date: Sun, 2 Apr 2023 23:37:43 -0600
Subject: [PATCH 3/7] Refactor Galatea (#20011)
---
keyboards/studiokestra/galatea/config.h | 44 +-
keyboards/studiokestra/galatea/galatea.c | 17 -
keyboards/studiokestra/galatea/galatea.h | 25 --
.../galatea/keymaps/default/keymap.c | 42 --
.../galatea/keymaps/default/readme.md | 1 -
.../studiokestra/galatea/keymaps/via/keymap.c | 51 ---
.../galatea/keymaps/via/readme.md | 1 -
keyboards/studiokestra/galatea/readme.md | 30 +-
keyboards/studiokestra/galatea/rev1/info.json | 418 +++++------------
.../galatea/rev1/keymaps/default/keymap.c | 38 ++
.../galatea/rev1/keymaps/via/keymap.c | 40 ++
.../galatea/{ => rev1}/keymaps/via/rules.mk | 0
keyboards/studiokestra/galatea/rev1/rev1.c | 17 -
keyboards/studiokestra/galatea/rev1/rev1.h | 116 -----
keyboards/studiokestra/galatea/rev1/rules.mk | 13 +-
keyboards/studiokestra/galatea/rev2/config.h | 22 +
keyboards/studiokestra/galatea/rev2/info.json | 419 +++++-------------
.../galatea/rev2/keymaps/default/keymap.c | 38 ++
.../galatea/rev2/keymaps/via/keymap.c | 40 ++
.../galatea/rev2/keymaps/via/rules.mk | 1 +
keyboards/studiokestra/galatea/rev2/rev2.c | 17 -
keyboards/studiokestra/galatea/rev2/rev2.h | 116 -----
keyboards/studiokestra/galatea/rev2/rules.mk | 13 +-
keyboards/studiokestra/galatea/rules.mk | 2 +-
24 files changed, 428 insertions(+), 1093 deletions(-)
delete mode 100644 keyboards/studiokestra/galatea/galatea.c
delete mode 100644 keyboards/studiokestra/galatea/galatea.h
delete mode 100644 keyboards/studiokestra/galatea/keymaps/default/keymap.c
delete mode 100644 keyboards/studiokestra/galatea/keymaps/default/readme.md
delete mode 100644 keyboards/studiokestra/galatea/keymaps/via/keymap.c
delete mode 100644 keyboards/studiokestra/galatea/keymaps/via/readme.md
create mode 100644 keyboards/studiokestra/galatea/rev1/keymaps/default/keymap.c
create mode 100644 keyboards/studiokestra/galatea/rev1/keymaps/via/keymap.c
rename keyboards/studiokestra/galatea/{ => rev1}/keymaps/via/rules.mk (100%)
delete mode 100644 keyboards/studiokestra/galatea/rev1/rev1.c
delete mode 100644 keyboards/studiokestra/galatea/rev1/rev1.h
create mode 100644 keyboards/studiokestra/galatea/rev2/config.h
create mode 100644 keyboards/studiokestra/galatea/rev2/keymaps/default/keymap.c
create mode 100644 keyboards/studiokestra/galatea/rev2/keymaps/via/keymap.c
create mode 100644 keyboards/studiokestra/galatea/rev2/keymaps/via/rules.mk
delete mode 100644 keyboards/studiokestra/galatea/rev2/rev2.c
delete mode 100644 keyboards/studiokestra/galatea/rev2/rev2.h
diff --git a/keyboards/studiokestra/galatea/config.h b/keyboards/studiokestra/galatea/config.h
index 7c5b4dbb2944..4dbaafd5e40e 100644
--- a/keyboards/studiokestra/galatea/config.h
+++ b/keyboards/studiokestra/galatea/config.h
@@ -1,47 +1,9 @@
-/*
-Copyright 2021 Studio Kestra
-
-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 .
-*/
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B2, D5 }
-#define MATRIX_ROW_PINS { D1, D0, B0, B7, E6, B3, B6, C6, D6, D7, B4, D3 }
-#define DIODE_DIRECTION COL2ROW
-
-#if defined(KEYBOARD_studiokestra_galatea_rev2)
- #define RGB_DI_PIN D4
- #define RGBLED_NUM 24
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
- #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
- #define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
/* 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 LOCKING_RESYNC_ENABLE
\ No newline at end of file
diff --git a/keyboards/studiokestra/galatea/galatea.c b/keyboards/studiokestra/galatea/galatea.c
deleted file mode 100644
index 30e7939159fc..000000000000
--- a/keyboards/studiokestra/galatea/galatea.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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 "galatea.h"
diff --git a/keyboards/studiokestra/galatea/galatea.h b/keyboards/studiokestra/galatea/galatea.h
deleted file mode 100644
index a1f2aa77b53a..000000000000
--- a/keyboards/studiokestra/galatea/galatea.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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_studiokestra_galatea_rev1)
- #include "rev1.h"
-#elif defined(KEYBOARD_studiokestra_galatea_rev2)
- #include "rev2.h"
-#endif
diff --git a/keyboards/studiokestra/galatea/keymaps/default/keymap.c b/keyboards/studiokestra/galatea/keymaps/default/keymap.c
deleted file mode 100644
index e2b187ef9c63..000000000000
--- a/keyboards/studiokestra/galatea/keymaps/default/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
- /* Copyright 2021 Studio Kestra
- *
- * 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
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- 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_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
-
- [_FN] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-};
\ No newline at end of file
diff --git a/keyboards/studiokestra/galatea/keymaps/default/readme.md b/keyboards/studiokestra/galatea/keymaps/default/readme.md
deleted file mode 100644
index 1dbd94b7bf37..000000000000
--- a/keyboards/studiokestra/galatea/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Galatea
diff --git a/keyboards/studiokestra/galatea/keymaps/via/keymap.c b/keyboards/studiokestra/galatea/keymaps/via/keymap.c
deleted file mode 100644
index 504f5b90b0df..000000000000
--- a/keyboards/studiokestra/galatea/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
- /* Copyright 2021 Studio Kestra
- *
- * 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
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- 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_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-
- [_FN2] = LAYOUT_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/studiokestra/galatea/keymaps/via/readme.md b/keyboards/studiokestra/galatea/keymaps/via/readme.md
deleted file mode 100644
index a54a78203e33..000000000000
--- a/keyboards/studiokestra/galatea/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# Studio Kestra's Galatea keymap for VIA
diff --git a/keyboards/studiokestra/galatea/readme.md b/keyboards/studiokestra/galatea/readme.md
index 1268c596bf7d..580815fa6304 100644
--- a/keyboards/studiokestra/galatea/readme.md
+++ b/keyboards/studiokestra/galatea/readme.md
@@ -1,27 +1,29 @@
-# Galatea
+# studiokestra/galatea
+
+![studiokestra/galatea](https://i.imgur.com/juPhV1xh.png)
TKL H87/88c compatible PCB with support for the most common layouts.
* Keyboard Maintainer: [Studio Kestra](https://github.com/studiokestra/)
-* Hardware Supported: [studiokestra.ca/galatea](https://studiokestra.ca/galatea/)
-* Hardware Availability: In-Stock Sale (Dec 2021)
+* Hardware Supported: Most H87C compatible keyboards
+* Hardware Availability: https://RNDKBD.com; https://geon.works/
* Rev1 firmware is used for Galatea PCBs with no RGB underglow.
-* Rev2 firmware is used for Galatea PCBs with RGB underglow.
+* Rev2 firmware is used for Galatea PCBs with RGB underglow.
-## Bootload Sequence
+Make example for this keyboard (after setting up your build environment):
-There are 3 ways to put the board in bootloader mode:
+ make studiokestra/galatea/rev1:default
-- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
-- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
-- With the default layout, toggle Layer 1 and press the `R` key.
+Flashing example for this keyboard:
-## Compiling Firmware
+ make studiokestra/galatea/rev1:default:flash
-Make example for this keyboard (after setting up your build environment):
+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).
- make studiokestra/galatea/rev1:default
+## Bootloader
-If no revision is specified, it will build rev1 firmware by default.
+Enter the bootloader in 3 ways:
-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).
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/studiokestra/galatea/rev1/info.json b/keyboards/studiokestra/galatea/rev1/info.json
index ce1b7f581602..37d3e19cc73b 100644
--- a/keyboards/studiokestra/galatea/rev1/info.json
+++ b/keyboards/studiokestra/galatea/rev1/info.json
@@ -1,321 +1,129 @@
{
- "keyboard_name": "Galatea",
"manufacturer": "Studio Kestra",
- "url": "https://studiokestra.ca/galatea",
+ "keyboard_name": "Galatea",
"maintainer": "studiokestra",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
+ "rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
"usb": {
- "vid": "0x7C10",
+ "device_version": "1.0.0",
"pid": "0x8801",
- "device_version": "0.0.1"
+ "vid": "0x7C10"
},
"indicators": {
"caps_lock": "B5",
"scroll_lock": "D2",
"on_state": 0
},
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x": 0, "y": 0},
-
- {"x": 1.25, "y": 0},
- {"x": 2.25, "y": 0},
- {"x": 3.25, "y": 0},
- {"x": 4.25, "y": 0},
- {"x": 5.5, "y": 0},
- {"x": 6.5, "y": 0},
- {"x": 7.5, "y": 0},
- {"x": 8.5, "y": 0},
- {"x": 9.75, "y": 0},
- {"x": 10.75, "y": 0},
- {"x": 11.75, "y": 0},
- {"x": 12.75, "y": 0},
- {"x": 14, "y": 0},
-
- {"x": 15.25, "y": 0},
- {"x": 16.25, "y": 0},
- {"x": 17.25, "y": 0},
-
- {"x": 0, "y": 1.25},
- {"x": 1, "y": 1.25},
- {"x": 2, "y": 1.25},
- {"x": 3, "y": 1.25},
- {"x": 4, "y": 1.25},
- {"x": 5, "y": 1.25},
- {"x": 6, "y": 1.25},
- {"x": 7, "y": 1.25},
- {"x": 8, "y": 1.25},
- {"x": 9, "y": 1.25},
- {"x": 10, "y": 1.25},
- {"x": 11, "y": 1.25},
- {"x": 12, "y": 1.25},
- {"x": 13, "y": 1.25},
- {"x": 14, "y": 1.25},
-
- {"x": 15.25, "y": 1.25},
- {"x": 16.25, "y": 1.25},
- {"x": 17.25, "y": 1.25},
-
- {"x": 0, "y": 2.25, "w": 1.5},
- {"x": 1.5, "y": 2.25},
- {"x": 2.5, "y": 2.25},
- {"x": 3.5, "y": 2.25},
- {"x": 4.5, "y": 2.25},
- {"x": 5.5, "y": 2.25},
- {"x": 6.5, "y": 2.25},
- {"x": 7.5, "y": 2.25},
- {"x": 8.5, "y": 2.25},
- {"x": 9.5, "y": 2.25},
- {"x": 10.5, "y": 2.25},
- {"x": 11.5, "y": 2.25},
- {"x": 12.5, "y": 2.25},
- {"x": 13.5, "y": 2.25, "w": 1.5},
-
- {"x": 15.25, "y": 2.25},
- {"x": 16.25, "y": 2.25},
- {"x": 17.25, "y": 2.25},
-
- {"x": 0, "y": 3.25, "w": 1.75},
- {"x": 1.75, "y": 3.25},
- {"x": 2.75, "y": 3.25},
- {"x": 3.75, "y": 3.25},
- {"x": 4.75, "y": 3.25},
- {"x": 5.75, "y": 3.25},
- {"x": 6.75, "y": 3.25},
- {"x": 7.75, "y": 3.25},
- {"x": 8.75, "y": 3.25},
- {"x": 9.75, "y": 3.25},
- {"x": 10.75, "y": 3.25},
- {"x": 11.75, "y": 3.25},
- {"x": 12.75, "y": 3.25, "w": 2.25},
-
- {"x": 0, "y": 4.25, "w": 1.25},
- {"x": 1.25, "y": 4.25},
- {"x": 2.25, "y": 4.25},
- {"x": 3.25, "y": 4.25},
- {"x": 4.25, "y": 4.25},
- {"x": 5.25, "y": 4.25},
- {"x": 6.25, "y": 4.25},
- {"x": 7.25, "y": 4.25},
- {"x": 8.25, "y": 4.25},
- {"x": 9.25, "y": 4.25},
- {"x": 10.25, "y": 4.25},
- {"x": 11.25, "y": 4.25},
- {"x": 12.25, "y": 4.25, "w": 1.75},
- {"x": 14, "y": 4.25},
-
- {"x": 16.25, "y": 4.25},
-
- {"x": 0, "y": 5.25, "w": 1.25},
- {"x": 1.25, "y": 5.25, "w": 1.25},
- {"x": 2.5, "y": 5.25, "w": 1.25},
- {"x": 3.75, "y": 5.25, "w": 6.25},
- {"x": 10, "y": 5.25, "w": 1.25},
- {"x": 11.25, "y": 5.25, "w": 1.25},
- {"x": 12.5, "y": 5.25, "w": 1.25},
- {"x": 13.75, "y": 5.25, "w": 1.25},
-
- {"x": 15.25, "y": 5.25},
- {"x": 16.25, "y": 5.25},
- {"x": 17.25, "y": 5.25}
- ]
- },
- "LAYOUT_tkl_f13_ansi": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"F13", "x":14, "y":0},
- {"label":"Print Screen", "x":15.25, "y":0},
- {"label":"Scroll Lock", "x":16.25, "y":0},
- {"label":"Pause", "x":17.25, "y":0},
-
- {"label":"`~", "x":0, "y":1.25},
- {"label":"1!", "x":1, "y":1.25},
- {"label":"2@", "x":2, "y":1.25},
- {"label":"3#", "x":3, "y":1.25},
- {"label":"4$", "x":4, "y":1.25},
- {"label":"5%", "x":5, "y":1.25},
- {"label":"6^", "x":6, "y":1.25},
- {"label":"7&", "x":7, "y":1.25},
- {"label":"8*", "x":8, "y":1.25},
- {"label":"9(", "x":9, "y":1.25},
- {"label":"0)", "x":10, "y":1.25},
- {"label":"-_", "x":11, "y":1.25},
- {"label":"=+", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Insert", "x":15.25, "y":1.25},
- {"label":"Home", "x":16.25, "y":1.25},
- {"label":"Page Up", "x":17.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[{", "x":11.5, "y":2.25},
- {"label":"]}", "x":12.5, "y":2.25},
- {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
- {"label":"Delete", "x":15.25, "y":2.25},
- {"label":"End", "x":16.25, "y":2.25},
- {"label":"Page Down", "x":17.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";:", "x":10.75, "y":3.25},
- {"label":"'\"", "x":11.75, "y":3.25},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
-
- {"label":"Shift", "x":0, "y":4.25, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",<", "x":9.25, "y":4.25},
- {"label":".>", "x":10.25, "y":4.25},
- {"label":"/?", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
- {"label":"\u2191", "x":16.25, "y":4.25},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.25},
- {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
- {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
- {"label":"\u2190", "x":15.25, "y":5.25},
- {"label":"\u2193", "x":16.25, "y":5.25},
- {"label":"\u2192", "x":17.25, "y":5.25}
- ]
- },
- "LAYOUT_tkl_f13_iso": {
+ "LAYOUT": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"F13", "x":14, "y":0},
- {"label":"Print Screen", "x":15.25, "y":0},
- {"label":"Scroll Lock", "x":16.25, "y":0},
- {"label":"Pause", "x":17.25, "y":0},
-
- {"label":"`~", "x":0, "y":1.25},
- {"label":"1!", "x":1, "y":1.25},
- {"label":"2\"", "x":2, "y":1.25},
- {"label":"3\u00a3", "x":3, "y":1.25},
- {"label":"4$", "x":4, "y":1.25},
- {"label":"5%", "x":5, "y":1.25},
- {"label":"6^", "x":6, "y":1.25},
- {"label":"7&", "x":7, "y":1.25},
- {"label":"8*", "x":8, "y":1.25},
- {"label":"9(", "x":9, "y":1.25},
- {"label":"0)", "x":10, "y":1.25},
- {"label":"-_", "x":11, "y":1.25},
- {"label":"=+", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Insert", "x":15.25, "y":1.25},
- {"label":"Home", "x":16.25, "y":1.25},
- {"label":"Page Up", "x":17.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[{", "x":11.5, "y":2.25},
- {"label":"]}", "x":12.5, "y":2.25},
- {"label":"Delete", "x":15.25, "y":2.25},
- {"label":"End", "x":16.25, "y":2.25},
- {"label":"Page Down", "x":17.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";:", "x":10.75, "y":3.25},
- {"label":"'@", "x":11.75, "y":3.25},
- {"label":"#~", "x":12.75, "y":3.25},
- {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
-
- {"label":"Shift", "x":0, "y":4.25, "w":1.25},
- {"label":"\\|", "x":1.25, "y":4.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",<", "x":9.25, "y":4.25},
- {"label":".>", "x":10.25, "y":4.25},
- {"label":"/?", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
- {"label":"\u2191", "x":16.25, "y":4.25},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.25},
- {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
- {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
- {"label":"\u2190", "x":15.25, "y":5.25},
- {"label":"\u2193", "x":16.25, "y":5.25},
- {"label":"\u2192", "x":17.25, "y":5.25}
+
+ { "matrix": [0,0], "x":0, "y":0},
+ { "matrix": [1,0], "x":1.25, "y":0},
+ { "matrix": [0,1], "x":2.25, "y":0},
+ { "matrix": [0,2], "x":3.25, "y":0},
+ { "matrix": [1,2], "x":4.25, "y":0},
+ { "matrix": [0,3], "x":5.5, "y":0},
+ { "matrix": [1,3], "x":6.5, "y":0},
+ { "matrix": [0,4], "x":7.5, "y":0},
+ { "matrix": [1,4], "x":8.5, "y":0},
+ { "matrix": [0,5], "x":9.75, "y":0},
+ { "matrix": [1,5], "x":10.75, "y":0},
+ { "matrix": [0,6], "x":11.75, "y":0},
+ { "matrix": [1,6], "x":12.75, "y":0},
+ { "matrix": [0,7], "x":14, "y":0},
+ { "matrix": [1,7], "x":15.25, "y":0},
+ { "matrix": [0,8], "x":16.25, "y":0},
+ { "matrix": [1,8], "x":17.25, "y":0},
+ { "matrix": [2,0], "x":0, "y":1.25},
+ { "matrix": [3,0], "x":1, "y":1.25},
+ { "matrix": [2,1], "x":2, "y":1.25},
+ { "matrix": [3,1], "x":3, "y":1.25},
+ { "matrix": [2,2], "x":4, "y":1.25},
+ { "matrix": [3,2], "x":5, "y":1.25},
+ { "matrix": [2,3], "x":6, "y":1.25},
+ { "matrix": [3,3], "x":7, "y":1.25},
+ { "matrix": [2,4], "x":8, "y":1.25},
+ { "matrix": [3,4], "x":9, "y":1.25},
+ { "matrix": [2,5], "x":10, "y":1.25},
+ { "matrix": [3,5], "x":11, "y":1.25},
+ { "matrix": [2,6], "x":12, "y":1.25},
+ { "matrix": [3,6], "x":13, "y":1.25},
+ { "matrix": [2,7], "x":14, "y":1.25},
+ { "matrix": [3,7], "x":15.25, "y":1.25},
+ { "matrix": [2,8], "x":16.25, "y":1.25},
+ { "matrix": [3,8], "x":17.25, "y":1.25},
+ { "matrix": [4,0], "x":0, "y":2.25, "w":1.5},
+ { "matrix": [5,0], "x":1.5, "y":2.25},
+ { "matrix": [4,1], "x":2.5, "y":2.25},
+ { "matrix": [5,1], "x":3.5, "y":2.25},
+ { "matrix": [4,2], "x":4.5, "y":2.25},
+ { "matrix": [5,2], "x":5.5, "y":2.25},
+ { "matrix": [4,3], "x":6.5, "y":2.25},
+ { "matrix": [5,3], "x":7.5, "y":2.25},
+ { "matrix": [4,4], "x":8.5, "y":2.25},
+ { "matrix": [5,4], "x":9.5, "y":2.25},
+ { "matrix": [4,5], "x":10.5, "y":2.25},
+ { "matrix": [5,5], "x":11.5, "y":2.25},
+ { "matrix": [4,6], "x":12.5, "y":2.25},
+ { "matrix": [4,7], "x":13.5, "y":2.25, "w":1.5},
+ { "matrix": [5,7], "x":15.25, "y":2.25},
+ { "matrix": [4,8], "x":16.25, "y":2.25},
+ { "matrix": [5,8], "x":17.25, "y":2.25},
+ { "matrix": [6,0], "x":0, "y":3.25, "w":1.75},
+ { "matrix": [7,0], "x":1.75, "y":3.25},
+ { "matrix": [6,1], "x":2.75, "y":3.25},
+ { "matrix": [7,1], "x":3.75, "y":3.25},
+ { "matrix": [6,2], "x":4.75, "y":3.25},
+ { "matrix": [7,2], "x":5.75, "y":3.25},
+ { "matrix": [6,3], "x":6.75, "y":3.25},
+ { "matrix": [7,3], "x":7.75, "y":3.25},
+ { "matrix": [6,4], "x":8.75, "y":3.25},
+ { "matrix": [7,4], "x":9.75, "y":3.25},
+ { "matrix": [6,5], "x":10.75, "y":3.25},
+ { "matrix": [7,5], "x":11.75, "y":3.25},
+ { "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25},
+ { "matrix": [8,0], "x":0, "y":4.25, "w":1.25},
+ { "matrix": [9,0], "x":1.25, "y":4.25},
+ { "matrix": [8,1], "x":2.25, "y":4.25},
+ { "matrix": [9,1], "x":3.25, "y":4.25},
+ { "matrix": [8,2], "x":4.25, "y":4.25},
+ { "matrix": [9,2], "x":5.25, "y":4.25},
+ { "matrix": [8,3], "x":6.25, "y":4.25},
+ { "matrix": [9,3], "x":7.25, "y":4.25},
+ { "matrix": [8,4], "x":8.25, "y":4.25},
+ { "matrix": [9,4], "x":9.25, "y":4.25},
+ { "matrix": [8,5], "x":10.25, "y":4.25},
+ { "matrix": [9,5], "x":11.25, "y":4.25},
+ { "matrix": [8,6], "x":12.25, "y":4.25, "w":1.75},
+ { "matrix": [8,7], "x":14, "y":4.25},
+ { "matrix": [8,8], "x":16.25, "y":4.25},
+ { "matrix": [10,0], "x":0, "y":5.25, "w":1.25},
+ { "matrix": [11,0], "x":1.25, "y":5.25, "w":1.25},
+ { "matrix": [10,1], "x":2.5, "y":5.25, "w":1.25},
+ { "matrix": [10,3], "x":3.75, "y":5.25, "w":6.25},
+ { "matrix": [10,5], "x":10, "y":5.25, "w":1.25},
+ { "matrix": [11,5], "x":11.25, "y":5.25, "w":1.25},
+ { "matrix": [10,6], "x":12.5, "y":5.25, "w":1.25},
+ { "matrix": [10,7], "x":13.75, "y":5.25, "w":1.25},
+ { "matrix": [11,7], "x":15.25, "y":5.25},
+ { "matrix": [10,8], "x":16.25, "y":5.25},
+ { "matrix": [11,8], "x":17.25, "y":5.25}
]
}
}
-}
+}
\ No newline at end of file
diff --git a/keyboards/studiokestra/galatea/rev1/keymaps/default/keymap.c b/keyboards/studiokestra/galatea/rev1/keymaps/default/keymap.c
new file mode 100644
index 000000000000..32db99b386d0
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev1/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/studiokestra/galatea/rev1/keymaps/via/keymap.c b/keyboards/studiokestra/galatea/rev1/keymaps/via/keymap.c
new file mode 100644
index 000000000000..c0d093334932
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev1/keymaps/via/keymap.c
@@ -0,0 +1,40 @@
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [0] = LAYOUT(
+ KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/studiokestra/galatea/keymaps/via/rules.mk b/keyboards/studiokestra/galatea/rev1/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/studiokestra/galatea/keymaps/via/rules.mk
rename to keyboards/studiokestra/galatea/rev1/keymaps/via/rules.mk
diff --git a/keyboards/studiokestra/galatea/rev1/rev1.c b/keyboards/studiokestra/galatea/rev1/rev1.c
deleted file mode 100644
index f34f9f92002c..000000000000
--- a/keyboards/studiokestra/galatea/rev1/rev1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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 "rev1.h"
diff --git a/keyboards/studiokestra/galatea/rev1/rev1.h b/keyboards/studiokestra/galatea/rev1/rev1.h
deleted file mode 100644
index c319dfa63ffc..000000000000
--- a/keyboards/studiokestra/galatea/rev1/rev1.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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
-
-/*
- * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
- * │00 │ │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
- * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
- * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
- * │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
- * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐
- * │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │ │36 │ 2u Backspace
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
- * │40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47 │ │57 │48 │58 │ │ │
- * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐47 │ ISO Enter
- * LShift │60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │ │66 │ │
- * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤
- * │80 │ │80 │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │87 │ │88 │ │86 │ 2.75u RShift
- * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘
- * │A0 │B0 │A1 │A3 │A5 │B5 │A6 │A7 │ │B7 │A8 │B8 │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
- * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
- * │A0 │B0 │A1 │A3 │B5 │A6 │A7 │ Tsangan/WKL
- * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
- * ┌────┬────┬───────────────────────────────────────┬────┬────┐
- * │A0 │B0 │A3 │A6 │A7 │ WK 10u Space
- * └────┴────┴───────────────────────────────────────┴────┴────┘
- * ┌─────┐ ┌───────────────────────────────────────┐ ┌─────┐
- * │A0 │ │A3 │ │A7 │ WKL 10u Space
- * └─────┘ └───────────────────────────────────────┘ └─────┘
- */
-
-#define LAYOUT_all(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
- { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
-
-#define LAYOUT_tkl_f13_ansi(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
- k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
- { ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
-
-#define LAYOUT_tkl_f13_iso(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k47, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
- { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
diff --git a/keyboards/studiokestra/galatea/rev1/rules.mk b/keyboards/studiokestra/galatea/rev1/rules.mk
index 6fe874e748be..6e7633bfe015 100644
--- a/keyboards/studiokestra/galatea/rev1/rules.mk
+++ b/keyboards/studiokestra/galatea/rev1/rules.mk
@@ -1,12 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
+# This file intentionally left blank
diff --git a/keyboards/studiokestra/galatea/rev2/config.h b/keyboards/studiokestra/galatea/rev2/config.h
new file mode 100644
index 000000000000..40c94daf6202
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev2/config.h
@@ -0,0 +1,22 @@
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RGB_DI_PIN D4
+#define RGBLED_NUM 24
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_MODE_TWINKLE
diff --git a/keyboards/studiokestra/galatea/rev2/info.json b/keyboards/studiokestra/galatea/rev2/info.json
index dc3865c584a5..b3af7d934fe0 100644
--- a/keyboards/studiokestra/galatea/rev2/info.json
+++ b/keyboards/studiokestra/galatea/rev2/info.json
@@ -1,321 +1,130 @@
{
- "keyboard_name": "Galatea",
"manufacturer": "Studio Kestra",
- "url": "https://studiokestra.ca/galatea",
+ "keyboard_name": "Galatea",
"maintainer": "studiokestra",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
+ "rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
"usb": {
- "vid": "0x7C10",
+ "device_version": "1.0.0",
"pid": "0x8802",
- "device_version": "0.0.2"
+ "vid": "0x7C10"
},
"indicators": {
"caps_lock": "B5",
"scroll_lock": "D2",
"on_state": 0
},
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x": 0, "y": 0},
-
- {"x": 1.25, "y": 0},
- {"x": 2.25, "y": 0},
- {"x": 3.25, "y": 0},
- {"x": 4.25, "y": 0},
- {"x": 5.5, "y": 0},
- {"x": 6.5, "y": 0},
- {"x": 7.5, "y": 0},
- {"x": 8.5, "y": 0},
- {"x": 9.75, "y": 0},
- {"x": 10.75, "y": 0},
- {"x": 11.75, "y": 0},
- {"x": 12.75, "y": 0},
- {"x": 14, "y": 0},
-
- {"x": 15.25, "y": 0},
- {"x": 16.25, "y": 0},
- {"x": 17.25, "y": 0},
-
- {"x": 0, "y": 1.25},
- {"x": 1, "y": 1.25},
- {"x": 2, "y": 1.25},
- {"x": 3, "y": 1.25},
- {"x": 4, "y": 1.25},
- {"x": 5, "y": 1.25},
- {"x": 6, "y": 1.25},
- {"x": 7, "y": 1.25},
- {"x": 8, "y": 1.25},
- {"x": 9, "y": 1.25},
- {"x": 10, "y": 1.25},
- {"x": 11, "y": 1.25},
- {"x": 12, "y": 1.25},
- {"x": 13, "y": 1.25},
- {"x": 14, "y": 1.25},
-
- {"x": 15.25, "y": 1.25},
- {"x": 16.25, "y": 1.25},
- {"x": 17.25, "y": 1.25},
-
- {"x": 0, "y": 2.25, "w": 1.5},
- {"x": 1.5, "y": 2.25},
- {"x": 2.5, "y": 2.25},
- {"x": 3.5, "y": 2.25},
- {"x": 4.5, "y": 2.25},
- {"x": 5.5, "y": 2.25},
- {"x": 6.5, "y": 2.25},
- {"x": 7.5, "y": 2.25},
- {"x": 8.5, "y": 2.25},
- {"x": 9.5, "y": 2.25},
- {"x": 10.5, "y": 2.25},
- {"x": 11.5, "y": 2.25},
- {"x": 12.5, "y": 2.25},
- {"x": 13.5, "y": 2.25, "w": 1.5},
-
- {"x": 15.25, "y": 2.25},
- {"x": 16.25, "y": 2.25},
- {"x": 17.25, "y": 2.25},
-
- {"x": 0, "y": 3.25, "w": 1.75},
- {"x": 1.75, "y": 3.25},
- {"x": 2.75, "y": 3.25},
- {"x": 3.75, "y": 3.25},
- {"x": 4.75, "y": 3.25},
- {"x": 5.75, "y": 3.25},
- {"x": 6.75, "y": 3.25},
- {"x": 7.75, "y": 3.25},
- {"x": 8.75, "y": 3.25},
- {"x": 9.75, "y": 3.25},
- {"x": 10.75, "y": 3.25},
- {"x": 11.75, "y": 3.25},
- {"x": 12.75, "y": 3.25, "w": 2.25},
-
- {"x": 0, "y": 4.25, "w": 1.25},
- {"x": 1.25, "y": 4.25},
- {"x": 2.25, "y": 4.25},
- {"x": 3.25, "y": 4.25},
- {"x": 4.25, "y": 4.25},
- {"x": 5.25, "y": 4.25},
- {"x": 6.25, "y": 4.25},
- {"x": 7.25, "y": 4.25},
- {"x": 8.25, "y": 4.25},
- {"x": 9.25, "y": 4.25},
- {"x": 10.25, "y": 4.25},
- {"x": 11.25, "y": 4.25},
- {"x": 12.25, "y": 4.25, "w": 1.75},
- {"x": 14, "y": 4.25},
-
- {"x": 16.25, "y": 4.25},
-
- {"x": 0, "y": 5.25, "w": 1.25},
- {"x": 1.25, "y": 5.25, "w": 1.25},
- {"x": 2.5, "y": 5.25, "w": 1.25},
- {"x": 3.75, "y": 5.25, "w": 6.25},
- {"x": 10, "y": 5.25, "w": 1.25},
- {"x": 11.25, "y": 5.25, "w": 1.25},
- {"x": 12.5, "y": 5.25, "w": 1.25},
- {"x": 13.75, "y": 5.25, "w": 1.25},
-
- {"x": 15.25, "y": 5.25},
- {"x": 16.25, "y": 5.25},
- {"x": 17.25, "y": 5.25}
- ]
- },
- "LAYOUT_tkl_f13_ansi": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"F13", "x":14, "y":0},
- {"label":"Print Screen", "x":15.25, "y":0},
- {"label":"Scroll Lock", "x":16.25, "y":0},
- {"label":"Pause", "x":17.25, "y":0},
-
- {"label":"`~", "x":0, "y":1.25},
- {"label":"1!", "x":1, "y":1.25},
- {"label":"2@", "x":2, "y":1.25},
- {"label":"3#", "x":3, "y":1.25},
- {"label":"4$", "x":4, "y":1.25},
- {"label":"5%", "x":5, "y":1.25},
- {"label":"6^", "x":6, "y":1.25},
- {"label":"7&", "x":7, "y":1.25},
- {"label":"8*", "x":8, "y":1.25},
- {"label":"9(", "x":9, "y":1.25},
- {"label":"0)", "x":10, "y":1.25},
- {"label":"-_", "x":11, "y":1.25},
- {"label":"=+", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Insert", "x":15.25, "y":1.25},
- {"label":"Home", "x":16.25, "y":1.25},
- {"label":"Page Up", "x":17.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[{", "x":11.5, "y":2.25},
- {"label":"]}", "x":12.5, "y":2.25},
- {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
- {"label":"Delete", "x":15.25, "y":2.25},
- {"label":"End", "x":16.25, "y":2.25},
- {"label":"Page Down", "x":17.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";:", "x":10.75, "y":3.25},
- {"label":"'\"", "x":11.75, "y":3.25},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
-
- {"label":"Shift", "x":0, "y":4.25, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",<", "x":9.25, "y":4.25},
- {"label":".>", "x":10.25, "y":4.25},
- {"label":"/?", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
- {"label":"\u2191", "x":16.25, "y":4.25},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.25},
- {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
- {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
- {"label":"\u2190", "x":15.25, "y":5.25},
- {"label":"\u2193", "x":16.25, "y":5.25},
- {"label":"\u2192", "x":17.25, "y":5.25}
- ]
- },
- "LAYOUT_tkl_f13_iso": {
+ "LAYOUT": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"F13", "x":14, "y":0},
- {"label":"Print Screen", "x":15.25, "y":0},
- {"label":"Scroll Lock", "x":16.25, "y":0},
- {"label":"Pause", "x":17.25, "y":0},
-
- {"label":"`~", "x":0, "y":1.25},
- {"label":"1!", "x":1, "y":1.25},
- {"label":"2\"", "x":2, "y":1.25},
- {"label":"3\u00a3", "x":3, "y":1.25},
- {"label":"4$", "x":4, "y":1.25},
- {"label":"5%", "x":5, "y":1.25},
- {"label":"6^", "x":6, "y":1.25},
- {"label":"7&", "x":7, "y":1.25},
- {"label":"8*", "x":8, "y":1.25},
- {"label":"9(", "x":9, "y":1.25},
- {"label":"0)", "x":10, "y":1.25},
- {"label":"-_", "x":11, "y":1.25},
- {"label":"=+", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Insert", "x":15.25, "y":1.25},
- {"label":"Home", "x":16.25, "y":1.25},
- {"label":"Page Up", "x":17.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[{", "x":11.5, "y":2.25},
- {"label":"]}", "x":12.5, "y":2.25},
- {"label":"Delete", "x":15.25, "y":2.25},
- {"label":"End", "x":16.25, "y":2.25},
- {"label":"Page Down", "x":17.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";:", "x":10.75, "y":3.25},
- {"label":"'@", "x":11.75, "y":3.25},
- {"label":"#~", "x":12.75, "y":3.25},
- {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
-
- {"label":"Shift", "x":0, "y":4.25, "w":1.25},
- {"label":"\\|", "x":1.25, "y":4.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",<", "x":9.25, "y":4.25},
- {"label":".>", "x":10.25, "y":4.25},
- {"label":"/?", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
- {"label":"\u2191", "x":16.25, "y":4.25},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.25},
- {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
- {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
- {"label":"\u2190", "x":15.25, "y":5.25},
- {"label":"\u2193", "x":16.25, "y":5.25},
- {"label":"\u2192", "x":17.25, "y":5.25}
+
+ { "matrix": [0,0], "x":0, "y":0},
+ { "matrix": [1,0], "x":1.25, "y":0},
+ { "matrix": [0,1], "x":2.25, "y":0},
+ { "matrix": [0,2], "x":3.25, "y":0},
+ { "matrix": [1,2], "x":4.25, "y":0},
+ { "matrix": [0,3], "x":5.5, "y":0},
+ { "matrix": [1,3], "x":6.5, "y":0},
+ { "matrix": [0,4], "x":7.5, "y":0},
+ { "matrix": [1,4], "x":8.5, "y":0},
+ { "matrix": [0,5], "x":9.75, "y":0},
+ { "matrix": [1,5], "x":10.75, "y":0},
+ { "matrix": [0,6], "x":11.75, "y":0},
+ { "matrix": [1,6], "x":12.75, "y":0},
+ { "matrix": [0,7], "x":14, "y":0},
+ { "matrix": [1,7], "x":15.25, "y":0},
+ { "matrix": [0,8], "x":16.25, "y":0},
+ { "matrix": [1,8], "x":17.25, "y":0},
+ { "matrix": [2,0], "x":0, "y":1.25},
+ { "matrix": [3,0], "x":1, "y":1.25},
+ { "matrix": [2,1], "x":2, "y":1.25},
+ { "matrix": [3,1], "x":3, "y":1.25},
+ { "matrix": [2,2], "x":4, "y":1.25},
+ { "matrix": [3,2], "x":5, "y":1.25},
+ { "matrix": [2,3], "x":6, "y":1.25},
+ { "matrix": [3,3], "x":7, "y":1.25},
+ { "matrix": [2,4], "x":8, "y":1.25},
+ { "matrix": [3,4], "x":9, "y":1.25},
+ { "matrix": [2,5], "x":10, "y":1.25},
+ { "matrix": [3,5], "x":11, "y":1.25},
+ { "matrix": [2,6], "x":12, "y":1.25},
+ { "matrix": [3,6], "x":13, "y":1.25},
+ { "matrix": [2,7], "x":14, "y":1.25},
+ { "matrix": [3,7], "x":15.25, "y":1.25},
+ { "matrix": [2,8], "x":16.25, "y":1.25},
+ { "matrix": [3,8], "x":17.25, "y":1.25},
+ { "matrix": [4,0], "x":0, "y":2.25, "w":1.5},
+ { "matrix": [5,0], "x":1.5, "y":2.25},
+ { "matrix": [4,1], "x":2.5, "y":2.25},
+ { "matrix": [5,1], "x":3.5, "y":2.25},
+ { "matrix": [4,2], "x":4.5, "y":2.25},
+ { "matrix": [5,2], "x":5.5, "y":2.25},
+ { "matrix": [4,3], "x":6.5, "y":2.25},
+ { "matrix": [5,3], "x":7.5, "y":2.25},
+ { "matrix": [4,4], "x":8.5, "y":2.25},
+ { "matrix": [5,4], "x":9.5, "y":2.25},
+ { "matrix": [4,5], "x":10.5, "y":2.25},
+ { "matrix": [5,5], "x":11.5, "y":2.25},
+ { "matrix": [4,6], "x":12.5, "y":2.25},
+ { "matrix": [4,7], "x":13.5, "y":2.25, "w":1.5},
+ { "matrix": [5,7], "x":15.25, "y":2.25},
+ { "matrix": [4,8], "x":16.25, "y":2.25},
+ { "matrix": [5,8], "x":17.25, "y":2.25},
+ { "matrix": [6,0], "x":0, "y":3.25, "w":1.75},
+ { "matrix": [7,0], "x":1.75, "y":3.25},
+ { "matrix": [6,1], "x":2.75, "y":3.25},
+ { "matrix": [7,1], "x":3.75, "y":3.25},
+ { "matrix": [6,2], "x":4.75, "y":3.25},
+ { "matrix": [7,2], "x":5.75, "y":3.25},
+ { "matrix": [6,3], "x":6.75, "y":3.25},
+ { "matrix": [7,3], "x":7.75, "y":3.25},
+ { "matrix": [6,4], "x":8.75, "y":3.25},
+ { "matrix": [7,4], "x":9.75, "y":3.25},
+ { "matrix": [6,5], "x":10.75, "y":3.25},
+ { "matrix": [7,5], "x":11.75, "y":3.25},
+ { "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25},
+ { "matrix": [8,0], "x":0, "y":4.25, "w":1.25},
+ { "matrix": [9,0], "x":1.25, "y":4.25},
+ { "matrix": [8,1], "x":2.25, "y":4.25},
+ { "matrix": [9,1], "x":3.25, "y":4.25},
+ { "matrix": [8,2], "x":4.25, "y":4.25},
+ { "matrix": [9,2], "x":5.25, "y":4.25},
+ { "matrix": [8,3], "x":6.25, "y":4.25},
+ { "matrix": [9,3], "x":7.25, "y":4.25},
+ { "matrix": [8,4], "x":8.25, "y":4.25},
+ { "matrix": [9,4], "x":9.25, "y":4.25},
+ { "matrix": [8,5], "x":10.25, "y":4.25},
+ { "matrix": [9,5], "x":11.25, "y":4.25},
+ { "matrix": [8,6], "x":12.25, "y":4.25, "w":1.75},
+ { "matrix": [8,7], "x":14, "y":4.25},
+ { "matrix": [8,8], "x":16.25, "y":4.25},
+ { "matrix": [10,0], "x":0, "y":5.25, "w":1.25},
+ { "matrix": [11,0], "x":1.25, "y":5.25, "w":1.25},
+ { "matrix": [10,1], "x":2.5, "y":5.25, "w":1.25},
+ { "matrix": [10,3], "x":3.75, "y":5.25, "w":6.25},
+ { "matrix": [10,5], "x":10, "y":5.25, "w":1.25},
+ { "matrix": [11,5], "x":11.25, "y":5.25, "w":1.25},
+ { "matrix": [10,6], "x":12.5, "y":5.25, "w":1.25},
+ { "matrix": [10,7], "x":13.75, "y":5.25, "w":1.25},
+ { "matrix": [11,7], "x":15.25, "y":5.25},
+ { "matrix": [10,8], "x":16.25, "y":5.25},
+ { "matrix": [11,8], "x":17.25, "y":5.25}
]
}
}
-}
+}
\ No newline at end of file
diff --git a/keyboards/studiokestra/galatea/rev2/keymaps/default/keymap.c b/keyboards/studiokestra/galatea/rev2/keymaps/default/keymap.c
new file mode 100644
index 000000000000..32db99b386d0
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev2/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/studiokestra/galatea/rev2/keymaps/via/keymap.c b/keyboards/studiokestra/galatea/rev2/keymaps/via/keymap.c
new file mode 100644
index 000000000000..c0d093334932
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev2/keymaps/via/keymap.c
@@ -0,0 +1,40 @@
+// Copyright 2023 studiokestra (@studiokestra)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [0] = LAYOUT(
+ KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/studiokestra/galatea/rev2/keymaps/via/rules.mk b/keyboards/studiokestra/galatea/rev2/keymaps/via/rules.mk
new file mode 100644
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/studiokestra/galatea/rev2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/studiokestra/galatea/rev2/rev2.c b/keyboards/studiokestra/galatea/rev2/rev2.c
deleted file mode 100644
index 5e7125b0b61f..000000000000
--- a/keyboards/studiokestra/galatea/rev2/rev2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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 "rev2.h"
diff --git a/keyboards/studiokestra/galatea/rev2/rev2.h b/keyboards/studiokestra/galatea/rev2/rev2.h
deleted file mode 100644
index c319dfa63ffc..000000000000
--- a/keyboards/studiokestra/galatea/rev2/rev2.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2021 Studio Kestra
- *
- * 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
-
-/*
- * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
- * │00 │ │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
- * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
- * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
- * │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
- * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐
- * │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │ │36 │ 2u Backspace
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
- * │40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47 │ │57 │48 │58 │ │ │
- * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐47 │ ISO Enter
- * LShift │60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │ │66 │ │
- * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤
- * │80 │ │80 │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │87 │ │88 │ │86 │ 2.75u RShift
- * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘
- * │A0 │B0 │A1 │A3 │A5 │B5 │A6 │A7 │ │B7 │A8 │B8 │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
- * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
- * │A0 │B0 │A1 │A3 │B5 │A6 │A7 │ Tsangan/WKL
- * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
- * ┌────┬────┬───────────────────────────────────────┬────┬────┐
- * │A0 │B0 │A3 │A6 │A7 │ WK 10u Space
- * └────┴────┴───────────────────────────────────────┴────┴────┘
- * ┌─────┐ ┌───────────────────────────────────────┐ ┌─────┐
- * │A0 │ │A3 │ │A7 │ WKL 10u Space
- * └─────┘ └───────────────────────────────────────┘ └─────┘
- */
-
-#define LAYOUT_all(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
- { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
-
-#define LAYOUT_tkl_f13_ansi(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
- k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
- { ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
-
-#define LAYOUT_tkl_f13_iso(\
- k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, k48, k58, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k47, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
- kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
- { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
- { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
- { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
- { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
- { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
- { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
- { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
- { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
- { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
-}
diff --git a/keyboards/studiokestra/galatea/rev2/rules.mk b/keyboards/studiokestra/galatea/rev2/rules.mk
index a927de843cb1..6e7633bfe015 100644
--- a/keyboards/studiokestra/galatea/rev2/rules.mk
+++ b/keyboards/studiokestra/galatea/rev2/rules.mk
@@ -1,12 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
+# This file intentionally left blank
diff --git a/keyboards/studiokestra/galatea/rules.mk b/keyboards/studiokestra/galatea/rules.mk
index c60419c59e68..b5b1db42388c 100644
--- a/keyboards/studiokestra/galatea/rules.mk
+++ b/keyboards/studiokestra/galatea/rules.mk
@@ -1 +1 @@
-DEFAULT_FOLDER = studiokestra/galatea/rev1
+DEFAULT_FOLDER = studiokestra/galatea/rev1
\ No newline at end of file
From 4992df56b8202e206f83ff529033864141e681ed Mon Sep 17 00:00:00 2001
From: Lisa Ugray
Date: Mon, 3 Apr 2023 01:39:52 -0400
Subject: [PATCH 4/7] Add an alternate layout definition for Keyboardio Model
01 (#20245)
---
keyboards/keyboardio/model01/model01.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/keyboards/keyboardio/model01/model01.h b/keyboards/keyboardio/model01/model01.h
index 870cb441f319..8e494cca30d0 100644
--- a/keyboards/keyboardio/model01/model01.h
+++ b/keyboards/keyboardio/model01/model01.h
@@ -38,6 +38,24 @@
{R30, R31, R32, R33, R34, R35, R36, R37} \
}
+#define LAYOUT_thumb_row( \
+ L07, L06, L05, L04, L03, L02, R05, R04, R03, R02, R01, R00, \
+ L17, L16, L15, L14, L13, L12, L01, R06, R15, R14, R13, R12, R11, R10, \
+ L27, L26, L25, L24, L23, L22, L11, R16, R25, R24, R23, R22, R21, R20, \
+ L37, L36, L35, L34, L33, L32, L21, R26, R35, R34, R33, R32, R31, R30, \
+ L00, L10, L20, L30, R37, R27, R17, R07, \
+ L31, R36 \
+ ) { \
+ {L00, L01, L02, L03, L04, L05, L06, L07}, \
+ {L10, L11, L12, L13, L14, L15, L16, L17}, \
+ {L20, L21, L22, L23, L24, L25, L26, L27}, \
+ {L30, L31, L32, L33, L34, L35, L36, L37}, \
+ {R00, R01, R02, R03, R04, R05, R06, R07}, \
+ {R10, R11, R12, R13, R14, R15, R16, R17}, \
+ {R20, R21, R22, R23, R24, R25, R26, R27}, \
+ {R30, R31, R32, R33, R34, R35, R36, R37} \
+ }
+
#include "wire-protocol-constants.h"
#define I2C_ADDR_LEFT (0x58 << 1)
#define I2C_ADDR_RIGHT (I2C_ADDR_LEFT + 6)
From 12de0297edc601be867ea4e32b741967e88a2847 Mon Sep 17 00:00:00 2001
From: Julius Degesys
Date: Mon, 3 Apr 2023 01:42:14 -0400
Subject: [PATCH 5/7] Suggest `qmk list-keyboards` when testing build
environment (#19471)
Co-authored-by: Joel Challis
---
docs/newbs_getting_started.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md
index 91bfa083102a..b0d28d89d163 100644
--- a/docs/newbs_getting_started.md
+++ b/docs/newbs_getting_started.md
@@ -172,6 +172,8 @@ For example, to build a firmware for a Clueboard 66% you would use:
qmk compile -kb clueboard/66/rev3 -km default
+?> The keyboard option is the path relative to the keyboard directory, the above example would be found in `qmk_firmware/keyboards/clueboard/66/rev3`. If you're unsure you can view a full list of supported keyboards with `qmk list-keyboards`.
+
When it is done you should have a lot of output that ends similar to this:
```
From c58610bea35d3dcf362b11064830f51c97df91a4 Mon Sep 17 00:00:00 2001
From: Purdea Andrei
Date: Mon, 3 Apr 2023 08:45:46 +0300
Subject: [PATCH 6/7] Data-driven updates to overnumpad controller keyboards
(#20259)
---
keyboards/ibm/model_m_4th_gen/info.json | 2561 ++++++++++++++++
.../model_m_4th_gen/overnumpad_1xb/config.h | 35 +-
.../model_m_4th_gen/overnumpad_1xb/info.json | 28 +-
.../overnumpad_1xb/overnumpad_1xb.c | 24 -
.../overnumpad_1xb/overnumpad_1xb.h | 91 -
.../classic_ultracl_post_2013/info.json | 2635 +++++++++++++++-
.../overnumpad_1xb/config.h | 34 +-
.../overnumpad_1xb/info.json | 20 +
.../overnumpad_1xb/overnumpad_1xb.c | 24 -
.../overnumpad_1xb/overnumpad_1xb.h | 88 -
.../overnumpad_1xb/readme.md | 2 +-
.../classic_ultracl_pre_2013/info.json | 2646 +++++++++++++++-
.../overnumpad_1xb/config.h | 34 +-
.../overnumpad_1xb/info.json | 20 +
.../overnumpad_1xb/overnumpad_1xb.c | 24 -
.../overnumpad_1xb/overnumpad_1xb.h | 88 -
.../overnumpad_1xb/readme.md | 2 +-
keyboards/unicomp/pc122/info.json | 2001 ++++++++++++-
.../unicomp/pc122/overnumpad_1xb/config.h | 34 +-
.../unicomp/pc122/overnumpad_1xb/info.json | 20 +
.../pc122/overnumpad_1xb/overnumpad_1xb.c | 24 -
.../pc122/overnumpad_1xb/overnumpad_1xb.h | 49 -
.../unicomp/spacesaver_m_post_2013/info.json | 2647 +++++++++++++++-
.../overnumpad_1xb/config.h | 34 +-
.../overnumpad_1xb/info.json | 18 +
.../overnumpad_1xb/overnumpad_1xb.c | 7 +-
.../overnumpad_1xb/overnumpad_1xb.h | 88 -
.../unicomp/spacesaver_m_pre_2013/info.json | 2653 ++++++++++++++++-
.../overnumpad_1xb/config.h | 34 +-
.../overnumpad_1xb/info.json | 18 +
.../overnumpad_1xb/overnumpad_1xb.c | 7 +-
.../overnumpad_1xb/overnumpad_1xb.h | 88 -
32 files changed, 15220 insertions(+), 858 deletions(-)
create mode 100644 keyboards/ibm/model_m_4th_gen/info.json
delete mode 100644 keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.c
delete mode 100644 keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.h
create mode 100644 keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
delete mode 100644 keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.c
delete mode 100644 keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h
create mode 100644 keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json
delete mode 100644 keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.c
delete mode 100644 keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h
create mode 100644 keyboards/unicomp/pc122/overnumpad_1xb/info.json
delete mode 100644 keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.c
delete mode 100644 keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h
create mode 100644 keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json
delete mode 100644 keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h
create mode 100644 keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json
delete mode 100644 keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h
diff --git a/keyboards/ibm/model_m_4th_gen/info.json b/keyboards/ibm/model_m_4th_gen/info.json
new file mode 100644
index 000000000000..5c8c658607a9
--- /dev/null
+++ b/keyboards/ibm/model_m_4th_gen/info.json
@@ -0,0 +1,2561 @@
+{
+ "matrix_pins": {
+ "ghost": true
+ },
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 15
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 14
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 14
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 4
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 13,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 15
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 1
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 4
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 13.75,
+ "y": 3.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 0,
+ 15
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 15
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 1
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 12.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 13.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 21.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 15
+ ],
+ "x": 4,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 5.5,
+ "w": 6
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 18.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 19.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 20.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 21.5,
+ "y": 5.5
+ }
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 15
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 14
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 14
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 4
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 15
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 1
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 4
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 12.75,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 15
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 1
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 7
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 15
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 14
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 14
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 4
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 15
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 1
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 13.75,
+ "y": 2.5,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 4
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 0,
+ 15
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 15
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 1
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 7
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
index 37e578dfea7c..71e60e9cfe65 100644
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
@@ -15,42 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, A10 can be ignored.
-// On this keyboard the pins are ordered in the following way: (top/bottom meaning where the trace is routed on the membranes)
-// top, top, top, top, top, top, top, top, bottom, top, bottom, top, bottom, top, bottom, top, bottom, bottom, top, top, top, top, bottom, bottom
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, C4, B0, B10, B13, C6, C7, C8, C9 }
-#define MATRIX_ROW_PINS { A7, C5, B1, B12, B14, B15, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
index 2aebd925ee50..e87eb4f3c313 100644
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
@@ -1,13 +1,8 @@
{
- "keyboard_name": "IBM Model M (4th generation)",
+ "keyboard_name": "IBM Model M (4th generation)",
"manufacturer": "IBM/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
- "usb": {
- "vid": "0x16C0",
- "pid": "0x27DB",
- "device_version": "0.0.1"
- },
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
"indicators": {
"caps_lock": "C11",
"num_lock": "C12",
@@ -15,15 +10,12 @@
},
"processor": "STM32F446", // RET6
"bootloader": "stm32-dfu",
- "layouts": {
- "LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":6}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
- },
- "LAYOUT_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
- },
- "LAYOUT_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
- }
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // All pins in order from left-to-right, as seen on the keyboard:
+ // C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
+ // On this keyboard columns and rows are staggered:
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "C4", "B0", "B10", "B13", "C6", "C7", "C8", "C9"],
+ "rows": ["A7", "C5", "B1", "B12", "B14", "B15", "A8", "A9"]
}
}
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.c b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.c
deleted file mode 100644
index cb5ec3dc124e..000000000000
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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 "overnumpad_1xb.h"
-
-void keyboard_post_init_kb(void)
-{
- //debug_enable=true;
- //debug_matrix=true;
-}
-
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index 4e210c53ac7c..000000000000
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-
-#define LAYOUT_all( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lalt, k_code, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, kp_0_hidden, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, k_nubs }, \
- /* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, kp_plus_hidden, KC_NO, KC_NO, k_f3, k_caps }, \
- /* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
- /* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
- /* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, k_bsp_hidden, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
- /* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, k_backsl, KC_NO, kp_1, kp_2, kp_3, kp_enter, kp_enter_hidden, KC_NO, k_d, k_s }, \
- /* 6 */ { k_z, k_v, k_m, k_cm, k_period, k_nuhs, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
- /* 7 */ { KC_NO, k_b, k_n, k_rshift_hidden, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, k_code } \
-}
-
-// the following three key mappings are informed guesses, based on similarity of the gen4 membrane to previous-gen membranes: kp_plus, k_ins, kp_0_hidden
-
-#define LAYOUT_ansi( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
- k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, KC_NO, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, KC_NO }, \
- /* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, KC_NO, KC_NO, KC_NO, k_f3, k_caps }, \
- /* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
- /* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
- /* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, KC_NO, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
- /* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, k_backsl, KC_NO, kp_1, kp_2, kp_3, kp_enter, KC_NO, KC_NO, k_d, k_s }, \
- /* 6 */ { k_z, k_v, k_m, k_cm, k_period, KC_NO, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
- /* 7 */ { KC_NO, k_b, k_n, KC_NO, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, KC_NO } \
-}
-
-#define LAYOUT_iso( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, KC_NO, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, k_nubs }, \
- /* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, KC_NO, KC_NO, KC_NO, k_f3, k_caps }, \
- /* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
- /* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
- /* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, KC_NO, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
- /* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, KC_NO, KC_NO, kp_1, kp_2, kp_3, kp_enter, KC_NO, KC_NO, k_d, k_s }, \
- /* 6 */ { k_z, k_v, k_m, k_cm, k_period, k_nuhs, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
- /* 7 */ { KC_NO, k_b, k_n, KC_NO, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, KC_NO } \
-}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/info.json b/keyboards/unicomp/classic_ultracl_post_2013/info.json
index dee9f85acc1a..693250310d38 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_post_2013/info.json
@@ -1,29 +1,2636 @@
{
- "keyboard_name": "Unicomp Classic / Ultra Classic (post-2013)",
- "manufacturer": "Unicomp/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
+ "matrix_pins": {
+ "ghost": true
+ },
"usb": {
"vid": "0x16C0",
"pid": "0x27DB",
"device_version": "0.0.1"
},
- "indicators": {
- "caps_lock": "C11",
- "num_lock": "C12",
- "scroll_lock": "C10"
- },
- "processor": "STM32F446",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 13,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 3.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 12.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 13.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 5,
+ "y": 5.5,
+ "w": 4.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 18.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 19.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 21.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 12.75,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 2.5,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
}
}
}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
index 88eb8c2c513a..71e60e9cfe65 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
@@ -15,41 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, so that is A10.
-// On this keyboard the right-most 8 pins (excluding the unused pin) are routed on the bottom.
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
-#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
new file mode 100644
index 000000000000..13615db22d43
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "Unicomp Classic / Ultra Classic / New M (post-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
+ "maintainer": "purdeaandrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "indicators": {
+ "caps_lock": "C11",
+ "num_lock": "C12",
+ "scroll_lock": "C10"
+ },
+ "processor": "STM32F446",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+ // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+ "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+ }
+}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.c
deleted file mode 100644
index cb5ec3dc124e..000000000000
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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 "overnumpad_1xb.h"
-
-void keyboard_post_init_kb(void)
-{
- //debug_enable=true;
- //debug_matrix=true;
-}
-
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index a62e8cfbab21..000000000000
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_code, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_ansi( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
- k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_iso( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
index fe8fc769e499..7889bf6d8299 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
@@ -2,7 +2,7 @@
![unicomp/classic_ultracl_post_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
-Will support the following Unicomp Classic and Ultra Classic keyboards:
+Will support the following Unicomp Classic, Ultra Classic, and New Model M keyboards:
* 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
* It will likely also support 103-key ANSI or 104-key ISO keyboard variants (not tested) (these are the keyboards with no menu key)
* At this point in time it's unclear if it supports 101-key keyboard variants built after 2013.
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
index aa28ce85c896..3230af60245e 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
@@ -1,30 +1,2646 @@
{
- "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)",
- "manufacturer": "Unicomp/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
+ "matrix_pins": {
+ "ghost": true
+ },
"usb": {
"vid": "0x16C0",
"pid": "0x27DB",
"device_version": "0.0.1"
},
- "indicators": {
- "caps_lock": "C11",
- "num_lock": "C12",
- "scroll_lock": "C10"
- },
- "processor": "STM32F446", // RET6
- "bootloader": "stm32-dfu",
- "community_layouts": ["fullsize_ansi", "fullsize_iso"],
+ "community_layouts": [
+ "fullsize_ansi",
+ "fullsize_iso"
+ ],
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 13,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 3.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 12.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 13.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 5,
+ "y": 5.5,
+ "w": 4.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 18.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 19.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 21.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_fullsize_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 12.75,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_fullsize_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 2.5,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
}
}
}
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
index 88eb8c2c513a..71e60e9cfe65 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
@@ -15,41 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, so that is A10.
-// On this keyboard the right-most 8 pins (excluding the unused pin) are routed on the bottom.
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
-#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json
new file mode 100644
index 000000000000..1c2f5b300bdd
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
+ "indicators": {
+ "caps_lock": "C11",
+ "num_lock": "C12",
+ "scroll_lock": "C10"
+ },
+ "processor": "STM32F446", // RET6
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+ // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+ "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+ }
+}
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.c
deleted file mode 100644
index cb5ec3dc124e..000000000000
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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 "overnumpad_1xb.h"
-
-void keyboard_post_init_kb(void)
-{
- //debug_enable=true;
- //debug_matrix=true;
-}
-
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index a939e986dd30..000000000000
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_code, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_fullsize_ansi( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
- k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_fullsize_iso( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
index c25024b4772e..b972de30749c 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
@@ -3,7 +3,7 @@
![unicomp/classic_ultracl_pre_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
Will support the following Unicomp Classic and Ultra Classic keyboards:
- * 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
+ * 104-key ANSI and 105-key ISO keyboards with pre-2013 bottom row are supported.
* Keyboard Maintainer: [Purdea Andrei](https://github.com/purdeaandrei)
* Hardware Supported: OverNumpad controller v1.Xb
diff --git a/keyboards/unicomp/pc122/info.json b/keyboards/unicomp/pc122/info.json
index f1d47ef1b001..0c580e729f78 100644
--- a/keyboards/unicomp/pc122/info.json
+++ b/keyboards/unicomp/pc122/info.json
@@ -1,23 +1,2000 @@
{
- "keyboard_name": "Unicomp PC122",
- "manufacturer": "Unicomp/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
+ "matrix_pins": {
+ "ghost": true
+ },
"usb": {
"vid": "0x16C0",
"pid": "0x27DB",
"device_version": "0.0.1"
},
- "indicators": {
- "caps_lock": "C11",
- "num_lock": "C12",
- "scroll_lock": "C10"
- },
- "processor": "STM32F446", // RET6
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":13.25, "y":1}, {"x":14.25, "y":1}, {"x":0, "y":2.5}, {"x":1, "y":2.5}, {"x":2.25, "y":2.5}, {"x":3.25, "y":2.5}, {"x":4.25, "y":2.5}, {"x":5.25, "y":2.5}, {"x":6.25, "y":2.5}, {"x":7.25, "y":2.5}, {"x":8.25, "y":2.5}, {"x":9.25, "y":2.5}, {"x":10.25, "y":2.5}, {"x":11.25, "y":2.5}, {"x":12.25, "y":2.5}, {"x":13.25, "y":2.5}, {"x":14.25, "y":2.5}, {"x":15.25, "y":2.5, "w":2}, {"x":17.75, "y":2.5}, {"x":18.75, "y":2.5}, {"x":19.75, "y":2.5}, {"x":21.25, "y":2.5}, {"x":22.25, "y":2.5}, {"x":23.25, "y":2.5}, {"x":24.25, "y":2.5}, {"x":0, "y":3.5}, {"x":1, "y":3.5}, {"x":2.25, "y":3.5, "w":1.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5}, {"x":14.75, "y":3.5}, {"x":15.75, "y":3.5, "w":1.5}, {"x":17.75, "y":3.5}, {"x":18.75, "y":3.5}, {"x":19.75, "y":3.5}, {"x":21.25, "y":3.5}, {"x":22.25, "y":3.5}, {"x":23.25, "y":3.5}, {"x":24.25, "y":3.5}, {"x":0, "y":4.5}, {"x":1, "y":4.5}, {"x":2.25, "y":4.5, "w":1.75}, {"x":4, "y":4.5}, {"x":5, "y":4.5}, {"x":6, "y":4.5}, {"x":7, "y":4.5}, {"x":8, "y":4.5}, {"x":9, "y":4.5}, {"x":10, "y":4.5}, {"x":11, "y":4.5}, {"x":12, "y":4.5}, {"x":13, "y":4.5}, {"x":14, "y":4.5}, {"x":15, "y":4.5}, {"x":16, "y":4.5, "w":1.25}, {"x":18.75, "y":4.5}, {"x":21.25, "y":4.5}, {"x":22.25, "y":4.5}, {"x":23.25, "y":4.5}, {"x":24.25, "y":4.5}, {"x":0, "y":5.5}, {"x":1, "y":5.5}, {"x":2.25, "y":5.5, "w":1.25}, {"x":3.5, "y":5.5}, {"x":4.5, "y":5.5}, {"x":5.5, "y":5.5}, {"x":6.5, "y":5.5}, {"x":7.5, "y":5.5}, {"x":8.5, "y":5.5}, {"x":9.5, "y":5.5}, {"x":10.5, "y":5.5}, {"x":11.5, "y":5.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5}, {"x":14.5, "y":5.5, "w":2.75}, {"x":17.75, "y":5.5}, {"x":18.75, "y":5.5}, {"x":19.75, "y":5.5}, {"x":21.25, "y":5.5}, {"x":22.25, "y":5.5}, {"x":23.25, "y":5.5}, {"x":24.25, "y":5.5, "h":2}, {"x":0, "y":6.5}, {"x":1, "y":6.5}, {"x":2.25, "y":6.5, "w":1.5}, {"x":4.75, "y":6.5, "w":1.5}, {"x":6.25, "y":6.5, "w":7}, {"x":13.25, "y":6.5, "w":1.5}, {"x":15.75, "y":6.5, "w":1.5}, {"x":18.75, "y":6.5}, {"x":21.25, "y":6.5, "w":2}, {"x":23.25, "y":6.5}]
+ "layout": [
+ {
+ "matrix": [
+ 3,
+ 14
+ ],
+ "x": 3.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 14
+ ],
+ "x": 4.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 5.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 15
+ ],
+ "x": 6.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 7.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 8.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 9.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 10.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 11.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 12.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 13.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 13
+ ],
+ "x": 14.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 3.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 4.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 5.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 6.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 7.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 8.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 9.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 10.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 1,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 2.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 3.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 4.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 5.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 7.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 8.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 9.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 10.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 11.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 12.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 13.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 14.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 15.25,
+ "y": 2.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 17.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 18.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 19.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 21.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 22.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 23.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 24.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 0,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 1,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 2.25,
+ "y": 3.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 13.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 14.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 15.75,
+ "y": 3.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 17.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 18.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 19.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 21.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 22.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 23.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 24.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 7,
+ 15
+ ],
+ "x": 0,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 0,
+ 15
+ ],
+ "x": 1,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 2.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 4,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 6,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 7,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 8,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 9,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 10,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 11,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 12,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 13,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 14,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 15,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 16,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 18.75,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 21.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 22.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 23.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 24.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 0,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 1,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 2.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 3.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 4.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 5.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 6.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 7.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 8.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 9.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 10.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 11.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 13.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 14.5,
+ "y": 5.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 17.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 13
+ ],
+ "x": 18.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 19.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 21.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 22.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 23.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 24.25,
+ "y": 5.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 0,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 4,
+ 15
+ ],
+ "x": 1,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 2.25,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 4.75,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 6.25,
+ "y": 6.5,
+ "w": 7
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 13.25,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 15.75,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 18.75,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 21.25,
+ "y": 6.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 23.25,
+ "y": 6.5
+ }
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {
+ "matrix": [
+ 3,
+ 14
+ ],
+ "x": 3.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 14
+ ],
+ "x": 4.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 5.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 15
+ ],
+ "x": 6.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 7.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 8.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 9.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 10.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 11.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 12.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 13.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 3,
+ 13
+ ],
+ "x": 14.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 3.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 4.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 5.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 6.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 7.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 8.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 9.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 10.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14.25,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 1,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 2.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 3.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 4.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 5.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 7.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 8.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 9.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 10.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 11.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 12.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 13.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 14.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 15.25,
+ "y": 2.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 17.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 18.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 19.75,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 21.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 22.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 23.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 24.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 0,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 1,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 2.25,
+ "y": 3.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 13.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 14.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 15.75,
+ "y": 3.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 17.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 18.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 19.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 21.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 22.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 23.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 24.25,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 7,
+ 15
+ ],
+ "x": 0,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 0,
+ 15
+ ],
+ "x": 1,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 2.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 4,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 6,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 7,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 8,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 9,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 10,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 11,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 12,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 13,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 14,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 15,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 18.75,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 21.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 22.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 23.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 24.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 0,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 1,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 2.25,
+ "y": 5.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 4.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 5.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 6.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 7.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 8.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 9.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 10.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 11.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 13.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 14.5,
+ "y": 5.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 17.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 13
+ ],
+ "x": 18.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 19.75,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 21.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 22.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 23.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 24.25,
+ "y": 5.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 0,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 4,
+ 15
+ ],
+ "x": 1,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 2.25,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 4.75,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 6.25,
+ "y": 6.5,
+ "w": 7
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 13.25,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 15.75,
+ "y": 6.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 18.75,
+ "y": 6.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 21.25,
+ "y": 6.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 23.25,
+ "y": 6.5
+ }
+ ]
}
}
}
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/config.h b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
index 88eb8c2c513a..71e60e9cfe65 100644
--- a/keyboards/unicomp/pc122/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
@@ -15,41 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, so that is A10.
-// On this keyboard the right-most 8 pins (excluding the unused pin) are routed on the bottom.
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
-#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/info.json b/keyboards/unicomp/pc122/overnumpad_1xb/info.json
new file mode 100644
index 000000000000..16e391682319
--- /dev/null
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "Unicomp PC122",
+ "manufacturer": "Unicomp/Purdea Andrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
+ "indicators": {
+ "caps_lock": "C11",
+ "num_lock": "C12",
+ "scroll_lock": "C10"
+ },
+ "processor": "STM32F446", // RET6
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+ // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+ "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+ }
+}
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.c
deleted file mode 100644
index cb5ec3dc124e..000000000000
--- a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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 "overnumpad_1xb.h"
-
-void keyboard_post_init_kb(void)
-{
- //debug_enable=true;
- //debug_matrix=true;
-}
-
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index e0dc0d8f33f1..000000000000
--- a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- k_f13, k_f14, k_f15, k_f16, k_f17, k_f18, k_f19, k_f20, k_f21, k_f22, k_f23, k_f24, \
- k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, \
-k_lb1, k_lb2, k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
-k_lb3, k_lb4, k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
-k_lb5, k_lb6, k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, k_up, kp_4, kp_5, kp_6, kp_plus_hidden, \
-k_lb7, k_lb8, k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_left, k_navmid, k_right, kp_1, kp_2, kp_3, kp_enter, \
-k_lb9, k_lb10, k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_down, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_lb1, k_lb4, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_lb3, k_right, k_lb2, k_lb6 }, \
- /* 1 */ { k_tab, k_f21, k_del, k_pgdn, k_f22, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_f23, k_f14, k_caps }, \
- /* 2 */ { k_1, k_f19, kp_nl, k_pgup, k_f17, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lb9, k_f16 }, \
- /* 3 */ { k_q, k_rshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, k_f24, k_f13, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_f20, k_f15, k_lb10 }, \
- /* 5 */ { k_z, k_lshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, k_navmid, kp_plus_hidden, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_ralt, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, k_lb7, KC_NO }, \
- /* 7 */ { k_tild, k_f18, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_lb8, k_space, kp_enter, k_lb5 } \
-}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/info.json b/keyboards/unicomp/spacesaver_m_post_2013/info.json
index c484553e8998..fc91057391fe 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_post_2013/info.json
@@ -1,27 +1,2650 @@
{
- "keyboard_name": "Unicomp Spacesaver M",
- "manufacturer": "Unicomp/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
+ "matrix_pins": {
+ "ghost": true
+ },
"usb": {
"vid": "0x16C0",
"pid": "0x27DB",
"device_version": "0.0.1"
},
- "indicators": {
- "caps_lock": "C12"
- },
- "processor": "STM32F446", // RET6
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 13,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 3.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 12.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 13.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 5,
+ "y": 5.5,
+ "w": 4.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 18.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 19.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 21.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 12.75,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 2.5,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
}
}
}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
index 88eb8c2c513a..71e60e9cfe65 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
@@ -15,41 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, so that is A10.
-// On this keyboard the right-most 8 pins (excluding the unused pin) are routed on the bottom.
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
-#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json
new file mode 100644
index 000000000000..cf25addc9e28
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "Unicomp Spacesaver M (post-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
+ "indicators": {
+ "caps_lock": "C12"
+ },
+ "processor": "STM32F446", // RET6
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+ // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+ "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+ }
+}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
index eda367804d0f..f0c1161cfe38 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -14,18 +14,15 @@
* along with this program. If not, see .
*/
-#include "overnumpad_1xb.h"
+#include "quantum.h"
void keyboard_post_init_kb(void)
{
// Led pins:
- // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
+ // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
setPinOutput(C11); // middle led, always off on Spacesaver M
writePin(C11, 0);
setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
-
- //debug_enable=true;
- //debug_matrix=true;
}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index faffbcd4ec57..000000000000
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_code, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_ansi( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_iso( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/info.json b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
index 249b33fdd24b..57ac811dd9f0 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
@@ -1,27 +1,2656 @@
{
- "keyboard_name": "Unicomp Spacesaver M",
- "manufacturer": "Unicomp/Purdea Andrei",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
+ "matrix_pins": {
+ "ghost": true
+ },
"usb": {
"vid": "0x16C0",
"pid": "0x27DB",
"device_version": "0.0.1"
},
- "indicators": {
- "caps_lock": "C12"
- },
- "processor": "STM32F446", // RET6
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 13,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 3.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 12.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 13.25,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 5,
+ "y": 5.5,
+ "w": 4.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 14
+ ],
+ "x": 18.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 19.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 6,
+ 14
+ ],
+ "x": 21.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 13.5,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 12.75,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
},
"LAYOUT_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 8
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 10
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 11
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 14
+ ],
+ "x": 16.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 17.25,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 4,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 6,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 7
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 8,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 11,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 12,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 13,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 18.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 19.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 20.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 21.5,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 1.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 2.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 3.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 4.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 5.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 6.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 8.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 11.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 12.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 5,
+ 8
+ ],
+ "x": 13.75,
+ "y": 2.5,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 15.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 16.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 17.25,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 18.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 19.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 20.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 12
+ ],
+ "x": 21.5,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 1,
+ 15
+ ],
+ "x": 0,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 1.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 2.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 3.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 4.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 5.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 6.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 8.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 11.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 6,
+ 13
+ ],
+ "x": 12.75,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 18.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 19.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 20.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 4,
+ 14
+ ],
+ "x": 21.5,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 6,
+ 0
+ ],
+ "x": 1.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 0
+ ],
+ "x": 2.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 4.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 5.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 7
+ ],
+ "x": 8.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 9.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 9
+ ],
+ "x": 10.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 10
+ ],
+ "x": 11.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 12.25,
+ "y": 4.5,
+ "w": 2.75
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 16.25,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 18.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 11
+ ],
+ "x": 19.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 20.5,
+ "y": 4.5
+ },
+ {
+ "matrix": [
+ 7,
+ 14
+ ],
+ "x": 21.5,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 15
+ ],
+ "x": 0,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 14
+ ],
+ "x": 1.5,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 2.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 13
+ ],
+ "x": 4,
+ "y": 5.5,
+ "w": 5.75
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 9.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 11,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 7,
+ 12
+ ],
+ "x": 12.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 15
+ ],
+ "x": 13.5,
+ "y": 5.5,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 6,
+ 8
+ ],
+ "x": 15.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 16.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 17.25,
+ "y": 5.5
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 18.5,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 20.5,
+ "y": 5.5
+ }
+ ]
}
}
}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
index 88eb8c2c513a..71e60e9cfe65 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
@@ -15,41 +15,17 @@
*/
#pragma once
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-// All pins in order from left-to-right, as seen on the keyboard:
-// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
-// On this chip A10, B10 have stronger pull-ups, so it's better to avoid them if possible.
-
-// On this keyboard the right-most pin is not used, so that is A10.
-// On this keyboard the right-most 8 pins (excluding the unused pin) are routed on the bottom.
-
-#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
-#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
#define STM32_HSECLK 16000000
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
#define SOLENOID_MIN_DWELL 4
#define HAPTIC_OFF_IN_LOW_POWER 1
#define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json
new file mode 100644
index 000000000000..31fc97a527fa
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "Unicomp Spacesaver M (pre-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
+ "indicators": {
+ "caps_lock": "C12"
+ },
+ "processor": "STM32F446", // RET6
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+ // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+ "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+ "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+ }
+}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
index b7e3fd9632e2..517df0035a3b 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -14,18 +14,15 @@
* along with this program. If not, see .
*/
-#include "overnumpad_1xb.h"
+#include "quantum.h"
void keyboard_post_init_kb(void)
{
// Led pins:
- // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
+ // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
setPinOutput(C11); // middle led, always off on Spacesaver M
writePin(C11, 0);
setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
-
- //debug_enable=true;
- //debug_matrix=true;
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index 0938d456d10f..000000000000
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * 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"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_code, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_ansi( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
-
-#define LAYOUT_iso( \
- k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
- k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
- k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
- k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, kp_plus_hidden, \
- k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
- k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
-) \
-{ \
- /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
- /* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
- /* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
- /* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
- /* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
- /* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
- /* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
- /* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
- /* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
-}
From d06ce0153bd4b608a20698c4a9e1d559b4c05683 Mon Sep 17 00:00:00 2001
From: Ryan
Date: Mon, 3 Apr 2023 16:34:03 +1000
Subject: [PATCH 7/7] PR checklist: keyboard updates must go to `develop`
(#20323)
---
docs/pr_checklist.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md
index bacb9480dae3..6dc6c0000d9a 100644
--- a/docs/pr_checklist.md
+++ b/docs/pr_checklist.md
@@ -53,6 +53,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- keyboard moves within the repository *must* go through the `develop` branch instead of `master`, so as to ensure compatibility for users
- `data/mappings/keyboard_aliases.hjson` must be updated to reflect the move, so users with pre-created configurator keymap.json files continue to detect the correct keyboard
+- keyboard updates and refactors (eg. to data driven) *must* go through `develop` to reduce `master` -> `develop` merge conflicts
- PR submissions from a `kbfirmware` export (or equivalent) will not be accepted unless converted to new QMK standards -- try `qmk import-kbfirmware` first
- `info.json`
- With the move to [data driven](https://docs.qmk.fm/#/data_driven_config) keyboard configuration, we encourage contributors to utilise as many features as possible of the info.json [schema](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema).