From 26db668878d07c0f9947169f867659a27909eb24 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun, 20 Nov 2022 19:27:24 +1100 Subject: [Keyboard] EXT65 rev3 support (#18873) --- keyboards/aeboards/ext65/rev3/config.h | 23 ++ keyboards/aeboards/ext65/rev3/info.json | 440 +++++++++++++++++++++ .../aeboards/ext65/rev3/keymaps/default/keymap.c | 63 +++ .../aeboards/ext65/rev3/keymaps/default/readme.md | 2 + keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c | 63 +++ .../aeboards/ext65/rev3/keymaps/via/readme.md | 2 + keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk | 1 + keyboards/aeboards/ext65/rev3/rev3.c | 38 ++ keyboards/aeboards/ext65/rev3/rev3.h | 40 ++ keyboards/aeboards/ext65/rev3/rules.mk | 19 + 10 files changed, 691 insertions(+) create mode 100644 keyboards/aeboards/ext65/rev3/config.h create mode 100644 keyboards/aeboards/ext65/rev3/info.json create mode 100644 keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c create mode 100644 keyboards/aeboards/ext65/rev3/keymaps/default/readme.md create mode 100644 keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c create mode 100644 keyboards/aeboards/ext65/rev3/keymaps/via/readme.md create mode 100644 keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk create mode 100644 keyboards/aeboards/ext65/rev3/rev3.c create mode 100644 keyboards/aeboards/ext65/rev3/rev3.h create mode 100644 keyboards/aeboards/ext65/rev3/rules.mk (limited to 'keyboards/aeboards/ext65/rev3') diff --git a/keyboards/aeboards/ext65/rev3/config.h b/keyboards/aeboards/ext65/rev3/config.h new file mode 100644 index 0000000000..8de4e44837 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/config.h @@ -0,0 +1,23 @@ +/* Copyright 2018 Jason Williams (Wilba) + * + * 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 + +// Locks +#define LED_NUM_LOCK_PIN F5 +#define LED_CAPS_LOCK_PIN F4 +#define LED_SCROLL_LOCK_PIN F1 +#define LED_LAYERS_PIN F0 diff --git a/keyboards/aeboards/ext65/rev3/info.json b/keyboards/aeboards/ext65/rev3/info.json new file mode 100644 index 0000000000..e07f51f817 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/info.json @@ -0,0 +1,440 @@ +{ + "keyboard_name": "Ext65 Rev3", + "manufacturer": "AEBoards", + "url": "", + "maintainer": "qmk", + "usb": { + "pid": "0xA653", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "D5", "D3", "D2", "D1", "D0"], + "rows": ["B5", "B6", "C6", "C7", "E6", "B0", "B4", "D7", "D4", "D6"] + }, + "layouts": { + "LAYOUT_ext65_hotswap": { + "layout": [ + { + "x": 0, + "y": 0 + }, + { + "x": 1, + "y": 0 + }, + { + "x": 2, + "y": 0 + }, + { + "x": 3, + "y": 0 + }, + { + "label": "Esc", + "x": 4.5, + "y": 0 + }, + { + "label": "!", + "x": 5.5, + "y": 0 + }, + { + "label": "@", + "x": 6.5, + "y": 0 + }, + { + "label": "#", + "x": 7.5, + "y": 0 + }, + { + "label": "$", + "x": 8.5, + "y": 0 + }, + { + "label": "%", + "x": 9.5, + "y": 0 + }, + { + "label": "^", + "x": 10.5, + "y": 0 + }, + { + "label": "&", + "x": 11.5, + "y": 0 + }, + { + "label": "*", + "x": 12.5, + "y": 0 + }, + { + "label": "(", + "x": 13.5, + "y": 0 + }, + { + "label": ")", + "x": 14.5, + "y": 0 + }, + { + "label": "_", + "x": 15.5, + "y": 0 + }, + { + "label": "+", + "x": 16.5, + "y": 0 + }, + { + "label": "Backspace", + "x": 17.5, + "y": 0, + "w": 2 + }, + { + "label": "Home", + "x": 19.5, + "y": 0 + }, + { + "x": 0, + "y": 1, + "h": 2 + }, + { + "x": 1, + "y": 1 + }, + { + "x": 2, + "y": 1 + }, + { + "x": 3, + "y": 1 + }, + { + "label": "Tab", + "x": 4.5, + "y": 1, + "w": 1.5 + }, + { + "label": "Q", + "x": 6, + "y": 1 + }, + { + "label": "W", + "x": 7, + "y": 1 + }, + { + "label": "E", + "x": 8, + "y": 1 + }, + { + "label": "R", + "x": 9, + "y": 1 + }, + { + "label": "T", + "x": 10, + "y": 1 + }, + { + "label": "Y", + "x": 11, + "y": 1 + }, + { + "label": "U", + "x": 12, + "y": 1 + }, + { + "label": "I", + "x": 13, + "y": 1 + }, + { + "label": "O", + "x": 14, + "y": 1 + }, + { + "label": "P", + "x": 15, + "y": 1 + }, + { + "label": "{", + "x": 16, + "y": 1 + }, + { + "label": "}", + "x": 17, + "y": 1 + }, + { + "label": "|", + "x": 18, + "y": 1, + "w": 1.5 + }, + { + "label": "PgUp", + "x": 19.5, + "y": 1 + }, + { + "x": 1, + "y": 2 + }, + { + "x": 2, + "y": 2 + }, + { + "x": 3, + "y": 2 + }, + { + "label": "Caps Lock", + "x": 4.5, + "y": 2, + "w": 1.75 + }, + { + "label": "A", + "x": 6.25, + "y": 2 + }, + { + "label": "S", + "x": 7.25, + "y": 2 + }, + { + "label": "D", + "x": 8.25, + "y": 2 + }, + { + "label": "F", + "x": 9.25, + "y": 2 + }, + { + "label": "G", + "x": 10.25, + "y": 2 + }, + { + "label": "H", + "x": 11.25, + "y": 2 + }, + { + "label": "J", + "x": 12.25, + "y": 2 + }, + { + "label": "K", + "x": 13.25, + "y": 2 + }, + { + "label": "L", + "x": 14.25, + "y": 2 + }, + { + "label": ":", + "x": 15.25, + "y": 2 + }, + { + "label": "\"", + "x": 16.25, + "y": 2 + }, + { + "label": "Enter", + "x": 17.25, + "y": 2, + "w": 2.25 + }, + { + "label": "PgDn", + "x": 19.5, + "y": 2 + }, + { + "x": 0, + "y": 3, + "h": 2 + }, + { + "x": 1, + "y": 3 + }, + { + "x": 2, + "y": 3 + }, + { + "x": 3, + "y": 3 + }, + { + "label": "Shift", + "x": 4.5, + "y": 3, + "w": 2.25 + }, + { + "label": "Z", + "x": 6.75, + "y": 3 + }, + { + "label": "X", + "x": 7.75, + "y": 3 + }, + { + "label": "C", + "x": 8.75, + "y": 3 + }, + { + "label": "V", + "x": 9.75, + "y": 3 + }, + { + "label": "B", + "x": 10.75, + "y": 3 + }, + { + "label": "N", + "x": 11.75, + "y": 3 + }, + { + "label": "M", + "x": 12.75, + "y": 3 + }, + { + "label": "<", + "x": 13.75, + "y": 3 + }, + { + "label": ">", + "x": 14.75, + "y": 3 + }, + { + "label": "?", + "x": 15.75, + "y": 3 + }, + { + "label": "Shift", + "x": 16.75, + "y": 3, + "w": 1.75 + }, + { + "label": "\u2191", + "x": 18.5, + "y": 3 + }, + { + "label": "End", + "x": 19.5, + "y": 3 + }, + { + "x": 1, + "y": 4 + }, + { + "x": 2, + "y": 4, + "w": 2 + }, + { + "label": "Ctrl", + "x": 4.5, + "y": 4, + "w": 1.25 + }, + { + "label": "Win", + "x": 5.75, + "y": 4, + "w": 1.25 + }, + { + "label": "Alt", + "x": 7, + "y": 4, + "w": 1.25 + }, + { + "label": "Space", + "x": 8.25, + "y": 4, + "w": 6.25 + }, + { + "label": "Alt", + "x": 14.5, + "y": 4, + "w": 1.5 + }, + { + "label": "Fn", + "x": 16, + "y": 4, + "w": 1.5 + }, + { + "label": "\u2190", + "x": 17.5, + "y": 4 + }, + { + "label": "\u2193", + "x": 18.5, + "y": 4 + }, + { + "label": "\u2192", + "x": 19.5, + "y": 4 + } + ] + } + } +} diff --git a/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c b/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c new file mode 100644 index 0000000000..72a10cae1b --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap BASE: (Base Layer) Default Layer + * ,-------------------. ,-------------------------------------------------------------------. + * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BSPC | Pscr| + * |-------------------| |-------------------------------------------------------------------| + * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del | + * | + |--------------| |-------------------------------------------------------------------| + * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| + * |-------------------| |-------------------------------------------------------------------| + * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| + * | ENT|-------------------------------------------------------------------------------------| + * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| + * `------------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ext65_hotswap( + KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, 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_PSCR, + KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, + KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN, + KC_PDOT, KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, + RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, + KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/aeboards/ext65/rev3/keymaps/default/readme.md b/keyboards/aeboards/ext65/rev3/keymaps/default/readme.md new file mode 100644 index 0000000000..301a72857a --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/keymaps/default/readme.md @@ -0,0 +1,2 @@ +# The Default Ext65 Rev3 Layout + diff --git a/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c new file mode 100644 index 0000000000..72a10cae1b --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap BASE: (Base Layer) Default Layer + * ,-------------------. ,-------------------------------------------------------------------. + * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BSPC | Pscr| + * |-------------------| |-------------------------------------------------------------------| + * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del | + * | + |--------------| |-------------------------------------------------------------------| + * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| + * |-------------------| |-------------------------------------------------------------------| + * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| + * | ENT|-------------------------------------------------------------------------------------| + * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| + * `------------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ext65_hotswap( + KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, 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_PSCR, + KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, + KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN, + KC_PDOT, KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, + RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, + KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_ext65_hotswap( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/aeboards/ext65/rev3/keymaps/via/readme.md b/keyboards/aeboards/ext65/rev3/keymaps/via/readme.md new file mode 100644 index 0000000000..3cb1d92b95 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/keymaps/via/readme.md @@ -0,0 +1,2 @@ +# The VIA Ext65 Rev3 Layout + diff --git a/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/aeboards/ext65/rev3/rev3.c b/keyboards/aeboards/ext65/rev3/rev3.c new file mode 100644 index 0000000000..14523afe35 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/rev3.c @@ -0,0 +1,38 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 "rev3.h" + +// Tested and verified working on EXT65 Rev3 +void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } + +void keyboard_pre_init_user(void) { + // Call the keyboard pre init code. + // Set our LED pins as output + setPinOutput(LED_LAYERS_PIN); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + switch (get_highest_layer(state)) { + case 1: + writePinHigh(LED_LAYERS_PIN); + break; + default: // for any other layers, or the default layer + writePinLow(LED_LAYERS_PIN); + break; + } + return layer_state_set_user(state); +} diff --git a/keyboards/aeboards/ext65/rev3/rev3.h b/keyboards/aeboards/ext65/rev3/rev3.h new file mode 100644 index 0000000000..7f1525bb40 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/rev3.h @@ -0,0 +1,40 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ____ KC_NO + +#define LAYOUT_ext65_hotswap( \ + K000, K100, K001, K101, K002, K102, K003, K103, K004, K104, K005, K105, K006, K106, K007, K107, K008, K108, K009, \ + K200, K300, K201, K301, K202, K302, K203, K303, K204, K304, K205, K305, K206, K306, K207, K307, K208, K308, K209, \ + K500, K401, K501, K402, K502, K403, K503, K404, K504, K405, K505, K406, K506, K407, K507, K408, K409, \ + K600, K700, K601, K701, K602, K702, K603, K703, K604, K704, K605, K705, K606, K706, K607, K708, K608, K709, \ + K900, K801, K802, K902, K803, K805, K906, K807, K908, K808, K909 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, ____ }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, ____ }, \ + { ____, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, ____, ____ }, \ + { K600, K601, K602, K603, K604, K605, K606, K607, K608, ____ }, \ + { K700, K701, K702, K703, K704, K705, K706, ____, K708, K709 }, \ + { ____, K801, K802, K803, ____, K805, ____, K807, K808, ____ }, \ + { K900, ____, K902, ____, ____, ____, K906, ____, K908, K909 } \ +} diff --git a/keyboards/aeboards/ext65/rev3/rules.mk b/keyboards/aeboards/ext65/rev3/rules.mk new file mode 100644 index 0000000000..cc07ce5924 --- /dev/null +++ b/keyboards/aeboards/ext65/rev3/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no # Audio output +OPT = 3 +LTO_ENABLE = yes -- cgit v1.2.3