resolve pr review comments

This commit is contained in:
numToStr 2023-10-11 19:57:57 +05:30
parent 8d34952581
commit f39a4b6164
10 changed files with 21 additions and 312 deletions

View File

@ -3,24 +3,8 @@
#pragma once
/*
* 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
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 220U
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP16
#define WS2812_PIO_USE_PIO1

View File

@ -1,7 +1,7 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#include "quantum.h"
// ===== LED/RGB INDICATOR =====
enum RGB_LAYERS {
@ -23,16 +23,20 @@ const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
[RGBL_CAPSW] = capsword_layer
);
bool led_update_user(led_t led_state) {
bool led_update_kb(led_t led_state) {
if (!led_update_user(led_state)) {
return false;
}
rgblight_set_layer_state(RGBL_CAPSL, led_state.caps_lock);
return true;
}
void caps_word_set_user(bool active) {
__attribute__((weak)) void caps_word_set_user(bool active) {
rgblight_set_layer_state(RGBL_CAPSW, active);
}
void keyboard_post_init_user(void) {
void keyboard_post_init_kb(void) {
// Enable the LED layers
rgblight_layers = rgb_layers;
keyboard_post_init_user();
}

View File

@ -1,6 +0,0 @@
// Copyright 2023 numToStr (@numToStr)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"

View File

@ -23,10 +23,7 @@
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED",
"force_nkro": true,
"polling_interval": 1,
"suspend_wakeup_delay": 500
"vid": "0xFEED"
},
"ws2812": {
"driver": "vendor",

View File

@ -11,6 +11,15 @@
#define L_ROT KC_MNXT
#define R_ROT KC_MPLY
// Custom Mod Keys
#define KC_PRVWD C(KC_LEFT)
#define KC_NXTWD C(KC_RIGHT)
#define KC_DLINE C(KC_BSPC)
#define KC_COPY C(KC_C)
#define KC_PASTE C(KC_V)
#define KC_CUT C(KC_X)
#define KC_UNDO C(KC_Z)
enum coral_layers {
_QWRTY,
_CLMK,
@ -22,11 +31,6 @@ enum coral_layers {
enum coral_keycodes {
KC_QWRTY = SAFE_RANGE,
KC_CLMK,
KC_PRVWD,
KC_NXTWD,
KC_LSTRT,
KC_LEND,
KC_DLINE
};
@ -56,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD, KC_DLINE, KC_BSPC,
_______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, XXXXXXX, KC_HOME, XXXXXXX, KC_END, XXXXXXX, _______,
_______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______
),
[_ADJUST] = LAYOUT(
@ -90,126 +94,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
set_single_persistent_default_layer(_CLMK);
}
return false;
case KC_PRVWD:
if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
register_mods(mod_config(MOD_LALT));
register_code(KC_LEFT);
} else {
register_mods(mod_config(MOD_LCTL));
register_code(KC_LEFT);
}
} else {
if (keymap_config.swap_lctl_lgui) {
unregister_mods(mod_config(MOD_LALT));
unregister_code(KC_LEFT);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_LEFT);
}
}
break;
case KC_NXTWD:
if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
register_mods(mod_config(MOD_LALT));
register_code(KC_RIGHT);
} else {
register_mods(mod_config(MOD_LCTL));
register_code(KC_RIGHT);
}
} else {
if (keymap_config.swap_lctl_lgui) {
unregister_mods(mod_config(MOD_LALT));
unregister_code(KC_RIGHT);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_RIGHT);
}
}
break;
case KC_LSTRT:
if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
//CMD-arrow on Mac, but we have CTL and GUI swapped
register_mods(mod_config(MOD_LCTL));
register_code(KC_LEFT);
} else {
register_code(KC_HOME);
}
} else {
if (keymap_config.swap_lctl_lgui) {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_LEFT);
} else {
unregister_code(KC_HOME);
}
}
break;
case KC_LEND:
if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
//CMD-arrow on Mac, but we have CTL and GUI swapped
register_mods(mod_config(MOD_LCTL));
register_code(KC_RIGHT);
} else {
register_code(KC_END);
}
} else {
if (keymap_config.swap_lctl_lgui) {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_RIGHT);
} else {
unregister_code(KC_END);
}
}
break;
case KC_DLINE:
if (record->event.pressed) {
register_mods(mod_config(MOD_LCTL));
register_code(KC_BSPC);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_BSPC);
}
break;
case KC_COPY:
if (record->event.pressed) {
register_mods(mod_config(MOD_LCTL));
register_code(KC_C);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_C);
}
return false;
case KC_PASTE:
if (record->event.pressed) {
register_mods(mod_config(MOD_LCTL));
register_code(KC_V);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_V);
}
return false;
case KC_CUT:
if (record->event.pressed) {
register_mods(mod_config(MOD_LCTL));
register_code(KC_X);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_X);
}
return false;
break;
case KC_UNDO:
if (record->event.pressed) {
register_mods(mod_config(MOD_LCTL));
register_code(KC_Z);
} else {
unregister_mods(mod_config(MOD_LCTL));
unregister_code(KC_Z);
}
return false;
}
return true;
}

View File

@ -1,10 +0,0 @@
// Copyright 2023 numToStr (@numToStr)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
// Configure the global tapping term (default: 200ms)
#define TAPPING_TERM 220
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
#define QUICK_TAP_TERM 0

View File

@ -1,137 +0,0 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// Left-hand home row mods
#define GUI_A LGUI_T(KC_A)
#define ALT_S LALT_T(KC_S)
#define SFT_D LSFT_T(KC_D)
#define CTL_F LCTL_T(KC_F)
// Right-hand home row mods
#define CTL_J RCTL_T(KC_J)
#define SFT_K RSFT_T(KC_K)
#define ALT_L LALT_T(KC_L)
#define GUI_SCLN RGUI_T(KC_SCLN)
// Thumb Keys
#define L_THUMB LT(NavLayer, KC_ENTER)
#define R_THUMB LT(FnLayer, KC_SPACE)
// Rotary
#define L_ROT TD(TD_MNXT_MPREV)
#define R_ROT TD(TD_MPLY_MUTE)
// Custom Keys
#define KK_COPY TD(TD_COPY_CUT)
#define KK_PASTE RCTL(KC_V)
#define KK_MOUSE MO(MouseLayer)
#define BOOTL_1 KC_7
#define BOOTL_2 KC_8
#define BOOTL_3 KC_9
// ###### Tap-Dance ######
enum coral_tapdance {
TD_MNXT_MPREV,
TD_MPLY_MUTE,
TD_COPY_CUT,
};
// Tap Dance definitions
tap_dance_action_t tap_dance_actions[] = {
// Tap once for Media-Next, twice for Media-Previous
[TD_MNXT_MPREV] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_MPRV),
// Tap once for Play/Pause, twice for Audio Mute
[TD_MPLY_MUTE] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MUTE),
// Tap once copy, twice for cut
[TD_COPY_CUT] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), LCTL(KC_X)),
};
// ###### Layers ######
enum coral_layers {
BaseLayer,
NavLayer,
MouseLayer,
FnLayer,
};
enum coral_keycodes {
KK_LOREM = SAFE_RANGE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BaseLayer] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, /**/ BOOTL_1, BOOTL_2, BOOTL_3, KC_0, KC_MINUS, KC_EQUAL,
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_GRV, GUI_A, ALT_S, SFT_D, CTL_F, KC_G, /**/ KC_H, CTL_J, SFT_K, ALT_L, GUI_SCLN, KC_QUOTE,
KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, /**/ KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RBRC,
KK_COPY, KC_PSCR, KC_ESC, L_THUMB, L_ROT, /**/ R_ROT, R_THUMB, KC_BSPC, KC_DEL, KK_PASTE
),
[NavLayer] = LAYOUT(
_______, _______, _______, _______, _______, _______, /**/ KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLU, KC_VOLD,
_______, _______, _______, _______, _______, _______, /**/ KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_BRIU, KC_BRID,
_______, _______, _______, _______, _______, KK_MOUSE, /**/ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______, KK_LOREM,
_______, _______, _______, XXXXXXX, _______, /**/ _______, _______, _______, _______, _______
),
[MouseLayer] = LAYOUT(
_______, _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, /**/ _______, KC_BTN1, KC_BTN2, _______, _______, _______,
_______, _______, _______, _______, _______, XXXXXXX, /**/ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
_______, _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______, _______,
_______, _______, _______, XXXXXXX, _______, /**/ _______, _______, _______, _______, _______
),
[FnLayer] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, /**/ _______, _______, _______, _______, _______, _______,
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, /**/ _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, /**/ _______, XXXXXXX, _______, _______, _______
),
};
// ###### Combos ######
enum coral_combos {
CAPS_COMBO,
BOOTL_COMBO,
COMBO_LENGTH
};
uint16_t COMBO_LEN = COMBO_LENGTH;
// Left and right thumb is CapsLock
const uint16_t PROGMEM caps_combo[] = {L_THUMB, R_THUMB, COMBO_END};
const uint16_t PROGMEM bootl_combo[] = {BOOTL_1, BOOTL_2, BOOTL_3, COMBO_END};
combo_t key_combos[] = {
[CAPS_COMBO] = COMBO(caps_combo, QK_CAPS_WORD_TOGGLE),
[BOOTL_COMBO] = COMBO(bootl_combo, QK_BOOTLOADER),
};
// ###### Encoders #######
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BaseLayer] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[NavLayer] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
[MouseLayer] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
[FnLayer] = { ENCODER_CCW_CW(RGB_MODE_REVERSE, RGB_MODE_FORWARD), ENCODER_CCW_CW(_______, _______) },
};
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KK_LOREM:
if (record->event.pressed) {
SEND_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vitae nibh neque. Etiam sed enim ac ipsum maximus rhoncus id et dui. Nam mi orci, rutrum in ipsum eget, hendrerit aliquam nulla. Maecenas ac nisl nibh. Integer erat mi, molestie vitae aliquet ut, faucibus eget sem. Suspendisse vel lacus interdum, consectetur nisi vitae, vulputate purus. Etiam ut aliquam turpis, id pellentesque ligula. Curabitur semper nisi in facilisis vehicula. Pellentesque felis risus, maximus blandit erat vel, congue sagittis mi. Etiam aliquam arcu sed neque semper laoreet. Sed id posuere libero, sed volutpat sapien.");
}
return false;
default:
return true;
}
};

View File

@ -1,6 +0,0 @@
ENCODER_MAP_ENABLE = yes
# KEY_OVERRIDE_ENABLE = yes
COMBO_ENABLE = yes
TAP_DANCE_ENABLE = yes
CAPS_WORD_ENABLE = yes
SEND_STRING_ENABLE = yes

View File

@ -1,6 +1,6 @@
# Coral | Split Keyboard
![keebit/coral](https://user-images.githubusercontent.com/24727447/273894600-d73eba98-1507-43d7-8015-42daecd5f762.jpg)
![keebit/coral](https://i.imgur.com/wPt8oUi.jpg)
_A 58 keys (56 MX + 2 EC11) 5x6 column-staggered wired split keyboard using Waveshare RP2040-Zero inspired by corne and sofle_v1_

View File

@ -1,2 +1 @@
# This file intentionally left blank
SERIAL_DRIVER = vendor