diff --git a/.github/workflows/ci_builds.yml b/.github/workflows/ci_builds.yml index 1d217e2d7195..ce2d0b509e7b 100644 --- a/.github/workflows/ci_builds.yml +++ b/.github/workflows/ci_builds.yml @@ -4,10 +4,9 @@ permissions: contents: read on: - push: - branches: - - master - - develop + workflow_dispatch: + schedule: + - cron: '0 0,12 * * *' jobs: ci_builds: @@ -18,7 +17,9 @@ jobs: if: github.repository == 'qmk/qmk_firmware' strategy: + fail-fast: false matrix: + branch: [master, develop] keymap: [default, via] container: qmkfm/qmk_cli @@ -30,19 +31,30 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive + ref: ${{ matrix.branch }} - name: Install dependencies run: pip3 install -r requirements.txt - name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }}) - run: qmk mass-compile -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -km ${{ matrix.keymap }} - - - name: 'Upload binaries' + run: | + export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) + qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed + # Generate the step summary markdown + ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true + # Truncate to a maximum of 1MB to deal with GitHub workflow limit + truncate --size='<960K' $GITHUB_STEP_SUMMARY || true + # Exit with failure if the compilation stage failed + [ ! -f .failed ] || exit 1 + + - name: 'Upload artifacts' uses: actions/upload-artifact@v3 + if: always() with: - name: binaries-${{ matrix.keymap }} + name: artifacts-${{ matrix.branch }}-${{ matrix.keymap }} if-no-files-found: ignore path: | *.bin *.hex *.uf2 + .build/failed.* diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 7a5412ccd2be..5fd61a96ce77 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -29,6 +29,11 @@ KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE) +ifeq ($(strip $(DUMP_CI_METADATA)),yes) + $(info CI Metadata: KEYBOARD=$(KEYBOARD)) + $(info CI Metadata: KEYMAP=$(KEYMAP)) +endif + # Force expansion TARGET := $(TARGET) diff --git a/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c b/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c deleted file mode 100644 index 802a61b907f7..000000000000 --- a/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[0] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRV, - 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_BSPC, - KC_LGUI, 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, - SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2), - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL), - -[1] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRV, - 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_BSPC, - 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_NO, KC_ENT, - SC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2), - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL), - -[2] = LAYOUT_all( - KC_EXEC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, _______, - _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, KC_PENT, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, - DF(1), DF(0), _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, QK_BOOT ) -}; - - diff --git a/keyboards/4pplet/steezy60/keymaps/canon/keymap.c b/keyboards/4pplet/steezy60/keymaps/canon/keymap.c new file mode 100644 index 000000000000..92cfe047e9aa --- /dev/null +++ b/keyboards/4pplet/steezy60/keymaps/canon/keymap.c @@ -0,0 +1,39 @@ +/* +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 . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* +* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ +* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ +* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ +* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ | Ent│ +* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───| er │ +* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ │ +* ├────┬───|───┴┬──┴┬──┴───┴───┴───┴───┴┬──┴┬──┴┬──┴─┬───|────┤ +* │Ctrl│GUI│None│Alt│ Space │Alt│GUI│None│App│Ctrl│ +* └────┴───┴────┴───┴───────────────────┴───┴───┴────┴───┴────┘ +*/ +[0] = LAYOUT_canon( + 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_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_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_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_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_NO, KC_APP, KC_RCTL) +}; diff --git a/keyboards/4pplet/steezy60/keymaps/default/keymap.c b/keyboards/4pplet/steezy60/keymaps/default/keymap.c index 530728c2251c..b4a30ba749a2 100644 --- a/keyboards/4pplet/steezy60/keymaps/default/keymap.c +++ b/keyboards/4pplet/steezy60/keymaps/default/keymap.c @@ -1,18 +1,34 @@ +/* +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 . +*/ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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_NO, 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_NO, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO, - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), + 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_BSLS, 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_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_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_NO, KC_RSFT, KC_NO, + KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), [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_DEL, - _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ ) -}; \ No newline at end of file + 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_DEL, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; diff --git a/keyboards/4pplet/steezy60/keymaps/via/keymap.c b/keyboards/4pplet/steezy60/keymaps/via/keymap.c index 6a0e7605829f..d6a1151fcfda 100644 --- a/keyboards/4pplet/steezy60/keymaps/via/keymap.c +++ b/keyboards/4pplet/steezy60/keymaps/via/keymap.c @@ -1,32 +1,48 @@ +/* +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 . +*/ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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_NO, 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_NO, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO, - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), + 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_BSLS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, + KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO, + KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)), [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_DEL, - _______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ ), + 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_DEL, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; \ No newline at end of file +}; diff --git a/keyboards/4pplet/steezy60/readme.md b/keyboards/4pplet/steezy60/readme.md index 34245b84ef6b..82608d340787 100644 --- a/keyboards/4pplet/steezy60/readme.md +++ b/keyboards/4pplet/steezy60/readme.md @@ -5,10 +5,25 @@ A 60% PCB with a ton of layout options for SMK and Alps switches More info: https://geekhack.org/index.php?topic=103531.0 * Keyboard Maintainer: [4pplet](https://github.com/4pplet) -* Hardware Supported: Steezy60 Rev A +* Hardware Supported: Steezy60 Rev A and B +* Hardware Availability: https://4pplet.com/products/steezy60 Make example for this keyboard (after setting up your build environment): make 4pplet/steezy60/rev_a:default + make 4pplet/steezy60/rev_b:default -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). \ No newline at end of file +Flashing example for this keyboard: + + make 4pplet/steezy60/rev_a:default:flash + make 4pplet/steezy60/rev_b: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 Escape and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB or short the reset header +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/4pplet/steezy60/rev_a/config.h b/keyboards/4pplet/steezy60/rev_a/config.h deleted file mode 100644 index f7ef22d986d4..000000000000 --- a/keyboards/4pplet/steezy60/rev_a/config.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - - -// ROWS: Top to bottom, COLS: Left to right -#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5} -#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1} - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -#define RGB_DI_PIN D3 -#define RGBLED_NUM 12 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#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_EFFECT_TWINKLE diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/info.json index b6e9c37ba25d..2125a491ca07 100644 --- a/keyboards/4pplet/steezy60/rev_a/info.json +++ b/keyboards/4pplet/steezy60/rev_a/info.json @@ -1,96 +1,724 @@ { "keyboard_name": "Steezy60 Rev A", "manufacturer": "4pplet", - "url": "", + "url": "https://github.com/4pplet/steezy60", "maintainer": "4pplet", "usb": { "vid": "0x4444", "pid": "0x0002", "device_version": "0.0.1" }, - "qmk_lufa_bootloader": { - "esc_input": "C2", - "esc_output": "C4" - }, "processor": "atmega32u2", "bootloader": "atmel-dfu", + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_tsangan_hhkb" + ], + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C4","C6","B7","B6","B5","B4","B3","B2","B1","D6","D5","D4","D2","D1"], + "rows": ["C2","D0","B0","C7","C5"] + }, + "features": { + "audio": false, + "backlight": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 12, + "pin": "D3", + "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 + } + }, "layouts": { "LAYOUT_all": { "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - {"x":4, "y":0}, - {"x":5, "y":0}, - {"x":6, "y":0}, - {"x":7, "y":0}, - {"x":8, "y":0}, - {"x":9, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, - {"x":12, "y":0}, - {"x":13, "y":0}, - {"x":14, "y":0}, - - {"x":0, "y":1, "w":1.5}, - {"x":1.5, "y":1}, - {"x":2.5, "y":1}, - {"x":3.5, "y":1}, - {"x":4.5, "y":1}, - {"x":5.5, "y":1}, - {"x":6.5, "y":1}, - {"x":7.5, "y":1}, - {"x":8.5, "y":1}, - {"x":9.5, "y":1}, - {"x":10.5, "y":1}, - {"x":11.5, "y":1}, - {"x":12.5, "y":1}, - {"x":13.5, "y":1, "w":1.5}, - - {"x":0, "y":2, "w":1.75}, - {"x":1.75, "y":2}, - {"x":2.75, "y":2}, - {"x":3.75, "y":2}, - {"x":4.75, "y":2}, - {"x":5.75, "y":2}, - {"x":6.75, "y":2}, - {"x":7.75, "y":2}, - {"x":8.75, "y":2}, - {"x":9.75, "y":2}, - {"x":10.75, "y":2}, - {"x":11.75, "y":2}, - {"x":12.75, "y":2}, - {"x":13.75, "y":2, "w":1.25}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":3}, - {"x":4, "y":3}, - {"x":5, "y":3}, - {"x":6, "y":3}, - {"x":7, "y":3}, - {"x":8, "y":3}, - {"x":9, "y":3}, - {"x":10, "y":3}, - {"x":11, "y":3}, - {"x":12, "y":3}, - {"x":13, "y":3}, - {"x":14, "y":3}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - {"x":3, "y":4}, - {"x":4, "y":4, "w":2.25}, - {"x":6.25, "y":4, "w":1.5}, - {"x":7.75, "y":4, "w":2.25}, - {"x":10, "y":4}, - {"x":11, "y":4}, - {"x":12, "y":4}, - {"x":13, "y":4}, - {"x":14, "y":4} + { "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "NUBS", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "<", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": ">", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "?", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "Shift", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "None", "matrix": [4, 2], "x": 2, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 }, + { "label": "LSpace", "matrix": [4, 4], "w": 2.5, "x": 4, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 1.25, "x": 6.5, "y": 4 }, + { "label": "RSpace", "matrix": [4, 6], "w": 2.25, "x": 7.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 }, + { "label": "None", "matrix": [4, 9], "x": 12, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "x": 13, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_ansi": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_tsangan": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_hhkb": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 } + ] + }, + "LAYOUT_60_iso": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_tsangan": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_canon": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Enter", "matrix": [4, 12], "w": 1.25, "h": 2, "x": 13.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.5, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "Win", "matrix": [4, 2], "x": 2, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 }, + { "label": "Menu", "matrix": [4, 9], "x": 12, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 10], "x": 13, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 } ] } } diff --git a/keyboards/4pplet/steezy60/rev_a/rev_a.c b/keyboards/4pplet/steezy60/rev_a/rev_a.c deleted file mode 100644 index d3db08ad193b..000000000000 --- a/keyboards/4pplet/steezy60/rev_a/rev_a.c +++ /dev/null @@ -1 +0,0 @@ -#include "rev_a.h" diff --git a/keyboards/4pplet/steezy60/rev_a/rev_a.h b/keyboards/4pplet/steezy60/rev_a/rev_a.h deleted file mode 100644 index b8c3fa6b05a3..000000000000 --- a/keyboards/4pplet/steezy60/rev_a/rev_a.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -#include "quantum.h" - -#define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k4d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d,k4c, \ - k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \ -) \ -{ \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ - {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ - {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d} \ -} diff --git a/keyboards/4pplet/steezy60/rev_a/rules.mk b/keyboards/4pplet/steezy60/rev_a/rules.mk index 6fe874e748be..96c9ff2cbbe5 100644 --- a/keyboards/4pplet/steezy60/rev_a/rules.mk +++ b/keyboards/4pplet/steezy60/rev_a/rules.mk @@ -1,12 +1,4 @@ # 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 +KEY_LOCK_ENABLE = yes diff --git a/keyboards/4pplet/steezy60/rev_b/config.h b/keyboards/4pplet/steezy60/rev_b/config.h new file mode 100644 index 000000000000..eb7d87e083a0 --- /dev/null +++ b/keyboards/4pplet/steezy60/rev_b/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/steezy60/rev_b/info.json b/keyboards/4pplet/steezy60/rev_b/info.json new file mode 100644 index 000000000000..6ffe02e506e3 --- /dev/null +++ b/keyboards/4pplet/steezy60/rev_b/info.json @@ -0,0 +1,725 @@ +{ + "keyboard_name": "Steezy60 Rev B", + "manufacturer": "4pplet", + "url": "https://github.com/4pplet/steezy60", + "maintainer": "4pplet", + "usb": { + "vid": "0x4444", + "pid": "0x0013", + "device_version": "0.0.2" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_tsangan_hhkb" + ], + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["A7","A5","A4","A3","A1","F1","F0","C15","C14","B9","B6","B5","B4","B3"], + "rows": ["B8","A15","C13","A2","A6"] + }, + "features": { + "audio": false, + "backlight": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 12, + "pin": "A8", + "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 + } + }, + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "NUBS", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "<", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": ">", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "?", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "Shift", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "None", "matrix": [4, 2], "x": 2, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 }, + { "label": "LSpace", "matrix": [4, 4], "w": 2.5, "x": 4, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 1.25, "x": 6.5, "y": 4 }, + { "label": "RSpace", "matrix": [4, 6], "w": 2.25, "x": 7.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 }, + { "label": "None", "matrix": [4, 9], "x": 12, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "x": 13, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_ansi": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_tsangan": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_hhkb": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 } + ] + }, + "LAYOUT_60_iso": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_tsangan": { + "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": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_canon": { + "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": "|", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "~", "matrix": [4, 13], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Enter", "matrix": [4, 12], "w": 1.25, "h": 2, "x": 13.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "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, 13], "w": 1.5, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "Win", "matrix": [4, 2], "x": 2, "y": 4 }, + { "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 }, + { "label": "Space", "matrix": [4, 5], "w": 6, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 }, + { "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 }, + { "label": "Menu", "matrix": [4, 9], "x": 12, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 10], "x": 13, "y": 4 }, + { "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 } + ] + } + } +} diff --git a/keyboards/4pplet/steezy60/rev_b/rules.mk b/keyboards/4pplet/steezy60/rev_b/rules.mk new file mode 100644 index 000000000000..68bddfc74854 --- /dev/null +++ b/keyboards/4pplet/steezy60/rev_b/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 diff --git a/keyboards/alhenkb/macropad5x4/info.json b/keyboards/alhenkb/macropad5x4/info.json new file mode 100644 index 000000000000..68f6cb030101 --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/info.json @@ -0,0 +1,73 @@ +{ + "manufacturer": "AlhenKB", + "keyboard_name": "Macropad 5x4", + "maintainer": "alhenx", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "rows": ["F5", "F7", "B3", "B6", "B5"], + "cols": ["F4", "F6", "B1", "B2"] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x6178" + }, + "community_layouts": ["ortho_5x4", "numpad_5x4"], + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "K13 (F7,B2)", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "K33 (B6,B2)", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "K41 (B5,F6)", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 4} + ] + }, + "LAYOUT_numpad_5x4": { + "layout": [ + {"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 1, "h": 2}, + {"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4, "w": 2}, + {"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4} + {"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 3, "h": 2}, + ] + } + } +} diff --git a/keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c b/keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c new file mode 100644 index 000000000000..12a878346e4d --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │ 1 │ 2 │ 3 │ 4 │ + * ├───┼───┼───┼───┤ + * │ 5 │ 6 │ 7 │ 8 │ + * ├───┼───┼───┼───┤ + * │ Q │ W │ E │ R │ + * ├───┼───┼───┼───┤ + * │ A │ S │ D │ F │ + * ├───┼───┼───┼───┤ + * │ Z │ X │ C │ V │ + * └───────┴───┴───┘ + */ + [0] = LAYOUT_ortho_5x4( + KC_P1, KC_P2, KC_P3, KC_P4, + KC_P5, KC_P6, KC_P7, KC_P8, + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F, + KC_Z, KC_X, KC_C, KC_V + ), +}; diff --git a/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c b/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c new file mode 100644 index 000000000000..7a1e287e38fb --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │TG1│ / │ * │ - │ + * ├───┼───┼───┼───┤ + * │ 7 │ 8 │ 9 │ │ + * ├───┼───┼───┤ + │ + * │ 4 │ 5 │ 6 │ │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ │ + * ├───┴───┼───┤Ent│ + * │ 0 │ . │ │ + * └───────┴───┴───┘ + */ + [0] = LAYOUT_numpad_5x4( + TG(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + + /* + * ┌───┬───┬───┬───┐ + * │TG1│ / │ * │ - │ + * ┌───┬───┬───┐───┤ + * │Hom│ ↑ │PgU│ │ + * ├───┼───┼───┤ + │ + * │ ← │ │ → │ │ + * ├───┼───┼───┤───┤ + * │End│ ↓ │PgD│ │ + * ├───┴───┼───┤Ent│ + * │Insert │Del│ │ + * └───────┴───┘───┘ + */ + [1] = LAYOUT_numpad_5x4( + _______, _______, _______, _______, + KC_HOME, KC_UP, KC_PGUP, + KC_LEFT, XXXXXXX, KC_RGHT, _______, + KC_END, KC_DOWN, KC_PGDN, + KC_INS, KC_DEL, _______ + ) +}; diff --git a/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c b/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c new file mode 100644 index 000000000000..12a878346e4d --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │ 1 │ 2 │ 3 │ 4 │ + * ├───┼───┼───┼───┤ + * │ 5 │ 6 │ 7 │ 8 │ + * ├───┼───┼───┼───┤ + * │ Q │ W │ E │ R │ + * ├───┼───┼───┼───┤ + * │ A │ S │ D │ F │ + * ├───┼───┼───┼───┤ + * │ Z │ X │ C │ V │ + * └───────┴───┴───┘ + */ + [0] = LAYOUT_ortho_5x4( + KC_P1, KC_P2, KC_P3, KC_P4, + KC_P5, KC_P6, KC_P7, KC_P8, + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F, + KC_Z, KC_X, KC_C, KC_V + ), +}; diff --git a/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk b/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/alhenkb/macropad5x4/readme.md b/keyboards/alhenkb/macropad5x4/readme.md new file mode 100644 index 000000000000..f708550f8ad1 --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/readme.md @@ -0,0 +1,41 @@ +# AlhenKB - Macropad 5x4 and Numpad + +![Imgur Image](https://imgur.com/t7Zi2w3h.jpg) +![Imgur Image](https://i.imgur.com/5xlKJlBh.jpg) + + +A macropad 5x4 for MerryPCB. + +* Keyboard Maintainer: [Alhen](https://github.com/alhenx) +* Hardware Supported: MerryPCB + +Make example for this keyboard (after setting up your build environment): + +Macropad: + + make alhenkb/macropad5x4:default + +Numpad: + + make alhenkb/macropad5x4:numpad + +Flashing example for this keyboard: + +Macropad: + + make alhenkb/macropad5x4:default:flash + + +Numpad: + + make alhenkb/macropad5x4:numpad: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 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/alhenkb/macropad5x4/rules.mk b/keyboards/alhenkb/macropad5x4/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/alhenkb/macropad5x4/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/bastardkb/charybdis/3x5/3x5.h b/keyboards/bastardkb/charybdis/3x5/3x5.h index 4ea3ef94bb19..3041397e15d4 100644 --- a/keyboards/bastardkb/charybdis/3x5/3x5.h +++ b/keyboards/bastardkb/charybdis/3x5/3x5.h @@ -37,31 +37,4 @@ { k60, k61, k62, k63, k64 }, \ { k70, KC_NO, k72, KC_NO, KC_NO }, \ } - -/** - * \brief Compatibility layout with the split_3x5_3 community layout. - * - * This effectively renders the Charbdis Nano compatible with existing layout - * implementations relying on the `split_3x5_3` layout, which includes, among - * others, Manna-Harbour's (@manna_harbour) Miryoku layout. - * - * The last key on the layout is ignored, to transform the input 36-keys layout - * into the Charybdis Nano's 35-keys layout. - */ -#define LAYOUT_split_3x5_3( \ - k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ - k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ - k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ - k32, k33, k30, k70, k72, ___ \ -) \ -{ \ - { k00, k01, k02, k03, k04 }, \ - { k10, k11, k12, k13, k14 }, \ - { k20, k21, k22, k23, k24 }, \ - { k30, KC_NO, k32, k33, KC_NO }, \ - { k40, k41, k42, k43, k44 }, \ - { k50, k51, k52, k53, k54 }, \ - { k60, k61, k62, k63, k64 }, \ - { k70, KC_NO, k72, KC_NO, KC_NO }, \ -} // clang-format on diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json index a09ef236bae9..32437edeb0af 100644 --- a/keyboards/bastardkb/charybdis/3x5/info.json +++ b/keyboards/bastardkb/charybdis/3x5/info.json @@ -5,7 +5,6 @@ "pid": "0x1832", "vid": "0xA8F8" }, - "community_layouts": ["split_3x5_3"], "layout_aliases": { "LAYOUT_charybdis_3x5": "LAYOUT" }, @@ -48,46 +47,6 @@ { "label": "R30", "x": 9, "y": 3 }, { "label": "R31", "x": 10, "y": 3 } ] - }, - "LAYOUT_split_3x5_3": { - "layout": [ - { "label": "L00", "x": 0, "y": 0 }, - { "label": "L01", "x": 1, "y": 0 }, - { "label": "L02", "x": 2, "y": 0 }, - { "label": "L03", "x": 3, "y": 0 }, - { "label": "L04", "x": 4, "y": 0 }, - { "label": "R00", "x": 11, "y": 0 }, - { "label": "R01", "x": 12, "y": 0 }, - { "label": "R02", "x": 13, "y": 0 }, - { "label": "R03", "x": 14, "y": 0 }, - { "label": "R04", "x": 15, "y": 0 }, - { "label": "L10", "x": 0, "y": 1 }, - { "label": "L11", "x": 1, "y": 1 }, - { "label": "L12", "x": 2, "y": 1 }, - { "label": "L13", "x": 3, "y": 1 }, - { "label": "L14", "x": 4, "y": 1 }, - { "label": "R10", "x": 11, "y": 1 }, - { "label": "R11", "x": 12, "y": 1 }, - { "label": "R12", "x": 13, "y": 1 }, - { "label": "R13", "x": 14, "y": 1 }, - { "label": "R14", "x": 15, "y": 1 }, - { "label": "L20", "x": 0, "y": 2 }, - { "label": "L21", "x": 1, "y": 2 }, - { "label": "L22", "x": 2, "y": 2 }, - { "label": "L23", "x": 3, "y": 2 }, - { "label": "L24", "x": 4, "y": 2 }, - { "label": "R20", "x": 11, "y": 2 }, - { "label": "R21", "x": 12, "y": 2 }, - { "label": "R22", "x": 13, "y": 2 }, - { "label": "R23", "x": 14, "y": 2 }, - { "label": "R24", "x": 15, "y": 2 }, - { "label": "L30", "x": 4, "y": 3 }, - { "label": "L31", "x": 5, "y": 3 }, - { "label": "L32", "x": 6, "y": 3 }, - { "label": "R30", "x": 9, "y": 3 }, - { "label": "R31", "x": 10, "y": 3 }, - { "label": "R32", "x": 11, "y": 3 } - ] } } } diff --git a/keyboards/bastardkb/charybdis/3x6/3x6.h b/keyboards/bastardkb/charybdis/3x6/3x6.h index 71c22a561bd5..a93d183ae1b4 100644 --- a/keyboards/bastardkb/charybdis/3x6/3x6.h +++ b/keyboards/bastardkb/charybdis/3x6/3x6.h @@ -36,27 +36,4 @@ { k60, k61, k62, k63, k64, k65 }, \ { KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \ } - -/** - * \brief Compatibility layout with the split_3x5_6 community layout. - * - * This effectively renders the Charbdis Nano compatible with existing layout - * implementations relying on the `split_3x6_3` layout. - */ -#define LAYOUT_split_3x6_3( \ - k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \ - k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \ - k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \ - k33, k34, k31, k71, k73, ___ \ -) \ -{ \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \ - { k40, k41, k42, k43, k44, k45 }, \ - { k50, k51, k52, k53, k54, k55 }, \ - { k60, k61, k62, k63, k64, k65 }, \ - { KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \ -} // clang-format on diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json index 1a4d15711f0f..41940b0b8bff 100644 --- a/keyboards/bastardkb/charybdis/3x6/info.json +++ b/keyboards/bastardkb/charybdis/3x6/info.json @@ -3,7 +3,6 @@ "usb": { "pid": "0x1834" }, - "community_layouts": ["split_3x6_3"], "layout_aliases": { "LAYOUT_charybdis_3x6": "LAYOUT" }, @@ -52,52 +51,6 @@ { "label": "R31", "x": 9, "y": 3 }, { "label": "R33", "x": 10, "y": 3 } ] - }, - "LAYOUT_split_3x6_3": { - "layout": [ - { "label": "L00", "x": 0, "y": 0 }, - { "label": "L01", "x": 1, "y": 0 }, - { "label": "L02", "x": 2, "y": 0 }, - { "label": "L03", "x": 3, "y": 0 }, - { "label": "L04", "x": 4, "y": 0 }, - { "label": "L05", "x": 5, "y": 0 }, - { "label": "R00", "x": 11, "y": 0 }, - { "label": "R01", "x": 12, "y": 0 }, - { "label": "R02", "x": 13, "y": 0 }, - { "label": "R03", "x": 14, "y": 0 }, - { "label": "R04", "x": 15, "y": 0 }, - { "label": "R05", "x": 16, "y": 0 }, - { "label": "L10", "x": 0, "y": 1 }, - { "label": "L11", "x": 1, "y": 1 }, - { "label": "L12", "x": 2, "y": 1 }, - { "label": "L13", "x": 3, "y": 1 }, - { "label": "L14", "x": 4, "y": 1 }, - { "label": "L15", "x": 5, "y": 1 }, - { "label": "R10", "x": 11, "y": 1 }, - { "label": "R11", "x": 12, "y": 1 }, - { "label": "R12", "x": 13, "y": 1 }, - { "label": "R13", "x": 14, "y": 1 }, - { "label": "R14", "x": 15, "y": 1 }, - { "label": "R15", "x": 16, "y": 1 }, - { "label": "L20", "x": 0, "y": 2 }, - { "label": "L21", "x": 1, "y": 2 }, - { "label": "L22", "x": 2, "y": 2 }, - { "label": "L23", "x": 3, "y": 2 }, - { "label": "L24", "x": 4, "y": 2 }, - { "label": "L25", "x": 5, "y": 2 }, - { "label": "R20", "x": 11, "y": 2 }, - { "label": "R21", "x": 12, "y": 2 }, - { "label": "R22", "x": 13, "y": 2 }, - { "label": "R23", "x": 14, "y": 2 }, - { "label": "R24", "x": 15, "y": 2 }, - { "label": "R25", "x": 16, "y": 2 }, - { "label": "L33", "x": 5, "y": 3 }, - { "label": "L34", "x": 6, "y": 3 }, - { "label": "L31", "x": 7, "y": 3 }, - { "label": "R33", "x": 9, "y": 3 }, - { "label": "R34", "x": 10, "y": 3 }, - { "label": "R31", "x": 11, "y": 3 } - ] } } } diff --git a/keyboards/cheshire/curiosity/info.json b/keyboards/cheshire/curiosity/info.json index 0e63e3b66008..74a37dc2d692 100644 --- a/keyboards/cheshire/curiosity/info.json +++ b/keyboards/cheshire/curiosity/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "Curiosity", "manufacturer": "Nightingale Studios/Cheshire Designs", - "maintainer": "zvecr", + "maintainer": "sidcarter", "usb": { "vid": "0xCAFE", "pid": "0x0FAD", diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/converter/modelm_ssk/info.json index 3f947eac2abb..348e6e6dca33 100644 --- a/keyboards/converter/modelm_ssk/info.json +++ b/keyboards/converter/modelm_ssk/info.json @@ -15,453 +15,108 @@ }, "processor": "at90usb1286", "bootloader": "halfkay", - "layouts": - { - "LAYOUT": - { - "layout": - [ - { - "label": "Esc", - "x": 0, - "y": 0 - }, - { - "label": "F1", - "x": 2, - "y": 0 - }, - { - "label": "F2", - "x": 3, - "y": 0 - }, - { - "label": "F3", - "x": 4, - "y": 0 - }, - { - "label": "F4", - "x": 5, - "y": 0 - }, - { - "label": "F5", - "x": 6.5, - "y": 0 - }, - { - "label": "F6", - "x": 7.5, - "y": 0 - }, - { - "label": "F7", - "x": 8.5, - "y": 0 - }, - { - "label": "F8", - "x": 9.5, - "y": 0 - }, - { - "label": "F9", - "x": 11, - "y": 0 - }, - { - "label": "F10", - "x": 12, - "y": 0 - }, - { - "label": "F11", - "x": 13, - "y": 0 - }, - { - "label": "F12", - "x": 14, - "y": 0 - }, - { - "label": "PrtSc", - "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.5 - }, - { - "label": "!", - "x": 1, - "y": 1.5 - }, - { - "label": "@", - "x": 2, - "y": 1.5 - }, - { - "label": "#", - "x": 3, - "y": 1.5 - }, - { - "label": "$", - "x": 4, - "y": 1.5 - }, - { - "label": "%", - "x": 5, - "y": 1.5 - }, - { - "label": "^", - "x": 6, - "y": 1.5 - }, - { - "label": "&", - "x": 7, - "y": 1.5 - }, - { - "label": "*", - "x": 8, - "y": 1.5 - }, - { - "label": "(", - "x": 9, - "y": 1.5 - }, - { - "label": ")", - "x": 10, - "y": 1.5 - }, - { - "label": "_", - "x": 11, - "y": 1.5 - }, - { - "label": "+", - "x": 12, - "y": 1.5 - }, - { - "label": "Backspace", - "x": 13, - "y": 1.5, - "w": 2 - }, - { - "label": "Insert", - "x": 15.25, - "y": 1.5 - }, - { - "label": "Home", - "x": 16.25, - "y": 1.5 - }, - { - "label": "PgUp", - "x": 17.25, - "y": 1.5 - }, - { - "label": "Tab", - "x": 0, - "y": 2.5, - "w": 1.5 - }, - { - "label": "Q", - "x": 1.5, - "y": 2.5 - }, - { - "label": "W", - "x": 2.5, - "y": 2.5 - }, - { - "label": "E", - "x": 3.5, - "y": 2.5 - }, - { - "label": "R", - "x": 4.5, - "y": 2.5 - }, - { - "label": "T", - "x": 5.5, - "y": 2.5 - }, - { - "label": "Y", - "x": 6.5, - "y": 2.5 - }, - { - "label": "U", - "x": 7.5, - "y": 2.5 - }, - { - "label": "I", - "x": 8.5, - "y": 2.5 - }, - { - "label": "O", - "x": 9.5, - "y": 2.5 - }, - { - "label": "P", - "x": 10.5, - "y": 2.5 - }, - { - "label": "{", - "x": 11.5, - "y": 2.5 - }, - { - "label": "}", - "x": 12.5, - "y": 2.5 - }, - { - "label": "|", - "x": 13.5, - "y": 2.5, - "w": 1.5 - }, - { - "label": "Delete", - "x": 15.25, - "y": 2.5 - }, - { - "label": "End", - "x": 16.25, - "y": 2.5 - }, - { - "label": "PgDn", - "x": 17.25, - "y": 2.5 - }, - { - "label": "Caps Lock", - "x": 0, - "y": 3.5, - "w": 1.5 - }, - { - "label": "A", - "x": 1.75, - "y": 3.5 - }, - { - "label": "S", - "x": 2.75, - "y": 3.5 - }, - { - "label": "D", - "x": 3.75, - "y": 3.5 - }, - { - "label": "F", - "x": 4.75, - "y": 3.5 - }, - { - "label": "G", - "x": 5.75, - "y": 3.5 - }, - { - "label": "H", - "x": 6.75, - "y": 3.5 - }, - { - "label": "J", - "x": 7.75, - "y": 3.5 - }, - { - "label": "K", - "x": 8.75, - "y": 3.5 - }, - { - "label": "L", - "x": 9.75, - "y": 3.5 - }, - { - "label": ":", - "x": 10.75, - "y": 3.5 - }, - { - "label": "\"", - "x": 11.75, - "y": 3.5 - }, - { - "label": "~", - "x": 12.75, - "y": 3.5 - }, - { - "label": "Enter", - "x": 13.75, - "y": 3.5, - "w": 1.25 - }, - { - "label": "Shift", - "x": 0, - "y": 4.5, - "w": 1.25 - }, - { - "label": "|", - "x": 1.25, - "y": 4.5 - }, - { - "label": "Z", - "x": 2.25, - "y": 4.5 - }, - { - "label": "X", - "x": 3.25, - "y": 4.5 - }, - { - "label": "C", - "x": 4.25, - "y": 4.5 - }, - { - "label": "V", - "x": 5.25, - "y": 4.5 - }, - { - "label": "B", - "x": 6.25, - "y": 4.5 - }, - { - "label": "N", - "x": 7.25, - "y": 4.5 - }, - { - "label": "M", - "x": 8.25, - "y": 4.5 - }, - { - "label": "<", - "x": 9.25, - "y": 4.5 - }, - { - "label": ">", - "x": 10.25, - "y": 4.5 - }, - { - "label": "?", - "x": 11.25, - "y": 4.5 - }, - { - "label": "Shift", - "x": 12.25, - "y": 4.5, - "w": 2.75 - }, - { - "label": "↑", - "x": 16.25, - "y": 4.5 - }, - { - "label": "Ctrl", - "x": 0, - "y": 5.5, - "w": 1.5 - }, - { - "label": "Alt", - "x": 2.5, - "y": 5.5, - "w": 1.5 - }, - { - "x": 4, - "y": 5.5, - "w": 7 - }, - { - "label": "Alt", - "x": 11, - "y": 5.5, - "w": 1.5 - }, - { - "label": "Ctrl", - "x": 13.5, - "y": 5.5, - "w": 1.5 - }, - { - "label": "←", - "x": 15.25, - "y": 5.5 - }, - { - "label": "↓", - "x": 16.25, - "y": 5.5 - }, - { - "label": "→", - "x": 17.25, - "y": 5.5 - } + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [7, 2], "x": 0, "y": 0}, + + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [6, 4], "x": 4, "y": 0}, + {"matrix": [7, 4], "x": 5, "y": 0}, + + {"matrix": [7, 6], "x": 6.5, "y": 0}, + {"matrix": [7, 8], "x": 7.5, "y": 0}, + {"matrix": [6, 9], "x": 8.5, "y": 0}, + {"matrix": [5, 9], "x": 9.5, "y": 0}, + + {"matrix": [5, 6], "x": 11, "y": 0}, + {"matrix": [4, 6], "x": 12, "y": 0}, + {"matrix": [4, 11], "x": 13, "y": 0}, + {"matrix": [4, 12], "x": 14, "y": 0}, + + {"matrix": [4, 15], "x": 15.25, "y": 0}, + {"matrix": [3, 15], "x": 16.25, "y": 0}, + {"matrix": [1, 14], "x": 17.25, "y": 0}, + + {"matrix": [5, 2], "x": 0, "y": 1.5}, + {"matrix": [4, 2], "x": 1, "y": 1.5}, + {"matrix": [4, 3], "x": 2, "y": 1.5}, + {"matrix": [4, 4], "x": 3, "y": 1.5}, + {"matrix": [4, 5], "x": 4, "y": 1.5}, + {"matrix": [5, 5], "x": 5, "y": 1.5}, + {"matrix": [5, 7], "x": 6, "y": 1.5}, + {"matrix": [4, 7], "x": 7, "y": 1.5}, + {"matrix": [4, 8], "x": 8, "y": 1.5}, + {"matrix": [4, 9], "x": 9, "y": 1.5}, + {"matrix": [4, 10], "x": 10, "y": 1.5}, + {"matrix": [5, 10], "x": 11, "y": 1.5}, + {"matrix": [5, 8], "x": 12, "y": 1.5}, + {"matrix": [6, 6], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [5, 12], "x": 15.25, "y": 1.5}, + {"matrix": [5, 14], "x": 16.25, "y": 1.5}, + {"matrix": [5, 13], "x": 17.25, "y": 1.5}, + + {"matrix": [6, 2], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [3, 2], "x": 1.5, "y": 2.5}, + {"matrix": [3, 3], "x": 2.5, "y": 2.5}, + {"matrix": [3, 4], "x": 3.5, "y": 2.5}, + {"matrix": [3, 5], "x": 4.5, "y": 2.5}, + {"matrix": [6, 5], "x": 5.5, "y": 2.5}, + {"matrix": [6, 7], "x": 6.5, "y": 2.5}, + {"matrix": [3, 7], "x": 7.5, "y": 2.5}, + {"matrix": [3, 8], "x": 8.5, "y": 2.5}, + {"matrix": [3, 9], "x": 9.5, "y": 2.5}, + {"matrix": [3, 10], "x": 10.5, "y": 2.5}, + {"matrix": [6, 10], "x": 11.5, "y": 2.5}, + {"matrix": [6, 8], "x": 12.5, "y": 2.5}, + {"matrix": [2, 6], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [5, 11], "x": 15.25, "y": 2.5}, + {"matrix": [4, 14], "x": 16.25, "y": 2.5}, + {"matrix": [4, 13], "x": 17.25, "y": 2.5}, + + {"matrix": [6, 3], "x": 0, "y": 3.5, "w": 1.5}, + {"matrix": [2, 2], "x": 1.75, "y": 3.5}, + {"matrix": [2, 3], "x": 2.75, "y": 3.5}, + {"matrix": [2, 4], "x": 3.75, "y": 3.5}, + {"matrix": [2, 5], "x": 4.75, "y": 3.5}, + {"matrix": [7, 5], "x": 5.75, "y": 3.5}, + {"matrix": [7, 7], "x": 6.75, "y": 3.5}, + {"matrix": [2, 7], "x": 7.75, "y": 3.5}, + {"matrix": [2, 8], "x": 8.75, "y": 3.5}, + {"matrix": [2, 9], "x": 9.75, "y": 3.5}, + {"matrix": [2, 10], "x": 10.75, "y": 3.5}, + {"matrix": [7, 10], "x": 11.75, "y": 3.5}, + {"matrix": [1, 10], "x": 12.75, "y": 3.5}, + {"matrix": [1, 6], "x": 13.75, "y": 3.5, "w": 1.25}, + + {"matrix": [6, 1], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [7, 3], "x": 1.25, "y": 4.5}, + {"matrix": [1, 2], "x": 2.25, "y": 4.5}, + {"matrix": [1, 3], "x": 3.25, "y": 4.5}, + {"matrix": [1, 4], "x": 4.25, "y": 4.5}, + {"matrix": [1, 5], "x": 5.25, "y": 4.5}, + {"matrix": [0, 5], "x": 6.25, "y": 4.5}, + {"matrix": [0, 7], "x": 7.25, "y": 4.5}, + {"matrix": [1, 7], "x": 8.25, "y": 4.5}, + {"matrix": [1, 8], "x": 9.25, "y": 4.5}, + {"matrix": [1, 9], "x": 10.25, "y": 4.5}, + {"matrix": [0, 10], "x": 11.25, "y": 4.5}, + {"matrix": [1, 1], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [7, 14], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [7, 15], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [0, 15], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [1, 0], "x": 13.5, "y": 5.5, "w": 1.5}, + + {"matrix": [0, 14], "x": 15.25, "y": 5.5}, + {"matrix": [0, 11], "x": 16.25, "y": 5.5}, + {"matrix": [0, 12], "x": 17.25, "y": 5.5} ] } } diff --git a/keyboards/converter/modelm_ssk/modelm_ssk.h b/keyboards/converter/modelm_ssk/modelm_ssk.h deleted file mode 100644 index 5c4b9b80eac0..000000000000 --- a/keyboards/converter/modelm_ssk/modelm_ssk.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2019-2021 iw0rm3r, tiltowait - * - * 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 a shortcut to help you visually see your layout. - * The first section contains "names" for physical keys of the keyboard - * and defines their position on the board. - * The second section defines position of the keys on the switch matrix - * (where COLUMNS and ROWS crosses). */ - -#define LAYOUT( \ - K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ - \ - K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, \ - K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, \ - K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, \ - K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, \ - K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H \ -) \ -{ \ -/* 00 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, KC_NO, KC_NO, K1L, K0G, K0H, KC_NO, K0F, K0D }, \ -/* 01 */ { K0E, K1M, K1C, K1D, K1E, K1F, K2N, K1I, K1J, K1K, KC_NO, KC_NO, KC_NO, KC_NO, K5P, KC_NO }, \ -/* 02 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ -/* 03 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, KC_NO, K3H, K3I, K3J, K3K, KC_NO, KC_NO, KC_NO, KC_NO, K5O }, \ -/* 04 */ { KC_NO, KC_NO, K4B, K4C, K4D, K4E, K5K, K4H, K4I, K4J, K4K, K5L, K5M, K3Q, K3P, K5N }, \ -/* 05 */ { K0A, KC_NO, K4A, K5B, K5C, K4F, K5J, K4G, K4M, K5I, K4L, K3O, K4O, K4Q, K4P, KC_NO }, \ -/* 06 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ -/* 07 */ { KC_NO, KC_NO, K5A, KC_NO, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, KC_NO, KC_NO, KC_NO, K1N, K0B }, \ -} -/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ diff --git a/keyboards/handwired/maverick0197/keydeck8/info.json b/keyboards/handwired/maverick0197/keydeck8/info.json new file mode 100644 index 000000000000..d70b262c04eb --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/info.json @@ -0,0 +1,38 @@ +{ + "keyboard_name": "keydeck8", + "manufacturer": "Maverick0197", + "maintainer": "Maverick0197", + "development_board": "promicro", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { "pin_a": "D3", "pin_b": "D2", "resolution": 4 } + ] + }, + "matrix_pins": { + "direct": [ + ["D0", "D1", "D4"], + ["C6", "D7", "E6"], + ["B4", "B5", "B6"] + ] + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x3031", + "vid": "0x4D76" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"D0", "matrix": [0, 0], "x":0, "y":0}, {"label":"D1", "matrix": [0, 1], "x":1, "y":0}, {"label":"D4", "matrix": [0, 2], "x":2, "y":0}, + {"label":"C6", "matrix": [1, 0], "x":0, "y":1}, {"label":"D7", "matrix": [1, 1], "x":1, "y":1}, {"label":"E6", "matrix": [1, 2], "x":2, "y":1}, + {"label":"B4", "matrix": [2, 0], "x":0, "y":2}, {"label":"B5", "matrix": [2, 1], "x":1, "y":2}, {"label":"B6", "matrix": [2, 2], "x":2, "y":2} + ] + } + } +} diff --git a/keyboards/converter/modelm_ssk/modelm_ssk.c b/keyboards/handwired/maverick0197/keydeck8/keydeck8.c similarity index 60% rename from keyboards/converter/modelm_ssk/modelm_ssk.c rename to keyboards/handwired/maverick0197/keydeck8/keydeck8.c index 1b01115e5db4..663306a9bb2a 100644 --- a/keyboards/converter/modelm_ssk/modelm_ssk.c +++ b/keyboards/handwired/maverick0197/keydeck8/keydeck8.c @@ -1,4 +1,4 @@ -/* Copyright 2019 iw0rm3r +/* Copyright 2023 Maverick0197 * * 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 @@ -13,7 +13,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "modelm_ssk.h" - +#include "quantum.h" +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + //if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + //} + return false; +}; +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/irene/irene.c b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c similarity index 58% rename from keyboards/irene/irene.c rename to keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c index f0f4751c52b3..2d4b4eb8c545 100644 --- a/keyboards/irene/irene.c +++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Ramon Imbao +/* Copyright 2023 Maverick0197 * * 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 @@ -14,4 +14,20 @@ * along with this program. If not, see . */ -#include "irene.h" +#include QMK_KEYBOARD_H + +// clang-format off + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif // ENCODER_MAP_ENABLE + +// clang-format on diff --git a/keyboards/handwired/maverick0197/keydeck8/keymaps/default/rules.mk b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c new file mode 100644 index 000000000000..d9e409a1a923 --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2023 Maverick0197 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6 + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif // ENCODER_MAP_ENABLE + +// clang-format on diff --git a/keyboards/handwired/maverick0197/keydeck8/keymaps/via/rules.mk b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/maverick0197/keydeck8/readme.md b/keyboards/handwired/maverick0197/keydeck8/readme.md new file mode 100644 index 000000000000..d72caa9cc985 --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/readme.md @@ -0,0 +1,40 @@ +# KeyDeck8 + +Firmware for obscuresausage's Multimedia Key Deck. + +8 keys and and encoder powered by a Pro Micro. + +[Multimedia Key Deck model Files](https://www.printables.com/model/389352-multimedia-key-deck) + + +![KeyDeck8](https://i.imgur.com/6G2LPLzl.jpg) + +--- +Wiring Diagram: + +![KeyDeck8 Wiring Diagram](https://i.imgur.com/1sOvYRUl.jpg) + + +Pinouts for Pro Micro: + +![Promicro Pinout Guide](https://i.imgur.com/LZ194Hfl.jpg) + +--- +* Keyboard Maintainer: [Maverick0197](https://github.com/Maverick0197) +* Hardware Supported: Pro Micro +* Printed enclosure +* Handwired +* Requires a Pro Micro, 8 key switches and 1 KY040 encoder +* Hardware Availability: [Make it yourself](https://github.com/Maverick0197/KeyDeck8) + +--- +Make example for this keyboard (after setting up your build environment): + + make handwired/maverick0197/keydeck8: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). + +--- +Revision 0.0.1: +- +Initial release. diff --git a/keyboards/handwired/maverick0197/keydeck8/rules.mk b/keyboards/handwired/maverick0197/keydeck8/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/maverick0197/keydeck8/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/irene/info.json b/keyboards/irene/info.json index a9e943db5c10..792106563f5c 100644 --- a/keyboards/irene/info.json +++ b/keyboards/irene/info.json @@ -13,70 +13,76 @@ "layouts": { "LAYOUT_all": { "layout": [ - {"x":0.5, "y":0}, - {"x":1.75, "y":0}, - {"x":2.75, "y":0}, - {"x":3.75, "y":0}, - {"x":4.75, "y":0}, - {"x":5.75, "y":0}, - {"x":6.75, "y":0}, - {"x":7.75, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, - {"x":12, "y":0}, - {"x":13, "y":0}, - {"x":14, "y":0}, - {"x":15, "y":0}, - {"x":16, "y":0}, - {"x":17, "y":0}, + {"matrix": [0, 0], "x": 0.5, "y": 0}, + {"matrix": [0, 1], "x": 1.75, "y": 0}, + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + {"matrix": [0, 6], "x": 6.75, "y": 0}, + {"matrix": [4, 7], "x": 7.75, "y": 0}, + {"matrix": [0, 7], "x": 10, "y": 0}, + {"matrix": [0, 8], "x": 11, "y": 0}, + {"matrix": [0, 9], "x": 12, "y": 0}, + {"matrix": [0, 10], "x": 13, "y": 0}, + {"matrix": [0, 11], "x": 14, "y": 0}, + {"matrix": [0, 12], "x": 15, "y": 0}, + {"matrix": [0, 13], "x": 16, "y": 0}, + {"matrix": [0, 14], "x": 17, "y": 0}, - {"x":0.25, "y":1}, - {"x":1.5, "y":1, "w":1.5}, - {"x":3, "y":1}, {"x":4, "y":1}, - {"x":5, "y":1}, {"x":6, "y":1}, - {"x":7, "y":1}, {"x":9.5, "y":1}, - {"x":10.5, "y":1}, {"x":11.5, "y":1}, - {"x":12.5, "y":1}, {"x":13.5, "y":1}, - {"x":14.5, "y":1}, {"x":15.5, "y":1}, - {"x":16.5, "y":1, "w":1.5}, + {"matrix": [1, 0], "x": 0.25, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 9.5, "y": 1}, + {"matrix": [1, 8], "x": 10.5, "y": 1}, + {"matrix": [1, 9], "x": 11.5, "y": 1}, + {"matrix": [1, 10], "x": 12.5, "y": 1}, + {"matrix": [1, 11], "x": 13.5, "y": 1}, + {"matrix": [1, 12], "x": 14.5, "y": 1}, + {"matrix": [1, 13], "x": 15.5, "y": 1}, + {"matrix": [1, 14], "x": 16.5, "y": 1, "w": 1.5}, - {"x":0, "y":2}, - {"x":1.5, "y":2, "w":1.75}, - {"x":3.25, "y":2}, - {"x":4.25, "y":2}, - {"x":5.25, "y":2}, - {"x":6.25, "y":2}, - {"x":7.25, "y":2}, - {"x":9.75, "y":2}, - {"x":10.75, "y":2}, - {"x":11.75, "y":2}, - {"x":12.75, "y":2}, - {"x":13.75, "y":2}, - {"x":14.75, "y":2}, - {"x":15.75, "y":2, "w":2.25}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [2, 7], "x": 9.75, "y": 2}, + {"matrix": [2, 8], "x": 10.75, "y": 2}, + {"matrix": [2, 9], "x": 11.75, "y": 2}, + {"matrix": [2, 10], "x": 12.75, "y": 2}, + {"matrix": [2, 11], "x": 13.75, "y": 2}, + {"matrix": [2, 12], "x": 14.75, "y": 2}, + {"matrix": [2, 14], "x": 15.75, "y": 2, "w": 2.25}, - {"x":1.5, "y":3, "w":2.25}, - {"x":3.75, "y":3}, - {"x":4.75, "y":3}, - {"x":5.75, "y":3}, - {"x":6.75, "y":3}, - {"x":7.75, "y":3}, - {"x":9.25, "y":3}, - {"x":10.25, "y":3}, - {"x":11.25, "y":3}, - {"x":12.25, "y":3}, - {"x":13.25, "y":3}, - {"x":14.25, "y":3}, - {"x":15.25, "y":3, "w":1.75}, - {"x":17, "y":3}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 9.25, "y": 3}, + {"matrix": [3, 8], "x": 10.25, "y": 3}, + {"matrix": [3, 9], "x": 11.25, "y": 3}, + {"matrix": [3, 10], "x": 12.25, "y": 3}, + {"matrix": [3, 11], "x": 13.25, "y": 3}, + {"matrix": [3, 12], "x": 14.25, "y": 3}, + {"matrix": [3, 13], "x": 15.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 17, "y": 3}, - {"x":1.5, "y":4, "w":1.5}, - {"x":4, "y":4, "w":1.5}, - {"x":5.5, "y":4, "w":2}, - {"x":7.5, "y":4, "w":1.25}, - {"x":9.25, "y":4, "w":2.75}, - {"x":12, "y":4, "w":1.5}, - {"x":16.5, "y":4, "w":1.5} + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5.5, "y": 4, "w": 2}, + {"matrix": [4, 6], "x": 7.5, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 9.25, "y": 4, "w": 2.75}, + {"matrix": [4, 10], "x": 12, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 16.5, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/irene/irene.h b/keyboards/irene/irene.h deleted file mode 100644 index 435e84957dbc..000000000000 --- a/keyboards/irene/irene.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2021 Ramon Imbao - * - * 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 ___ KC_NO - -#define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k57, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \ - k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ - k41, k43, k44, k46, k48, k4a, k4e \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, ___, k2e }, \ - { ___, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ - { ___, k41, ___, k43, k44, ___, k46, ___, k48, ___, k4a, ___, ___, ___, k4e }, \ -} diff --git a/keyboards/keebio/quefrency/quefrency.h b/keyboards/keebio/quefrency/quefrency.h index d9a14c439c8d..434f674bcec7 100644 --- a/keyboards/keebio/quefrency/quefrency.h +++ b/keyboards/keebio/quefrency/quefrency.h @@ -2,9 +2,6 @@ #include "quantum.h" -#ifdef KEYBOARD_keebio_quefrency_rev1 - #include "rev1.h" -#endif #ifdef KEYBOARD_keebio_quefrency_rev2 #include "rev2.h" #endif diff --git a/keyboards/keebio/quefrency/rev1/info.json b/keyboards/keebio/quefrency/rev1/info.json index 648104baa272..6c40e387acf9 100644 --- a/keyboards/keebio/quefrency/rev1/info.json +++ b/keyboards/keebio/quefrency/rev1/info.json @@ -16,465 +16,462 @@ "layouts": { "LAYOUT": { "layout": [ - { "label": "Esc", "x": 0, "y": 0 }, - { "label": "1", "x": 1, "y": 0 }, - { "label": "2", "x": 2, "y": 0 }, - { "label": "3", "x": 3, "y": 0 }, - { "label": "4", "x": 4, "y": 0 }, - { "label": "5", "x": 5, "y": 0 }, - { "label": "6", "x": 6, "y": 0 }, - - { "label": "7", "x": 8, "y": 0 }, - { "label": "8", "x": 9, "y": 0 }, - { "label": "9", "x": 10, "y": 0 }, - { "label": "0", "x": 11, "y": 0 }, - { "label": "-", "x": 12, "y": 0 }, - { "label": "=", "x": 13, "y": 0 }, - { "label": "Del", "x": 14, "y": 0 }, - { "label": "Bksp", "x": 15, "y": 0 }, - - { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, - { "label": "Q", "x": 1.5, "y": 1 }, - { "label": "W", "x": 2.5, "y": 1 }, - { "label": "E", "x": 3.5, "y": 1 }, - { "label": "R", "x": 4.5, "y": 1 }, - { "label": "T", "x": 5.5, "y": 1 }, - - { "label": "Y", "x": 7.5, "y": 1 }, - { "label": "U", "x": 8.5, "y": 1 }, - { "label": "I", "x": 9.5, "y": 1 }, - { "label": "O", "x": 10.5, "y": 1 }, - { "label": "P", "x": 11.5, "y": 1 }, - { "label": "[", "x": 12.5, "y": 1 }, - { "label": "]", "x": 13.5, "y": 1 }, - { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 }, - - { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, - { "label": "A", "x": 1.75, "y": 2 }, - { "label": "S", "x": 2.75, "y": 2 }, - { "label": "D", "x": 3.75, "y": 2 }, - { "label": "F", "x": 4.75, "y": 2 }, - { "label": "G", "x": 5.75, "y": 2 }, - - { "label": "H", "x": 7.75, "y": 2 }, - { "label": "J", "x": 8.75, "y": 2 }, - { "label": "K", "x": 9.75, "y": 2 }, - { "label": "L", "x": 10.75, "y": 2 }, - { "label": ";", "x": 11.75, "y": 2 }, - { "label": "'", "x": 12.75, "y": 2 }, - { "label": "Enter", "x": 13.75, "y": 2, "w": 2.25 }, - - { "label": "Shift", "x": 0, "y": 3, "w": 2.25 }, - { "label": "Z", "x": 2.25, "y": 3 }, - { "label": "X", "x": 3.25, "y": 3 }, - { "label": "C", "x": 4.25, "y": 3 }, - { "label": "V", "x": 5.25, "y": 3 }, - { "label": "B", "x": 6.25, "y": 3 }, - - { "label": "N", "x": 8.25, "y": 3 }, - { "label": "M", "x": 9.25, "y": 3 }, - { "label": ",", "x": 10.25, "y": 3 }, - { "label": ".", "x": 11.25, "y": 3 }, - { "label": "/", "x": 12.25, "y": 3 }, - { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 }, - { "label": "Up", "x": 15, "y": 3 }, - - { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, - { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 }, - { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 }, - { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 5, "y": 4, "w": 2.25 }, - - { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 }, - { "label": "Alt", "x": 11, "y": 4 }, - { "label": "Ctrl", "x": 12, "y": 4 }, - { "label": "Left", "x": 13, "y": 4 }, - { "label": "Down", "x": 14, "y": 4 }, - { "label": "Right", "x": 15, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + + {"matrix": [6, 0], "x": 8, "y": 0}, + {"matrix": [6, 1], "x": 9, "y": 0}, + {"matrix": [6, 2], "x": 10, "y": 0}, + {"matrix": [6, 3], "x": 11, "y": 0}, + {"matrix": [6, 4], "x": 12, "y": 0}, + {"matrix": [6, 5], "x": 13, "y": 0}, + {"matrix": [6, 6], "x": 14, "y": 0}, + {"matrix": [6, 7], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + + {"matrix": [7, 0], "x": 7.5, "y": 1}, + {"matrix": [7, 1], "x": 8.5, "y": 1}, + {"matrix": [7, 2], "x": 9.5, "y": 1}, + {"matrix": [7, 3], "x": 10.5, "y": 1}, + {"matrix": [7, 4], "x": 11.5, "y": 1}, + {"matrix": [7, 5], "x": 12.5, "y": 1}, + {"matrix": [7, 6], "x": 13.5, "y": 1}, + {"matrix": [7, 7], "x": 14.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + + {"matrix": [8, 0], "x": 7.75, "y": 2}, + {"matrix": [8, 1], "x": 8.75, "y": 2}, + {"matrix": [8, 2], "x": 9.75, "y": 2}, + {"matrix": [8, 3], "x": 10.75, "y": 2}, + {"matrix": [8, 4], "x": 11.75, "y": 2}, + {"matrix": [8, 5], "x": 12.75, "y": 2}, + {"matrix": [8, 7], "x": 13.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + + {"matrix": [9, 0], "x": 8.25, "y": 3}, + {"matrix": [9, 1], "x": 9.25, "y": 3}, + {"matrix": [9, 2], "x": 10.25, "y": 3}, + {"matrix": [9, 3], "x": 11.25, "y": 3}, + {"matrix": [9, 5], "x": 12.25, "y": 3}, + {"matrix": [9, 6], "x": 13.25, "y": 3, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 4, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 4, "w": 1.5}, + {"matrix": [10, 3], "x": 11, "y": 4}, + {"matrix": [10, 4], "x": 12, "y": 4}, + {"matrix": [10, 5], "x": 13, "y": 4}, + {"matrix": [10, 6], "x": 14, "y": 4}, + {"matrix": [10, 7], "x": 15, "y": 4} ] }, "LAYOUT_65": { "layout": [ - { "label": "Esc", "x": 0, "y": 0 }, - { "label": "1", "x": 1, "y": 0 }, - { "label": "2", "x": 2, "y": 0 }, - { "label": "3", "x": 3, "y": 0 }, - { "label": "4", "x": 4, "y": 0 }, - { "label": "5", "x": 5, "y": 0 }, - { "label": "6", "x": 6, "y": 0 }, - - { "label": "7", "x": 8, "y": 0 }, - { "label": "8", "x": 9, "y": 0 }, - { "label": "9", "x": 10, "y": 0 }, - { "label": "0", "x": 11, "y": 0 }, - { "label": "-", "x": 12, "y": 0 }, - { "label": "=", "x": 13, "y": 0 }, - { "label": "Del", "x": 14, "y": 0 }, - { "label": "Bksp", "x": 15, "y": 0 }, - { "label": "Home", "x": 16, "y": 0 }, - - { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, - { "label": "Q", "x": 1.5, "y": 1 }, - { "label": "W", "x": 2.5, "y": 1 }, - { "label": "E", "x": 3.5, "y": 1 }, - { "label": "R", "x": 4.5, "y": 1 }, - { "label": "T", "x": 5.5, "y": 1 }, - - { "label": "Y", "x": 7.5, "y": 1 }, - { "label": "U", "x": 8.5, "y": 1 }, - { "label": "I", "x": 9.5, "y": 1 }, - { "label": "O", "x": 10.5, "y": 1 }, - { "label": "P", "x": 11.5, "y": 1 }, - { "label": "[", "x": 12.5, "y": 1 }, - { "label": "]", "x": 13.5, "y": 1 }, - { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 }, - { "label": "End", "x": 16, "y": 1 }, - - { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, - { "label": "A", "x": 1.75, "y": 2 }, - { "label": "S", "x": 2.75, "y": 2 }, - { "label": "D", "x": 3.75, "y": 2 }, - { "label": "F", "x": 4.75, "y": 2 }, - { "label": "G", "x": 5.75, "y": 2 }, - - { "label": "H", "x": 7.75, "y": 2 }, - { "label": "J", "x": 8.75, "y": 2 }, - { "label": "K", "x": 9.75, "y": 2 }, - { "label": "L", "x": 10.75, "y": 2 }, - { "label": ";", "x": 11.75, "y": 2 }, - { "label": "'", "x": 12.75, "y": 2 }, - { "label": "Enter", "x": 13.75, "y": 2, "w": 2.25 }, - { "label": "Page Up", "x": 16, "y": 2 }, - - { "label": "Shift", "x": 0, "y": 3, "w": 2.25 }, - { "label": "Z", "x": 2.25, "y": 3 }, - { "label": "X", "x": 3.25, "y": 3 }, - { "label": "C", "x": 4.25, "y": 3 }, - { "label": "V", "x": 5.25, "y": 3 }, - { "label": "B", "x": 6.25, "y": 3 }, - - { "label": "N", "x": 8.25, "y": 3 }, - { "label": "M", "x": 9.25, "y": 3 }, - { "label": ",", "x": 10.25, "y": 3 }, - { "label": ".", "x": 11.25, "y": 3 }, - { "label": "/", "x": 12.25, "y": 3 }, - { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 }, - { "label": "Up", "x": 15, "y": 3 }, - { "label": "Page Down", "x": 16, "y": 3 }, - - { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, - { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 }, - { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 }, - { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 5, "y": 4, "w": 2.25 }, - - { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 }, - { "label": "Alt", "x": 11, "y": 4 }, - { "label": "Ctrl", "x": 12, "y": 4 }, - { "label": "Win", "x": 13, "y": 4 }, - { "label": "Left", "x": 14, "y": 4 }, - { "label": "Down", "x": 15, "y": 4 }, - { "label": "Right", "x": 16, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + + {"matrix": [6, 0], "x": 8, "y": 0}, + {"matrix": [6, 1], "x": 9, "y": 0}, + {"matrix": [6, 2], "x": 10, "y": 0}, + {"matrix": [6, 3], "x": 11, "y": 0}, + {"matrix": [6, 4], "x": 12, "y": 0}, + {"matrix": [6, 5], "x": 13, "y": 0}, + {"matrix": [6, 6], "x": 14, "y": 0}, + {"matrix": [6, 7], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + + {"matrix": [7, 0], "x": 7.5, "y": 1}, + {"matrix": [7, 1], "x": 8.5, "y": 1}, + {"matrix": [7, 2], "x": 9.5, "y": 1}, + {"matrix": [7, 3], "x": 10.5, "y": 1}, + {"matrix": [7, 4], "x": 11.5, "y": 1}, + {"matrix": [7, 5], "x": 12.5, "y": 1}, + {"matrix": [7, 6], "x": 13.5, "y": 1}, + {"matrix": [7, 7], "x": 14.5, "y": 1, "w": 1.5}, + {"matrix": [11, 7], "x": 16, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + + {"matrix": [8, 0], "x": 7.75, "y": 2}, + {"matrix": [8, 1], "x": 8.75, "y": 2}, + {"matrix": [8, 2], "x": 9.75, "y": 2}, + {"matrix": [8, 3], "x": 10.75, "y": 2}, + {"matrix": [8, 4], "x": 11.75, "y": 2}, + {"matrix": [8, 5], "x": 12.75, "y": 2}, + {"matrix": [8, 7], "x": 13.75, "y": 2, "w": 2.25}, + {"matrix": [8, 6], "x": 16, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + + {"matrix": [9, 0], "x": 8.25, "y": 3}, + {"matrix": [9, 1], "x": 9.25, "y": 3}, + {"matrix": [9, 2], "x": 10.25, "y": 3}, + {"matrix": [9, 3], "x": 11.25, "y": 3}, + {"matrix": [9, 5], "x": 12.25, "y": 3}, + {"matrix": [9, 6], "x": 13.25, "y": 3, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 3}, + {"matrix": [9, 4], "x": 16, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 4, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 4, "w": 1.5}, + {"matrix": [10, 3], "x": 11, "y": 4}, + {"matrix": [10, 4], "x": 12, "y": 4}, + {"matrix": [10, 5], "x": 13, "y": 4}, + {"matrix": [10, 6], "x": 14, "y": 4}, + {"matrix": [10, 7], "x": 15, "y": 4}, + {"matrix": [10, 2], "x": 16, "y": 4} ] }, "LAYOUT_60_with_macro": { "layout": [ - { "label": "F1", "x": 0, "y": 0 }, - { "label": "F6", "x": 1, "y": 0 }, - - { "label": "Esc", "x": 2.25, "y": 0 }, - { "label": "1", "x": 3.25, "y": 0 }, - { "label": "2", "x": 4.25, "y": 0 }, - { "label": "3", "x": 5.25, "y": 0 }, - { "label": "4", "x": 6.25, "y": 0 }, - { "label": "5", "x": 7.25, "y": 0 }, - { "label": "6", "x": 8.25, "y": 0 }, - - { "label": "7", "x": 10.25, "y": 0 }, - { "label": "8", "x": 11.25, "y": 0 }, - { "label": "9", "x": 12.25, "y": 0 }, - { "label": "0", "x": 13.25, "y": 0 }, - { "label": "-", "x": 14.25, "y": 0 }, - { "label": "=", "x": 15.25, "y": 0 }, - { "label": "Del", "x": 16.25, "y": 0 }, - { "label": "Bksp", "x": 17.25, "y": 0 }, - - { "label": "F2", "x": 0, "y": 1 }, - { "label": "F7", "x": 1, "y": 1 }, - - { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 }, - { "label": "Q", "x": 3.75, "y": 1 }, - { "label": "W", "x": 4.75, "y": 1 }, - { "label": "E", "x": 5.75, "y": 1 }, - { "label": "R", "x": 6.75, "y": 1 }, - { "label": "T", "x": 7.75, "y": 1 }, - - { "label": "Y", "x": 9.75, "y": 1 }, - { "label": "U", "x": 10.75, "y": 1 }, - { "label": "I", "x": 11.75, "y": 1 }, - { "label": "O", "x": 12.75, "y": 1 }, - { "label": "P", "x": 13.75, "y": 1 }, - { "label": "[", "x": 14.75, "y": 1 }, - { "label": "]", "x": 15.75, "y": 1 }, - { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 }, - - { "label": "F3", "x": 0, "y": 2 }, - { "label": "F8", "x": 1, "y": 2 }, - - { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 }, - { "label": "A", "x": 4, "y": 2 }, - { "label": "S", "x": 5, "y": 2 }, - { "label": "D", "x": 6, "y": 2 }, - { "label": "F", "x": 7, "y": 2 }, - { "label": "G", "x": 8, "y": 2 }, - - { "label": "H", "x": 10, "y": 2 }, - { "label": "J", "x": 11, "y": 2 }, - { "label": "K", "x": 12, "y": 2 }, - { "label": "L", "x": 13, "y": 2 }, - { "label": ";", "x": 14, "y": 2 }, - { "label": "'", "x": 15, "y": 2 }, - { "label": "Enter", "x": 16, "y": 2, "w": 2.25 }, - - { "label": "F4", "x": 0, "y": 3 }, - { "label": "F9", "x": 1, "y": 3 }, - - { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 }, - { "label": "Z", "x": 4.5, "y": 3 }, - { "label": "X", "x": 5.5, "y": 3 }, - { "label": "C", "x": 6.5, "y": 3 }, - { "label": "V", "x": 7.5, "y": 3 }, - { "label": "B", "x": 8.5, "y": 3 }, - - { "label": "N", "x": 10.5, "y": 3 }, - { "label": "M", "x": 11.5, "y": 3 }, - { "label": ",", "x": 12.5, "y": 3 }, - { "label": ".", "x": 13.5, "y": 3 }, - { "label": "/", "x": 14.5, "y": 3 }, - { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 }, - { "label": "Up", "x": 17.25, "y": 3 }, - - { "label": "F5", "x": 0, "y": 4 }, - { "label": "F10", "x": 1, "y": 4 }, - - { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 }, - { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 }, - { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 }, - { "label": "Fn", "x": 6, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 }, - - { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 }, - { "label": "Alt", "x": 13.25, "y": 4 }, - { "label": "Ctrl", "x": 14.25, "y": 4 }, - { "label": "Left", "x": 15.25, "y": 4 }, - { "label": "Down", "x": 16.25, "y": 4 }, - { "label": "Right", "x": 17.25, "y": 4 } + {"matrix": [4, 3], "x": 0, "y": 0}, + {"matrix": [0, 7], "x": 1, "y": 0}, + + {"matrix": [0, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [0, 3], "x": 5.25, "y": 0}, + {"matrix": [0, 4], "x": 6.25, "y": 0}, + {"matrix": [0, 5], "x": 7.25, "y": 0}, + {"matrix": [0, 6], "x": 8.25, "y": 0}, + + {"matrix": [6, 0], "x": 10.25, "y": 0}, + {"matrix": [6, 1], "x": 11.25, "y": 0}, + {"matrix": [6, 2], "x": 12.25, "y": 0}, + {"matrix": [6, 3], "x": 13.25, "y": 0}, + {"matrix": [6, 4], "x": 14.25, "y": 0}, + {"matrix": [6, 5], "x": 15.25, "y": 0}, + {"matrix": [6, 6], "x": 16.25, "y": 0}, + {"matrix": [6, 7], "x": 17.25, "y": 0}, + + {"matrix": [1, 6], "x": 0, "y": 1}, + {"matrix": [1, 7], "x": 1, "y": 1}, + + {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3.75, "y": 1}, + {"matrix": [1, 2], "x": 4.75, "y": 1}, + {"matrix": [1, 3], "x": 5.75, "y": 1}, + {"matrix": [1, 4], "x": 6.75, "y": 1}, + {"matrix": [1, 5], "x": 7.75, "y": 1}, + + {"matrix": [7, 0], "x": 9.75, "y": 1}, + {"matrix": [7, 1], "x": 10.75, "y": 1}, + {"matrix": [7, 2], "x": 11.75, "y": 1}, + {"matrix": [7, 3], "x": 12.75, "y": 1}, + {"matrix": [7, 4], "x": 13.75, "y": 1}, + {"matrix": [7, 5], "x": 14.75, "y": 1}, + {"matrix": [7, 6], "x": 15.75, "y": 1}, + {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5}, + + {"matrix": [2, 6], "x": 0, "y": 2}, + {"matrix": [2, 7], "x": 1, "y": 2}, + + {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 4, "y": 2}, + {"matrix": [2, 2], "x": 5, "y": 2}, + {"matrix": [2, 3], "x": 6, "y": 2}, + {"matrix": [2, 4], "x": 7, "y": 2}, + {"matrix": [2, 5], "x": 8, "y": 2}, + + {"matrix": [8, 0], "x": 10, "y": 2}, + {"matrix": [8, 1], "x": 11, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [8, 3], "x": 13, "y": 2}, + {"matrix": [8, 4], "x": 14, "y": 2}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25}, + + {"matrix": [3, 1], "x": 0, "y": 3}, + {"matrix": [3, 7], "x": 1, "y": 3}, + + {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3}, + {"matrix": [3, 3], "x": 5.5, "y": 3}, + {"matrix": [3, 4], "x": 6.5, "y": 3}, + {"matrix": [3, 5], "x": 7.5, "y": 3}, + {"matrix": [3, 6], "x": 8.5, "y": 3}, + + {"matrix": [9, 0], "x": 10.5, "y": 3}, + {"matrix": [9, 1], "x": 11.5, "y": 3}, + {"matrix": [9, 2], "x": 12.5, "y": 3}, + {"matrix": [9, 3], "x": 13.5, "y": 3}, + {"matrix": [9, 5], "x": 14.5, "y": 3}, + {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 3}, + + {"matrix": [4, 5], "x": 0, "y": 4}, + {"matrix": [4, 7], "x": 1, "y": 4}, + + {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5}, + {"matrix": [10, 3], "x": 13.25, "y": 4}, + {"matrix": [10, 4], "x": 14.25, "y": 4}, + {"matrix": [10, 5], "x": 15.25, "y": 4}, + {"matrix": [10, 6], "x": 16.25, "y": 4}, + {"matrix": [10, 7], "x": 17.25, "y": 4} ] }, "LAYOUT_65_with_macro": { "layout": [ - { "label": "F1", "x": 0, "y": 0 }, - { "label": "F6", "x": 1, "y": 0 }, - - { "label": "Esc", "x": 2.25, "y": 0 }, - { "label": "1", "x": 3.25, "y": 0 }, - { "label": "2", "x": 4.25, "y": 0 }, - { "label": "3", "x": 5.25, "y": 0 }, - { "label": "4", "x": 6.25, "y": 0 }, - { "label": "5", "x": 7.25, "y": 0 }, - { "label": "6", "x": 8.25, "y": 0 }, - - { "label": "7", "x": 10.25, "y": 0 }, - { "label": "8", "x": 11.25, "y": 0 }, - { "label": "9", "x": 12.25, "y": 0 }, - { "label": "0", "x": 13.25, "y": 0 }, - { "label": "-", "x": 14.25, "y": 0 }, - { "label": "=", "x": 15.25, "y": 0 }, - { "label": "Del", "x": 16.25, "y": 0 }, - { "label": "Bksp", "x": 17.25, "y": 0 }, - { "label": "Home", "x": 18.25, "y": 0 }, - - { "label": "F2", "x": 0, "y": 1 }, - { "label": "F7", "x": 1, "y": 1 }, - - { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 }, - { "label": "Q", "x": 3.75, "y": 1 }, - { "label": "W", "x": 4.75, "y": 1 }, - { "label": "E", "x": 5.75, "y": 1 }, - { "label": "R", "x": 6.75, "y": 1 }, - { "label": "T", "x": 7.75, "y": 1 }, - - { "label": "Y", "x": 9.75, "y": 1 }, - { "label": "U", "x": 10.75, "y": 1 }, - { "label": "I", "x": 11.75, "y": 1 }, - { "label": "O", "x": 12.75, "y": 1 }, - { "label": "P", "x": 13.75, "y": 1 }, - { "label": "[", "x": 14.75, "y": 1 }, - { "label": "]", "x": 15.75, "y": 1 }, - { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 }, - { "label": "PgUp", "x": 18.25, "y": 1 }, - - { "label": "F3", "x": 0, "y": 2 }, - { "label": "F8", "x": 1, "y": 2 }, - - { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 }, - { "label": "A", "x": 4, "y": 2 }, - { "label": "S", "x": 5, "y": 2 }, - { "label": "D", "x": 6, "y": 2 }, - { "label": "F", "x": 7, "y": 2 }, - { "label": "G", "x": 8, "y": 2 }, - - { "label": "H", "x": 10, "y": 2 }, - { "label": "J", "x": 11, "y": 2 }, - { "label": "K", "x": 12, "y": 2 }, - { "label": "L", "x": 13, "y": 2 }, - { "label": ";", "x": 14, "y": 2 }, - { "label": "'", "x": 15, "y": 2 }, - { "label": "Enter", "x": 16, "y": 2, "w": 2.25 }, - { "label": "PgDn", "x": 18.25, "y": 2 }, - - { "label": "F4", "x": 0, "y": 3 }, - { "label": "F9", "x": 1, "y": 3 }, - - { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 }, - { "label": "Z", "x": 4.5, "y": 3 }, - { "label": "X", "x": 5.5, "y": 3 }, - { "label": "C", "x": 6.5, "y": 3 }, - { "label": "V", "x": 7.5, "y": 3 }, - { "label": "B", "x": 8.5, "y": 3 }, - - { "label": "N", "x": 10.5, "y": 3 }, - { "label": "M", "x": 11.5, "y": 3 }, - { "label": ",", "x": 12.5, "y": 3 }, - { "label": ".", "x": 13.5, "y": 3 }, - { "label": "/", "x": 14.5, "y": 3 }, - { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 }, - { "label": "Up", "x": 17.25, "y": 3 }, - { "label": "End", "x": 18.25, "y": 3 }, - - { "label": "F5", "x": 0, "y": 4 }, - { "label": "F10", "x": 1, "y": 4 }, - - { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 }, - { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 }, - { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 }, - { "label": "Fn", "x": 6, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 }, - - { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 }, - { "label": "Alt", "x": 13.25, "y": 4 }, - { "label": "Ctrl", "x": 14.25, "y": 4 }, - { "label": "Win", "x": 15.25, "y": 4 }, - { "label": "Left", "x": 16.25, "y": 4 }, - { "label": "Down", "x": 17.25, "y": 4 }, - { "label": "Right", "x": 18.25, "y": 4 } + {"matrix": [4, 3], "x": 0, "y": 0}, + {"matrix": [0, 7], "x": 1, "y": 0}, + + {"matrix": [0, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [0, 3], "x": 5.25, "y": 0}, + {"matrix": [0, 4], "x": 6.25, "y": 0}, + {"matrix": [0, 5], "x": 7.25, "y": 0}, + {"matrix": [0, 6], "x": 8.25, "y": 0}, + + {"matrix": [6, 0], "x": 10.25, "y": 0}, + {"matrix": [6, 1], "x": 11.25, "y": 0}, + {"matrix": [6, 2], "x": 12.25, "y": 0}, + {"matrix": [6, 3], "x": 13.25, "y": 0}, + {"matrix": [6, 4], "x": 14.25, "y": 0}, + {"matrix": [6, 5], "x": 15.25, "y": 0}, + {"matrix": [6, 6], "x": 16.25, "y": 0}, + {"matrix": [6, 7], "x": 17.25, "y": 0}, + {"matrix": [11, 6], "x": 18.25, "y": 0}, + + {"matrix": [1, 6], "x": 0, "y": 1}, + {"matrix": [1, 7], "x": 1, "y": 1}, + + {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3.75, "y": 1}, + {"matrix": [1, 2], "x": 4.75, "y": 1}, + {"matrix": [1, 3], "x": 5.75, "y": 1}, + {"matrix": [1, 4], "x": 6.75, "y": 1}, + {"matrix": [1, 5], "x": 7.75, "y": 1}, + + {"matrix": [7, 0], "x": 9.75, "y": 1}, + {"matrix": [7, 1], "x": 10.75, "y": 1}, + {"matrix": [7, 2], "x": 11.75, "y": 1}, + {"matrix": [7, 3], "x": 12.75, "y": 1}, + {"matrix": [7, 4], "x": 13.75, "y": 1}, + {"matrix": [7, 5], "x": 14.75, "y": 1}, + {"matrix": [7, 6], "x": 15.75, "y": 1}, + {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5}, + {"matrix": [11, 7], "x": 18.25, "y": 1}, + + {"matrix": [2, 6], "x": 0, "y": 2}, + {"matrix": [2, 7], "x": 1, "y": 2}, + + {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 4, "y": 2}, + {"matrix": [2, 2], "x": 5, "y": 2}, + {"matrix": [2, 3], "x": 6, "y": 2}, + {"matrix": [2, 4], "x": 7, "y": 2}, + {"matrix": [2, 5], "x": 8, "y": 2}, + + {"matrix": [8, 0], "x": 10, "y": 2}, + {"matrix": [8, 1], "x": 11, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [8, 3], "x": 13, "y": 2}, + {"matrix": [8, 4], "x": 14, "y": 2}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25}, + {"matrix": [8, 6], "x": 18.25, "y": 2}, + + {"matrix": [3, 1], "x": 0, "y": 3}, + {"matrix": [3, 7], "x": 1, "y": 3}, + + {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3}, + {"matrix": [3, 3], "x": 5.5, "y": 3}, + {"matrix": [3, 4], "x": 6.5, "y": 3}, + {"matrix": [3, 5], "x": 7.5, "y": 3}, + {"matrix": [3, 6], "x": 8.5, "y": 3}, + + {"matrix": [9, 0], "x": 10.5, "y": 3}, + {"matrix": [9, 1], "x": 11.5, "y": 3}, + {"matrix": [9, 2], "x": 12.5, "y": 3}, + {"matrix": [9, 3], "x": 13.5, "y": 3}, + {"matrix": [9, 5], "x": 14.5, "y": 3}, + {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 3}, + {"matrix": [9, 4], "x": 18.25, "y": 3}, + + {"matrix": [4, 5], "x": 0, "y": 4}, + {"matrix": [4, 7], "x": 1, "y": 4}, + + {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5}, + {"matrix": [10, 3], "x": 13.25, "y": 4}, + {"matrix": [10, 4], "x": 14.25, "y": 4}, + {"matrix": [10, 5], "x": 15.25, "y": 4}, + {"matrix": [10, 6], "x": 16.25, "y": 4}, + {"matrix": [10, 7], "x": 17.25, "y": 4}, + {"matrix": [10, 2], "x": 18.25, "y": 4} ] }, "LAYOUT_all": { "layout": [ - { "label": "F1", "x": 0, "y": 0 }, - { "label": "F6", "x": 1, "y": 0 }, - - { "label": "Esc", "x": 2.25, "y": 0 }, - { "label": "1", "x": 3.25, "y": 0 }, - { "label": "2", "x": 4.25, "y": 0 }, - { "label": "3", "x": 5.25, "y": 0 }, - { "label": "4", "x": 6.25, "y": 0 }, - { "label": "5", "x": 7.25, "y": 0 }, - { "label": "6", "x": 8.25, "y": 0 }, - - { "label": "7", "x": 10.25, "y": 0 }, - { "label": "8", "x": 11.25, "y": 0 }, - { "label": "9", "x": 12.25, "y": 0 }, - { "label": "0", "x": 13.25, "y": 0 }, - { "label": "-", "x": 14.25, "y": 0 }, - { "label": "=", "x": 15.25, "y": 0 }, - { "label": "Del", "x": 16.25, "y": 0 }, - { "label": "Bksp", "x": 17.25, "y": 0 }, - { "label": "Home", "x": 18.25, "y": 0 }, - - { "label": "F2", "x": 0, "y": 1 }, - { "label": "F7", "x": 1, "y": 1 }, - - { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 }, - { "label": "Q", "x": 3.75, "y": 1 }, - { "label": "W", "x": 4.75, "y": 1 }, - { "label": "E", "x": 5.75, "y": 1 }, - { "label": "R", "x": 6.75, "y": 1 }, - { "label": "T", "x": 7.75, "y": 1 }, - - { "label": "Y", "x": 9.75, "y": 1 }, - { "label": "U", "x": 10.75, "y": 1 }, - { "label": "I", "x": 11.75, "y": 1 }, - { "label": "O", "x": 12.75, "y": 1 }, - { "label": "P", "x": 13.75, "y": 1 }, - { "label": "[", "x": 14.75, "y": 1 }, - { "label": "]", "x": 15.75, "y": 1 }, - { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 }, - { "label": "PgUp", "x": 18.25, "y": 1 }, - - { "label": "F3", "x": 0, "y": 2 }, - { "label": "F8", "x": 1, "y": 2 }, - - { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 }, - { "label": "A", "x": 4, "y": 2 }, - { "label": "S", "x": 5, "y": 2 }, - { "label": "D", "x": 6, "y": 2 }, - { "label": "F", "x": 7, "y": 2 }, - { "label": "G", "x": 8, "y": 2 }, - - { "label": "H", "x": 10, "y": 2 }, - { "label": "J", "x": 11, "y": 2 }, - { "label": "K", "x": 12, "y": 2 }, - { "label": "L", "x": 13, "y": 2 }, - { "label": ";", "x": 14, "y": 2 }, - { "label": "'", "x": 15, "y": 2 }, - { "label": "NUHS", "x": 16, "y": 2 }, - { "label": "Enter", "x": 17, "y": 2, "w": 1.25 }, - { "label": "PgDn", "x": 18.25, "y": 2 }, - - { "label": "F4", "x": 0, "y": 3 }, - { "label": "F9", "x": 1, "y": 3 }, - - { "label": "Shift", "x": 2.25, "y": 3, "w": 1.25 }, - { "label": "NUBS", "x": 3.5, "y": 3 }, - { "label": "Z", "x": 4.5, "y": 3 }, - { "label": "X", "x": 5.5, "y": 3 }, - { "label": "C", "x": 6.5, "y": 3 }, - { "label": "V", "x": 7.5, "y": 3 }, - { "label": "B", "x": 8.5, "y": 3 }, - - { "label": "N", "x": 10.5, "y": 3 }, - { "label": "M", "x": 11.5, "y": 3 }, - { "label": ",", "x": 12.5, "y": 3 }, - { "label": ".", "x": 13.5, "y": 3 }, - { "label": "/", "x": 14.5, "y": 3 }, - { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 }, - { "label": "Up", "x": 17.25, "y": 3 }, - { "label": "End", "x": 18.25, "y": 3 }, - - { "label": "F5", "x": 0, "y": 4 }, - { "label": "F10", "x": 1, "y": 4 }, - - { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 }, - { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 }, - { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 }, - { "label": "Fn", "x": 6, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 7.25, "y": 4 }, - { "label": "Space", "x": 8.25, "y": 4, "w": 1.25 }, - - { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 }, - { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 }, - { "label": "Alt", "x": 13.25, "y": 4 }, - { "label": "Ctrl", "x": 14.25, "y": 4 }, - { "label": "Win", "x": 15.25, "y": 4 }, - { "label": "Left", "x": 16.25, "y": 4 }, - { "label": "Down", "x": 17.25, "y": 4 }, - { "label": "Right", "x": 18.25, "y": 4 } + {"matrix": [4, 3], "x": 0, "y": 0}, + {"matrix": [0, 7], "x": 1, "y": 0}, + + {"matrix": [0, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [0, 3], "x": 5.25, "y": 0}, + {"matrix": [0, 4], "x": 6.25, "y": 0}, + {"matrix": [0, 5], "x": 7.25, "y": 0}, + {"matrix": [0, 6], "x": 8.25, "y": 0}, + + {"matrix": [6, 0], "x": 10.25, "y": 0}, + {"matrix": [6, 1], "x": 11.25, "y": 0}, + {"matrix": [6, 2], "x": 12.25, "y": 0}, + {"matrix": [6, 3], "x": 13.25, "y": 0}, + {"matrix": [6, 4], "x": 14.25, "y": 0}, + {"matrix": [6, 5], "x": 15.25, "y": 0}, + {"matrix": [6, 6], "x": 16.25, "y": 0}, + {"matrix": [6, 7], "x": 17.25, "y": 0}, + {"matrix": [11, 6], "x": 18.25, "y": 0}, + + {"matrix": [1, 6], "x": 0, "y": 1}, + {"matrix": [1, 7], "x": 1, "y": 1}, + + {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3.75, "y": 1}, + {"matrix": [1, 2], "x": 4.75, "y": 1}, + {"matrix": [1, 3], "x": 5.75, "y": 1}, + {"matrix": [1, 4], "x": 6.75, "y": 1}, + {"matrix": [1, 5], "x": 7.75, "y": 1}, + + {"matrix": [7, 0], "x": 9.75, "y": 1}, + {"matrix": [7, 1], "x": 10.75, "y": 1}, + {"matrix": [7, 2], "x": 11.75, "y": 1}, + {"matrix": [7, 3], "x": 12.75, "y": 1}, + {"matrix": [7, 4], "x": 13.75, "y": 1}, + {"matrix": [7, 5], "x": 14.75, "y": 1}, + {"matrix": [7, 6], "x": 15.75, "y": 1}, + {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5}, + {"matrix": [11, 7], "x": 18.25, "y": 1}, + + {"matrix": [2, 6], "x": 0, "y": 2}, + {"matrix": [2, 7], "x": 1, "y": 2}, + + {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 4, "y": 2}, + {"matrix": [2, 2], "x": 5, "y": 2}, + {"matrix": [2, 3], "x": 6, "y": 2}, + {"matrix": [2, 4], "x": 7, "y": 2}, + {"matrix": [2, 5], "x": 8, "y": 2}, + + {"matrix": [8, 0], "x": 10, "y": 2}, + {"matrix": [8, 1], "x": 11, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [8, 3], "x": 13, "y": 2}, + {"matrix": [8, 4], "x": 14, "y": 2}, + {"matrix": [8, 5], "x": 15, "y": 2}, + {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25}, + {"matrix": [8, 6], "x": 18.25, "y": 2}, + + {"matrix": [3, 1], "x": 0, "y": 3}, + {"matrix": [3, 7], "x": 1, "y": 3}, + + {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3}, + {"matrix": [3, 3], "x": 5.5, "y": 3}, + {"matrix": [3, 4], "x": 6.5, "y": 3}, + {"matrix": [3, 5], "x": 7.5, "y": 3}, + {"matrix": [3, 6], "x": 8.5, "y": 3}, + + {"matrix": [9, 0], "x": 10.5, "y": 3}, + {"matrix": [9, 1], "x": 11.5, "y": 3}, + {"matrix": [9, 2], "x": 12.5, "y": 3}, + {"matrix": [9, 3], "x": 13.5, "y": 3}, + {"matrix": [9, 5], "x": 14.5, "y": 3}, + {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 3}, + {"matrix": [9, 4], "x": 18.25, "y": 3}, + + {"matrix": [4, 5], "x": 0, "y": 4}, + {"matrix": [4, 7], "x": 1, "y": 4}, + + {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5}, + {"matrix": [10, 3], "x": 13.25, "y": 4}, + {"matrix": [10, 4], "x": 14.25, "y": 4}, + {"matrix": [10, 5], "x": 15.25, "y": 4}, + {"matrix": [10, 6], "x": 16.25, "y": 4}, + {"matrix": [10, 7], "x": 17.25, "y": 4}, + {"matrix": [10, 2], "x": 18.25, "y": 4} ] } } diff --git a/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..04349ea990aa --- /dev/null +++ b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME, + KC_F3, KC_F4, 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_END, + KC_F5, KC_F6, 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_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + _______, _______, QK_GESC, 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_DEL, KC_BSPC, _______, + _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, +}; +#endif diff --git a/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk b/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1189f4ad1927 --- /dev/null +++ b/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebio/quefrency/rev1/rev1.c b/keyboards/keebio/quefrency/rev1/rev1.c index 6704b062f5f3..51adb74d31f0 100644 --- a/keyboards/keebio/quefrency/rev1/rev1.c +++ b/keyboards/keebio/quefrency/rev1/rev1.c @@ -1,4 +1,4 @@ -#include "quefrency.h" +#include "quantum.h" void eeconfig_init_kb(void) { #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/keebio/quefrency/rev1/rev1.h b/keyboards/keebio/quefrency/rev1/rev1.h deleted file mode 100644 index da62f904cc30..000000000000 --- a/keyboards/keebio/quefrency/rev1/rev1.h +++ /dev/null @@ -1,124 +0,0 @@ -#pragma once - -#include "quefrency.h" - -#include "quantum.h" - - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif - -#define LAYOUT( \ - LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ - LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \ - LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \ - LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \ - LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \ - { LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \ - { LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \ - { RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \ - { RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ - } - -#define LAYOUT_65( \ - LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ - LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ - LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \ - LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \ - LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \ - { LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \ - { LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \ - { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \ - { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \ - } - -#define LAYOUT_60_with_macro( \ - LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ - LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \ - LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \ - LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \ - LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \ - { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \ - { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \ - { RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \ - { RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ - } - -#define LAYOUT_65_with_macro( \ - LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ - LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ - LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \ - LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \ - LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \ - { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \ - { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \ - { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \ - { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \ - } - -#define LAYOUT_all( \ - LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ - LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ - LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC7x,RC8, RC9, \ - LD9, LD8, LD1, LD2x,LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \ - LE9, LE8, LE1, LE2, LE3, LE5, LE6x,LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \ - { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \ - { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \ - { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \ - { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \ - } diff --git a/keyboards/kinesis/kint41/rules.mk b/keyboards/kinesis/kint41/rules.mk index 99c7c0f7d602..e273e8f282e9 100644 --- a/keyboards/kinesis/kint41/rules.mk +++ b/keyboards/kinesis/kint41/rules.mk @@ -13,3 +13,5 @@ BOOTLOADER = halfkay # this because the Cherry MX keyswitches on the Kinesis only produce noise while # pressed. DEBOUNCE_TYPE = sym_eager_pk + +FIRMWARE_FORMAT = hex diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json index 524eec0da879..e12e7717eb71 100644 --- a/keyboards/rgbkb/pan/info.json +++ b/keyboards/rgbkb/pan/info.json @@ -11,76 +11,72 @@ "layouts": { "LAYOUT_all": { "layout": [ - {"x": 0, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, - {"x": 12, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.5}, - {"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}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2, "w": 1.5}, - {"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, "w": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, - {"x": 0, "y": 3.25, "w": 1.5}, - {"x": 1.5, "y": 3.25}, - {"x": 2.5, "y": 3.25}, - {"x": 3.5, "y": 3.25}, - {"x": 4.5, "y": 3.25}, - {"x": 5.5, "y": 3.25}, - {"x": 6.5, "y": 3.25}, - {"x": 7.5, "y": 3.25}, - {"x": 8.5, "y": 3.25}, - {"x": 9.5, "y": 3.25}, - {"x": 10.5, "y": 3.25}, - {"x": 11.5, "y": 3.25, "w": 1.5}, - - {"x": 0, "y": 4.25}, - {"x": 1, "y": 4.25}, - {"x": 2, "y": 4.25}, - {"x": 3, "y": 4.25}, - {"x": 4, "y": 4.25}, - {"x": 5, "y": 4.25}, - {"x": 6, "y": 4.25}, - {"x": 7, "y": 4.25}, - {"x": 8, "y": 4.25}, - {"x": 9, "y": 4.25}, - {"x": 10, "y": 4.25}, - {"x": 11, "y": 4.25}, - {"x": 12, "y": 4.25}, - - {"x": 0, "y": 5.25, "w": 1.5}, - {"x": 1.5, "y": 5.25}, - {"x": 2.5, "y": 5.25}, - {"x": 3.5, "y": 5.25}, - {"x": 4.5, "y": 5.25}, - {"x": 5.5, "y": 5.25}, - {"x": 6.5, "y": 5.25}, - {"x": 7.5, "y": 5.25}, - {"x": 8.5, "y": 5.25}, - {"x": 9.5, "y": 5.25}, - {"x": 10.5, "y": 5.25}, - {"x": 11.5, "y": 5.25, "w": 1.5} + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4}, + {"matrix": [4, 3], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4}, + {"matrix": [4, 5], "x": 5.5, "y": 4}, + {"matrix": [4, 6], "x": 6.5, "y": 4}, + {"matrix": [4, 7], "x": 7.5, "y": 4}, + {"matrix": [4, 8], "x": 8.5, "y": 4}, + {"matrix": [4, 9], "x": 9.5, "y": 4}, + {"matrix": [4, 10], "x": 10.5, "y": 4}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c index 367aadbb4b0c..5d84ea07638b 100644 --- a/keyboards/rgbkb/pan/keymaps/default/keymap.c +++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c @@ -34,7 +34,6 @@ enum layer_number { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_all( - KC_NO, KC_NO, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, @@ -43,7 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_COLEMAK] = LAYOUT_all( - KC_NO, KC_NO, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT, @@ -52,7 +50,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_all( - KC_NO, KC_NO, 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_PSCR, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, @@ -61,7 +58,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJ] = LAYOUT_all( - KC_NO, KC_NO, 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_PSCR, _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c index f0194ebdfdff..fab3cac78542 100644 --- a/keyboards/rgbkb/pan/pan.c +++ b/keyboards/rgbkb/pan/pan.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "pan.h" + #include "quantum.h" #include "rgb_matrix_types.h" diff --git a/keyboards/rgbkb/pan/pan.h b/keyboards/rgbkb/pan/pan.h deleted file mode 100644 index c1b9f77f6df0..000000000000 --- a/keyboards/rgbkb/pan/pan.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2020 RGBKB - * - * 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 _x_ KC_NO - -#include "quantum.h" - -#define LAYOUT_all( \ - E01, E02, \ -/* 0 1 2 3 4 5 6 7 8 9 10 11 12 */\ -/* 0 */ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, \ -/* 1 */ K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, \ -/* 2 */ K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ -/* 3 */ K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K50, \ -/* 4 */ K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62 \ - ) { \ -/* 0 */{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12 }, \ -/* 1 */{ K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, KC_NO }, \ -/* 2 */{ K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, KC_NO }, \ -/* 3 */{ K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K50 }, \ -/* 4 */{ K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, KC_NO, K62 } \ - } diff --git a/keyboards/sawnsprojects/plaque80/info.json b/keyboards/sawnsprojects/plaque80/info.json new file mode 100644 index 000000000000..d45f9a38969a --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/info.json @@ -0,0 +1,145 @@ +{ + "keyboard_name": "Plaque80", + "manufacturer": "SawnsProjects", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0x5350", + "pid": "0x0801", + "device_version": "1.0.0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "matrix_pins": { + "rows": ["D3", "D5", "B1", "B2", "B3", "B7", "D1", "D0", "F4", "F5", "F6", "F7"], + "cols": ["F1", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": false, + "rgblight": true + }, + "rgblight": { + "pin": "F0", + "led_count": 30, + "sleep": true, + "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": "E6", + "scroll_lock": "D2" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "K00 (D3,C0)", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K10 (D5,C0)", "matrix": [1, 0], "x": 1.25, "y": 0}, + {"label": "K01 (D3,C7)", "matrix": [0, 1], "x": 2.25, "y": 0}, + {"label": "K11 (D5,C7)", "matrix": [1, 1], "x": 3.25, "y": 0}, + {"label": "K02 (D3,C6)", "matrix": [0, 2], "x": 4.25, "y": 0}, + {"label": "K12 (D5,C6)", "matrix": [1, 2], "x": 5.5, "y": 0}, + {"label": "K03 (D3,B6)", "matrix": [0, 3], "x": 6.5, "y": 0}, + {"label": "K13 (D5,B6)", "matrix": [1, 3], "x": 7.5, "y": 0}, + {"label": "K04 (D3,B5)", "matrix": [0, 4], "x": 8.5, "y": 0}, + {"label": "K14 (D5,B5)", "matrix": [1, 4], "x": 9.75, "y": 0}, + {"label": "K05 (D3,B4)", "matrix": [0, 5], "x": 10.75, "y": 0}, + {"label": "K15 (D5,B4)", "matrix": [1, 5], "x": 11.75, "y": 0}, + {"label": "K06 (D3,D7)", "matrix": [0, 6], "x": 12.75, "y": 0}, + {"label": "K16 (D5,D7)", "matrix": [1, 6], "x": 14, "y": 0}, + {"label": "K17 (D5,D6)", "matrix": [1, 7], "x": 15.25, "y": 0}, + {"label": "K07 (D3,D6)", "matrix": [0, 7], "x": 16.25, "y": 0}, + {"label": "K08 (D3,D4)", "matrix": [0, 8], "x": 17.25, "y": 0}, + {"label": "K20 (B1,C0)", "matrix": [2, 0], "x": 0, "y": 1.5}, + {"label": "K30 (B2,C0)", "matrix": [3, 0], "x": 1, "y": 1.5}, + {"label": "K21 (B1,C7)", "matrix": [2, 1], "x": 2, "y": 1.5}, + {"label": "K31 (B2,C7)", "matrix": [3, 1], "x": 3, "y": 1.5}, + {"label": "K22 (B1,C6)", "matrix": [2, 2], "x": 4, "y": 1.5}, + {"label": "K32 (B2,C6)", "matrix": [3, 2], "x": 5, "y": 1.5}, + {"label": "K23 (B1,B6)", "matrix": [2, 3], "x": 6, "y": 1.5}, + {"label": "K33 (B2,B6)", "matrix": [3, 3], "x": 7, "y": 1.5}, + {"label": "K24 (B1,B5)", "matrix": [2, 4], "x": 8, "y": 1.5}, + {"label": "K34 (B2,B5)", "matrix": [3, 4], "x": 9, "y": 1.5}, + {"label": "K25 (B1,B4)", "matrix": [2, 5], "x": 10, "y": 1.5}, + {"label": "K35 (B2,B4)", "matrix": [3, 5], "x": 11, "y": 1.5}, + {"label": "K26 (B1,D7)", "matrix": [2, 6], "x": 12, "y": 1.5}, + {"label": "K36 (B2,D7)", "matrix": [3, 6], "x": 13, "y": 1.5}, + {"label": "K76 (D0,D7)", "matrix": [7, 6], "x": 14, "y": 1.5}, + {"label": "K37 (B2,D6)", "matrix": [3, 7], "x": 15.25, "y": 1.5}, + {"label": "K27 (B1,D6)", "matrix": [2, 7], "x": 16.25, "y": 1.5}, + {"label": "K28 (B1,D4)", "matrix": [2, 8], "x": 17.25, "y": 1.5}, + {"label": "K40 (B3,C0)", "matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "K50 (B7,C0)", "matrix": [5, 0], "x": 1.5, "y": 2.5}, + {"label": "K41 (B3,C7)", "matrix": [4, 1], "x": 2.5, "y": 2.5}, + {"label": "K51 (B7,C7)", "matrix": [5, 1], "x": 3.5, "y": 2.5}, + {"label": "K42 (B3,C6)", "matrix": [4, 2], "x": 4.5, "y": 2.5}, + {"label": "K52 (B7,C6)", "matrix": [5, 2], "x": 5.5, "y": 2.5}, + {"label": "K43 (B3,B6)", "matrix": [4, 3], "x": 6.5, "y": 2.5}, + {"label": "K53 (B7,B6)", "matrix": [5, 3], "x": 7.5, "y": 2.5}, + {"label": "K44 (B3,B5)", "matrix": [4, 4], "x": 8.5, "y": 2.5}, + {"label": "K54 (B7,B5)", "matrix": [5, 4], "x": 9.5, "y": 2.5}, + {"label": "K45 (B3,B4)", "matrix": [4, 5], "x": 10.5, "y": 2.5}, + {"label": "K55 (B7,B4)", "matrix": [5, 5], "x": 11.5, "y": 2.5}, + {"label": "K46 (B3,D7)", "matrix": [4, 6], "x": 12.5, "y": 2.5}, + {"label": "K56 (B7,D7)", "matrix": [5, 6], "x": 13.5, "y": 2.5, "w": 1.5}, + {"label": "K57 (B7,D6)", "matrix": [5, 7], "x": 15.25, "y": 2.5}, + {"label": "K47 (B3,D6)", "matrix": [4, 7], "x": 16.25, "y": 2.5}, + {"label": "K48 (B3,D4)", "matrix": [4, 8], "x": 17.25, "y": 2.5}, + {"label": "K60 (D1,C0)", "matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "K70 (D0,C0)", "matrix": [7, 0], "x": 1.75, "y": 3.5}, + {"label": "K61 (D1,C7)", "matrix": [6, 1], "x": 2.75, "y": 3.5}, + {"label": "K71 (D0,C7)", "matrix": [7, 1], "x": 3.75, "y": 3.5}, + {"label": "K62 (D1,C6)", "matrix": [6, 2], "x": 4.75, "y": 3.5}, + {"label": "K72 (D0,C6)", "matrix": [7, 2], "x": 5.75, "y": 3.5}, + {"label": "K63 (D1,B6)", "matrix": [6, 3], "x": 6.75, "y": 3.5}, + {"label": "K73 (D0,B6)", "matrix": [7, 3], "x": 7.75, "y": 3.5}, + {"label": "K64 (D1,B5)", "matrix": [6, 4], "x": 8.75, "y": 3.5}, + {"label": "K74 (D0,B5)", "matrix": [7, 4], "x": 9.75, "y": 3.5}, + {"label": "K65 (D1,B4)", "matrix": [6, 5], "x": 10.75, "y": 3.5}, + {"label": "K75 (D0,B4)", "matrix": [7, 5], "x": 11.75, "y": 3.5}, + {"label": "K66 (D1,D7)", "matrix": [6, 6], "x": 12.75, "y": 3.5, "w": 2.25}, + {"label": "K80 (F4,C0)", "matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "K90 (F5,C0)", "matrix": [9, 0], "x": 1.25, "y": 4.5}, + {"label": "K81 (F4,C7)", "matrix": [8, 1], "x": 2.25, "y": 4.5}, + {"label": "K91 (F5,C7)", "matrix": [9, 1], "x": 3.25, "y": 4.5}, + {"label": "K82 (F4,C6)", "matrix": [8, 2], "x": 4.25, "y": 4.5}, + {"label": "K92 (F5,C6)", "matrix": [9, 2], "x": 5.25, "y": 4.5}, + {"label": "K83 (F4,B6)", "matrix": [8, 3], "x": 6.25, "y": 4.5}, + {"label": "K93 (F5,B6)", "matrix": [9, 3], "x": 7.25, "y": 4.5}, + {"label": "K84 (F4,B5)", "matrix": [8, 4], "x": 8.25, "y": 4.5}, + {"label": "K94 (F5,B5)", "matrix": [9, 4], "x": 9.25, "y": 4.5}, + {"label": "K85 (F4,B4)", "matrix": [8, 5], "x": 10.25, "y": 4.5}, + {"label": "K95 (F5,B4)", "matrix": [9, 5], "x": 11.25, "y": 4.5}, + {"label": "K86 (F4,D7)", "matrix": [8, 6], "x": 12.25, "y": 4.5, "w": 1.75}, + {"label": "K96 (F5,D7)", "matrix": [9, 6], "x": 14, "y": 4.5}, + {"label": "K97 (F5,D6)", "matrix": [9, 7], "x": 16.25, "y": 4.5}, + {"label": "KA0 (F6,C0)", "matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "KB0 (F7,C0)", "matrix": [11, 0], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "KA1 (F6,C7)", "matrix": [10, 1], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "KA3 (F6,B6)", "matrix": [10, 3], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "KA5 (F6,B4)", "matrix": [10, 5], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "KB5 (F7,B4)", "matrix": [11, 5], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "KA6 (F6,D7)", "matrix": [10, 6], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "KB6 (F7,D7)", "matrix": [11, 6], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "KB7 (F7,D6)", "matrix": [11, 7], "x": 15.25, "y": 5.5}, + {"label": "KA7 (F6,D6)", "matrix": [10, 7], "x": 16.25, "y": 5.5}, + {"label": "KA8 (F6,D4)", "matrix": [10, 8], "x": 17.25, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c b/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c new file mode 100644 index 000000000000..c3bd1eb819f7 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2023 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_SLSH, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keymaps/default/readme.md b/keyboards/sawnsprojects/plaque80/keymaps/default/readme.md new file mode 100644 index 000000000000..bb3f8c72e7c4 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Plaque80 \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keymaps/via/keymap.c b/keyboards/sawnsprojects/plaque80/keymaps/via/keymap.c new file mode 100644 index 000000000000..26b3a3e98f56 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2022 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_SLSH, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/sawnsprojects/plaque80/keymaps/via/readme.md b/keyboards/sawnsprojects/plaque80/keymaps/via/readme.md new file mode 100644 index 000000000000..48798fd6e158 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for Plaque80 \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keymaps/via/rules.mk b/keyboards/sawnsprojects/plaque80/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/readme.md b/keyboards/sawnsprojects/plaque80/readme.md new file mode 100644 index 000000000000..7dae55ba1a25 --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/readme.md @@ -0,0 +1,25 @@ +# Plaque80 + +![Plaque80](https://i.imgur.com/kgRcHTlh.png) + + A TKL keyboard sold in ParamountKeeb. Atmega32u4 soldered PCB. Sold under the name "Plaque80" with Plaque80 keyboard case. This PCB can compatible with Plaque80 keyboard case and several TKL boards like Geonworks Frog/F1-8x; KFE-CE; TGR Jane; Cloudline; Singa Jaguar; Amber80, among others. + + **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board. + +* Keyboard Maintainer: [SawnsProjects](https://github.com/MaiTheSan) [ParamountKeeb](https://paramountkeeb.com/) +* Hardware Supported: Plaque80 +* Hardware Availability: [ParamountKeeb](https://paramountkeeb.com/) + +Make examples for this keyboard (after setting up your build environment): + + make sawnsprojects/plaque80:default + +## Bootloader + +Enter the bootloader in 3 ways: + +* **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 + +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). \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/rules.mk b/keyboards/sawnsprojects/plaque80/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/sawnsprojects/plaque80/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/takashicompany/tightwriter/info.json b/keyboards/takashicompany/tightwriter/info.json new file mode 100644 index 000000000000..7918682c201b --- /dev/null +++ b/keyboards/takashicompany/tightwriter/info.json @@ -0,0 +1,97 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "Tightwriter", + "maintainer": "takashicompany", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": [ + "D4", + "C6", + "D7", + "E6", + "B4", + "B5" + ], + "rows": [ + "F6", + "F7", + "B1", + "B3", + "B2", + "B6" + ] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0025", + "vid": "0x7463" + }, + "rgblight": { + "led_count": 10, + "pin": "D3", + "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 + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0, "w": 1.25 }, + { "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "matrix": [0, 2], "x": 2.25, "y": 0 }, + { "matrix": [0, 3], "x": 3.25, "y": 0 }, + { "matrix": [0, 4], "x": 4.25, "y": 0 }, + { "matrix": [0, 5], "x": 5.25, "y": 0 }, + { "matrix": [1, 0], "x": 6.25, "y": 0 }, + { "matrix": [1, 1], "x": 7.25, "y": 0 }, + { "matrix": [1, 2], "x": 8.25, "y": 0 }, + { "matrix": [1, 3], "x": 9.25, "y": 0 }, + { "matrix": [1, 4], "x": 10.25, "y": 0 }, + { "matrix": [2, 0], "x": 0, "y": 1, "w": 1.75 }, + { "matrix": [2, 1], "x": 1.75, "y": 1 }, + { "matrix": [2, 2], "x": 2.75, "y": 1 }, + { "matrix": [2, 3], "x": 3.75, "y": 1 }, + { "matrix": [2, 4], "x": 4.75, "y": 1 }, + { "matrix": [2, 5], "x": 5.75, "y": 1 }, + { "matrix": [3, 0], "x": 6.75, "y": 1 }, + { "matrix": [3, 1], "x": 7.75, "y": 1 }, + { "matrix": [3, 2], "x": 8.75, "y": 1 }, + { "matrix": [1, 5], "x": 10, "y": 1, "w": 1.25, "h": 2 }, + { "matrix": [4, 0], "x": 0, "y": 2, "w": 2 }, + { "matrix": [4, 1], "x": 2, "y": 2 }, + { "matrix": [4, 2], "x": 3, "y": 2 }, + { "matrix": [4, 3], "x": 4, "y": 2 }, + { "matrix": [4, 4], "x": 5, "y": 2 }, + { "matrix": [4, 5], "x": 6, "y": 2 }, + { "matrix": [3, 3], "x": 7, "y": 2 }, + { "matrix": [3, 4], "x": 8, "y": 2 }, + { "matrix": [3, 5], "x": 9, "y": 2 }, + { "matrix": [5, 0], "x": 0, "y": 3, "w": 1.25 }, + { "matrix": [5, 1], "x": 1.25, "y": 3, "w": 1.25 }, + { "matrix": [5, 2], "x": 2.5, "y": 3, "w": 6.25 }, + { "matrix": [5, 3], "x": 8.75, "y": 3, "w": 1.25 }, + { "matrix": [5, 4], "x": 10, "y": 3, "w": 1.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/tightwriter/keymaps/default/keymap.c b/keyboards/takashicompany/tightwriter/keymaps/default/keymap.c new file mode 100644 index 000000000000..30c9d9169a02 --- /dev/null +++ b/keyboards/takashicompany/tightwriter/keymaps/default/keymap.c @@ -0,0 +1,112 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + SWITCH_LANG = SAFE_RANGE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LT(1, KC_SPC), LT(1, KC_LNG1), KC_BSPC + ), + + LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC + ), + + LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, + LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, + KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, + KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, SWITCH_LANG, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, + RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; + +bool is_lang1 = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SWITCH_LANG: + if (record->event.pressed) { + + if (is_lang1) { + register_code(KC_LNG1); + is_lang1 = false; + } + else { + register_code(KC_LNG2); + is_lang1 = true; + } + } + break; + case KC_LNG1: + if (record->event.pressed) { + is_lang1 = false; + } + break; + + case KC_LNG2: + if (record->event.pressed) { + is_lang1 = true; + } + break; + } + return true; +} diff --git a/keyboards/takashicompany/tightwriter/keymaps/via/config.h b/keyboards/takashicompany/tightwriter/keymaps/via/config.h new file mode 100644 index 000000000000..f357dce30324 --- /dev/null +++ b/keyboards/takashicompany/tightwriter/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 10 \ No newline at end of file diff --git a/keyboards/takashicompany/tightwriter/keymaps/via/keymap.c b/keyboards/takashicompany/tightwriter/keymaps/via/keymap.c new file mode 100644 index 000000000000..30c9d9169a02 --- /dev/null +++ b/keyboards/takashicompany/tightwriter/keymaps/via/keymap.c @@ -0,0 +1,112 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + SWITCH_LANG = SAFE_RANGE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LT(1, KC_SPC), LT(1, KC_LNG1), KC_BSPC + ), + + LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC + ), + + LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, + LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, + KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, + KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, SWITCH_LANG, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, + RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; + +bool is_lang1 = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SWITCH_LANG: + if (record->event.pressed) { + + if (is_lang1) { + register_code(KC_LNG1); + is_lang1 = false; + } + else { + register_code(KC_LNG2); + is_lang1 = true; + } + } + break; + case KC_LNG1: + if (record->event.pressed) { + is_lang1 = false; + } + break; + + case KC_LNG2: + if (record->event.pressed) { + is_lang1 = true; + } + break; + } + return true; +} diff --git a/keyboards/takashicompany/tightwriter/keymaps/via/rules.mk b/keyboards/takashicompany/tightwriter/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/takashicompany/tightwriter/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/takashicompany/tightwriter/readme.md b/keyboards/takashicompany/tightwriter/readme.md new file mode 100644 index 000000000000..779d3a9bc73b --- /dev/null +++ b/keyboards/takashicompany/tightwriter/readme.md @@ -0,0 +1,29 @@ +# takashicompany/tightwriter + +![Tightwriter](https://i.imgur.com/evVMdSRh.jpg) + +Tightwriter is a 35-key keyboard. +The PCB is compatible with Cherry MX compatible key switches and Kailh Choc v1 key switches. +It can be equipped with backlight LEDs and a TRRS socket. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/tightwriter + +Make example for this keyboard (after setting up your build environment): + +caterina: + make takashicompany/tightwriter:default + +Many popular Pro Micro alternatives like the Elite-C, Bit-C, Sea-Micro, Puchi-C etc... + make takashicompany/tightwriter:default:dfu + +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 top-left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving. +- Physical reset button: Briefly press the button on the back of the PCB. +- Keycode in layout: Press the key mapped to QK_BOOT. In the pre-supplied keymaps it is on the ninth layer, replacing the N key. diff --git a/keyboards/takashicompany/tightwriter/rules.mk b/keyboards/takashicompany/tightwriter/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/takashicompany/tightwriter/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/tzarc/djinn/djinn_portscan_matrix.c b/keyboards/tzarc/djinn/djinn_portscan_matrix.c index 6fcfd48bbaf7..cb73c47def77 100644 --- a/keyboards/tzarc/djinn/djinn_portscan_matrix.c +++ b/keyboards/tzarc/djinn/djinn_portscan_matrix.c @@ -114,4 +114,4 @@ void matrix_wait_for_interrupt(void) { writePinHigh(col_pins[i]); setPinInputHigh(col_pins[i]); } -} \ No newline at end of file +} diff --git a/keyboards/tzarc/djinn/djinn_usbpd.c b/keyboards/tzarc/djinn/djinn_usbpd.c index b0bf166b7c01..7a56f92b8e95 100644 --- a/keyboards/tzarc/djinn/djinn_usbpd.c +++ b/keyboards/tzarc/djinn/djinn_usbpd.c @@ -25,4 +25,4 @@ void usbpd_update(void) { kb_state.current_setting = allowance; } } -} \ No newline at end of file +} diff --git a/keyboards/tzarc/djinn/keymaps/default/config.h b/keyboards/tzarc/djinn/keymaps/default/config.h index b40936ff9343..9ba29d4cf38f 100644 --- a/keyboards/tzarc/djinn/keymaps/default/config.h +++ b/keyboards/tzarc/djinn/keymaps/default/config.h @@ -3,7 +3,7 @@ #pragma once // Uncomment the following if your board uses 1.5A and 3.0A hold current fuses. -//#define DJINN_SUPPORTS_3A_FUSE +// #define DJINN_SUPPORTS_3A_FUSE // Encoder settings #define ENCODER_RESOLUTION 2 @@ -60,4 +60,4 @@ #define ENABLE_RGB_MATRIX_SPLASH #define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH \ No newline at end of file +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/tzarc/djinn/keymaps/via/config.h b/keyboards/tzarc/djinn/keymaps/via/config.h index b40936ff9343..9ba29d4cf38f 100644 --- a/keyboards/tzarc/djinn/keymaps/via/config.h +++ b/keyboards/tzarc/djinn/keymaps/via/config.h @@ -3,7 +3,7 @@ #pragma once // Uncomment the following if your board uses 1.5A and 3.0A hold current fuses. -//#define DJINN_SUPPORTS_3A_FUSE +// #define DJINN_SUPPORTS_3A_FUSE // Encoder settings #define ENCODER_RESOLUTION 2 @@ -60,4 +60,4 @@ #define ENABLE_RGB_MATRIX_SPLASH #define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH \ No newline at end of file +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/tzarc/ghoul/config.h b/keyboards/tzarc/ghoul/config.h index e08b8beee30a..c027b77565d8 100644 --- a/keyboards/tzarc/ghoul/config.h +++ b/keyboards/tzarc/ghoul/config.h @@ -2,11 +2,10 @@ // SPDX-License-Identifier: GPL-3.0-or-later #pragma once - // Matrix #define MATRIX_SHIFT_REGISTER_COUNT 5 -//#define MATRIX_ROWS 6 // actually defined in info.json: 5 shift registers, plus one row for extras (i.e. encoder pushbutton read) -//#define MATRIX_COLS 8 // actually defined in info.json: 8 bits per register +// #define MATRIX_ROWS 6 // actually defined in info.json: 5 shift registers, plus one row for extras (i.e. encoder pushbutton read) +// #define MATRIX_COLS 8 // actually defined in info.json: 8 bits per register // EEPROM configuration #define EXTERNAL_EEPROM_BYTE_COUNT 8192 diff --git a/keyboards/tzarc/ghoul/rev1/rp2040/config.h b/keyboards/tzarc/ghoul/rev1/rp2040/config.h index 1a101d5dc4c2..39b587bab0f4 100644 --- a/keyboards/tzarc/ghoul/rev1/rp2040/config.h +++ b/keyboards/tzarc/ghoul/rev1/rp2040/config.h @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later #pragma once - // Matrix configuration #define SPI_MATRIX_CHIP_SELECT_PIN GP21 #define SPI_MATRIX_DIVISOR 16 diff --git a/keyboards/tzarc/ghoul/rev1/stm32/config.h b/keyboards/tzarc/ghoul/rev1/stm32/config.h index 53a370437d08..12c9f77d5eb6 100644 --- a/keyboards/tzarc/ghoul/rev1/stm32/config.h +++ b/keyboards/tzarc/ghoul/rev1/stm32/config.h @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later #pragma once - // Matrix configuration #define SPI_MATRIX_CHIP_SELECT_PIN C4 #define SPI_MATRIX_DIVISOR 32 diff --git a/keyboards/viktus/osav2/info.json b/keyboards/viktus/osav2/info.json index eade5870891a..b2274880bc5d 100644 --- a/keyboards/viktus/osav2/info.json +++ b/keyboards/viktus/osav2/info.json @@ -16,8 +16,8 @@ "bootmagic": true, "command": false, "console": false, - "extrakey": false, - "mousekey": false, + "extrakey": true, + "mousekey": true, "nkro": true }, "bootmagic": { diff --git a/keyboards/wuque/creek70/readme.md b/keyboards/wuque/creek70/readme.md index 33c7a5d609ba..2b7f9f4688fa 100644 --- a/keyboards/wuque/creek70/readme.md +++ b/keyboards/wuque/creek70/readme.md @@ -1,12 +1,10 @@ # creek70 More Info at [creek70](https://shop.wuquestudio.com/) -​ * Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) * Hardware Supported: creek 70 * Hardware Availability: [creek70](https://shop.wuquestudio.com/) -​ Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/wuque/ikki68_aurora/readme.md b/keyboards/wuque/ikki68_aurora/readme.md index 98674d0d728f..e9b9405da06a 100644 --- a/keyboards/wuque/ikki68_aurora/readme.md +++ b/keyboards/wuque/ikki68_aurora/readme.md @@ -1,14 +1,14 @@ # ikki68_aurora ![ikki68_aurora](https://cdn.shopify.com/s/files/1/0403/9809/4489/products/GMK_Mizu_FK5225_2021-Jan-28_01-50-51AM-000_CustomizedView25613364763.jpg?v=1611994134) -​ + Hope this kit is the same as ikki, every rebirth will be stronger More Info at[wuquestudio](https://shop.wuquestudio.com/). -​ + * Keyboard Maintainer: [wuquestudio](https://shop.wuquestudio.com) * Hardware Supported: ikki68 aurora Standard * Hardware Availability: [wuquestudio](http://aurora.wuquestudio.com/) -​ + Make example for this keyboard (after setting up your build environment): make wuque/ikki68_aurora:default diff --git a/keyboards/wuque/mammoth75x/readme.md b/keyboards/wuque/mammoth75x/readme.md index 9528552fb17e..825dd26b67ab 100644 --- a/keyboards/wuque/mammoth75x/readme.md +++ b/keyboards/wuque/mammoth75x/readme.md @@ -1,13 +1,13 @@ # mammoth75x -​ + ![mammoth75x](https://i.imgur.com/mhIKh2P.jpeg) -​ + More Info at [wuquestudio](https://shop.wuquestudio.com/). -​ + * Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) * Hardware Supported: mammoth75x Standard * Hardware Availability: [mammoth75x](https://shop.wuquestudio.com/) -​ + Make example for this keyboard (after setting up your build environment): make wuque/mammoth75x:default diff --git a/keyboards/wuque/promise87/ansi/readme.md b/keyboards/wuque/promise87/ansi/readme.md index 08ad5875c6aa..497d747a71fb 100644 --- a/keyboards/wuque/promise87/ansi/readme.md +++ b/keyboards/wuque/promise87/ansi/readme.md @@ -3,12 +3,10 @@ ![Promise87](https://i.imgur.com/0gtouZ2.png) More Info at [promise87](https://promisetkl.com/) -​ * Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) * Hardware Supported: promise 87 * Hardware Availability: [promise87](https://promisetkl.com/) -​ Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/wuque/promise87/wkl/readme.md b/keyboards/wuque/promise87/wkl/readme.md index 8629c75291c1..c2db136a81e4 100644 --- a/keyboards/wuque/promise87/wkl/readme.md +++ b/keyboards/wuque/promise87/wkl/readme.md @@ -3,12 +3,10 @@ ![Promise87](https://i.imgur.com/0gtouZ2.png) More Info at [promise87](https://promisetkl.com/) -​ * Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) * Hardware Supported: promise 87 * Hardware Availability: [promise87](https://promisetkl.com/) -​ Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/wuque/serneity65/readme.md b/keyboards/wuque/serneity65/readme.md index 11d18bacbb6f..78a8e6d2f63d 100644 --- a/keyboards/wuque/serneity65/readme.md +++ b/keyboards/wuque/serneity65/readme.md @@ -1,11 +1,11 @@ # serneity65 More Info at [serneity65](https://shop.wuquestudio.com/) -​ + * Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) * Hardware Supported: zoom65 Standard * Hardware Availability: [serneity65](https://shop.wuquestudio.com/) -​ + Make example for this keyboard (after setting up your build environment): diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py index 11d4616199d3..580e080eeb56 100755 --- a/lib/python/qmk/cli/generate/api.py +++ b/lib/python/qmk/cli/generate/api.py @@ -8,7 +8,6 @@ from qmk.datetime import current_datetime from qmk.info import info_json -from qmk.json_encoders import InfoJSONEncoder from qmk.json_schema import json_load from qmk.keymap import list_keymaps from qmk.keyboard import find_readme, list_keyboards @@ -43,14 +42,14 @@ def _resolve_keycode_specs(output_folder): overall = load_spec(version) output_file = output_folder / f'constants/keycodes_{version}.json' - output_file.write_text(json.dumps(overall), encoding='utf-8') + output_file.write_text(json.dumps(overall, separators=(',', ':')), encoding='utf-8') for lang in list_languages(): for version in list_versions(lang): overall = load_spec(version, lang) output_file = output_folder / f'constants/keycodes_{lang}_{version}.json' - output_file.write_text(json.dumps(overall, indent=4), encoding='utf-8') + output_file.write_text(json.dumps(overall, separators=(',', ':')), encoding='utf-8') # Purge files consumed by 'load_spec' shutil.rmtree(output_folder / 'constants/keycodes/') @@ -64,7 +63,7 @@ def _filtered_copy(src, dst): data = json_load(src) dst = dst.with_suffix('.json') - dst.write_text(json.dumps(data), encoding='utf-8') + dst.write_text(json.dumps(data, separators=(',', ':')), encoding='utf-8') return dst return shutil.copy2(src, dst) @@ -130,7 +129,7 @@ def generate_api(cli): } keyboard_dir.mkdir(parents=True, exist_ok=True) - keyboard_json = json.dumps({'last_updated': current_datetime(), 'keyboards': {keyboard_name: kb_json}}) + keyboard_json = json.dumps({'last_updated': current_datetime(), 'keyboards': {keyboard_name: kb_json}}, separators=(',', ':')) if not cli.args.dry_run: keyboard_info.write_text(keyboard_json, encoding='utf-8') cli.log.debug('Wrote file %s', keyboard_info) @@ -144,7 +143,7 @@ def generate_api(cli): keymap_hjson = kb_json['keymaps'][keymap]['path'] keymap_json = v1_dir / keymap_hjson keymap_json.parent.mkdir(parents=True, exist_ok=True) - keymap_json.write_text(json.dumps(json_load(Path(keymap_hjson))), encoding='utf-8') + keymap_json.write_text(json.dumps(json_load(Path(keymap_hjson)), separators=(',', ':')), encoding='utf-8') cli.log.debug('Wrote keymap %s', keymap_json) if 'usb' in kb_json: @@ -173,12 +172,12 @@ def generate_api(cli): _resolve_keycode_specs(v1_dir) # Write the global JSON files - keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'keyboards': kb_all}, cls=InfoJSONEncoder) - usb_json = json.dumps({'last_updated': current_datetime(), 'usb': usb_list}, cls=InfoJSONEncoder) - keyboard_list_json = json.dumps({'last_updated': current_datetime(), 'keyboards': keyboard_list}, cls=InfoJSONEncoder) - keyboard_aliases_json = json.dumps({'last_updated': current_datetime(), 'keyboard_aliases': keyboard_aliases}, cls=InfoJSONEncoder) - keyboard_metadata_json = json.dumps(keyboard_metadata, cls=InfoJSONEncoder) - constants_metadata_json = json.dumps({'last_updated': current_datetime(), 'constants': _list_constants(v1_dir)}) + keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'keyboards': kb_all}, separators=(',', ':')) + usb_json = json.dumps({'last_updated': current_datetime(), 'usb': usb_list}, separators=(',', ':')) + keyboard_list_json = json.dumps({'last_updated': current_datetime(), 'keyboards': keyboard_list}, separators=(',', ':')) + keyboard_aliases_json = json.dumps({'last_updated': current_datetime(), 'keyboard_aliases': keyboard_aliases}, separators=(',', ':')) + keyboard_metadata_json = json.dumps(keyboard_metadata, separators=(',', ':')) + constants_metadata_json = json.dumps({'last_updated': current_datetime(), 'constants': _list_constants(v1_dir)}, separators=(',', ':')) if not cli.args.dry_run: keyboard_all_file.write_text(keyboard_all_json, encoding='utf-8') diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 941e6aa411fb..909118790c8d 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -12,6 +12,7 @@ from qmk.search import search_keymap_targets +@cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form : to compile in parallel. Specifying this overrides all other target search options.") @cli.argument('-t', '--no-temp', arg_only=True, action='store_true', help="Remove temporary files during build.") @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") @@ -37,7 +38,11 @@ def mass_compile(cli): builddir = Path(QMK_FIRMWARE) / '.build' makefile = builddir / 'parallel_kb_builds.mk' - targets = search_keymap_targets(cli.args.keymap, cli.args.filter) + if len(cli.args.builds) > 0: + targets = [(e[0], e[1]) for e in [b.split(':') for b in cli.args.builds]] + else: + targets = search_keymap_targets(cli.args.keymap, cli.args.filter) + if len(targets) == 0: return @@ -71,9 +76,6 @@ def mass_compile(cli): f"""\ @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.hex" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.bin" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.uf2" 2>/dev/null || true @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}" || true @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true """# noqa diff --git a/lib/python/qmk/painter_qgf.py b/lib/python/qmk/painter_qgf.py index 71ce1f5a02ce..2b8edfb04db3 100644 --- a/lib/python/qmk/painter_qgf.py +++ b/lib/python/qmk/painter_qgf.py @@ -372,8 +372,8 @@ def rgb888_to_qmk_hsv888(e): delta_descriptor = QGFFrameDeltaDescriptorV1() delta_descriptor.left = location[0] delta_descriptor.top = location[1] - delta_descriptor.right = location[0] + size[0] - delta_descriptor.bottom = location[1] + size[1] + delta_descriptor.right = location[0] + size[0] - 1 + delta_descriptor.bottom = location[1] + size[1] - 1 # Write the delta frame to the output vprint(f'{f"Frame {idx:3d} delta":26s} {fp.tell():5d}d / {fp.tell():04X}h') diff --git a/util/ci/generate_failure_markdown.sh b/util/ci/generate_failure_markdown.sh new file mode 100755 index 000000000000..ccb3eacb3501 --- /dev/null +++ b/util/ci/generate_failure_markdown.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +this_script="$(realpath "${BASH_SOURCE[0]}")" +script_dir="$(realpath "$(dirname "$this_script")")" +qmk_firmware_dir="$(realpath "$script_dir/../../")" + +dump_failure_info() { + local failure_file="$1" + local keyboard=$(cat "$failure_file" | grep 'CI Metadata: KEYBOARD=' | cut -d= -f2) + local keymap=$(cat "$failure_file" | grep 'CI Metadata: KEYMAP=' | cut -d= -f2) + echo "## ${keyboard}:${keymap}" + echo "\`\`\`" + cat "$failure_file" | sed -e $'s/\x1b\[[0-9;]*m//g' | grep -v "CI Metadata:" | grep -vP "(Entering|Leaving) directory" + echo "\`\`\`" +} + +for failure_file in $(find "$qmk_firmware_dir/.build" -name 'failed.log.*' | sort); do + dump_failure_info "$failure_file" +done + +exit 0