diff options
| author | Xelus22 <lovlots@hotmail.com> | 2019-06-21 02:20:15 +1000 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-06-20 09:20:15 -0700 |
| commit | e15417eca8d84403096b7604e5106a6d494564cd (patch) | |
| tree | 52fd7f0c8865e2849319a884932082fc7c738b0f | |
| parent | 317b8095647e208a7ac1ecf6b110051ca46553a8 (diff) | |
| download | qmk_firmware-e15417eca8d84403096b7604e5106a6d494564cd.tar.gz qmk_firmware-e15417eca8d84403096b7604e5106a6d494564cd.zip | |
[Keyboard] Aeboards Ext65 - New keyboard & Aegis Update (#6127)
* aegis config update and ext65 added
* update readme's
* PID ext65 change
* fix ext65 config
| -rw-r--r-- | keyboards/aeboards/aegis/config.h | 4 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/config.h | 71 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/ext65.c | 18 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/ext65.h | 40 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/keymaps/default/keymap.c | 104 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/keymaps/default/readme.md | 2 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/keymaps/via/keymap.c | 103 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/keymaps/via/readme.md | 2 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/keymaps/via/rules.mk | 68 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/readme.md | 14 | ||||
| -rw-r--r-- | keyboards/aeboards/ext65/rules.mk | 65 |
11 files changed, 489 insertions, 2 deletions
diff --git a/keyboards/aeboards/aegis/config.h b/keyboards/aeboards/aegis/config.h index 8db31b254..01e20454c 100644 --- a/keyboards/aeboards/aegis/config.h +++ b/keyboards/aeboards/aegis/config.h | |||
| @@ -23,8 +23,8 @@ | |||
| 23 | #define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-) | 23 | #define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-) |
| 24 | #define DEVICE_VER 0x0001 | 24 | #define DEVICE_VER 0x0001 |
| 25 | #define MANUFACTURER AEboards | 25 | #define MANUFACTURER AEboards |
| 26 | #define PRODUCT Aegis | 26 | #define PRODUCT AEboards Aegis |
| 27 | #define DESCRIPTION 1800 Left Handed Keyboard | 27 | #define DESCRIPTION AEboards Aegis |
| 28 | 28 | ||
| 29 | /* key matrix size */ | 29 | /* key matrix size */ |
| 30 | #define MATRIX_ROWS 12 | 30 | #define MATRIX_ROWS 12 |
diff --git a/keyboards/aeboards/ext65/config.h b/keyboards/aeboards/ext65/config.h new file mode 100644 index 000000000..2f66f3f92 --- /dev/null +++ b/keyboards/aeboards/ext65/config.h | |||
| @@ -0,0 +1,71 @@ | |||
| 1 | /* Copyright 2018 Jason Williams (Wilba) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "config_common.h" | ||
| 20 | |||
| 21 | /* USB Device descriptor parameter */ | ||
| 22 | #define VENDOR_ID 0x4145 // "AE" | ||
| 23 | #define PRODUCT_ID 0xAE65 // AEboards EXT65 | ||
| 24 | #define DEVICE_VER 0x0001 | ||
| 25 | #define MANUFACTURER AEboards | ||
| 26 | #define PRODUCT AEboards Ext65 | ||
| 27 | #define DESCRIPTION AEboards Ext65 | ||
| 28 | |||
| 29 | /* key matrix size */ | ||
| 30 | #define MATRIX_ROWS 10 | ||
| 31 | #define MATRIX_COLS 10 | ||
| 32 | |||
| 33 | /* key matrix pins */ | ||
| 34 | #define MATRIX_ROW_PINS { C6, C7, B5, B6, D7, B4, D4, D6, B7, E6 } | ||
| 35 | #define MATRIX_COL_PINS { B2, B3, B1, B0, F7, F0, F1, F4, F5, F6 } | ||
| 36 | #define UNUSED_PINS | ||
| 37 | |||
| 38 | /* COL2ROW or ROW2COL */ | ||
| 39 | #define DIODE_DIRECTION COL2ROW | ||
| 40 | |||
| 41 | /* Set 0 if debouncing isn't needed */ | ||
| 42 | #define DEBOUNCE 5 | ||
| 43 | |||
| 44 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 45 | #define LOCKING_SUPPORT_ENABLE | ||
| 46 | |||
| 47 | /* Locking resynchronize hack */ | ||
| 48 | #define LOCKING_RESYNC_ENABLE | ||
| 49 | |||
| 50 | //#define WT_MONO_BACKLIGHT | ||
| 51 | |||
| 52 | #define DYNAMIC_KEYMAP_LAYER_COUNT 4 | ||
| 53 | |||
| 54 | // EEPROM usage | ||
| 55 | |||
| 56 | // TODO: refactor with new user EEPROM code (coming soon) | ||
| 57 | #define EEPROM_MAGIC 0x451F | ||
| 58 | #define EEPROM_MAGIC_ADDR 32 | ||
| 59 | // Bump this every time we change what we store | ||
| 60 | // This will automatically reset the EEPROM with defaults | ||
| 61 | // and avoid loading invalid data from the EEPROM | ||
| 62 | #define EEPROM_VERSION 0x08 | ||
| 63 | #define EEPROM_VERSION_ADDR 34 | ||
| 64 | |||
| 65 | // Dynamic keymap starts after EEPROM version | ||
| 66 | #define DYNAMIC_KEYMAP_EEPROM_ADDR 35 | ||
| 67 | // Dynamic macro starts after dynamic keymaps (35+(4*10*10*2)) = (35+800) | ||
| 68 | #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 835 | ||
| 69 | #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 189 | ||
| 70 | #define DYNAMIC_KEYMAP_MACRO_COUNT 16 | ||
| 71 | |||
diff --git a/keyboards/aeboards/ext65/ext65.c b/keyboards/aeboards/ext65/ext65.c new file mode 100644 index 000000000..f52f8d438 --- /dev/null +++ b/keyboards/aeboards/ext65/ext65.c | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | /* Copyright 2018 Jason Williams (Wilba) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | // Nothing to see here, move along... ;-) | ||
| 18 | |||
diff --git a/keyboards/aeboards/ext65/ext65.h b/keyboards/aeboards/ext65/ext65.h new file mode 100644 index 000000000..de79b92ab --- /dev/null +++ b/keyboards/aeboards/ext65/ext65.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* Copyright 2018 Jason Williams (Wilba) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "quantum.h" | ||
| 20 | |||
| 21 | #define ____ KC_NO | ||
| 22 | |||
| 23 | #define LAYOUT_ext65( \ | ||
| 24 | K000, K100, K001, K101, K002, K102, K003, K103, K004, K104, K005, K105, K006, K106, K007, K107, K008, K108, K508, K009, \ | ||
| 25 | K200, K300, K201, K301, K202, K302, K203, K303, K204, K304, K205, K305, K206, K306, K207, K307, K208, K308, K209, \ | ||
| 26 | K400, K500, K401, K501, K402, K502, K403, K503, K404, K504, K405, K505, K406, K506, K407, K507, K408, K409, \ | ||
| 27 | K600, K700, K601, K701, K602, K702, K603, K703, K604, K704, K605, K705, K606, K706, K607, K708, K608, K709, \ | ||
| 28 | K800, K900, K801, K901, K802, K902, K803, K805, K906, K807, K908, K808, K909 \ | ||
| 29 | ) { \ | ||
| 30 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \ | ||
| 31 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, ____ }, \ | ||
| 32 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \ | ||
| 33 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, ____ }, \ | ||
| 34 | { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \ | ||
| 35 | { K500, K501, K502, K503, K504, K505, K506, K507, K508, ____ }, \ | ||
| 36 | { K600, K601, K602, K603, K604, K605, K606, K607, K608, ____ }, \ | ||
| 37 | { K700, K701, K702, K703, K704, K705, K706, ____, K708, K709 }, \ | ||
| 38 | { K800, K801, K802, K803, ____, K805, ____, K807, K808, ____ }, \ | ||
| 39 | { K900, K901, K902, ____, ____, ____, K906, ____, K908, K909 } \ | ||
| 40 | } | ||
diff --git a/keyboards/aeboards/ext65/keymaps/default/keymap.c b/keyboards/aeboards/ext65/keymaps/default/keymap.c new file mode 100644 index 000000000..79d5ecf50 --- /dev/null +++ b/keyboards/aeboards/ext65/keymaps/default/keymap.c | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | /* Copyright 2018 Jason Williams (Wilba) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | /* Keymap BASE: (Base Layer) Default Layer | ||
| 20 | * ,-------------------. ,-------------------------------------------------------------------. | ||
| 21 | * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr| | ||
| 22 | * |-------------------| |-------------------------------------------------------------------| | ||
| 23 | * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del | | ||
| 24 | * | + |--------------| |-------------------------------------------------------------------| | ||
| 25 | * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| | ||
| 26 | * |-------------------| |-------------------------------------------------------------------| | ||
| 27 | * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| | ||
| 28 | * | ENT|-------------------------------------------------------------------------------------| | ||
| 29 | * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| | ||
| 30 | * `------------------------------------------------------------------------------------------' | ||
| 31 | */ | ||
| 32 | [0] = LAYOUT_ext65( | ||
| 33 | KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, 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_PSCR, | ||
| 34 | 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_BSPC, KC_DEL , | ||
| 35 | KC_PPLS, 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, | ||
| 36 | 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, | ||
| 37 | KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 38 | ), | ||
| 39 | |||
| 40 | [1] = LAYOUT_ext65( | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , | ||
| 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 43 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 44 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 45 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 46 | ), | ||
| 47 | |||
| 48 | [2] = LAYOUT_ext65( | ||
| 49 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 50 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 51 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 52 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 53 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 54 | ), | ||
| 55 | |||
| 56 | [3] = LAYOUT_ext65( | ||
| 57 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 58 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 59 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 60 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 61 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 62 | ) | ||
| 63 | }; | ||
| 64 | |||
| 65 | |||
| 66 | void keyboard_pre_init_user(void) { | ||
| 67 | // Call the keyboard pre init code. | ||
| 68 | |||
| 69 | // Set our LED pins as output | ||
| 70 | setPinOutput(D5); | ||
| 71 | setPinOutput(D3); | ||
| 72 | setPinOutput(D2); | ||
| 73 | setPinOutput(D1); | ||
| 74 | } | ||
| 75 | |||
| 76 | void led_set_user(uint8_t usb_led) { | ||
| 77 | if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | ||
| 78 | writePinLow(D5); | ||
| 79 | } else { | ||
| 80 | writePinHigh(D5); | ||
| 81 | } | ||
| 82 | if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||
| 83 | writePinLow(D3); | ||
| 84 | } else { | ||
| 85 | writePinHigh(D3); | ||
| 86 | } | ||
| 87 | if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | ||
| 88 | writePinLow(D2); | ||
| 89 | } else { | ||
| 90 | writePinHigh(D2); | ||
| 91 | } | ||
| 92 | } | ||
| 93 | |||
| 94 | uint32_t layer_state_set_user(uint32_t state) { | ||
| 95 | switch (biton32(state)) { | ||
| 96 | case 1: | ||
| 97 | writePinHigh(D1); | ||
| 98 | break; | ||
| 99 | default: // for any other layers, or the default layer | ||
| 100 | writePinLow(D1); | ||
| 101 | break; | ||
| 102 | } | ||
| 103 | return state; | ||
| 104 | } \ No newline at end of file | ||
diff --git a/keyboards/aeboards/ext65/keymaps/default/readme.md b/keyboards/aeboards/ext65/keymaps/default/readme.md new file mode 100644 index 000000000..b4d9a0b6d --- /dev/null +++ b/keyboards/aeboards/ext65/keymaps/default/readme.md | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | # The Default Ext65 Layout | ||
| 2 | |||
diff --git a/keyboards/aeboards/ext65/keymaps/via/keymap.c b/keyboards/aeboards/ext65/keymaps/via/keymap.c new file mode 100644 index 000000000..3079c528e --- /dev/null +++ b/keyboards/aeboards/ext65/keymaps/via/keymap.c | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | /* Copyright 2018 Jason Williams (Wilba) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | /* Keymap BASE: (Base Layer) Default Layer | ||
| 20 | * ,-------------------. ,-------------------------------------------------------------------. | ||
| 21 | * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr| | ||
| 22 | * |-------------------| |-------------------------------------------------------------------| | ||
| 23 | * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del | | ||
| 24 | * | + |--------------| |-------------------------------------------------------------------| | ||
| 25 | * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| | ||
| 26 | * |-------------------| |-------------------------------------------------------------------| | ||
| 27 | * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| | ||
| 28 | * | ENT|-------------------------------------------------------------------------------------| | ||
| 29 | * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| | ||
| 30 | * `------------------------------------------------------------------------------------------' | ||
| 31 | */ | ||
| 32 | [0] = LAYOUT_ext65( | ||
| 33 | KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, 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_PSCR, | ||
| 34 | 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_BSPC, KC_DEL , | ||
| 35 | KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, | ||
| 36 | 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, | ||
| 37 | KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 38 | ), | ||
| 39 | |||
| 40 | [1] = LAYOUT_ext65( | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , | ||
| 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 43 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 44 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 45 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 46 | ), | ||
| 47 | |||
| 48 | [2] = LAYOUT_ext65( | ||
| 49 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 50 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 51 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 52 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 53 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 54 | ), | ||
| 55 | |||
| 56 | [3] = LAYOUT_ext65( | ||
| 57 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 58 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 59 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 60 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 61 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 62 | ) | ||
| 63 | }; | ||
| 64 | |||
| 65 | void keyboard_pre_init_user(void) { | ||
| 66 | // Call the keyboard pre init code. | ||
| 67 | |||
| 68 | // Set our LED pins as output | ||
| 69 | setPinOutput(D5); | ||
| 70 | setPinOutput(D3); | ||
| 71 | setPinOutput(D2); | ||
| 72 | setPinOutput(D1); | ||
| 73 | } | ||
| 74 | |||
| 75 | void led_set_user(uint8_t usb_led) { | ||
| 76 | if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | ||
| 77 | writePinLow(D5); | ||
| 78 | } else { | ||
| 79 | writePinHigh(D5); | ||
| 80 | } | ||
| 81 | if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||
| 82 | writePinLow(D3); | ||
| 83 | } else { | ||
| 84 | writePinHigh(D3); | ||
| 85 | } | ||
| 86 | if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | ||
| 87 | writePinLow(D2); | ||
| 88 | } else { | ||
| 89 | writePinHigh(D2); | ||
| 90 | } | ||
| 91 | } | ||
| 92 | |||
| 93 | uint32_t layer_state_set_user(uint32_t state) { | ||
| 94 | switch (biton32(state)) { | ||
| 95 | case 1: | ||
| 96 | writePinHigh(D1); | ||
| 97 | break; | ||
| 98 | default: // for any other layers, or the default layer | ||
| 99 | writePinLow(D1); | ||
| 100 | break; | ||
| 101 | } | ||
| 102 | return state; | ||
| 103 | } | ||
diff --git a/keyboards/aeboards/ext65/keymaps/via/readme.md b/keyboards/aeboards/ext65/keymaps/via/readme.md new file mode 100644 index 000000000..c2c416d16 --- /dev/null +++ b/keyboards/aeboards/ext65/keymaps/via/readme.md | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | # The VIA Ext65 Layout | ||
| 2 | |||
diff --git a/keyboards/aeboards/ext65/keymaps/via/rules.mk b/keyboards/aeboards/ext65/keymaps/via/rules.mk new file mode 100644 index 000000000..f072c6719 --- /dev/null +++ b/keyboards/aeboards/ext65/keymaps/via/rules.mk | |||
| @@ -0,0 +1,68 @@ | |||
| 1 | # project specific files | ||
| 2 | SRC = keyboards/wilba_tech/wt_main.c | ||
| 3 | |||
| 4 | # MCU name | ||
| 5 | MCU = atmega32u4 | ||
| 6 | |||
| 7 | # Processor frequency. | ||
| 8 | # This will define a symbol, F_CPU, in all source code files equal to the | ||
| 9 | # processor frequency in Hz. You can then use this symbol in your source code to | ||
| 10 | # calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
| 11 | # automatically to create a 32-bit value in your source code. | ||
| 12 | # | ||
| 13 | # This will be an integer division of F_USB below, as it is sourced by | ||
| 14 | # F_USB after it has run through any CPU prescalers. Note that this value | ||
| 15 | # does not *change* the processor frequency - it should merely be updated to | ||
| 16 | # reflect the processor speed set externally so that the code can use accurate | ||
| 17 | # software delays. | ||
| 18 | F_CPU = 16000000 | ||
| 19 | |||
| 20 | |||
| 21 | # | ||
| 22 | # LUFA specific | ||
| 23 | # | ||
| 24 | # Target architecture (see library "Board Types" documentation). | ||
| 25 | ARCH = AVR8 | ||
| 26 | |||
| 27 | # Input clock frequency. | ||
| 28 | # This will define a symbol, F_USB, in all source code files equal to the | ||
| 29 | # input clock frequency (before any prescaling is performed) in Hz. This value may | ||
| 30 | # differ from F_CPU if prescaling is used on the latter, and is required as the | ||
| 31 | # raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
| 32 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
| 33 | # at the end, this will be done automatically to create a 32-bit value in your | ||
| 34 | # source code. | ||
| 35 | # | ||
| 36 | # If no clock division is performed on the input clock inside the AVR (via the | ||
| 37 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
| 38 | F_USB = $(F_CPU) | ||
| 39 | |||
| 40 | # Interrupt driven control endpoint task(+60) | ||
| 41 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
| 42 | |||
| 43 | |||
| 44 | # Boot Section | ||
| 45 | BOOTLOADER = atmel-dfu | ||
| 46 | |||
| 47 | |||
| 48 | # Build Options | ||
| 49 | # change yes to no to disable | ||
| 50 | # | ||
| 51 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 52 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 53 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 54 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 55 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 56 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 57 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 58 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 59 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 60 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default | ||
| 61 | MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) | ||
| 62 | UNICODE_ENABLE = no # Unicode | ||
| 63 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 64 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 65 | FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches | ||
| 66 | |||
| 67 | RAW_ENABLE = yes | ||
| 68 | DYNAMIC_KEYMAP_ENABLE = yes \ No newline at end of file | ||
diff --git a/keyboards/aeboards/ext65/readme.md b/keyboards/aeboards/ext65/readme.md new file mode 100644 index 000000000..5ee7fb4f8 --- /dev/null +++ b/keyboards/aeboards/ext65/readme.md | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | EXT65 | ||
| 2 | === | ||
| 3 | |||
| 4 | A southpaw inspired keyboard by [aeboards](https://aeboards.com/) | ||
| 5 | |||
| 6 | Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) | ||
| 7 | Hardware Supported: EXT65 | ||
| 8 | Hardware Availability: Custom keyboard group buys | ||
| 9 | |||
| 10 | Make example for this keyboard (after setting up your build environment): | ||
| 11 | |||
| 12 | make aeboards/ext65:default | ||
| 13 | |||
| 14 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file | ||
diff --git a/keyboards/aeboards/ext65/rules.mk b/keyboards/aeboards/ext65/rules.mk new file mode 100644 index 000000000..f1c632289 --- /dev/null +++ b/keyboards/aeboards/ext65/rules.mk | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | # project specific files | ||
| 2 | SRC = keyboards/wilba_tech/wt_main.c | ||
| 3 | |||
| 4 | # MCU name | ||
| 5 | MCU = atmega32u4 | ||
| 6 | |||
| 7 | # Processor frequency. | ||
| 8 | # This will define a symbol, F_CPU, in all source code files equal to the | ||
| 9 | # processor frequency in Hz. You can then use this symbol in your source code to | ||
| 10 | # calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
| 11 | # automatically to create a 32-bit value in your source code. | ||
| 12 | # | ||
| 13 | # This will be an integer division of F_USB below, as it is sourced by | ||
| 14 | # F_USB after it has run through any CPU prescalers. Note that this value | ||
| 15 | # does not *change* the processor frequency - it should merely be updated to | ||
| 16 | # reflect the processor speed set externally so that the code can use accurate | ||
| 17 | # software delays. | ||
| 18 | F_CPU = 16000000 | ||
| 19 | |||
| 20 | |||
| 21 | # | ||
| 22 | # LUFA specific | ||
| 23 | # | ||
| 24 | # Target architecture (see library "Board Types" documentation). | ||
| 25 | ARCH = AVR8 | ||
| 26 | |||
| 27 | # Input clock frequency. | ||
| 28 | # This will define a symbol, F_USB, in all source code files equal to the | ||
| 29 | # input clock frequency (before any prescaling is performed) in Hz. This value may | ||
| 30 | # differ from F_CPU if prescaling is used on the latter, and is required as the | ||
| 31 | # raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
| 32 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
| 33 | # at the end, this will be done automatically to create a 32-bit value in your | ||
| 34 | # source code. | ||
| 35 | # | ||
| 36 | # If no clock division is performed on the input clock inside the AVR (via the | ||
| 37 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
| 38 | F_USB = $(F_CPU) | ||
| 39 | |||
| 40 | # Interrupt driven control endpoint task(+60) | ||
| 41 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
| 42 | |||
| 43 | |||
| 44 | # Boot Section | ||
| 45 | BOOTLOADER = atmel-dfu | ||
| 46 | |||
| 47 | |||
| 48 | # Build Options | ||
| 49 | # change yes to no to disable | ||
| 50 | # | ||
| 51 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 52 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 53 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 54 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 55 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 56 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 57 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 58 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 59 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 60 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default | ||
| 61 | MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) | ||
| 62 | UNICODE_ENABLE = no # Unicode | ||
| 63 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 64 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 65 | FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches | ||
