diff options
-rw-r--r-- | keyboards/aya/aya.c | 17 | ||||
-rw-r--r-- | keyboards/aya/aya.h | 39 | ||||
-rw-r--r-- | keyboards/aya/config.h | 37 | ||||
-rw-r--r-- | keyboards/aya/info.json | 10 | ||||
-rw-r--r-- | keyboards/aya/keymaps/default/config.h | 19 | ||||
-rw-r--r-- | keyboards/aya/keymaps/default/keymap.c | 87 | ||||
-rw-r--r-- | keyboards/aya/readme.md | 20 | ||||
-rw-r--r-- | keyboards/aya/rules.mk | 22 |
8 files changed, 251 insertions, 0 deletions
diff --git a/keyboards/aya/aya.c b/keyboards/aya/aya.c new file mode 100644 index 000000000..95bc5794d --- /dev/null +++ b/keyboards/aya/aya.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Copyright 2021 Dan Nixon | ||
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 | #include "aya.h" | ||
diff --git a/keyboards/aya/aya.h b/keyboards/aya/aya.h new file mode 100644 index 000000000..36ba18220 --- /dev/null +++ b/keyboards/aya/aya.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* Copyright 2021 Dan Nixon | ||
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 LAYOUT( \ | ||
22 | L06, L05, L04, L03, L02, L01, L00, R00, R01, R02, R03, R04, R05, R06, \ | ||
23 | L16, L15, L14, L13, L12, L11, L10, R10, R11, R12, R13, R14, R15, R16, \ | ||
24 | L26, L25, L24, L23, L22, L21, L20, L40, R40, R20, R21, R22, R23, R24, R25, R26, \ | ||
25 | L36, L35, L34, L33, L32, L31, L30, L43, L44, R44, R43, R30, R31, R32, R33, R34, R35, R36, \ | ||
26 | L42, L41, L45, L46, R46, R45, R41, R42 \ | ||
27 | ) \ | ||
28 | { \ | ||
29 | { L00, L01, L02, L03, L04, L05, L06 }, \ | ||
30 | { L10, L11, L12, L13, L14, L15, L16 }, \ | ||
31 | { L20, L21, L22, L23, L24, L25, L26 }, \ | ||
32 | { L30, L31, L32, L33, L34, L35, L36 }, \ | ||
33 | { L40, L41, L42, L43, L44, L45, L46 }, \ | ||
34 | { R00, R01, R02, R03, R04, R05, R06 }, \ | ||
35 | { R10, R11, R12, R13, R14, R15, R16 }, \ | ||
36 | { R20, R21, R22, R23, R24, R25, R26 }, \ | ||
37 | { R30, R31, R32, R33, R34, R35, R36 }, \ | ||
38 | { R40, R41, R42, R43, R44, R45, R46 } \ | ||
39 | } | ||
diff --git a/keyboards/aya/config.h b/keyboards/aya/config.h new file mode 100644 index 000000000..1ad9716d4 --- /dev/null +++ b/keyboards/aya/config.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* Copyright 2021 Dan Nixon | ||
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 | #define VENDOR_ID 0xBEEF | ||
22 | #define PRODUCT_ID 0x0003 | ||
23 | #define DEVICE_VER 0x0001 | ||
24 | #define MANUFACTURER DanNixon | ||
25 | #define PRODUCT Aya | ||
26 | |||
27 | #define MATRIX_ROWS 10 | ||
28 | #define MATRIX_COLS 7 | ||
29 | |||
30 | #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } | ||
31 | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } | ||
32 | #define DIODE_DIRECTION ROW2COL | ||
33 | |||
34 | #define DEBOUNCE 5 | ||
35 | |||
36 | #define SPLIT_HAND_PIN B5 | ||
37 | #define USE_I2C | ||
diff --git a/keyboards/aya/info.json b/keyboards/aya/info.json new file mode 100644 index 000000000..8db200eb6 --- /dev/null +++ b/keyboards/aya/info.json | |||
@@ -0,0 +1,10 @@ | |||
1 | { | ||
2 | "keyboard_name": "Aya", | ||
3 | "url": "https://github.com/DanNixon/aya", | ||
4 | "maintainer": "dannixon", | ||
5 | "layouts": { | ||
6 | "LAYOUT": { | ||
7 | "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":17, "y":1}, {"x":18, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":17, "y":2}, {"x":18, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":16, "y":3}, {"x":17, "y":3}, {"x":18, "y":3}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}] | ||
8 | } | ||
9 | } | ||
10 | } | ||
diff --git a/keyboards/aya/keymaps/default/config.h b/keyboards/aya/keymaps/default/config.h new file mode 100644 index 000000000..5ef534d04 --- /dev/null +++ b/keyboards/aya/keymaps/default/config.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* Copyright 2021 Dan Nixon | ||
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 | #define IGNORE_MOD_TAP_INTERRUPT | ||
diff --git a/keyboards/aya/keymaps/default/keymap.c b/keyboards/aya/keymaps/default/keymap.c new file mode 100644 index 000000000..255e13d7b --- /dev/null +++ b/keyboards/aya/keymaps/default/keymap.c | |||
@@ -0,0 +1,87 @@ | |||
1 | /* Copyright 2021 Dan Nixon | ||
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 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | #define _LG_ESC LGUI_T(KC_ESC) | ||
20 | #define _RC_SPC RCTL_T(KC_SPC) | ||
21 | #define _RS_BSP RSFT_T(KC_BSPC) | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | /* | ||
25 | * ,-----------------------------------------. .-----------------------------------------. | ||
26 | * | | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = | | ||
27 | * |-----+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+-----| | ||
28 | * | | RMB | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | | ||
29 | * |-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----| | ||
30 | * | | LMB | A | S | D | F | G | | | | H | J | K | L | ; | ' | # | | ||
31 | * |-----+-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----+-----| | ||
32 | * | | \ | Z | X | C | V | B | Alt |M Lyr| | | Del | N | M | , | . | / | | | | ||
33 | * '-----------------------------+-----+-----+-----+-----| +-----+-----+-----+-----+-----------------------------' | ||
34 | * |Shift| Esc | Tab |F Lyr| | |Enter|Space|Bspce| (tap) | ||
35 | * |Shift| GUI | Tab |F Lyr| | |Enter| Ctrl|Shift| (hold) | ||
36 | * '-----------------------' '-----------------------' | ||
37 | */ | ||
38 | [0] = LAYOUT( | ||
39 | _______, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, | ||
40 | _______, KC_BTN2, KC_Q , KC_W , KC_E , KC_R , KC_T, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, | ||
41 | _______, KC_BTN1, KC_A , KC_S , KC_D , KC_F , KC_G, _______, _______, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, | ||
42 | _______, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B, KC_LALT, MO(2) , _______, KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, | ||
43 | KC_LSFT, _LG_ESC, KC_TAB , MO(1) , _______, KC_ENT, _RC_SPC, _RS_BSP | ||
44 | ), | ||
45 | |||
46 | /* | ||
47 | * ,-----------------------------------------. .-----------------------------------------. | ||
48 | * | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | ||
49 | * |-----+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+-----| | ||
50 | * | | | | | | | | | Home|Pg Dn|Pg Up| End | | | | | ||
51 | * |-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----| | ||
52 | * | | | | | | | | | | | Left| Down| Up |Right| | | | | ||
53 | * |-----+-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----+-----| | ||
54 | * | | | | | | | | | | | | | | | | | | | | | ||
55 | * '-----------------------------+-----+-----+-----+-----| +-----+-----+-----+-----+-----------------------------' | ||
56 | * | | | | | | | | | | | ||
57 | * '-----------------------' '-----------------------' | ||
58 | */ | ||
59 | [1] = LAYOUT( | ||
60 | _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , | ||
61 | _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, _______, _______, | ||
62 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, _______, | ||
63 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
64 | _______, _______, _______, _______, _______, _______, _______, _______ | ||
65 | ), | ||
66 | |||
67 | /* | ||
68 | * ,-----------------------------------------. .-----------------------------------------. | ||
69 | * | | | | | | | | | | | | | | | | | ||
70 | * |-----+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+-----| | ||
71 | * | | | | | | | | |W Lft|W Dwn|W Up |W Rgt| | | | | ||
72 | * |-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----| | ||
73 | * | | | | | | | | | | |M Lft|M Dwn|M Up |M Rgt| | | | | ||
74 | * |-----+-----+-----+-----+-----+-----+-----+-----+-----. .-----+-----+-----+-----+-----+-----+-----+-----+-----| | ||
75 | * | | | | | | | | | | | | | | | | | | | | | ||
76 | * '-----------------------------+-----+-----+-----+-----| +-----+-----+-----+-----+-----------------------------' | ||
77 | * | | | | | | | | LMB | RMB | | ||
78 | * '-----------------------' '-----------------------' | ||
79 | */ | ||
80 | [2] = LAYOUT( | ||
81 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
82 | _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, _______, _______, _______, | ||
83 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, | ||
84 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
85 | _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2 | ||
86 | ), | ||
87 | }; | ||
diff --git a/keyboards/aya/readme.md b/keyboards/aya/readme.md new file mode 100644 index 000000000..4e8e4228a --- /dev/null +++ b/keyboards/aya/readme.md | |||
@@ -0,0 +1,20 @@ | |||
1 | # Aya | ||
2 | |||
3 |  | ||
4 | |||
5 | A column staggered, symmetrical split keyboard. | ||
6 | |||
7 | * Keyboard Maintainer: [Dan Nixon](https://github.com/dannixon) | ||
8 | * Hardware Supported: Aya PCB, Pro Micro | ||
9 | * Hardware Availability: CAD files [here](https://github.com/DanNixon/aya) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make aya:default | ||
14 | |||
15 | Enter the bootloader in 2 ways: | ||
16 | |||
17 | * **Command**: Hold down both shift keys and press B | ||
18 | * **Physical reset button**: Briefly short the pads on the read of the PCB (directly behind the Pro Micro) | ||
19 | |||
20 | 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/aya/rules.mk b/keyboards/aya/rules.mk new file mode 100644 index 000000000..3036ebe1d --- /dev/null +++ b/keyboards/aya/rules.mk | |||
@@ -0,0 +1,22 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
21 | AUDIO_ENABLE = no # Audio output | ||
22 | SPLIT_KEYBOARD = yes | ||