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

add Skyloong/GK61_V1 keyboard #21364

Merged
merged 52 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
901e7a7
Alas: OK----ISO Layouts Fix and Matrix Diagram (#21255)
noroadsleft Jun 15, 2023
03406e7
added templete files to GK61
JZ-Skyloong Jun 9, 2023
eeb34e5
OK-----create gk61 layout in info.json
JZ-Skyloong Jun 9, 2023
1def7c7
create GK61 default keymap
JZ-Skyloong Jun 9, 2023
2aef0cf
Pass key Function test
JZ-Skyloong Jun 9, 2023
5f5c51d
create via keymap for GK61
JZ-Skyloong Jun 10, 2023
b6ce698
added RGB matrix function with IS31F3733 IC in GK61 firmware
JZ-Skyloong Jun 12, 2023
f886fd0
move RGB_matrix_EFFECTS setting from config.h to info.json
JZ-Skyloong Jun 12, 2023
62483e7
move RGB matrix effects from config.h to info.json; move RGB matrix l…
JZ-Skyloong Jun 13, 2023
2a98a30
add LAYOUT_space_long / LAYOUT_space_split key layout in info.json
JZ-Skyloong Jun 13, 2023
0e86582
edit readme.md -- add image to GK61
JZ-Skyloong Jun 14, 2023
b65847c
formatting for info.json of GK61
JZ-Skyloong Jun 15, 2023
8b0b27f
add encoder setting to info.json
JZ-Skyloong Jun 19, 2023
eeb7aea
set RGB matrix driver--CKLED2001 success.
JZ-Skyloong Jun 21, 2023
7dc5148
add RGB matirx frame effects
JZ-Skyloong Jun 23, 2023
1fe4c8c
add typing heatmap and digital rain effects
JZ-Skyloong Jun 24, 2023
2aad287
add v1 config
JZ-Skyloong Jun 24, 2023
ac36ab4
Merge branch 'master' into test2
JZ-Skyloong Jun 24, 2023
8ee13a8
Update keyboards/skyloong/gk61/v1/config.h
JZ-Skyloong Jun 26, 2023
26aa4db
Update keyboards/skyloong/gk61/v1/mcuconf.h
JZ-Skyloong Jun 26, 2023
65824ae
Update keyboards/skyloong/gk61/v1/rules.mk
JZ-Skyloong Jun 26, 2023
229f320
Update keyboards/skyloong/gk61/v1/v1.c
JZ-Skyloong Jun 26, 2023
41a710e
Update keyboards/skyloong/gk61/v1/mcuconf.h
JZ-Skyloong Jun 26, 2023
c175ba6
Update keyboards/skyloong/gk61/v1/v1.c
JZ-Skyloong Jun 26, 2023
7d5379c
Update keyboards/skyloong/gk61/v1/mcuconf.h
JZ-Skyloong Jun 26, 2023
15dca61
Update keyboards/skyloong/gk61/v1/halconf.h
JZ-Skyloong Jun 26, 2023
8ed8bda
Update keyboards/skyloong/gk61/v1/config.h
JZ-Skyloong Jun 26, 2023
3ffc992
modified RGB LED loaction value in info.json; reset typing_hatmap se…
JZ-Skyloong Jun 28, 2023
370af4f
Update keyboards/skyloong/gk61/v1/info.json
JZ-Skyloong Jun 30, 2023
fcb589d
Update keyboards/skyloong/gk61/v1/config.h
JZ-Skyloong Jul 1, 2023
cdb2124
Update keyboards/skyloong/gk61/info.json
JZ-Skyloong Jul 1, 2023
369a158
Update keyboards/skyloong/gk61/keymaps/default/keymap.c
JZ-Skyloong Jul 1, 2023
015b2ab
Update keyboards/skyloong/gk61/keymaps/default/keymap.c
JZ-Skyloong Jul 1, 2023
7ade0ee
Update keyboards/skyloong/gk61/keymaps/via/keymap.c
JZ-Skyloong Jul 1, 2023
73bf2e5
Update keyboards/skyloong/gk61/keymaps/via/keymap.c
JZ-Skyloong Jul 1, 2023
da7e9a0
Update keyboards/skyloong/gk61/info.json
JZ-Skyloong Jul 1, 2023
7a2d39d
Update keyboards/skyloong/gk61/info.json
JZ-Skyloong Jul 1, 2023
c6cd6f4
1. Recorrect 40% layout by 60% layout in readme.md;
JZ-Skyloong Jul 1, 2023
ad082ca
add community_layout [60_ansi] to info.json
JZ-Skyloong Jul 1, 2023
53760c0
define g_suspend_state in config.h
JZ-Skyloong Jul 3, 2023
eda609c
Update keyboards/skyloong/gk61/v1/config.h
JZ-Skyloong Jul 3, 2023
84127d5
update v1.c and config.h to save power when USB suspend.
JZ-Skyloong Jul 31, 2023
13992cf
Update keyboards/skyloong/gk61/v1/info.json
JZ-Skyloong Sep 1, 2023
49a63f7
update v1.c for suspend setting
JZ-Skyloong Sep 3, 2023
877b0b2
Merge branch 'develop' into gk61_v1
JZ-Skyloong Sep 8, 2023
b32a1f3
update info.json
JZ-Skyloong Sep 8, 2023
2b86362
Update RGB animations---delete rainbow_beacon and rainbow_pinwheels
JZ-Skyloong Sep 9, 2023
4fb0db8
Update keyboards/skyloong/gk61/v1/v1.c
JZ-Skyloong Sep 18, 2023
f58850e
Update keyboards/skyloong/gk61/v1/info.json
JZ-Skyloong Oct 4, 2023
30da711
Update keyboards/skyloong/gk61/v1/info.json
JZ-Skyloong Oct 4, 2023
9f70418
Update keyboards/skyloong/gk61/v1/v1.c
JZ-Skyloong Oct 4, 2023
9281eac
Update keyboards/skyloong/gk61/v1/v1.c
JZ-Skyloong Oct 4, 2023
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
39 changes: 39 additions & 0 deletions keyboards/skyloong/gk61/v1/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/
#pragma once

/*
* RGB matrix driver config (CKLED2001)
*
* This is a 7-bit address, that gets left-shifted and bit 0
* set to 0 for write, 1 for read (as per I2C protocol)
* The address will vary depending on your wiring:
* 00 <-> GND
* 01 <-> SCL
* 10 <-> SDA
* 11 <-> VCC
* ADDR/CS represents A1:A0 of the 7-bit address.
* The result is: 0b11101(ADDR/CS)
*/
#define DRIVER_ADDR_1 0b1110100

#define DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS //Enable frame effects
#define RGB_MATRIX_KEYPRESSES //Reacts to keypress
#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended
#define SDB C1
21 changes: 21 additions & 0 deletions keyboards/skyloong/gk61/v1/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/
#pragma once

#define HAL_USE_I2C TRUE

#include_next <halconf.h>

331 changes: 331 additions & 0 deletions keyboards/skyloong/gk61/v1/info.json

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions keyboards/skyloong/gk61/v1/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/


#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN,
};


