From 4822ba3c4150a15f089e193dcb5d867862b14be9 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Sun, 31 Jan 2021 16:16:25 +0100 Subject: [PATCH 01/13] enable rgb underglow for VIA-firmware --- keyboards/4pplet/aekiso60/keymaps/via/rules.mk | 1 + keyboards/4pplet/steezy60/keymaps/via/rules.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/keyboards/4pplet/aekiso60/keymaps/via/rules.mk b/keyboards/4pplet/aekiso60/keymaps/via/rules.mk index 1e5b99807cb7..c4b503281b31 100644 --- a/keyboards/4pplet/aekiso60/keymaps/via/rules.mk +++ b/keyboards/4pplet/aekiso60/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/4pplet/steezy60/keymaps/via/rules.mk b/keyboards/4pplet/steezy60/keymaps/via/rules.mk index 1e5b99807cb7..c4b503281b31 100644 --- a/keyboards/4pplet/steezy60/keymaps/via/rules.mk +++ b/keyboards/4pplet/steezy60/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file From 1bb162af422c06c3946ea2919afb68fe0b661d78 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Mon, 5 Apr 2021 14:21:00 +0200 Subject: [PATCH 02/13] update master branch from remote --- lib/chibios | 2 +- lib/chibios-contrib | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/chibios b/lib/chibios index ffe54d63cb10..313416b8fda9 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit ffe54d63cb10a355add318f8e922e39f1c3d4bfd +Subproject commit 313416b8fda90d9973a749a0a35970956852c286 diff --git a/lib/chibios-contrib b/lib/chibios-contrib index 61baa6b03613..e3a3a2404771 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit 61baa6b036138c155f7cfc5646d833d9423f3243 +Subproject commit e3a3a24047717af33b098266e11c2e4e5102206a From 3d4c946fefceb5a0cfc9e1bb2734fcdec6b31525 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 29 Apr 2021 10:31:38 +0200 Subject: [PATCH 03/13] cont --- lib/chibios | 2 +- lib/chibios-contrib | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/chibios b/lib/chibios index 313416b8fda9..ffe54d63cb10 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit 313416b8fda90d9973a749a0a35970956852c286 +Subproject commit ffe54d63cb10a355add318f8e922e39f1c3d4bfd diff --git a/lib/chibios-contrib b/lib/chibios-contrib index e3a3a2404771..61baa6b03613 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit e3a3a24047717af33b098266e11c2e4e5102206a +Subproject commit 61baa6b036138c155f7cfc5646d833d9423f3243 From 1fd49873eed89ec1a4a82764544f2ca950b082eb Mon Sep 17 00:00:00 2001 From: 4pplet Date: Tue, 22 Mar 2022 11:10:41 +0100 Subject: [PATCH 04/13] Added build command for rev c and bootloader instruction in the main readme Added build command for rev c and bootloader instruction in the main readme --- keyboards/4pplet/waffling60/readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/keyboards/4pplet/waffling60/readme.md b/keyboards/4pplet/waffling60/readme.md index bf5fda880387..374b56ffba62 100644 --- a/keyboards/4pplet/waffling60/readme.md +++ b/keyboards/4pplet/waffling60/readme.md @@ -11,5 +11,12 @@ Make example for this keyboard (after setting up your build environment): make 4pplet/waffling60/rev_a:default make 4pplet/waffling60/rev_b:default + make 4pplet/waffling60/rev_c: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). + +How to enter bootloader (DFU): +* Tap the physical reset button or short the reset-header (labled RESET) on tha back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. From e6b2459966df7842c38f63aa70df4ab191a503d1 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Tue, 4 Oct 2022 11:59:46 +0200 Subject: [PATCH 05/13] Squashed commit of the following: commit b33814211e121a9f51b01cc6eb08e33061ecfc64 Author: 4pplet Date: Tue Oct 4 11:58:47 2022 +0200 Delete chconf.h commit 107b979ae8bbdc0f644769c4e41e8b4e75795da9 Author: 4pplet Date: Mon Oct 3 22:11:01 2022 +0200 cont commit ab054d835d4190bbed4e58a40453cc08135f274b Author: 4pplet Date: Mon Oct 3 14:38:13 2022 +0200 Update config.h commit 05c1347c66987c33d61710f2e14eb672809a0852 Author: 4pplet Date: Mon Oct 3 14:04:46 2022 +0200 cont commit a31c42623e6b76b6cd27461e3df164f91941f6f9 Author: 4pplet Date: Mon Oct 3 13:20:24 2022 +0200 cont commit d6aa8394ca8eeb50711600487f12d1b05834581e Author: 4pplet Date: Fri Sep 23 09:32:47 2022 +0200 cont, compiles but not tested on hardware commit f5a45ceeb55ba8cf2b215bfbae9139d9ff546853 Author: 4pplet Date: Thu Sep 22 18:12:10 2022 +0200 cont commit 2f5ab0074a18816c7e9b01ca45df772fa6162398 Author: 4pplet Date: Wed Sep 21 23:13:55 2022 +0200 initial commit --- .../{ => rev_a}/keymaps/default/keymap.c | 0 .../{ => rev_a}/keymaps/via/keymap.c | 0 .../{ => rev_a}/keymaps/via/rules.mk | 0 .../4pplet/eagle_viper_rep/rev_b/config.h | 76 +++++++++++++++ .../4pplet/eagle_viper_rep/rev_b/halconf.h | 25 +++++ .../4pplet/eagle_viper_rep/rev_b/info.json | 16 ++++ .../rev_b/keymaps/default/keymap.c | 34 +++++++ .../rev_b/keymaps/via/keymap.c | 55 +++++++++++ .../rev_b/keymaps/via/rules.mk | 1 + .../4pplet/eagle_viper_rep/rev_b/mcuconf.h | 25 +++++ .../4pplet/eagle_viper_rep/rev_b/readme.md | 20 ++++ .../4pplet/eagle_viper_rep/rev_b/rev_b.c | 96 +++++++++++++++++++ .../4pplet/eagle_viper_rep/rev_b/rev_b.h | 41 ++++++++ .../4pplet/eagle_viper_rep/rev_b/rules.mk | 23 +++++ 14 files changed, 412 insertions(+) rename keyboards/4pplet/eagle_viper_rep/{ => rev_a}/keymaps/default/keymap.c (100%) rename keyboards/4pplet/eagle_viper_rep/{ => rev_a}/keymaps/via/keymap.c (100%) rename keyboards/4pplet/eagle_viper_rep/{ => rev_a}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/config.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/halconf.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/info.json create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/default/keymap.c create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/mcuconf.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/readme.md create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/default/keymap.c similarity index 100% rename from keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c rename to keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/default/keymap.c diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/keymap.c similarity index 100% rename from keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c rename to keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/keymap.c diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/via/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/rules.mk similarity index 100% rename from keyboards/4pplet/eagle_viper_rep/keymaps/via/rules.mk rename to keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/rules.mk diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h new file mode 100644 index 000000000000..fb71feef9fc9 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h @@ -0,0 +1,76 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +#define MATRIX_COL_PINS { A0, A3, A4, A7, B5, B4, B3 } +#define MATRIX_ROW_PINS { A2, A1, B8, A10, C15, A15, B7, B6, C14, C13} +#define DIODE_DIRECTION COL2ROW + +/* In switch leds */ +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 +#define BACKLIGHT_ON_STATE 1 + +/* Underglow */ +#define RGBLED_NUM 16 +#define WS2812_EXTERNAL_PULLUP +#define RGB_DI_PIN A8 + +#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 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Indicator leds */ +#define LOCK_LIGHTS TRUE +#define DISPLAY_LAYERS TRUE +#define CAPS_PIN B1 +#define NUM_PIN B12 +#define SCROLL_PIN B13 +#define LAYER_1 B14 +#define LAYER_2 B15 +#define LAYER_3 B0 +#define LAYER_4 B9 +#define LAYER_5 A9 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Added extra layer for use of layer leds */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/halconf.h b/keyboards/4pplet/eagle_viper_rep/rev_b/halconf.h new file mode 100644 index 000000000000..6eb53aeebddd --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/halconf.h @@ -0,0 +1,25 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define HAL_USE_I2C FALSE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SPI FALSE + +#include_next diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json new file mode 100644 index 000000000000..0a86c6fab9f7 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Eagle Viper REP Rev B", + "manufacturer": "4pplet", + "url": "https://github.com/4pplet/eagle_viper_rep", + "maintainer": "4pplet", + "usb": { + "vid": "0x4444", + "pid": "0x0010", + "device_version": "0.0.2" + }, + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"1,1", "x":3, "y":0}, {"label":"0,2", "x":4, "y":0}, {"label":"1,2", "x":5, "y":0}, {"label":"0,3", "x":6, "y":0}, {"label":"1,3", "x":7, "y":0}, {"label":"0,4", "x":8, "y":0}, {"label":"1,4", "x":9, "y":0}, {"label":"0,5", "x":10, "y":0}, {"label":"1,5", "x":11, "y":0}, {"label":"0,6", "x":12, "y":0}, {"label":"1,6", "x":13, "y":0}, {"label":"3,6", "x":14, "y":0}, {"label":"2,0", "x":0, "y":1, "w":1.5}, {"label":"3,0", "x":1.5, "y":1}, {"label":"2,1", "x":2.5, "y":1}, {"label":"3,1", "x":3.5, "y":1}, {"label":"2,2", "x":4.5, "y":1}, {"label":"3,2", "x":5.5, "y":1}, {"label":"2,3", "x":6.5, "y":1}, {"label":"3,3", "x":7.5, "y":1}, {"label":"2,4", "x":8.5, "y":1}, {"label":"3,4", "x":9.5, "y":1}, {"label":"2,5", "x":10.5, "y":1}, {"label":"3,5", "x":11.5, "y":1}, {"label":"2,6", "x":12.5, "y":1}, {"label":"5,6", "x":13.5, "y":1, "w":1.5}, {"label":"4,0", "x":0, "y":2, "w":1.75}, {"label":"5,0", "x":1.75, "y":2}, {"label":"4,1", "x":2.75, "y":2}, {"label":"5,1", "x":3.75, "y":2}, {"label":"4,2", "x":4.75, "y":2}, {"label":"5,2", "x":5.75, "y":2}, {"label":"4,3", "x":6.75, "y":2}, {"label":"5,3", "x":7.75, "y":2}, {"label":"4,4", "x":8.75, "y":2}, {"label":"5,4", "x":9.75, "y":2}, {"label":"4,5", "x":10.75, "y":2}, {"label":"5,5", "x":11.75, "y":2}, {"label":"4,6", "x":12.75, "y":2}, {"label":"7,6", "x":13.75, "y":2, "w":1.25}, {"label":"6,0", "x":0, "y":3, "w":1.25}, {"label":"7,0", "x":1.25, "y":3}, {"label":"6,1", "x":2.25, "y":3}, {"label":"7,1", "x":3.25, "y":3}, {"label":"6,2", "x":4.25, "y":3}, {"label":"7,2", "x":5.25, "y":3}, {"label":"6,3", "x":6.25, "y":3}, {"label":"7,3", "x":7.25, "y":3}, {"label":"6,4", "x":8.25, "y":3}, {"label":"7,4", "x":9.25, "y":3}, {"label":"6,5", "x":10.25, "y":3}, {"label":"7,5", "x":11.25, "y":3}, {"label":"6,6", "x":12.25, "y":3, "w":1.75}, {"label":"9,6", "x":14, "y":3}, {"label":"8,0", "x":0, "y":4, "w":1.25}, {"label":"9,0", "x":1.25, "y":4, "w":1.25}, {"label":"9,1", "x":2.5, "y":4, "w":1.25}, {"label":"9,2", "x":3.75, "y":4, "w":2.25}, {"label":"9,3", "x":6, "y":4, "w":1.25}, {"label":"9,4", "x":10, "y":4, "w":1.25}, {"label":"8,5", "x":11.25, "y":4, "w":1.25}, {"label":"9,5", "x":12.5, "y":4, "w":1.25}, {"label":"8,6", "x":13.75, "y":4, "w":1.25}, {"label":"8,4", "x":7, "y":9, "w":2.75}] + } + } +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/default/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/default/keymap.c new file mode 100644 index 000000000000..0692a3e853d7 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT( + 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_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_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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, MO(1)), + // basic function layer +[1] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c new file mode 100644 index 000000000000..9c072b769efa --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT( + 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_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_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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, MO(1)), +// basic function layer +[1] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[4] = 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) +}; diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/mcuconf.h b/keyboards/4pplet/eagle_viper_rep/rev_b/mcuconf.h new file mode 100644 index 000000000000..34ab876215de --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/mcuconf.h @@ -0,0 +1,25 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/readme.md b/keyboards/4pplet/eagle_viper_rep/rev_b/readme.md new file mode 100644 index 000000000000..dff0f36801ed --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/readme.md @@ -0,0 +1,20 @@ +# Viper/Eagle REP Rev B + +A alternative PCB for Viper and Eagle V2 and V3 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Viper/Eagle REP Rev B + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/eagle_viper_rep/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). + +How to enter bootloader (DFU): +* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. + +* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Esc-key and at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default. diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c new file mode 100644 index 000000000000..f6fceea7a2ec --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c @@ -0,0 +1,96 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_b.h" + + + +void keyboard_pre_init_kb(void) { + setPinOutput(CAPS_PIN); + setPinOutput(SCROLL_PIN); + setPinOutput(NUM_PIN); + setPinOutput(LAYER_1); + setPinOutput(LAYER_2); + setPinOutput(LAYER_3); + setPinOutput(LAYER_4); + setPinOutput(LAYER_5); + keyboard_pre_init_user(); +} + +/* Set indicator leds to indicate lock states */ +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res && LOCK_LIGHTS) { + writePin(NUM_PIN, led_state.num_lock); + writePin(CAPS_PIN, led_state.caps_lock); + writePin(SCROLL_PIN, led_state.scroll_lock); + } + return true; +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + state = layer_state_set_user(state); + if(DISPLAY_LAYERS){ + setLayerLed(state); + } + return state; +} +/* Set indicator leds to indicate which layer is active */ +void setLayerLed(layer_state_t state){ + switch(get_highest_layer(state)){ + case 0 : + writePin(LAYER_1, 1); + writePin(LAYER_2, 0); + writePin(LAYER_3, 0); + writePin(LAYER_4, 0); + writePin(LAYER_5, 0); + break; + case 1 : + writePin(LAYER_1, 0); + writePin(LAYER_2, 1); + writePin(LAYER_3, 0); + writePin(LAYER_4, 0); + writePin(LAYER_5, 0); + break; + case 2 : + writePin(LAYER_1, 0); + writePin(LAYER_2, 0); + writePin(LAYER_3, 1); + writePin(LAYER_4, 0); + writePin(LAYER_5, 0); + break; + case 3 : + writePin(LAYER_1, 0); + writePin(LAYER_2, 0); + writePin(LAYER_3, 0); + writePin(LAYER_4, 1); + writePin(LAYER_5, 0); + break; + case 4 : + writePin(LAYER_1, 0); + writePin(LAYER_2, 0); + writePin(LAYER_3, 0); + writePin(LAYER_4, 0); + writePin(LAYER_5, 1); + break; + default : + writePin(LAYER_1, 0); + writePin(LAYER_2, 0); + writePin(LAYER_3, 0); + writePin(LAYER_4, 0); + writePin(LAYER_5, 0); + } +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h new file mode 100644 index 000000000000..02dea9d1ca06 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.h @@ -0,0 +1,41 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +void setLayerLed(layer_state_t state); + +#define LAYOUT( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k36, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k56,\ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k76,\ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k96,\ + k80, k90, k91, k92, k93, k84 ,k94, k85, k95, k86 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06}, \ + {k10, k11, k12, k13, k14, k15, k16}, \ + {k20, k21, k22, k23, k24, k25, k26}, \ + {k30, k31, k32, k33, k34, k35, k36}, \ + {k40, k41, k42, k43, k44, k45, k46}, \ + {k50, k51, k52, k53, k54, k55, k56}, \ + {k60, k61, k62, k63, k64, k65, k66}, \ + {k70, k71, k72, k73, k74, k75, k76}, \ + {k80, KC_NO, KC_NO, KC_NO, k84, k85, k86}, \ + {k90, k91, k92, k93, k94, k95, k96} \ +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk new file mode 100644 index 000000000000..877f1939f24d --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE From 5c903d29927d9b1c15b7f8dd1f716f6ba37f7d71 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Sun, 20 Nov 2022 12:29:22 +0100 Subject: [PATCH 06/13] Update keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c Co-authored-by: Drashna Jaelre --- .../4pplet/eagle_viper_rep/rev_b/rev_b.c | 54 ++++++------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c index f6fceea7a2ec..7b16fd7ee347 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c @@ -50,47 +50,27 @@ layer_state_t layer_state_set_kb(layer_state_t state) { } /* Set indicator leds to indicate which layer is active */ void setLayerLed(layer_state_t state){ - switch(get_highest_layer(state)){ - case 0 : - writePin(LAYER_1, 1); - writePin(LAYER_2, 0); - writePin(LAYER_3, 0); - writePin(LAYER_4, 0); - writePin(LAYER_5, 0); + writePinLow(LAYER_1); + writePinLow(LAYER_2); + writePinLow(LAYER_3); + writePinLow(LAYER_4); + writePinLow(LAYER_5); + switch (get_highest_layer(state)) { + case 0: + writePinHigh(LAYER_1); break; - case 1 : - writePin(LAYER_1, 0); - writePin(LAYER_2, 1); - writePin(LAYER_3, 0); - writePin(LAYER_4, 0); - writePin(LAYER_5, 0); + case 1: + writePinHigh(LAYER_2); break; - case 2 : - writePin(LAYER_1, 0); - writePin(LAYER_2, 0); - writePin(LAYER_3, 1); - writePin(LAYER_4, 0); - writePin(LAYER_5, 0); + case 2: + writePinHigh(LAYER_3); break; - case 3 : - writePin(LAYER_1, 0); - writePin(LAYER_2, 0); - writePin(LAYER_3, 0); - writePin(LAYER_4, 1); - writePin(LAYER_5, 0); + case 3: + writePinHigh(LAYER_4); break; - case 4 : - writePin(LAYER_1, 0); - writePin(LAYER_2, 0); - writePin(LAYER_3, 0); - writePin(LAYER_4, 0); - writePin(LAYER_5, 1); + case 4: + writePinHigh(LAYER_5); break; - default : - writePin(LAYER_1, 0); - writePin(LAYER_2, 0); - writePin(LAYER_3, 0); - writePin(LAYER_4, 0); - writePin(LAYER_5, 0); } } +} From 2328b59caf09be91ae75886e3ab44126eb698a80 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Sun, 20 Nov 2022 12:46:57 +0100 Subject: [PATCH 07/13] Simplifying led-code and using proper lock LED indicator defines --- .../4pplet/eagle_viper_rep/rev_b/config.h | 18 +++++++-------- .../4pplet/eagle_viper_rep/rev_b/rev_b.c | 22 ++----------------- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h index fb71feef9fc9..f0969f788d0a 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h @@ -58,16 +58,14 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Indicator leds */ -#define LOCK_LIGHTS TRUE -#define DISPLAY_LAYERS TRUE -#define CAPS_PIN B1 -#define NUM_PIN B12 -#define SCROLL_PIN B13 -#define LAYER_1 B14 -#define LAYER_2 B15 -#define LAYER_3 B0 -#define LAYER_4 B9 -#define LAYER_5 A9 +#define LED_CAPS_LOCK_PIN B1 +#define LED_NUM_LOCK_PIN B12 +#define LED_SCROLL_LOCK_PIN B13 +#define LAYER_1 B14 +#define LAYER_2 B15 +#define LAYER_3 B0 +#define LAYER_4 B9 +#define LAYER_5 A9 /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c index 7b16fd7ee347..2e71e34a267c 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rev_b.c @@ -16,12 +16,7 @@ along with this program. If not, see . */ #include "rev_b.h" - - void keyboard_pre_init_kb(void) { - setPinOutput(CAPS_PIN); - setPinOutput(SCROLL_PIN); - setPinOutput(NUM_PIN); setPinOutput(LAYER_1); setPinOutput(LAYER_2); setPinOutput(LAYER_3); @@ -30,22 +25,9 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -/* Set indicator leds to indicate lock states */ -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res && LOCK_LIGHTS) { - writePin(NUM_PIN, led_state.num_lock); - writePin(CAPS_PIN, led_state.caps_lock); - writePin(SCROLL_PIN, led_state.scroll_lock); - } - return true; -} - layer_state_t layer_state_set_kb(layer_state_t state) { state = layer_state_set_user(state); - if(DISPLAY_LAYERS){ - setLayerLed(state); - } + setLayerLed(state); return state; } /* Set indicator leds to indicate which layer is active */ @@ -73,4 +55,4 @@ void setLayerLed(layer_state_t state){ break; } } -} + From 2b320c9822ccd4a85a35cead1f95f7152ab612a3 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 30 Nov 2022 12:12:19 +0100 Subject: [PATCH 08/13] Removing RGBLIGHT_ANIMATIONS define for revision A Removing RGBLIGHT_ANIMATIONS define for revision A --- keyboards/4pplet/eagle_viper_rep/rev_a/config.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h index 951c943f1dc8..3c8f4abd66f7 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h @@ -39,7 +39,19 @@ along with this program. If not, see . #define WS2812_SPI_SCK_PIN A5 #define WS2812_SPI_SCK_PAL_MODE 0 #define RGBLED_NUM 16 -#define RGBLIGHT_ANIMATIONS +#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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE From e5feb1792fbf664cbe9bddee6e8b1b62c8b512f5 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 14 Dec 2023 20:38:02 +0100 Subject: [PATCH 09/13] init --- .../kbnordic/nordic65/keymaps/all/keymap.c | 34 +++++++++++++ .../nordic65/keymaps/default/keymap.c | 36 ++++++++++++++ .../nordic65/keymaps/default_ansi/keymap.c | 36 ++++++++++++++ .../kbnordic/nordic65/keymaps/via/keymap.c | 48 +++++++++++++++++++ .../kbnordic/nordic65/keymaps/via/rules.mk | 2 + keyboards/kbnordic/nordic65/readme.md | 20 ++++++++ keyboards/kbnordic/nordic65/rev_a/info.json | 38 +++++++++++++++ keyboards/kbnordic/nordic65/rev_a/readme.md | 12 +++++ keyboards/kbnordic/nordic65/rev_a/rules.mk | 12 +++++ 9 files changed, 238 insertions(+) create mode 100644 keyboards/kbnordic/nordic65/keymaps/all/keymap.c create mode 100644 keyboards/kbnordic/nordic65/keymaps/default/keymap.c create mode 100644 keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c create mode 100644 keyboards/kbnordic/nordic65/keymaps/via/keymap.c create mode 100644 keyboards/kbnordic/nordic65/keymaps/via/rules.mk create mode 100644 keyboards/kbnordic/nordic65/readme.md create mode 100644 keyboards/kbnordic/nordic65/rev_a/info.json create mode 100644 keyboards/kbnordic/nordic65/rev_a/readme.md create mode 100644 keyboards/kbnordic/nordic65/rev_a/rules.mk diff --git a/keyboards/kbnordic/nordic65/keymaps/all/keymap.c b/keyboards/kbnordic/nordic65/keymaps/all/keymap.c new file mode 100644 index 000000000000..2d677ab328e8 --- /dev/null +++ b/keyboards/kbnordic/nordic65/keymaps/all/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_NUHS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/kbnordic/nordic65/keymaps/default/keymap.c b/keyboards/kbnordic/nordic65/keymaps/default/keymap.c new file mode 100644 index 000000000000..b9e8fd21f27d --- /dev/null +++ b/keyboards/kbnordic/nordic65/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // main layer + [0] = LAYOUT_60_iso_split_bs_rshift( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + // basic function layer + [1] = LAYOUT_60_iso_split_bs_rshift( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c b/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c new file mode 100644 index 000000000000..72157cad9804 --- /dev/null +++ b/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // main layer + [0] = LAYOUT_60_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + // basic function layer + [1] = LAYOUT_60_ansi( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/kbnordic/nordic65/keymaps/via/keymap.c b/keyboards/kbnordic/nordic65/keymaps/via/keymap.c new file mode 100644 index 000000000000..62a06170d2c5 --- /dev/null +++ b/keyboards/kbnordic/nordic65/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_NUHS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/kbnordic/nordic65/keymaps/via/rules.mk b/keyboards/kbnordic/nordic65/keymaps/via/rules.mk new file mode 100644 index 000000000000..c4b503281b31 --- /dev/null +++ b/keyboards/kbnordic/nordic65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kbnordic/nordic65/readme.md b/keyboards/kbnordic/nordic65/readme.md new file mode 100644 index 000000000000..43b2bb761dfa --- /dev/null +++ b/keyboards/kbnordic/nordic65/readme.md @@ -0,0 +1,20 @@ +# nordic60 + +PCB designed for kbnordic.se + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: nordic60 + +Make example for this keyboard (after setting up your build environment): + + make kbnordic/nordic60/rev_a: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the ESC key +* **Physical reset button**: Briefly press the button on the back of the PCB (S301) or short the two pads in the "RST" header. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kbnordic/nordic65/rev_a/info.json b/keyboards/kbnordic/nordic65/rev_a/info.json new file mode 100644 index 000000000000..9ef97eb3f3a9 --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/info.json @@ -0,0 +1,38 @@ +{ + "keyboard_name": "Nordic65 Rev A", + "manufacturer": "KBNORDIC", + "url": "kbnordic.se", + "maintainer": "4pplet", + "usb": { + "vid": "0x4445", + "pid": "0x0002", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "rgblight": { + "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 + }, + "led_count": 17 + }, + "ws2812": { + "pin": "D3" + }, + "matrix_pins": { + "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"], // uppdatera + "rows": ["C2", "D0", "B0", "D6", "D5"] // uppdatera + }, + "diode_direction": "COL2ROW", + "layouts": { + + } +} diff --git a/keyboards/kbnordic/nordic65/rev_a/readme.md b/keyboards/kbnordic/nordic65/rev_a/readme.md new file mode 100644 index 000000000000..230a84a616b0 --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/readme.md @@ -0,0 +1,12 @@ +# nordic60 + +PCB designed for kbnordic.se + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: nordic60 + +Make example for this keyboard (after setting up your build environment): + + make kbnordic/nordic60/rev_a: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). diff --git a/keyboards/kbnordic/nordic65/rev_a/rules.mk b/keyboards/kbnordic/nordic65/rev_a/rules.mk new file mode 100644 index 000000000000..6fe874e748be --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/rules.mk @@ -0,0 +1,12 @@ +# 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 From 3af649d8671eeb64362bded7008c5bf1f050756c Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 21 Dec 2023 11:43:52 +0100 Subject: [PATCH 10/13] Create matrix_diagram.md --- .../kbnordic/nordic65/rev_a/matrix_diagram.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md diff --git a/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md b/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md new file mode 100644 index 000000000000..fa1f3b2cbc20 --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md @@ -0,0 +1,25 @@ +# Matrix Diagram for kbnordic nordic65 + +``` + ┌───────┐ + 2u Backspace │1D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2D │1E │ │ 2C │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ ┌──┴─────┤ ANSI Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ │ 2D │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ └────────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │ 46 │ 4A │ 4B │ │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4B │ Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` \ No newline at end of file From 031746c607469b73174c9441f429775d8a892dad Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 21 Dec 2023 16:50:22 +0100 Subject: [PATCH 11/13] cont --- .../kbnordic/nordic65/keymaps/all/keymap.c | 34 - .../nordic65/keymaps/default/keymap.c | 36 - .../nordic65/keymaps/default_ansi/keymap.c | 36 - .../kbnordic/nordic65/keymaps/via/keymap.c | 48 -- .../kbnordic/nordic65/keymaps/via/rules.mk | 2 - keyboards/kbnordic/nordic65/rev_a/info.json | 709 +++++++++++++++++- .../nordic65/rev_a/keymaps/default/keymap.c | 36 + .../nordic65/rev_a/keymaps/via/keymap.c | 36 + .../nordic65/rev_a/keymaps/via/rules.mk | 1 + keyboards/kbnordic/nordic65/rev_a/rules.mk | 14 +- 10 files changed, 780 insertions(+), 172 deletions(-) delete mode 100644 keyboards/kbnordic/nordic65/keymaps/all/keymap.c delete mode 100644 keyboards/kbnordic/nordic65/keymaps/default/keymap.c delete mode 100644 keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c delete mode 100644 keyboards/kbnordic/nordic65/keymaps/via/keymap.c delete mode 100644 keyboards/kbnordic/nordic65/keymaps/via/rules.mk create mode 100644 keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c create mode 100644 keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c create mode 100644 keyboards/kbnordic/nordic65/rev_a/keymaps/via/rules.mk diff --git a/keyboards/kbnordic/nordic65/keymaps/all/keymap.c b/keyboards/kbnordic/nordic65/keymaps/all/keymap.c deleted file mode 100644 index 2d677ab328e8..000000000000 --- a/keyboards/kbnordic/nordic65/keymaps/all/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_NUHS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), -// basic function layer -[1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/kbnordic/nordic65/keymaps/default/keymap.c b/keyboards/kbnordic/nordic65/keymaps/default/keymap.c deleted file mode 100644 index b9e8fd21f27d..000000000000 --- a/keyboards/kbnordic/nordic65/keymaps/default/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // main layer - [0] = LAYOUT_60_iso_split_bs_rshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_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_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL - ), - // basic function layer - [1] = LAYOUT_60_iso_split_bs_rshift( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c b/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c deleted file mode 100644 index 72157cad9804..000000000000 --- a/keyboards/kbnordic/nordic65/keymaps/default_ansi/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // main layer - [0] = LAYOUT_60_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL - ), - // basic function layer - [1] = LAYOUT_60_ansi( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/kbnordic/nordic65/keymaps/via/keymap.c b/keyboards/kbnordic/nordic65/keymaps/via/keymap.c deleted file mode 100644 index 62a06170d2c5..000000000000 --- a/keyboards/kbnordic/nordic65/keymaps/via/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_NUHS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), -// basic function layer -[1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -// extra layer for VIA -[2] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -// extra layer for VIA -[3] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/kbnordic/nordic65/keymaps/via/rules.mk b/keyboards/kbnordic/nordic65/keymaps/via/rules.mk deleted file mode 100644 index c4b503281b31..000000000000 --- a/keyboards/kbnordic/nordic65/keymaps/via/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kbnordic/nordic65/rev_a/info.json b/keyboards/kbnordic/nordic65/rev_a/info.json index 9ef97eb3f3a9..8cd90949ea9e 100644 --- a/keyboards/kbnordic/nordic65/rev_a/info.json +++ b/keyboards/kbnordic/nordic65/rev_a/info.json @@ -9,6 +9,17 @@ "device_version": "0.0.1" }, "processor": "STM32F072", + "bootloader": "stm32-dfu", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "key_lock": true, + "mousekey": false, + "nkro": true, + "rgblight": true + }, "rgblight": { "animations": { "alternating": true, @@ -22,17 +33,707 @@ "static_gradient": true, "twinkle": true }, - "led_count": 17 + "led_count": 20 }, "ws2812": { - "pin": "D3" + "pin": "A8" }, "matrix_pins": { - "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"], // uppdatera - "rows": ["C2", "D0", "B0", "D6", "D5"] // uppdatera + "cols": ["A10", "A3", "A15", "A2", "A1", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B3", "B5", "B4"], + "rows": ["B15", "A9", "B8", "B7", "B6"] }, "diode_direction": "COL2ROW", + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "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": "Backspace", "matrix": [1, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Enter", "matrix": [2, 13], "x":13.75, "y":1, "w":1.25, "h":2}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [2, 12], "x":12.75, "y":2}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "~", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "~", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "~", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "~", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "\u00ac", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "\u00a3", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "\u00ac", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "\u00a3", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"label": "\u00ac", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "\u00a3", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label": "\u00ac", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "\u00a3", "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": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "End", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + } } } diff --git a/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c b/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c new file mode 100644 index 000000000000..985caf992a4b --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c @@ -0,0 +1,36 @@ + +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,KC_END, + 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_PGUP, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, QK_BOOT, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c new file mode 100644 index 000000000000..985caf992a4b --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c @@ -0,0 +1,36 @@ + +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,KC_END, + 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_PGUP, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, QK_BOOT, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/kbnordic/nordic65/rev_a/keymaps/via/rules.mk b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/kbnordic/nordic65/rev_a/rules.mk b/keyboards/kbnordic/nordic65/rev_a/rules.mk index 6fe874e748be..04fe1eba2acd 100644 --- a/keyboards/kbnordic/nordic65/rev_a/rules.mk +++ b/keyboards/kbnordic/nordic65/rev_a/rules.mk @@ -1,12 +1,2 @@ -# 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 +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF From 9f50b7af0f94227db835a5bb16ffc60a6fc6481b Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 3 Jan 2024 11:24:27 +0100 Subject: [PATCH 12/13] update readme --- keyboards/kbnordic/nordic65/readme.md | 8 ++++---- keyboards/kbnordic/nordic65/rev_a/readme.md | 14 +++++++++++--- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/keyboards/kbnordic/nordic65/readme.md b/keyboards/kbnordic/nordic65/readme.md index 43b2bb761dfa..20912c741b1a 100644 --- a/keyboards/kbnordic/nordic65/readme.md +++ b/keyboards/kbnordic/nordic65/readme.md @@ -1,13 +1,13 @@ -# nordic60 +# nordic65 PCB designed for kbnordic.se * Keyboard Maintainer: [4pplet](https://github.com/4pplet) -* Hardware Supported: nordic60 +* Hardware Supported: nordic65 Make example for this keyboard (after setting up your build environment): - make kbnordic/nordic60/rev_a:default + make kbnordic/nordic65/rev_a: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). @@ -16,5 +16,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the ESC key -* **Physical reset button**: Briefly press the button on the back of the PCB (S301) or short the two pads in the "RST" header. +* **Physical reset button**: Briefly press the button on the back of the PCB or short the two pads in the "RST" header for more than 3 seconds. * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kbnordic/nordic65/rev_a/readme.md b/keyboards/kbnordic/nordic65/rev_a/readme.md index 230a84a616b0..20912c741b1a 100644 --- a/keyboards/kbnordic/nordic65/rev_a/readme.md +++ b/keyboards/kbnordic/nordic65/rev_a/readme.md @@ -1,12 +1,20 @@ -# nordic60 +# nordic65 PCB designed for kbnordic.se * Keyboard Maintainer: [4pplet](https://github.com/4pplet) -* Hardware Supported: nordic60 +* Hardware Supported: nordic65 Make example for this keyboard (after setting up your build environment): - make kbnordic/nordic60/rev_a:default + make kbnordic/nordic65/rev_a: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the ESC key +* **Physical reset button**: Briefly press the button on the back of the PCB or short the two pads in the "RST" header for more than 3 seconds. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 3e30ae254b1f8d8f5212fea1a8b680fbbc41cabf Mon Sep 17 00:00:00 2001 From: 4pplet Date: Wed, 3 Jan 2024 11:28:02 +0100 Subject: [PATCH 13/13] removing extra line-ending in keymap files --- keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c | 1 - keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c | 1 - 2 files changed, 2 deletions(-) diff --git a/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c b/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c index 985caf992a4b..9b259a334fae 100644 --- a/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c +++ b/keyboards/kbnordic/nordic65/rev_a/keymaps/default/keymap.c @@ -1,4 +1,3 @@ - /* Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> diff --git a/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c index 985caf992a4b..9b259a334fae 100644 --- a/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c +++ b/keyboards/kbnordic/nordic65/rev_a/keymaps/via/keymap.c @@ -1,4 +1,3 @@ - /* Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>