Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Skyloong/GK61 pro dual space keyboard. #22988

Open
wants to merge 36 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
55fcbd9
Create GK61 pro double space keyboard.
NaturalZh Jan 30, 2024
5f43527
Update keyboards/skyloong/gk61/pro_ds/config.h
NaturalZh Jan 31, 2024
d48b24b
Update keyboards/skyloong/gk61/pro_ds/pro_ds.c
NaturalZh Jan 31, 2024
f438b2f
Update keyboards/skyloong/gk61/pro_ds/pro_ds.c
NaturalZh Jan 31, 2024
a62a526
deleted keyboards/skyloong/gk61/pro_ds/keymaps/default/rules.mk.
NaturalZh Jan 31, 2024
400a12f
Update keyboards/skyloong/gk61/pro_ds/config.h
NaturalZh Feb 1, 2024
3267ca3
Update keyboards/skyloong/gk61/pro_ds/info.json
NaturalZh Feb 1, 2024
6fa88f2
modified tapping term setting
NaturalZh Feb 19, 2024
8bd44df
Merge branch 'develop' into gk61_pro_ds
NaturalZh Feb 28, 2024
606e72f
corrected rgb matrix driver
NaturalZh Feb 28, 2024
c654459
Update keyboards/skyloong/gk61/pro_ds/config.h
NaturalZh Mar 29, 2024
6d2b47b
Update keyboards/skyloong/gk61/pro_ds/pro_ds.c
NaturalZh Mar 29, 2024
0ef44f6
Update keyboards/skyloong/gk61/pro_ds/pro_ds.c
NaturalZh Mar 29, 2024
4f2e5d8
update skyloong/gk61/pro_ds/config.h
NaturalZh Mar 29, 2024
51e2f09
update skyloong/gk61/pro_ds/pro_ds.c
NaturalZh Jun 11, 2024
60b4958
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 19, 2024
26c3222
update skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 19, 2024
4e017fa
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
2258442
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
3b5b40d
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
65d95ef
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
3bae631
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
fb452c7
Update keyboards/skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
0bfdaa5
update skyloong/gk61/pro_ds/keymaps/via/keymap.c
NaturalZh Aug 21, 2024
10ebb19
Update keyboards/skyloong/gk61/pro_ds/info.json
NaturalZh Aug 26, 2024
e9a5309
Update keyboards/skyloong/gk61/pro_ds/info.json
NaturalZh Aug 26, 2024
cc4629b
Update keyboards/skyloong/gk61/pro_ds/info.json
NaturalZh Aug 26, 2024
ca1bbe7
rename skyloong/gk61/pro_ds/info.json keyboard.json;
NaturalZh Aug 26, 2024
6967ba2
Merge branch 'develop' into gk61_pro_ds
NaturalZh Aug 26, 2024
a3e0e52
Delete skyloong/gk61/pro_ds/keymaps/via keymap files
NaturalZh Aug 27, 2024
3603918
Update keyboards/skyloong/gk61/pro_ds/config.h
NaturalZh Aug 29, 2024
8225169
Update keyboards/skyloong/gk61/pro_ds/keymaps/default/keymap.c
NaturalZh Nov 23, 2024
0fd5331
Merge branch 'develop' into gk61_pro_ds
NaturalZh Nov 27, 2024
999853c
update skyloong/gk61/pro_ds/keymaps/default/keymap.c
NaturalZh Nov 28, 2024
046e39d
Update keyboards/skyloong/gk61/pro_ds/config.h
NaturalZh Jan 14, 2025
120c869
Update keyboards/skyloong/gk61/pro_ds/mcuconf.h
NaturalZh Jan 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Copyright 2023 linlin012 (@linlin012)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define CAPS_LOCK_INDEX 28

#define AW20216S_SDB_PIN A4
#define AW20216S_CS_PIN_1 B12
#define AW20216S_EN_PIN A4
9 changes: 9 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2023 linlin012 (@linlin012)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#define HAL_USE_SPI TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD

#include_next <halconf.h>
330 changes: 330 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/keyboard.json

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Tab│ Q │ W │ E | R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Cap│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ |Ent│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ |Sft| │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Ctl│GUI│Alt│ │Spc│Mut│ │ |Spc|Alt│App│Ctl│ │Mo1|
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
*/
[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_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_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1)
),

[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, _______,
RM_VALD, RM_TOGG, RM_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RM_PREV, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)

};

9 changes: 9 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2023 NaturalZh (@NaturalZh)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next <mcuconf.h>

#undef STM32_SPI_USE_SPI2
#define STM32_SPI_USE_SPI2 TRUE

115 changes: 115 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/pro_ds.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
// Copyright 2023 NaturalZh (@NaturalZh)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"

