forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add Skyloong/GK61_V1 keyboard (qmk#21364)
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Fix and Matrix Diagram (qmk#21255)
- Loading branch information
1 parent
e27045b
commit c39233c
Showing
10 changed files
with
660 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
), | ||
|
||
}; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
), | ||
|
||
}; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
VIA_ENABLE = yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# This file intentionally left blank |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); | ||
} | ||
|
||
void board_init(void) { | ||
setPinOutput(SDB); | ||
writePinHigh(SDB); | ||
} |