Compare commits

...

85 Commits

Author SHA1 Message Date
Ryan
979ec4d9b6 Merge b6cdbaa45d050b5e1a11dc9f23d69054faa0a7b7 into d5a042498770050a3d2f002540413ba14dfaf8d1 2025-01-01 16:57:28 +11:00
QMK Bot
d5a0424987 [CI] Regenerate Files (#24772)
Regenerate Files
2025-01-01 02:22:28 +00:00
QMK Bot
1e6eb5e35c Merge remote-tracking branch 'origin/master' into develop 2025-01-01 02:09:51 +00:00
QMK Bot
4d182ec117 Merge remote-tracking branch 'origin/master' into develop 2025-01-01 01:59:15 +00:00
QMK Bot
08c1c045f9 Merge remote-tracking branch 'origin/master' into develop 2024-12-31 12:36:59 +00:00
QMK Bot
efcd6187d1 Merge remote-tracking branch 'origin/master' into develop 2024-12-30 21:45:28 +00:00
QMK Bot
92534d8e3d Merge remote-tracking branch 'origin/master' into develop 2024-12-27 19:43:49 +00:00
QMK Bot
4d3d8887e7 Merge remote-tracking branch 'origin/master' into develop 2024-12-27 19:25:25 +00:00
muge
93de533580 Move cxt_studio keyboard to own folder (#24748) 2024-12-26 08:58:26 +00:00
QMK Bot
fc4d9c63fb Merge remote-tracking branch 'origin/master' into develop 2024-12-25 02:58:06 +00:00
QMK Bot
8037c7332c Merge remote-tracking branch 'origin/master' into develop 2024-12-24 18:26:40 +00:00
QMK Bot
1741901281 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 18:06:18 +00:00
j-hap
38eb643a82 Add keymap-extras for EurKEY layout (#24241)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2024-12-23 23:23:51 -08:00
QMK Bot
b78bf7ec43 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 07:23:00 +00:00
QMK Bot
a09f9bbb41 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 07:14:13 +00:00
QMK Bot
c65dd3ba50 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 07:13:28 +00:00
QMK Bot
d3585110a3 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 06:27:16 +00:00
QMK Bot
1ed3878d15 Merge remote-tracking branch 'origin/master' into develop 2024-12-24 06:26:11 +00:00
Less/Rikki
b4ece24c7d move ymdk/id75 to revision (#24590) 2024-12-22 13:03:03 -08:00
QMK Bot
5c1c4874d7 Merge remote-tracking branch 'origin/master' into develop 2024-12-22 20:23:46 +00:00
Feags
32ea7025fb [Keyboard] Promenade fixes (#24705)
(Missing keys in matrix, other minor changes to keymap)

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-12-22 11:58:57 -08:00
QMK Bot
5f0ffd2704 Merge remote-tracking branch 'origin/master' into develop 2024-12-22 19:57:59 +00:00
QMK Bot
24e2466de3 Merge remote-tracking branch 'origin/master' into develop 2024-12-22 05:15:34 +00:00
QMK Bot
2c6a37021c Merge remote-tracking branch 'origin/master' into develop 2024-12-18 18:17:00 +00:00
QMK Bot
10cdcbd057 Merge remote-tracking branch 'origin/master' into develop 2024-12-18 05:02:42 +00:00
boessu
d3c9dff9d2 small refactoring of TIMER_DIFF (#24678)
A small refactoring of the defines TIMER_DIFF_8, TIMER_DIFF_16, TIMER_DIFF_32, TIMER_DIFF_RAW.
Removing obsolete TIMER_DIFF helper.
Discussion: https://github.com/qmk/qmk_firmware/issues/24652
2024-12-16 10:27:42 +01:00
Ryan
0f3993b9a3 default_keyboard.h generation tweaks (#24715) 2024-12-15 19:06:05 +00:00
Stefan Kerkmann
8e6bfbfdc2 [Core] chibios: usb_main: remove OTG sof workaround (#24259)
chibios: usb_main: remove OTG sof workaround

With the update of ChibiOS and ChibiOS-Contrib containing fixes for the
OTGv1 LLD the workaround is not necessarry anymore.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-12-15 18:42:43 +01:00
Nick Brassel
be6ff3af2b Update ChibiOS stable_21.11.x. (#24714) 2024-12-15 23:44:12 +11:00
QMK Bot
cb7608b9e2 Merge remote-tracking branch 'origin/master' into develop 2024-12-15 04:00:50 +00:00
QMK Bot
31631537d5 Merge remote-tracking branch 'origin/master' into develop 2024-12-14 23:16:27 +00:00
QMK Bot
77fb523fa5 Merge remote-tracking branch 'origin/master' into develop 2024-12-14 17:19:42 +00:00
QMK Bot
ad9efdaf0e Merge remote-tracking branch 'origin/master' into develop 2024-12-13 09:43:19 +00:00
フィルターペーパー
e1351b4f4b Subscript alef correction (#24707)
Output for U+0656 is AltGr + V
2024-12-12 11:01:50 -07:00
QMK Bot
76ac62c326 Merge remote-tracking branch 'origin/master' into develop 2024-12-12 17:59:41 +00:00
QMK Bot
56f4ba366e Merge remote-tracking branch 'origin/master' into develop 2024-12-11 20:30:14 +00:00
jack
0228806ae8 Change new-keymap keymap name prompt (#24701) 2024-12-11 12:28:30 -08:00
QMK Bot
1b5ae7aa71 Merge remote-tracking branch 'origin/master' into develop 2024-12-09 06:34:19 +00:00
QMK Bot
c7c91700b8 Merge remote-tracking branch 'origin/master' into develop 2024-12-09 06:32:41 +00:00
QMK Bot
af53c13d53 Merge remote-tracking branch 'origin/master' into develop 2024-12-09 06:22:24 +00:00
QMK Bot
86f8694580 Merge remote-tracking branch 'origin/master' into develop 2024-12-09 05:44:45 +00:00
QMK Bot
a683f10bff Merge remote-tracking branch 'origin/master' into develop 2024-12-09 03:30:58 +00:00
Joel Challis
68f67e23aa skyloong/gk61: Remove overriding of core keycode behaviour (#24655) 2024-12-08 06:35:12 -08:00
QMK Bot
001e190935 Merge remote-tracking branch 'origin/master' into develop 2024-12-08 06:06:35 +00:00
QMK Bot
e3000fabb7 Merge remote-tracking branch 'origin/master' into develop 2024-12-06 22:06:14 +00:00
QMK Bot
98291bc281 Merge remote-tracking branch 'origin/master' into develop 2024-12-06 05:44:06 +00:00
QMK Bot
55ea94832c Merge remote-tracking branch 'origin/master' into develop 2024-12-05 18:59:00 +00:00
QMK Bot
f4dc0c33cc Merge remote-tracking branch 'origin/master' into develop 2024-12-05 18:18:59 +00:00
QMK Bot
daf4746da7 Merge remote-tracking branch 'origin/master' into develop 2024-12-04 17:19:20 +00:00
QMK Bot
e64adcef7e Merge remote-tracking branch 'origin/master' into develop 2024-12-04 17:08:07 +00:00
QMK Bot
6992401770 Merge remote-tracking branch 'origin/master' into develop 2024-12-04 16:58:38 +00:00
QMK Bot
3d3f14044a Merge remote-tracking branch 'origin/master' into develop 2024-12-04 16:55:49 +00:00
QMK Bot
094933f002 Merge remote-tracking branch 'origin/master' into develop 2024-12-04 16:52:23 +00:00
QMK Bot
25da6bc359 Merge remote-tracking branch 'origin/master' into develop 2024-12-04 16:37:37 +00:00
QMK Bot
b6192ef8a0 Merge remote-tracking branch 'origin/master' into develop 2024-12-03 23:10:02 +00:00
QMK Bot
176aa00abb Merge remote-tracking branch 'origin/master' into develop 2024-12-03 22:48:59 +00:00
QMK Bot
fefb4180aa Merge remote-tracking branch 'origin/master' into develop 2024-12-03 22:40:41 +00:00
QMK Bot
0196298b10 Merge remote-tracking branch 'origin/master' into develop 2024-12-03 19:31:52 +00:00
QMK Bot
d44fe48a55 Merge remote-tracking branch 'origin/master' into develop 2024-12-03 18:36:17 +00:00
QMK Bot
6f2c032459 Merge remote-tracking branch 'origin/master' into develop 2024-12-03 07:47:37 +00:00
QMK Bot
2d5d3ac959 Merge remote-tracking branch 'origin/master' into develop 2024-12-03 07:35:59 +00:00
QMK Bot
7858f84366 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 21:26:44 +00:00
QMK Bot
384e42cb23 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 17:10:39 +00:00
QMK Bot
22849a59d4 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 16:49:47 +00:00
QMK Bot
750a3f1e60 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 16:49:00 +00:00
QMK Bot
777ae4fb8d Merge remote-tracking branch 'origin/master' into develop 2024-12-02 15:37:41 +00:00
QMK Bot
97870b27a1 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 15:33:45 +00:00
QMK Bot
0c176f6123 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 15:24:25 +00:00
QMK Bot
b3a1dc0658 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 15:07:28 +00:00
QMK Bot
2bfc0e07d1 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 14:58:10 +00:00
Drashna Jaelre
b599c78548 Fix Quantum Painter compiliation issues with heavy optimization (#24667) 2024-12-02 16:58:18 +11:00
QMK Bot
fa96609e0b Merge remote-tracking branch 'origin/master' into develop 2024-12-02 04:12:12 +00:00
QMK Bot
1d5de078c7 Merge remote-tracking branch 'origin/master' into develop 2024-12-02 04:01:40 +00:00
QMK Bot
aa9e48dae2 Merge remote-tracking branch 'origin/master' into develop 2024-12-01 19:25:16 +00:00
Nick Brassel
df9bf9efa1 Update ChibiOS to latest stable branch. (#24651) 2024-11-30 22:51:41 +11:00
QMK Bot
5b827356bb Merge remote-tracking branch 'origin/master' into develop 2024-11-30 05:31:16 +00:00
QMK Bot
0ae7639f6c Merge remote-tracking branch 'origin/master' into develop 2024-11-30 05:30:38 +00:00
Joel Challis
50491c44ca moky/moky88: Remove use of deprecated defines (#24656) 2024-11-29 13:51:16 -08:00
QMK Bot
653d1a5e37 Merge remote-tracking branch 'origin/master' into develop 2024-11-28 19:46:32 +00:00
Nick Brassel
b0ac5bcf91 Branch point for 2025q1 breaking change 2024-11-27 21:31:31 +11:00
Nick Brassel
f8ba76a771 Merge branch 'master' into develop 2024-11-27 21:30:59 +11:00
fauxpark
b6cdbaa45d Format and tweak todo comment 2023-08-27 17:41:21 +10:00
fauxpark
3f645fdbeb Merge branch 'develop' into adafruitble-gatt-battery 2023-08-27 17:37:34 +10:00
fauxpark
0749aa2290 Formatting 2021-10-07 02:39:38 +11:00
fauxpark
56beb6a633 Initial AdafruitBLE GATT Battery Service support 2021-09-30 19:51:34 +10:00
43 changed files with 1154 additions and 529 deletions

File diff suppressed because it is too large Load Diff

View File

@ -527,7 +527,7 @@
"key": "FA_PIPE",
"label": "|",
}
"ALGR(FA_RA)": {
"ALGR(FA_RE)": {
"key": "FA_SUBA",
"label": "ٖ",
}

View File

@ -140,6 +140,9 @@
"custommk/genesis": {
"target": "custommk/genesis/rev1"
},
"cxt_studio":{
"target":"cxt_studio/12e4"
},
"daisy": {
"target": "ktec/daisy"
},
@ -1515,6 +1518,9 @@
"ymd96": {
"target": "ymdk/ymd96"
},
"ymdk/id75": {
"target": "ymdk/id75/f103"
},
"ymdk_np21": {
"target": "ymdk/np21"
},

View File

@ -55,6 +55,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` |
|English (US International, Linux)|`keymap_us_international_linux.h`| |
|Estonian |`keymap_estonian.h` |`sendstring_estonian.h` |
|EurKEY |`keymap_eurkey.h` | |
|Farsi |`keymap_farsi.h` | |
|Finnish |`keymap_finnish.h` |`sendstring_finnish.h` |
|French |`keymap_french.h` |`sendstring_french.h` |

View File

@ -442,6 +442,8 @@ bool bluefruit_le_enable_keyboard(void) {
static const char kGapDevName[] PROGMEM = "AT+GAPDEVNAME=" PRODUCT;
// Turn on keyboard support
static const char kHidEnOn[] PROGMEM = "AT+BLEHIDEN=1";
// Turn on battery service
static const char kBattEnOn[] PROGMEM = "AT+BLEBATTEN=1";
// Adjust intervals to improve latency. This causes the "central"
// system (computer/tablet) to poll us every 10-30 ms. We can't
@ -456,7 +458,7 @@ bool bluefruit_le_enable_keyboard(void) {
// Turn down the power level a bit
static const char kPower[] PROGMEM = "AT+BLEPOWERLEVEL=-12";
static PGM_P const configure_commands[] PROGMEM = {
kEcho, kGapIntervals, kGapDevName, kHidEnOn, kPower, kATZ,
kEcho, kGapIntervals, kGapDevName, kHidEnOn, kBattEnOn, kPower, kATZ,
};
uint8_t i;
@ -555,6 +557,7 @@ void bluefruit_le_task(void) {
state.last_battery_update = timer_read();
state.vbat = analogReadPin(BATTERY_LEVEL_PIN);
bluefruit_le_set_battery_level(100); // TODO
}
#endif
}
@ -683,3 +686,13 @@ bool bluefruit_le_set_power_level(int8_t level) {
snprintf(cmd, sizeof(cmd), "AT+BLEPOWERLEVEL=%d", level);
return at_command(cmd, NULL, 0, false);
}
bool bluefruit_le_set_battery_level(uint8_t level) {
char cmd[18];
if (!state.configured) {
return false;
}
snprintf(cmd, sizeof(cmd), "AT+BLEBATTVAL=%d", level);
return at_command(cmd, NULL, 0, false);
}

View File

@ -51,6 +51,7 @@ extern uint32_t bluefruit_le_read_battery_voltage(void);
extern bool bluefruit_le_set_mode_leds(bool on);
extern bool bluefruit_le_set_power_level(int8_t level);
extern bool bluefruit_le_set_battery_level(uint8_t level);
#ifdef __cplusplus
}

View File

@ -0,0 +1,6 @@
// Copyright 2023 Colin Kinloch (@ColinKinloch)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define RGB_MATRIX_TYPING_HEATMAP_SPREAD 9

View File

@ -3,8 +3,6 @@
#include "quantum.h"
static uint8_t anim = 0;
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
@ -21,32 +19,26 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
break;
case 1: {
if (clockwise) {
rgblight_increase_hue();
rgb_matrix_increase_hue();
} else {
rgblight_decrease_hue();
rgb_matrix_decrease_hue();
}
}
break;
case 2: {
if (clockwise) {
rgblight_increase_val();
rgb_matrix_increase_val();
} else {
rgblight_decrease_val();
rgb_matrix_decrease_val();
}
}
break;
case 3: {
if (clockwise) {
anim++;
rgb_matrix_step();
} else {
anim--;
rgb_matrix_step_reverse();
}
if (anim >= RGB_MATRIX_EFFECT_MAX) {
anim = 0;
} else if (anim < 0) {
anim = RGB_MATRIX_EFFECT_MAX - 1;
}
rgblight_mode(anim);
}
break;
}

View File

@ -1,6 +1,6 @@
{
"manufacturer": "CXT",
"keyboard_name": "cxt_studio",
"keyboard_name": "cxt_studio 12E4",
"maintainer": "ColinKinloch",
"bootloader": "atmel-dfu",
"diode_direction": "ROW2COL",

View File

@ -1,5 +1,5 @@
{
"keyboard": "cxt_studio",
"keyboard": "cxt_studio/12e4",
"keymap": "default",
"layout": "LAYOUT",
"layers": [

View File

@ -1,20 +1,20 @@
# cxt_studio
# cxt_studio/12e4
![cxt_studio](https://i.imgur.com/AMCTioSh.jpeg)
![cxt_studio/12e4](https://i.imgur.com/AMCTioSh.jpeg)
3x4 ortho rgb lighting 4 knobs.
* Keyboard Maintainer: [Colin Kinloch](https://github.com/ColinKinloch)
* Hardware Supported: CXT-Studio
* Hardware Supported: CXT-Studio/12E4
* Hardware Availability: AliExpress. I think the manufacturer is on Taobao.
Make example for this keyboard (after setting up your build environment):
make cxt_studio:default
make cxt_studio/12e4:default
Flashing example for this keyboard:
make cxt_studio:default:flash
make cxt_studio/12e4: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).

View File

@ -1,22 +0,0 @@
// Copyright 2023 Colin Kinloch (@ColinKinloch)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define RGB_MATRIX_TYPING_HEATMAP_SPREAD 9
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View File

@ -73,8 +73,8 @@
{"matrix": [1, 3], "x":3.5, "y":1},
{"matrix": [1, 4], "x":4.5, "y":1},
{"matrix": [1, 5], "x":5.5, "y":1},
{"matrix": [1, 6], "x":6.5, "y":1, "h":1.5},
{"matrix": [1, 7], "x":7.5, "y":1, "h":1.5},
{"matrix": [1, 6], "x":6.5, "y":1},
{"matrix": [1, 7], "x":7.5, "y":1},
{"matrix": [1, 8], "x":8.5, "y":1},
{"matrix": [1, 9], "x":9.5, "y":1},
{"matrix": [1, 10], "x":10.5, "y":1},
@ -88,6 +88,8 @@
{"matrix": [2, 3], "x":3.5, "y":2},
{"matrix": [2, 4], "x":4.5, "y":2},
{"matrix": [2, 5], "x":5.5, "y":2},
{"matrix": [2, 6], "x":6.5, "y":2},
{"matrix": [2, 7], "x":7.5, "y":2},
{"matrix": [2, 8], "x":8.5, "y":2},
{"matrix": [2, 9], "x":9.5, "y":2},
{"matrix": [2, 10], "x":10.5, "y":2},
@ -101,8 +103,8 @@
{"matrix": [3, 3], "x":3.5, "y":3},
{"matrix": [3, 4], "x":4.5, "y":3},
{"matrix": [3, 5], "x":5.5, "y":3},
{"matrix": [3, 6], "x":6.5, "y":2.5, "h":1.5},
{"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5},
{"matrix": [3, 6], "x":6.5, "y":3},
{"matrix": [3, 7], "x":7.5, "y":3},
{"matrix": [3, 8], "x":8.5, "y":3},
{"matrix": [3, 9], "x":9.5, "y":3},
{"matrix": [3, 10], "x":10.5, "y":3},

View File

@ -26,19 +26,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
* | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | \ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | | | H | J | K | L | ; | ENTER |
* | CAP LK | A | S | D | F | G | HOME | PG UP | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
* | LCTRL | LGUI | LALT | FN | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_BASE] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
),
@ -47,20 +47,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .-----------------------------------------------------------------------------------------------------------------------------.
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | Home | Up | End | PgUp | | | | | | | | PRT SC | |
* | | HOME | UP | END | PG UP | | | | | | | | PRT SC | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | | Left | Down | Right | PgDn | | | | | | | | | Reset |
* | | LEFT | DOWN | RIGHT | PG DN | | | | | | | | ' | RGB Off|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | | | | | | | | | Reset |
* | | | | | | ENTER | ENTER | BACKSP | | | | | Reset |
* '-----------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = 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, KC_DEL,
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, UG_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
_______, _______, _______, _______, _______, KC_ENT, KC_ENT, KC_BSPC, _______, _______, _______, _______, QK_BOOT
)
};

View File

@ -5,10 +5,10 @@
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │
├─────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─────┤
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
├─────┼───┼───┼───┼───┼───┤ │ ├───┼───┼───┼───┼───┼─────┤
│20 │21 │22 │23 │24 │25 ├───┼───┤28 │29 │2A │2B │2C │2D │
├─────┼───┼───┼───┼───┼───┤36 │37 ├───┼───┼───┼───┼───┼─────┤
│30 │31 │32 │33 │34 │35 │ │38 │39 │3A │3B │3C │3D │
├─────┼───┼───┼───┼───┼───├───┼───┼───┼───┼───┼───┼───┼─────┤
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │
├─────┼───┼───┼───┼───┼───├───┼───┼───┼───┼───┼───┼───┼─────┤
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │
├─────┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┼─────┤
│40 │41 │42 │43 │44 │45 │46 │48 │49 │4A │4B │4C │4D │
└─────┴───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┴─────┘

View File

@ -15,5 +15,4 @@
/* RGB Driver */
#define AW20216S_CS_PIN_1 D2
#define AW20216S_CS_PIN_2 B8
#define AW20216S_EN_PIN_1 B9
#define AW20216S_EN_PIN_2 B9
#define AW20216S_EN_PIN B9

View File

@ -23,97 +23,97 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
{0, CS18_SW2, CS17_SW2, CS16_SW2 }, // 0 Esc
{0, CS18_SW3, CS17_SW3, CS16_SW3 }, // 1 F1
{0, CS18_SW4, CS17_SW4, CS16_SW4 }, // 2 F2
{0, CS18_SW5, CS17_SW5, CS16_SW5 }, // 3 F3
{0, CS18_SW6, CS17_SW6, CS16_SW6 }, // 4 F4
{0, CS18_SW7, CS17_SW7, CS16_SW7 }, // 5 F5
{0, CS18_SW8, CS17_SW8, CS16_SW8 }, // 6 F6
{0, CS18_SW9, CS17_SW9, CS16_SW9 }, // 7 F7
{0, CS18_SW10, CS17_SW10, CS16_SW10 }, // 8 F8
{0, CS18_SW11, CS17_SW11, CS16_SW11 }, // 9 F9
{0, CS18_SW12, CS17_SW12, CS16_SW12 }, // 10 F10
{1, CS18_SW1, CS17_SW1, CS16_SW1 }, // 11 F11
{1, CS18_SW2, CS17_SW2, CS16_SW2 }, // 12 F12
{1, CS18_SW3, CS17_SW3, CS16_SW3 }, // 13 MUTE
{1, CS18_SW4, CS17_SW4, CS16_SW4 }, // 14 PSCR
{1, CS18_SW5, CS17_SW5, CS16_SW5 }, // 15 SCRL
{1, CS18_SW6, CS17_SW6, CS16_SW6 }, // 16 PAUSE
{0, SW2_CS18, SW2_CS17, SW2_CS16 }, // 0 Esc
{0, SW3_CS18, SW3_CS17, SW3_CS16 }, // 1 F1
{0, SW4_CS18, SW4_CS17, SW4_CS16 }, // 2 F2
{0, SW5_CS18, SW5_CS17, SW5_CS16 }, // 3 F3
{0, SW6_CS18, SW6_CS17, SW6_CS16 }, // 4 F4
{0, SW7_CS18, SW7_CS17, SW7_CS16 }, // 5 F5
{0, SW8_CS18, SW8_CS17, SW8_CS16 }, // 6 F6
{0, SW9_CS18, SW9_CS17, SW9_CS16 }, // 7 F7
{0, SW10_CS18, SW10_CS17, SW10_CS16 }, // 8 F8
{0, SW11_CS18, SW11_CS17, SW11_CS16 }, // 9 F9
{0, SW12_CS18, SW12_CS17, SW12_CS16 }, // 10 F10
{1, SW1_CS18, SW1_CS17, SW1_CS16 }, // 11 F11
{1, SW2_CS18, SW2_CS17, SW2_CS16 }, // 12 F12
{1, SW3_CS18, SW3_CS17, SW3_CS16 }, // 13 MUTE
{1, SW4_CS18, SW4_CS17, SW4_CS16 }, // 14 PSCR
{1, SW5_CS18, SW5_CS17, SW5_CS16 }, // 15 SCRL
{1, SW6_CS18, SW6_CS17, SW6_CS16 }, // 16 PAUSE
{0, CS15_SW2, CS14_SW2, CS13_SW2 }, // 17 `~
{0, CS15_SW3, CS14_SW3, CS13_SW3 }, // 18 1
{0, CS15_SW4, CS14_SW4, CS13_SW4 }, // 19 2
{0, CS15_SW5, CS14_SW5, CS13_SW5 }, // 20 3
{0, CS15_SW6, CS14_SW6, CS13_SW6 }, // 21 4
{0, CS15_SW7, CS14_SW7, CS13_SW7 }, // 22 5
{0, CS15_SW8, CS14_SW8, CS13_SW8 }, // 23 6
{0, CS15_SW9, CS14_SW9, CS13_SW9 }, // 24 7
{0, CS15_SW10, CS14_SW10, CS13_SW10 }, // 25 8
{0, CS15_SW11, CS14_SW11, CS13_SW11 }, // 26 9
{0, CS15_SW12, CS14_SW12, CS13_SW12 }, // 27 0
{1, CS15_SW1, CS14_SW1, CS13_SW1 }, // 28 -_
{1, CS15_SW2, CS14_SW2, CS13_SW2 }, // 29 =+
{1, CS15_SW3, CS14_SW3, CS13_SW3 }, // 30 BSPC
{1, CS15_SW4, CS14_SW4, CS13_SW4 }, // 31 INS
{1, CS15_SW5, CS14_SW5, CS13_SW5 }, // 32 HOME
{1, CS15_SW6, CS14_SW6, CS13_SW6 }, // 33 PGUP
{0, SW2_CS15, SW2_CS14, SW2_CS13 }, // 17 `~
{0, SW3_CS15, SW3_CS14, SW3_CS13 }, // 18 1
{0, SW4_CS15, SW4_CS14, SW4_CS13 }, // 19 2
{0, SW5_CS15, SW5_CS14, SW5_CS13 }, // 20 3
{0, SW6_CS15, SW6_CS14, SW6_CS13 }, // 21 4
{0, SW7_CS15, SW7_CS14, SW7_CS13 }, // 22 5
{0, SW8_CS15, SW8_CS14, SW8_CS13 }, // 23 6
{0, SW9_CS15, SW9_CS14, SW9_CS13 }, // 24 7
{0, SW10_CS15, SW10_CS14, SW10_CS13 }, // 25 8
{0, SW11_CS15, SW11_CS14, SW11_CS13 }, // 26 9
{0, SW12_CS15, SW12_CS14, SW12_CS13 }, // 27 0
{1, SW1_CS15, SW1_CS14, SW1_CS13 }, // 28 -_
{1, SW2_CS15, SW2_CS14, SW2_CS13 }, // 29 =+
{1, SW3_CS15, SW3_CS14, SW3_CS13 }, // 30 BSPC
{1, SW4_CS15, SW4_CS14, SW4_CS13 }, // 31 INS
{1, SW5_CS15, SW5_CS14, SW5_CS13 }, // 32 HOME
{1, SW6_CS15, SW6_CS14, SW6_CS13 }, // 33 PGUP
{0, CS12_SW2, CS11_SW2, CS10_SW2 }, // 34 Tab
{0, CS12_SW3, CS11_SW3, CS10_SW3 }, // 35 Q
{0, CS12_SW4, CS11_SW4, CS10_SW4 }, // 36 W
{0, CS12_SW5, CS11_SW5, CS10_SW5 }, // 37 E
{0, CS12_SW6, CS11_SW6, CS10_SW6 }, // 38 R
{0, CS12_SW7, CS11_SW7, CS10_SW7 }, // 39 T
{0, CS12_SW8, CS11_SW8, CS10_SW8 }, // 40 Y
{0, CS12_SW9, CS11_SW9, CS10_SW9 }, // 41 U
{0, CS12_SW10, CS11_SW10, CS10_SW10 }, // 42 I
{0, CS12_SW11, CS11_SW11, CS10_SW11 }, // 43 O
{0, CS12_SW12, CS11_SW12, CS10_SW12 }, // 44 P
{1, CS12_SW1, CS11_SW1, CS10_SW1 }, // 45 [{
{1, CS12_SW2, CS11_SW2, CS10_SW2 }, // 48 ]}
{1, CS12_SW3, CS11_SW3, CS10_SW3 }, // 47 \|
{1, CS12_SW4, CS11_SW4, CS10_SW4 }, // 48 Del
{1, CS12_SW5, CS11_SW5, CS10_SW5 }, // 49 End
{1, CS12_SW6, CS11_SW6, CS10_SW6 }, // 50 PGDN
{0, SW2_CS12, SW2_CS11, SW2_CS10 }, // 34 Tab
{0, SW3_CS12, SW3_CS11, SW3_CS10 }, // 35 Q
{0, SW4_CS12, SW4_CS11, SW4_CS10 }, // 36 W
{0, SW5_CS12, SW5_CS11, SW5_CS10 }, // 37 E
{0, SW6_CS12, SW6_CS11, SW6_CS10 }, // 38 R
{0, SW7_CS12, SW7_CS11, SW7_CS10 }, // 39 T
{0, SW8_CS12, SW8_CS11, SW8_CS10 }, // 40 Y
{0, SW9_CS12, SW9_CS11, SW9_CS10 }, // 41 U
{0, SW10_CS12, SW10_CS11, SW10_CS10 }, // 42 I
{0, SW11_CS12, SW11_CS11, SW11_CS10 }, // 43 O
{0, SW12_CS12, SW12_CS11, SW12_CS10 }, // 44 P
{1, SW1_CS12, SW1_CS11, SW1_CS10 }, // 45 [{
{1, SW2_CS12, SW2_CS11, SW2_CS10 }, // 48 ]}
{1, SW3_CS12, SW3_CS11, SW3_CS10 }, // 47 \|
{1, SW4_CS12, SW4_CS11, SW4_CS10 }, // 48 Del
{1, SW5_CS12, SW5_CS11, SW5_CS10 }, // 49 End
{1, SW6_CS12, SW6_CS11, SW6_CS10 }, // 50 PGDN
{0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 51 Caps
{0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 52 A
{0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 33 S
{0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 54 D
{0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 55 F
{0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 56 G
{0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 57 H
{0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 58 J
{0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 59 K
{0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 60 L
{0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 61 ;:
{1, CS1_SW1, CS2_SW1, CS3_SW1 }, // 62 '
{1, CS1_SW3, CS2_SW3, CS3_SW3 }, // 63 Enter
{0, SW2_CS1, SW2_CS2, SW2_CS3 }, // 51 Caps
{0, SW3_CS1, SW3_CS2, SW3_CS3 }, // 52 A
{0, SW4_CS1, SW4_CS2, SW4_CS3 }, // 33 S
{0, SW5_CS1, SW5_CS2, SW5_CS3 }, // 54 D
{0, SW6_CS1, SW6_CS2, SW6_CS3 }, // 55 F
{0, SW7_CS1, SW7_CS2, SW7_CS3 }, // 56 G
{0, SW8_CS1, SW8_CS2, SW8_CS3 }, // 57 H
{0, SW9_CS1, SW9_CS2, SW9_CS3 }, // 58 J
{0, SW10_CS1, SW10_CS2, SW10_CS3 }, // 59 K
{0, SW11_CS1, SW11_CS2, SW11_CS3 }, // 60 L
{0, SW12_CS1, SW12_CS2, SW12_CS3 }, // 61 ;:
{1, SW1_CS1, SW1_CS2, SW1_CS3 }, // 62 '
{1, SW3_CS1, SW3_CS2, SW3_CS3 }, // 63 Enter
{0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 64 Shift
{0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 65 Z
{0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 66 X
{0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 67 C
{0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 68 V
{0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 69 B
{0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 70 N
{0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 71 M
{0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 72 ,<
{0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 73 .>
{1, CS4_SW1, CS5_SW1, CS6_SW1 }, // 74 ?
{1, CS4_SW3, CS5_SW3, CS6_SW3 }, // 75 Shift
{1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 76 Up
{0, SW2_CS4, SW2_CS5, SW2_CS6 }, // 64 Shift
{0, SW4_CS4, SW4_CS5, SW4_CS6 }, // 65 Z
{0, SW5_CS4, SW5_CS5, SW5_CS6 }, // 66 X
{0, SW6_CS4, SW6_CS5, SW6_CS6 }, // 67 C
{0, SW7_CS4, SW7_CS5, SW7_CS6 }, // 68 V
{0, SW8_CS4, SW8_CS5, SW8_CS6 }, // 69 B
{0, SW9_CS4, SW9_CS5, SW9_CS6 }, // 70 N
{0, SW10_CS4, SW10_CS5, SW10_CS6 }, // 71 M
{0, SW11_CS4, SW11_CS5, SW11_CS6 }, // 72 ,<
{0, SW12_CS4, SW12_CS5, SW12_CS6 }, // 73 .>
{1, SW1_CS4, SW1_CS5, SW1_CS6 }, // 74 ?
{1, SW3_CS4, SW3_CS5, SW3_CS6 }, // 75 Shift
{1, SW5_CS4, SW5_CS5, SW5_CS6 }, // 76 Up
{0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 77 Ctrl_L
{0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 78 Win_L
{0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 79 ALT_L
{0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 80 SPACE
{0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 81 ALT_L
{1, CS7_SW1, CS8_SW1, CS9_SW1 }, // 82 Win_L
{1, CS7_SW2, CS8_SW2, CS9_SW2 }, // 83 Fn
{1, CS7_SW3, CS8_SW3, CS9_SW3 }, // 84 Ctrl_L
{1, CS7_SW4, CS8_SW4, CS9_SW4 }, // 85 Left
{1, CS7_SW5, CS8_SW5, CS9_SW5 }, // 86 Down
{1, CS7_SW6, CS8_SW6, CS9_SW6 }, // 87 Right
{0, SW2_CS7, SW2_CS8, SW2_CS9 }, // 77 Ctrl_L
{0, SW3_CS7, SW3_CS8, SW3_CS9 }, // 78 Win_L
{0, SW4_CS7, SW4_CS8, SW4_CS9 }, // 79 ALT_L
{0, SW8_CS7, SW8_CS8, SW8_CS9 }, // 80 SPACE
{0, SW12_CS7, SW12_CS8, SW12_CS9 }, // 81 ALT_L
{1, SW1_CS7, SW1_CS8, SW1_CS9 }, // 82 Win_L
{1, SW2_CS7, SW2_CS8, SW2_CS9 }, // 83 Fn
{1, SW3_CS7, SW3_CS8, SW3_CS9 }, // 84 Ctrl_L
{1, SW4_CS7, SW4_CS8, SW4_CS9 }, // 85 Left
{1, SW5_CS7, SW5_CS8, SW5_CS9 }, // 86 Down
{1, SW6_CS7, SW6_CS8, SW6_CS9 }, // 87 Right
};

View File

@ -7,6 +7,3 @@
#define IS31FL3743A_SDB_PIN C1
#define CAPS_LOCK_INDEX 28
#define WIN_MOD_INDEX 16
#define MAC_MOD_INDEX 17
#define WIN_LOCK_INDEX 54

View File

@ -1,11 +1,8 @@
// Copyright 2023 linlin012 (@linlin012)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
int FN_WIN = 0;
int FN_MAC = 0;
int L_WIN = 0;
int L_MAC = 0;
#if defined(RGB_MATRIX_ENABLE)
const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
@ -83,7 +80,32 @@ const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
{0, SW10_CS13, SW10_CS14, SW10_CS15}
};
#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/
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(IS31FL3743A_SDB_PIN);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
gpio_write_pin_high(IS31FL3743A_SDB_PIN);
suspend_wakeup_init_user();
}
#endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) {
@ -105,124 +127,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
return false;
# endif
case TO(0):
if (record->event.pressed) {
L_WIN = 1;
set_single_persistent_default_layer(0); // Save default layer 0 to eeprom
} else {
L_WIN = 0;
}
return true; // continue all further processing of this key
case MO(2):
if (record->event.pressed) {
FN_WIN = 1;
} else {
FN_WIN = 0;
}
return true; // continue all further processing of this key
case TO(1):
if (record->event.pressed) {
L_MAC = 1;
set_single_persistent_default_layer(1); //Save default layer 1 to eeprom
} else {
L_MAC = 0;
}
return true; // continue all further processing of this key
case MO(3):
if (record->event.pressed) {
FN_MAC = 1;
} else {
FN_MAC = 0;
}
return true; // continue all further processing of this key
default:
return true;
}
}
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);
}
}
switch (get_highest_layer(layer_state)) {
case 0:{
if (L_WIN) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}else{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
}
} break;
case 1:{
if (L_MAC) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
}else{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}
} break;
case 2:{
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
} break;
case 3:{
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
} break;
default:{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}
}
return false;
}
#endif
void suspend_power_down_kb() {
# ifdef RGB_MATRIX_ENABLE
gpio_write_pin_low(IS31FL3743A_SDB_PIN);
# endif
suspend_power_down_user();
}
void suspend_wakeup_init_kb() {
# ifdef RGB_MATRIX_ENABLE
gpio_write_pin_high(IS31FL3743A_SDB_PIN);
# endif
suspend_wakeup_init_user();
return true;
}
void board_init(void) {

View File

@ -7,7 +7,3 @@
#define IS31FL3743A_SDB_PIN A4
#define CAPS_LOCK_INDEX 28
#define WIN_MOD_INDEX 16
#define MAC_MOD_INDEX 17
#define g_suspend_state rgb_matrix_get_suspend_state()

View File

@ -1,12 +1,8 @@
// Copyright 2023 linlin012 (@linlin012)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
_Bool FN_WIN = 0;
_Bool FN_MAC = 0;
_Bool L_WIN = 0;
_Bool L_MAC = 0;
#if defined(RGB_MATRIX_ENABLE) /*&& defined(CAPS_LOCK_INDEX)*/
#if defined(RGB_MATRIX_ENABLE)
const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
@ -97,57 +93,9 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
}
}
switch (get_highest_layer(layer_state)) {
case 2:{
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
} break;
case 3:{
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
} break;
case 0:{
if (L_WIN) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}else{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
}
} break;
case 1:{
if (L_MAC) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 255, 255, 255);
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
}
}else{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}
} break;
default:{
if (!rgb_matrix_get_flags()) {
RGB_MATRIX_INDICATOR_SET_COLOR(WIN_MOD_INDEX, 0, 0, 0);
RGB_MATRIX_INDICATOR_SET_COLOR(MAC_MOD_INDEX, 0, 0, 0);
}
}
}
return false;
}
void suspend_power_down_kb(void) {
gpio_write_pin_low(IS31FL3743A_SDB_PIN);
suspend_power_down_user();
@ -177,44 +125,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
} break;
}
}
return false;
return false;
# endif
case TO(0):
if (record->event.pressed) {
L_WIN = 1;
set_single_persistent_default_layer(0); // Save default layer 0 to eeprom
} else {
L_WIN = 0;
}
return true; // continue all further processing of this key
case MO(2):
if (record->event.pressed) {
FN_WIN = 1;
} else {
FN_WIN = 0;
}
return true; // continue all further processing of this key
case TO(1):
if (record->event.pressed) {
L_MAC = 1;
set_single_persistent_default_layer(1); //Save default layer 1 to eeprom
} else {
L_MAC = 0;
}
return true; // continue all further processing of this key
case MO(3):
if (record->event.pressed) {
FN_MAC = 1;
} else {
FN_MAC = 0;
}
return true; // continue all further processing of this key
default:
return true;
}
return true;
}
void board_init(void) {

View File

@ -0,0 +1,13 @@
{
"manufacturer": "YMDK",
"bootloader": "uf2boot",
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "A5", "A6", "A4", "A3", "A2", "A1", "A0", "A15"],
"rows": ["B2", "B1", "B0", "A7", "B10"]
},
"processor": "STM32F103",
"ws2812": {
"driver": "pwm",
"pin": "B9"
}
}

View File

@ -1,8 +1,6 @@
{
"manufacturer": "YMDK",
"keyboard_name": "Idobao x YMDK ID75",
"maintainer": "qmk",
"bootloader": "uf2boot",
"diode_direction": "ROW2COL",
"features": {
"bootmagic": true,
@ -11,152 +9,143 @@
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "A5", "A6", "A4", "A3", "A2", "A1", "A0", "A15"],
"rows": ["B2", "B1", "B0", "A7", "B10"]
},
"processor": "STM32F103",
"ws2812": {
"driver": "pwm",
"pin": "B9"
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_sat": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"band_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"gradient_left_right": true,
"gradient_up_down": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"pixel_rain": true,
"rainbow_beacon": true,
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_reactive_multiwide": true,
"solid_reactive_nexus": true,
"solid_reactive_simple": true,
"solid_reactive_wide": true,
"solid_splash": true,
"solid_multisplash": true
"splash": true,
"typing_heatmap": true
},
"driver": "ws2812",
"layout": [
{"flags": 4, "matrix": [4, 14], "x": 224, "y": 64},
{"flags": 4, "matrix": [4, 13], "x": 208, "y": 64},
{"flags": 4, "matrix": [4, 12], "x": 192, "y": 64},
{"flags": 4, "matrix": [4, 11], "x": 176, "y": 64},
{"flags": 4, "matrix": [4, 10], "x": 160, "y": 64},
{"flags": 4, "matrix": [4, 9], "x": 144, "y": 64},
{"flags": 4, "matrix": [4, 8], "x": 128, "y": 64},
{"flags": 4, "matrix": [4, 7], "x": 112, "y": 64},
{"flags": 4, "matrix": [4, 6], "x": 96, "y": 64},
{"flags": 4, "matrix": [4, 5], "x": 80, "y": 64},
{"flags": 4, "matrix": [4, 4], "x": 64, "y": 64},
{"flags": 4, "matrix": [4, 3], "x": 48, "y": 64},
{"flags": 4, "matrix": [4, 2], "x": 32, "y": 64},
{"flags": 4, "matrix": [4, 1], "x": 16, "y": 64},
{"flags": 4, "matrix": [4, 0], "x": 0, "y": 64},
{"flags": 4, "matrix": [3, 14], "x": 224, "y": 48},
{"flags": 4, "matrix": [3, 13], "x": 208, "y": 48},
{"flags": 4, "matrix": [3, 12], "x": 192, "y": 48},
{"flags": 4, "matrix": [3, 11], "x": 176, "y": 48},
{"flags": 4, "matrix": [3, 10], "x": 160, "y": 48},
{"flags": 4, "matrix": [3, 9], "x": 144, "y": 48},
{"flags": 4, "matrix": [3, 8], "x": 128, "y": 48},
{"flags": 4, "matrix": [3, 7], "x": 112, "y": 48},
{"flags": 4, "matrix": [3, 6], "x": 96, "y": 48},
{"flags": 4, "matrix": [3, 5], "x": 80, "y": 48},
{"flags": 4, "matrix": [3, 4], "x": 64, "y": 48},
{"flags": 4, "matrix": [3, 3], "x": 48, "y": 48},
{"flags": 4, "matrix": [3, 2], "x": 32, "y": 48},
{"flags": 4, "matrix": [3, 1], "x": 16, "y": 48},
{"flags": 4, "matrix": [3, 0], "x": 0, "y": 48},
{"flags": 4, "matrix": [2, 14], "x": 224, "y": 32},
{"flags": 4, "matrix": [2, 13], "x": 208, "y": 32},
{"flags": 4, "matrix": [2, 12], "x": 192, "y": 32},
{"flags": 4, "matrix": [2, 11], "x": 176, "y": 32},
{"flags": 4, "matrix": [2, 10], "x": 160, "y": 32},
{"flags": 4, "matrix": [2, 9], "x": 144, "y": 32},
{"flags": 4, "matrix": [2, 8], "x": 128, "y": 32},
{"flags": 4, "matrix": [2, 7], "x": 112, "y": 32},
{"flags": 4, "matrix": [2, 6], "x": 96, "y": 32},
{"flags": 4, "matrix": [2, 5], "x": 80, "y": 32},
{"flags": 4, "matrix": [2, 4], "x": 64, "y": 32},
{"flags": 4, "matrix": [2, 3], "x": 48, "y": 32},
{"flags": 4, "matrix": [2, 2], "x": 32, "y": 32},
{"flags": 4, "matrix": [2, 1], "x": 16, "y": 32},
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 32},
{"flags": 4, "matrix": [1, 14], "x": 224, "y": 16},
{"flags": 4, "matrix": [1, 13], "x": 208, "y": 16},
{"flags": 4, "matrix": [1, 12], "x": 192, "y": 16},
{"flags": 4, "matrix": [1, 11], "x": 176, "y": 16},
{"flags": 4, "matrix": [1, 10], "x": 160, "y": 16},
{"flags": 4, "matrix": [1, 9], "x": 144, "y": 16},
{"flags": 4, "matrix": [1, 8], "x": 128, "y": 16},
{"flags": 4, "matrix": [1, 7], "x": 112, "y": 16},
{"flags": 4, "matrix": [1, 6], "x": 96, "y": 16},
{"flags": 4, "matrix": [1, 5], "x": 80, "y": 16},
{"flags": 4, "matrix": [1, 4], "x": 64, "y": 16},
{"flags": 4, "matrix": [1, 3], "x": 48, "y": 16},
{"flags": 4, "matrix": [1, 2], "x": 32, "y": 16},
{"flags": 4, "matrix": [1, 1], "x": 16, "y": 16},
{"flags": 4, "matrix": [1, 0], "x": 0, "y": 16},
{"flags": 4, "matrix": [0, 14], "x": 224, "y": 0},
{"flags": 4, "matrix": [0, 13], "x": 208, "y": 0},
{"flags": 4, "matrix": [0, 12], "x": 192, "y": 0},
{"flags": 4, "matrix": [0, 11], "x": 176, "y": 0},
{"flags": 4, "matrix": [0, 10], "x": 160, "y": 0},
{"flags": 4, "matrix": [0, 9], "x": 144, "y": 0},
{"flags": 4, "matrix": [0, 8], "x": 128, "y": 0},
{"flags": 4, "matrix": [0, 7], "x": 112, "y": 0},
{"flags": 4, "matrix": [0, 6], "x": 96, "y": 0},
{"flags": 4, "matrix": [0, 5], "x": 80, "y": 0},
{"flags": 4, "matrix": [0, 4], "x": 64, "y": 0},
{"flags": 4, "matrix": [0, 3], "x": 48, "y": 0},
{"flags": 4, "matrix": [0, 2], "x": 32, "y": 0},
{"flags": 4, "matrix": [0, 1], "x": 16, "y": 0},
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
{"flags": 2, "x": 0, "y": 64},
{"flags": 2, "x": 38, "y": 64},
{"flags": 2, "x": 76, "y": 64},
{"flags": 2, "x": 114, "y": 64},
{"flags": 2, "x": 152, "y": 64},
{"flags": 2, "x": 190, "y": 64},
{"flags": 2, "x": 224, "y": 64},
{"flags": 2, "x": 0, "y": 0},
{"flags": 2, "x": 38, "y": 0},
{"flags": 2, "x": 76, "y": 0},
{"flags": 2, "x": 114, "y": 0},
{"flags": 2, "x": 152, "y": 0},
{"flags": 2, "x": 190, "y": 0},
{"flags": 2, "x": 224, "y": 0}
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 4},
{"matrix": [4, 13], "x": 208, "y": 64, "flags": 4},
{"matrix": [4, 12], "x": 192, "y": 64, "flags": 4},
{"matrix": [4, 11], "x": 176, "y": 64, "flags": 4},
{"matrix": [4, 10], "x": 160, "y": 64, "flags": 4},
{"matrix": [4, 9], "x": 144, "y": 64, "flags": 4},
{"matrix": [4, 8], "x": 128, "y": 64, "flags": 4},
{"matrix": [4, 7], "x": 112, "y": 64, "flags": 4},
{"matrix": [4, 6], "x": 96, "y": 64, "flags": 4},
{"matrix": [4, 5], "x": 80, "y": 64, "flags": 4},
{"matrix": [4, 4], "x": 64, "y": 64, "flags": 4},
{"matrix": [4, 3], "x": 48, "y": 64, "flags": 4},
{"matrix": [4, 2], "x": 32, "y": 64, "flags": 4},
{"matrix": [4, 1], "x": 16, "y": 64, "flags": 4},
{"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [3, 14], "x": 224, "y": 48, "flags": 4},
{"matrix": [3, 13], "x": 208, "y": 48, "flags": 4},
{"matrix": [3, 12], "x": 192, "y": 48, "flags": 4},
{"matrix": [3, 11], "x": 176, "y": 48, "flags": 4},
{"matrix": [3, 10], "x": 160, "y": 48, "flags": 4},
{"matrix": [3, 9], "x": 144, "y": 48, "flags": 4},
{"matrix": [3, 8], "x": 128, "y": 48, "flags": 4},
{"matrix": [3, 7], "x": 112, "y": 48, "flags": 4},
{"matrix": [3, 6], "x": 96, "y": 48, "flags": 4},
{"matrix": [3, 5], "x": 80, "y": 48, "flags": 4},
{"matrix": [3, 4], "x": 64, "y": 48, "flags": 4},
{"matrix": [3, 3], "x": 48, "y": 48, "flags": 4},
{"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
{"matrix": [3, 1], "x": 16, "y": 48, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
{"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
{"matrix": [2, 13], "x": 208, "y": 32, "flags": 4},
{"matrix": [2, 12], "x": 192, "y": 32, "flags": 4},
{"matrix": [2, 11], "x": 176, "y": 32, "flags": 4},
{"matrix": [2, 10], "x": 160, "y": 32, "flags": 4},
{"matrix": [2, 9], "x": 144, "y": 32, "flags": 4},
{"matrix": [2, 8], "x": 128, "y": 32, "flags": 4},
{"matrix": [2, 7], "x": 112, "y": 32, "flags": 4},
{"matrix": [2, 6], "x": 96, "y": 32, "flags": 4},
{"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
{"matrix": [2, 4], "x": 64, "y": 32, "flags": 4},
{"matrix": [2, 3], "x": 48, "y": 32, "flags": 4},
{"matrix": [2, 2], "x": 32, "y": 32, "flags": 4},
{"matrix": [2, 1], "x": 16, "y": 32, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
{"matrix": [1, 14], "x": 224, "y": 16, "flags": 4},
{"matrix": [1, 13], "x": 208, "y": 16, "flags": 4},
{"matrix": [1, 12], "x": 192, "y": 16, "flags": 4},
{"matrix": [1, 11], "x": 176, "y": 16, "flags": 4},
{"matrix": [1, 10], "x": 160, "y": 16, "flags": 4},
{"matrix": [1, 9], "x": 144, "y": 16, "flags": 4},
{"matrix": [1, 8], "x": 128, "y": 16, "flags": 4},
{"matrix": [1, 7], "x": 112, "y": 16, "flags": 4},
{"matrix": [1, 6], "x": 96, "y": 16, "flags": 4},
{"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
{"matrix": [1, 4], "x": 64, "y": 16, "flags": 4},
{"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
{"matrix": [1, 2], "x": 32, "y": 16, "flags": 4},
{"matrix": [1, 1], "x": 16, "y": 16, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 4},
{"matrix": [0, 13], "x": 208, "y": 0, "flags": 4},
{"matrix": [0, 12], "x": 192, "y": 0, "flags": 4},
{"matrix": [0, 11], "x": 176, "y": 0, "flags": 4},
{"matrix": [0, 10], "x": 160, "y": 0, "flags": 4},
{"matrix": [0, 9], "x": 144, "y": 0, "flags": 4},
{"matrix": [0, 8], "x": 128, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"x": 0, "y": 64, "flags": 2},
{"x": 38, "y": 64, "flags": 2},
{"x": 76, "y": 64, "flags": 2},
{"x": 114, "y": 64, "flags": 2},
{"x": 152, "y": 64, "flags": 2},
{"x": 190, "y": 64, "flags": 2},
{"x": 224, "y": 64, "flags": 2},
{"x": 0, "y": 0, "flags": 2},
{"x": 38, "y": 0, "flags": 2},
{"x": 76, "y": 0, "flags": 2},
{"x": 114, "y": 0, "flags": 2},
{"x": 152, "y": 0, "flags": 2},
{"x": 190, "y": 0, "flags": 2},
{"x": 224, "y": 0, "flags": 2}
],
"max_brightness": 128,
"sleep": true

View File

@ -5,17 +5,18 @@
A 75-key, 5-row ortholinear keyboard with per-key and underglow RGB LEDs.
* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: [Idobao x YMDK ID75 PCB (APM32F103CBT6)](https://www.aliexpress.com/item/3256804537842097.html)
* This PCB uses an ARM Cortex-M3 MCU with 128kb flash. **It is not the same as `idobao/id75` or `ymdk/ymd75`.**
* Hardware Supported: [Idobao x YMDK ID75](https://www.aliexpress.com/item/3256804537842097.html). **This is not the same PCB as `idobao/id75` or `ymdk/ymd75`.**
This keyboard has had multiple PCB revisions, some of which may not work with the firmware in this repository. **Check your PCB before flashing.**
* `f103`: (Geehy APM32F103CBT6, uf2boot)
* Hardware Availability: [YMDK](https://ymdkey.com/products/id75-75-keys-ortholinear-layout-qmk-anodized-aluminum-case-plate-hot-swappable-hot-swap-type-c-pcb-mechanical-keyboard-kit), [AliExpress (YMDK Store)](https://www.aliexpress.com/item/2255800125183974.html), [Amazon](https://www.amazon.com/Ortholinear-Anodized-Aluminum-hot-swappable-Mechanical/dp/B07ZQ8CD88)
Make example for this keyboard (after setting up your build environment):
make ymdk/id75:default
make ymdk/id75/f103:default
Flashing example for this keyboard:
make ymdk/id75:default:flash
make ymdk/id75/f103: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).
@ -27,4 +28,5 @@ Enter the bootloader in 3 ways:
* **Physical reset button**: Press the button on the back of the PCB twice in quick succession.
* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, in the bottom-right corner.
After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `MT.KEY`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded.
After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded.
- `f103`: The volume name is `MT.KEY`.

@ -1 +1 @@
Subproject commit be44b3305f9a9fe5f2f49a4e7b978db322dc463e
Subproject commit 2365f844292513ea0ee9eea6ab778d56f9ccd3b9

Some files were not shown because too many files have changed in this diff Show More