#if defined(RGB_MATRIX_ENABLE)
const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
/* Each AW20216 channel is controlled by a register at some offset between 0x00
* and 0xD7 inclusive.
* See drivers/awinic/aw20216.h for the mapping between register offsets and
* driver pin locations.
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, SW1_CS1, SW1_CS2, SW1_CS3},
{0, SW2_CS1, SW2_CS2, SW2_CS3},
{0, SW3_CS1, SW3_CS2, SW3_CS3},
{0, SW4_CS1, SW4_CS2, SW4_CS3},
{0, SW5_CS1, SW5_CS2, SW5_CS3},
{0, SW6_CS1, SW6_CS2, SW6_CS3},
{0, SW7_CS1, SW7_CS2, SW7_CS3},
{0, SW8_CS1, SW8_CS2, SW8_CS3},
{0, SW9_CS1, SW9_CS2, SW9_CS3},
{0, SW10_CS1, SW10_CS2, SW10_CS3},
{0, SW11_CS1, SW11_CS2, SW11_CS3},
{0, SW1_CS16, SW1_CS17, SW1_CS18},
{0, SW2_CS16, SW2_CS17, SW2_CS18},
{0, SW3_CS16, SW3_CS17, SW3_CS18},

{0, SW1_CS4, SW1_CS5, SW1_CS6},
{0, SW2_CS4, SW2_CS5, SW2_CS6},
{0, SW3_CS4, SW3_CS5, SW3_CS6},
{0, SW4_CS4, SW4_CS5, SW4_CS6},
{0, SW5_CS4, SW5_CS5, SW5_CS6},
{0, SW6_CS4, SW6_CS5, SW6_CS6},
{0, SW7_CS4, SW7_CS5, SW7_CS6},
{0, SW8_CS4, SW8_CS5, SW8_CS6},
{0, SW9_CS4, SW9_CS5, SW9_CS6},
{0, SW10_CS4, SW10_CS5, SW10_CS6},
{0, SW11_CS4, SW11_CS5, SW11_CS6},
{0, SW4_CS16, SW4_CS17, SW4_CS18},
{0, SW5_CS16, SW5_CS17, SW5_CS18},
{0, SW6_CS16, SW6_CS17, SW6_CS18},

{0, SW1_CS7, SW1_CS8, SW1_CS9},
{0, SW2_CS7, SW2_CS8, SW2_CS9},
{0, SW3_CS7, SW3_CS8, SW3_CS9},
{0, SW4_CS7, SW4_CS8, SW4_CS9},
{0, SW5_CS7, SW5_CS8, SW5_CS9},
{0, SW6_CS7, SW6_CS8, SW6_CS9},
{0, SW7_CS7, SW7_CS8, SW7_CS9},
{0, SW8_CS7, SW8_CS8, SW8_CS9},
{0, SW9_CS7, SW9_CS8, SW9_CS9},
{0, SW10_CS7, SW10_CS8, SW10_CS9},
{0, SW11_CS7, SW11_CS8, SW11_CS9},
{0, SW7_CS16, SW7_CS17, SW7_CS18},
{0, SW8_CS16, SW8_CS17, SW8_CS18},

{0, SW1_CS10, SW1_CS11, SW1_CS12},
{0, SW2_CS10, SW2_CS11, SW2_CS12},
{0, SW3_CS10, SW3_CS11, SW3_CS12},
{0, SW4_CS10, SW4_CS11, SW4_CS12},
{0, SW5_CS10, SW5_CS11, SW5_CS12},
{0, SW6_CS10, SW6_CS11, SW6_CS12},
{0, SW7_CS10, SW7_CS11, SW7_CS12},
{0, SW8_CS10, SW8_CS11, SW8_CS12},
{0, SW9_CS10, SW9_CS11, SW9_CS12},
{0, SW10_CS10, SW10_CS11, SW10_CS12},
{0, SW11_CS10, SW11_CS11, SW11_CS12},
{0, SW9_CS16, SW9_CS17, SW9_CS18},

{0, SW1_CS13, SW1_CS14, SW1_CS15},
{0, SW2_CS13, SW2_CS14, SW2_CS15},
{0, SW3_CS13, SW3_CS14, SW3_CS15},
{0, SW4_CS13, SW4_CS14, SW4_CS15},
{0, SW5_CS13, SW5_CS14, SW5_CS15},
{0, SW6_CS13, SW6_CS14, SW6_CS15},
{0, SW7_CS13, SW7_CS14, SW7_CS15},
{0, SW8_CS13, SW8_CS14, SW8_CS15},
{0, SW9_CS13, SW9_CS14, SW9_CS15},
{0, SW10_CS13, SW10_CS14, SW10_CS15}
};

bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
return false;
}

if (host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 255, 255, 255);
} else {
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_INDEX, 0, 0, 0);
}
}
return false;
}


void suspend_power_down_kb(void) {
gpio_write_pin_low(AW20216S_SDB_PIN);
suspend_power_down_user();
}

void suspend_wakeup_init_kb(void) {
gpio_write_pin_high(AW20216S_SDB_PIN);
suspend_wakeup_init_user();
}
#endif

void board_init(void) {
// JTAG-DP Disabled and SW-DP Disabled
AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG_Msk) | AFIO_MAPR_SWJ_CFG_DISABLE;
}
33 changes: 33 additions & 0 deletions keyboards/skyloong/gk61/pro_ds/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# GK61 PRO DS

![GK61 PRO DS](https://i.imgur.com/x7riwSeh.png)

## The PCB features:
* QMK & VIA compatibility
* RGB Matrix backlight
* There are double 3.125 split space bars or a 6.25 long space bar in space position .


The following is the QMK Firmware for the Destop 60% keylayout - designed in Dongguan Jizhi Electronic Technology Co., Ltd

* Keyboard Maintainer: [NaturalZh](https://github.com/NaturalZh)
* Hardware Supported: DestopPCB for Skyloong keylayout 60%, STM32F103C8T6
* Hardware Availability: http://www.skyloong.com.cn https://skyloong.vip

Make example for this keyboard (after setting up your build environment):

make skyloong/gk61/pro_ds:default

Flashing example for this keyboard:

make skyloong/gk61/pro_ds:default:flash

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 key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Loading