const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_all(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, 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_SLASH, KC_RSFT,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1)
),
/* Fn+ */
[_FN] = LAYOUT_all(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
RGB_TOG, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE,
RGB_MOD, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MNXT, KC_MPLY,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_UP, KC_RSFT,
KC_CALC, KC_MAIL, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO
),

};


47 changes: 47 additions & 0 deletions keyboards/skyloong/gk61/v1/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/


#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN,
};


const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_all(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, 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_SLASH, KC_RSFT,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1)
),
/* Fn+ */
[_FN] = LAYOUT_all(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
RGB_TOG, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE,
RGB_MOD, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MNXT, KC_MPLY,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_UP, KC_RSFT,
KC_CALC, KC_MAIL, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO
),

};


1 change: 1 addition & 0 deletions keyboards/skyloong/gk61/v1/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
21 changes: 21 additions & 0 deletions keyboards/skyloong/gk61/v1/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/
#pragma once

#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
33 changes: 33 additions & 0 deletions keyboards/skyloong/gk61/v1/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# GK61

![GK61](https://i.imgur.com/hEufouph.jpg)

## The PCB features:
* QMK & VIA compatibility
* RGB Matrix backlight


The following is the QMK Firmware for the Destop 60% keylayout - designed in Dongguan Jizhi Electronic Technology Co., Ltd
* Keyboard Maintainer: [JZ-Skyloong](https://github.com/JZ-Skyloong)
* Hardware Supported: DestopPCB for Skyloong keylayout 60%, STM32F103C8T6
* Hardware Availability: http://www.skyloong.com.cn

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

make skyloong/gk61/v1:default
make skyloong/gk61/v1:via

Flashing example for this keyboard:

make skyloong/gk61/v1:default:flash
make skyloong/gk61/v1:via: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
1 change: 1 addition & 0 deletions keyboards/skyloong/gk61/v1/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file intentionally left blank
119 changes: 119 additions & 0 deletions keyboards/skyloong/gk61/v1/v1.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
/* Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
*
* 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 <http://www.gnu.org/licenses/>.
*/
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE

const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to CKLED2001 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, C_1, B_1, A_1},
{0, C_2, B_2, A_2},
{0, C_3, B_3, A_3},
{0, C_4, B_4, A_4},
{0, C_5, B_5, A_5},
{0, C_6, B_6, A_6},
{0, C_7, B_7, A_7},
{0, C_8, B_8, A_8},
{0, C_9, B_9, A_9},
{0, C_10, B_10, A_10},
{0, C_11, B_11, A_11},
{0, C_12, B_12, A_12},
{0, C_13, B_13, A_13},
{0, C_14, B_14, A_14},


{0, F_1, E_1, D_1},
{0, F_2, E_2, D_2},
{0, F_3, E_3, D_3},
{0, F_4, E_4, D_4},
{0, F_5, E_5, D_5},
{0, F_6, E_6, D_6},
{0, F_7, E_7, D_7},
{0, F_8, E_8, D_8},
{0, F_9, E_9, D_9},
{0, F_10, E_10, D_10},
{0, F_11, E_11, D_11},
{0, F_12, E_12, D_12},
{0, F_13, E_13, D_13},
{0, F_14, E_14, D_14},


{0, I_1, H_1, G_1},
{0, I_2, H_2, G_2},
{0, I_3, H_3, G_3},
{0, I_4, H_4, G_4},
{0, I_5, H_5, G_5},
{0, I_6, H_6, G_6},
{0, I_7, H_7, G_7},
{0, I_8, H_8, G_8},
{0, I_9, H_9, G_9},
{0, I_10, H_10, G_10},
{0, I_11, H_11, G_11},
{0, I_12, H_12, G_12},
{0, I_13, H_13, G_13},



{0, L_1, K_1, J_1},
{0, L_2, K_2, J_2},
{0, L_3, K_3, J_3},
{0, L_4, K_4, J_4},
{0, L_5, K_5, J_5},
{0, L_6, K_6, J_6},
{0, L_7, K_7, J_7},
{0, L_8, K_8, J_8},
{0, L_9, K_9, J_9},
{0, L_10, K_10, J_10},
{0, L_11, K_11, J_11},
{0, L_13, K_13, J_13},

{0, L_15, K_15, J_15},
{0, L_16, K_16, J_16},
{0, I_15, H_15, G_15},
{0, I_16, H_16, G_16},
{0, F_15, E_15, D_15},
{0, F_16, E_16, D_16},
{0, C_15, B_15, A_15},
{0, C_16, B_16, A_16},
{0, I_14, H_14, G_14},
{0, L_12, K_12, J_12},
{0, L_14, K_14, J_14},


};
#endif // RGB_MATRIX_ENABLE

void suspend_power_down_kb() {
writePinLow(SDB);

suspend_power_down_user();
}

void suspend_wakeup_init_kb() {
writePinHigh(SDB);

suspend_wakeup_init_user();
}

JZ-Skyloong marked this conversation as resolved.
Show resolved Hide resolved
void board_init(void) {
setPinOutput(SDB);
writePinHigh(SDB);
}