aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralittlepeace <mandyskittie@Gmail.com>2021-09-11 09:33:13 -0500
committerGitHub <noreply@github.com>2021-09-11 07:33:13 -0700
commit99d465bee0d97d201e5883bde14f0ff0e4cf6e6b (patch)
tree9bb2f644f8720d17dde5ac91762e9b5203d5e35d
parent5eb500a877d367d6b93f733db6068c3791b663b7 (diff)
downloadqmk_firmware-99d465bee0d97d201e5883bde14f0ff0e4cf6e6b.tar.gz
qmk_firmware-99d465bee0d97d201e5883bde14f0ff0e4cf6e6b.zip
[keyboard] Add hotswap YMDK Wings (#14176)
* Add files via upload * Update keyboards/ymdk/wingshs/readme.md Co-authored-by: Joel Challis <git@zvecr.com> * Delete wingshs.json * Update keyboards/ymdk/wingshs/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/ymdk/wingshs/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/ymdk/wingshs/info.json Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/ymdk/wingshs/config.h73
-rw-r--r--keyboards/ymdk/wingshs/info.json83
-rw-r--r--keyboards/ymdk/wingshs/keymaps/default/keymap.c34
-rw-r--r--keyboards/ymdk/wingshs/keymaps/via/keymap.c50
-rw-r--r--keyboards/ymdk/wingshs/keymaps/via/rules.mk1
-rw-r--r--keyboards/ymdk/wingshs/readme.md21
-rw-r--r--keyboards/ymdk/wingshs/rules.mk21
-rw-r--r--keyboards/ymdk/wingshs/wingshs.c16
-rw-r--r--keyboards/ymdk/wingshs/wingshs.h34
9 files changed, 333 insertions, 0 deletions
diff --git a/keyboards/ymdk/wingshs/config.h b/keyboards/ymdk/wingshs/config.h
new file mode 100644
index 000000000..d215637f3
--- /dev/null
+++ b/keyboards/ymdk/wingshs/config.h
@@ -0,0 +1,73 @@
1/* Copyright 2021 alittlepeace
2This program is free software: you can redistribute it and/or modify
3it under the terms of the GNU General Public License as published by
4the Free Software Foundation, either version 2 of the License, or
5(at your option) any later version.
6This program is distributed in the hope that it will be useful,
7but WITHOUT ANY WARRANTY; without even the implied warranty of
8MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9GNU General Public License for more details.
10You should have received a copy of the GNU General Public License
11along with this program. If not, see <http://www.gnu.org/licenses/>.
12*/
13
14#pragma once
15
16#include "config_common.h"
17
18/* USB Device descriptor parameter */
19#define VENDOR_ID 0x594D // "YM"
20#define PRODUCT_ID 0x4975 // "WINGHS"
21#define DEVICE_VER 0x0001
22#define MANUFACTURER YMDK
23#define PRODUCT WINGS HOTSWAP
24
25/* key matrix size */
26#define MATRIX_ROWS 5
27#define MATRIX_COLS 15
28
29/*
30 * Keyboard Matrix Assignments
31 *
32 * Change this to how you wired your keyboard
33 * COLS: AVR pins used for columns, left to right
34 * ROWS: AVR pins used for rows, top to bottom
35 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
36 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
37 *
38*/
39#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
40#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
41#define UNUSED_PINS
42
43/* COL2ROW, ROW2COL*/
44#define DIODE_DIRECTION ROW2COL
45
46#define BACKLIGHT_PIN B6
47#define BACKLIGHT_LEVELS 5
48
49#define LED_CAPS_LOCK_PIN C7
50#define LED_PIN_ON_STATE 0
51
52#define RGB_DI_PIN E2
53#ifdef RGB_DI_PIN
54#define RGBLED_NUM 80
55#define RGBLIGHT_EFFECT_BREATHING
56#define RGBLIGHT_EFFECT_RAINBOW_MOOD
57#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
58#define RGBLIGHT_EFFECT_SNAKE
59#define RGBLIGHT_EFFECT_KNIGHT
60#define RGBLIGHT_EFFECT_CHRISTMAS
61#define RGBLIGHT_EFFECT_STATIC_GRADIENT
62#define RGBLIGHT_EFFECT_RGB_TEST
63#define RGBLIGHT_EFFECT_ALTERNATING
64#define RGBLIGHT_EFFECT_TWINKLE
65#define RGBLIGHT_HUE_STEP 8
66#define RGBLIGHT_SAT_STEP 8
67#define RGBLIGHT_VAL_STEP 8
68#define RGBLIGHT_LIMIT_VAL 160 /* The maximum brightness level */
69#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
70
71#endif
72
73
diff --git a/keyboards/ymdk/wingshs/info.json b/keyboards/ymdk/wingshs/info.json
new file mode 100644
index 000000000..bc022fc17
--- /dev/null
+++ b/keyboards/ymdk/wingshs/info.json
@@ -0,0 +1,83 @@
1{
2 "keyboard_name": "YMDK Wings Hotswap",
3 "url": "http://ymdkey.com/",
4 "maintainer": "qmk",
5 "layouts": {
6 "LAYOUT_all": {
7 "layout": [
8 {"label":"Esc", "x":0.75, "y":0.25},
9 {"label":"1", "x":1.75, "y":0.25},
10 {"label":"2", "x":2.75, "y":0},
11 {"label":"3", "x":3.75, "y":0.25},
12 {"label":"4", "x":4.75, "y":0.25},
13 {"label":"5", "x":5.75, "y":0.25},
14 {"label":"6", "x":6.75, "y":0.25},
15 {"label":"7", "x":10, "y":0.25},
16 {"label":"8", "x":11, "y":0.25},
17 {"label":"9", "x":12, "y":0.25},
18 {"label":"0", "x":13, "y":0.25},
19 {"label":"-", "x":14, "y":0},
20 {"label":"=", "x":15, "y":0.25},
21 {"label":"Backspace", "x":16, "y":0.25, "w":2},
22 {"label":"PgUp", "x":18.75, "y":0},
23
24
25 {"label":"Tab", "x":0.5, "y":1.25, "w":1.5},
26 {"label":"Q", "x":2, "y":1.25},
27 {"label":"W", "x":3.25, "y":1.25},
28 {"label":"E", "x":4.25, "y":1.25},
29 {"label":"R", "x":5.25, "y":1.25},
30 {"label":"T", "x":6.25, "y":1.25},
31 {"label":"Y", "x":9.5, "y":1.25},
32 {"label":"U", "x":10.5, "y":1.25},
33 {"label":"I", "x":11.5, "y":1.25},
34 {"label":"O", "x":12.5, "y":1.25},
35 {"label":"P", "x":13.75, "y":1.25},
36 {"label":"{", "x":14.75, "y":1.25},
37 {"label":"}", "x":15.75, "y":1.25},
38 {"label":"|", "x":16.75, "y":1.25, "w":1.5},
39 {"label":"PgDn", "x":19, "y":1},
40
41
42 {"label":"Caps Lock", "x":0.5, "y":2.25, "w":1.75},
43 {"label":"A", "x":2.25, "y":2.25},
44 {"label":"S", "x":3.5, "y":2.25},
45 {"label":"D", "x":4.5, "y":2.25},
46 {"label":"F", "x":5.5, "y":2.25},
47 {"label":"G", "x":6.5, "y":2.25},
48 {"label":"H", "x":9.75, "y":2.25},
49 {"label":"J", "x":10.75, "y":2.25},
50 {"label":"K", "x":11.75, "y":2.25},
51 {"label":"L", "x":12.75, "y":2.25},
52 {"label":":", "x":14.25, "y":2.25},
53 {"label":"\"", "x":15.25, "y":2.25},
54 {"label":"Enter", "x":16.25, "y":2.25, "w":2.25},
55 {"label":"Fn", "x":19.25, "y":2},
56
57 {"label":"Shift", "x":0.5, "y":3.25, "w":2.25},
58 {"label":"Z", "x":2.75, "y":3.25},
59 {"label":"X", "x":4, "y":3.25},
60 {"label":"C", "x":5, "y":3.25},
61 {"label":"V", "x":6, "y":3.25},
62 {"label":"B", "x":7, "y":3.25},
63 {"label":"N", "x":10.25, "y":3.25},
64 {"label":"M", "x":11.25, "y":3.25},
65 {"label":"<", "x":12.25, "y":3.25},
66 {"label":">", "x":14, "y":3.25},
67 {"label":"?", "x":15, "y":3.25},
68 {"label":"Shift", "x":16, "y":3.25, "w":1.75},
69 {"label":"Up", "x":18, "y":3.25},
70
71 {"label":"Ctrl", "x":0.5, "y":4.25, "w":1.5},
72 {"label":"Alt", "x":4, "y":4.25, "w":1.5},
73 {"label":"Space", "x":5.5, "y":4.25, "w":2},
74 {"label":"Menu", "x":7.5, "y":4.25},
75 {"label":"Space", "x":10.25, "y":4.25, "w":2.75},
76 {"label":"Alt", "x":13, "y":4.25, "w":1.5},
77 {"label":"Left", "x":17, "y":4.25},
78 {"label":"Down", "x":18, "y":4.25},
79 {"label":"Right", "x":19, "y":4.25}
80 ]
81 }
82 }
83}
diff --git a/keyboards/ymdk/wingshs/keymaps/default/keymap.c b/keyboards/ymdk/wingshs/keymaps/default/keymap.c
new file mode 100644
index 000000000..adfe6c11e
--- /dev/null
+++ b/keyboards/ymdk/wingshs/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2021 alittlepeace
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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 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_PGUP,
21 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_PGDN,
22 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, MO(1),
23 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,
24 KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
25 ),
26
27 [1] = LAYOUT_all(
28 RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
29 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______
33 )
34};
diff --git a/keyboards/ymdk/wingshs/keymaps/via/keymap.c b/keyboards/ymdk/wingshs/keymaps/via/keymap.c
new file mode 100644
index 000000000..29e3f3df9
--- /dev/null
+++ b/keyboards/ymdk/wingshs/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
1/* Copyright 2021 alittlepeace
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all(
21 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_PGUP,
22 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_PGDN,
23 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, MO(1),
24 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,
25 KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
26 ),
27
28 [1] = LAYOUT_all(
29 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
30 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______
34 ),
35
36 [2] = LAYOUT_all(
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______
42 ),
43 [3] = LAYOUT_all(
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______
49 )
50};
diff --git a/keyboards/ymdk/wingshs/keymaps/via/rules.mk b/keyboards/ymdk/wingshs/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/ymdk/wingshs/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/ymdk/wingshs/readme.md b/keyboards/ymdk/wingshs/readme.md
new file mode 100644
index 000000000..811fd0e6d
--- /dev/null
+++ b/keyboards/ymdk/wingshs/readme.md
@@ -0,0 +1,21 @@
1# YMDK Wings Hotswap
2
3![Wings Hotswap](https://cdn.shopify.com/s/files/1/0006/5227/9869/products/IMG_0172_2048x2048.jpg?v=1624963313)
4
5A keyboard inspired by the Arisu, which is inspired by Lyn's EM7 and TGR Alice. This has a different LED and matrix configuration from the non-hotswap YMDK Wings.
6
7* Keyboard Maintainer: [alittlepeace](https://github.com/alittlepeace)
8* Hardware Supported: YMDK Wings Hotswap
9* Hardware Availability: [YMDK](https://ymdkey.com/products/gbymdk-wings-aluminum-cnc-top-bottom-qmk-rgb-hotswap-v1-pcb-diy-kit)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make ymdk/wingshs:default
14
15Flashing example for this keyboard:
16
17 make ymdk/wingshs:default:flash
18
19To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
20
21See 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/ymdk/wingshs/rules.mk b/keyboards/ymdk/wingshs/rules.mk
new file mode 100644
index 000000000..6ff132876
--- /dev/null
+++ b/keyboards/ymdk/wingshs/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_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
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/ymdk/wingshs/wingshs.c b/keyboards/ymdk/wingshs/wingshs.c
new file mode 100644
index 000000000..f82fe2219
--- /dev/null
+++ b/keyboards/ymdk/wingshs/wingshs.c
@@ -0,0 +1,16 @@
1/* Copyright 2021 alittlepeace
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 "wingshs.h"
diff --git a/keyboards/ymdk/wingshs/wingshs.h b/keyboards/ymdk/wingshs/wingshs.h
new file mode 100644
index 000000000..3321f48fc
--- /dev/null
+++ b/keyboards/ymdk/wingshs/wingshs.h
@@ -0,0 +1,34 @@
1/* Copyright 2021 alittlepeace
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 "quantum.h"
17#pragma once
18
19
20#define XXX KC_NO
21#define LAYOUT_all( \
22 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4E, \
23 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
24 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2E, \
25 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
26 k40, k42, k44, k45, k46, k49, k4B, k4C, k4D \
27) \
28{ \
29 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX}, \
30 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E}, \
31 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E}, \
32 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX}, \
33 { k40, XXX, k42, XXX, k44, k45, k46, XXX, XXX, k49, XXX, k4B, k4C, k4D, k4E} \
34}