mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-04-22 11:30:23 -04:00
Merge pull request #2 from timfee/copilot/fix-firmware-building-issue
Fix layout warning, match Vial config, enable QMK Configurator visualization
This commit is contained in:
commit
eb72a07791
5 changed files with 67 additions and 38 deletions
|
|
@ -1,25 +1,26 @@
|
||||||
#include "timfee.h"
|
#include "timfee.h"
|
||||||
|
#include "timfee.c"
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[0] = LAYOUT_split_3x6_3(
|
[0] = LAYOUT_split_3x6_3(
|
||||||
ESC_L1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, MIN_L2,
|
ESC_L2, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, MIN_L1,
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_EQL,
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_EQL,
|
||||||
KC_LSFT, Z_L2, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SL_L1, KC_QUOT,
|
KC_LSFT, Z_L1, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SL_L2, KC_QUOT,
|
||||||
CT_GRV, AL_DEL, GU_BSP, GU_SPC, AL_ENT, KC_RCTL
|
CT_GRV, AL_DEL, GU_BSP, GU_SPC, AL_ENT, CT_BSL
|
||||||
),
|
),
|
||||||
|
|
||||||
[1] = LAYOUT_split_3x6_3(
|
[1] = LAYOUT_split_3x6_3(
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, LALT(KC_LEFT), LALT(KC_DOWN), LALT(KC_UP), LALT(KC_RGHT), KC_PGUP, _______,
|
|
||||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
|
|
||||||
_______, _______, _______, _______, KC_F11, KC_F12, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_UP), RGUI(KC_RGHT), KC_PGDN, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______
|
|
||||||
),
|
|
||||||
|
|
||||||
[2] = LAYOUT_split_3x6_3(
|
|
||||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_7, KC_8, KC_9, _______, _______, _______,
|
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_7, KC_8, KC_9, _______, _______, _______,
|
||||||
_______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, _______, _______, _______,
|
_______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
|
||||||
_______, _______, KC_DOT, KC_COMM, KC_0, KC_DOT
|
_______, _______, _______, KC_COMM, KC_0, KC_DOT
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT_split_3x6_3(
|
||||||
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, LALT(KC_LEFT), LALT(KC_DOWN), LALT(KC_UP), LALT(KC_RGHT), _______, RGB_MOD,
|
||||||
|
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RGB_RMOD,
|
||||||
|
_______, _______, _______, _______, _______, _______, RGUI(KC_LEFT), RGUI(KC_DOWN), RGUI(KC_UP), RGUI(KC_RGHT), _______, RGB_TOG,
|
||||||
|
QK_BOOT, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
28
keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.json
Normal file
28
keyboards/keebart/corne_choc_pro/keymaps/timfee/keymap.json
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"notes": "timfee's Keebart Corne Choc Pro layout — uses crkbd/rev1 for QMK Configurator visualization only; actual build target is keebart/corne_choc_pro/standard",
|
||||||
|
"documentation": "https://docs.qmk.fm",
|
||||||
|
"keyboard": "crkbd/rev1",
|
||||||
|
"keymap": "timfee",
|
||||||
|
"layout": "LAYOUT_split_3x6_3",
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"LT(2,KC_ESC)", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "LT(1,KC_MINS)",
|
||||||
|
"KC_TAB", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_EQL",
|
||||||
|
"KC_LSFT", "LT(1,KC_Z)", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "LT(2,KC_SLSH)", "KC_QUOT",
|
||||||
|
"LCTL_T(KC_GRV)", "LALT_T(KC_DEL)", "LGUI_T(KC_BSPC)", "RGUI_T(KC_SPC)", "RALT_T(KC_ENT)", "RCTL_T(KC_BSLS)"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"KC_TRNS", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_7", "KC_8", "KC_9", "KC_TRNS", "KC_TRNS", "KC_TRNS",
|
||||||
|
"KC_TRNS", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_4", "KC_5", "KC_6", "KC_TRNS", "KC_TRNS", "KC_TRNS",
|
||||||
|
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_1", "KC_2", "KC_3", "KC_TRNS", "KC_TRNS", "KC_TRNS",
|
||||||
|
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_COMM", "KC_0", "KC_DOT"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"KC_TRNS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "LALT(KC_LEFT)", "LALT(KC_DOWN)", "LALT(KC_UP)", "LALT(KC_RGHT)", "KC_TRNS", "RGB_MOD",
|
||||||
|
"KC_TRNS", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT", "KC_TRNS", "RGB_RMOD",
|
||||||
|
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGUI(KC_LEFT)", "RGUI(KC_DOWN)", "RGUI(KC_UP)", "RGUI(KC_RGHT)", "KC_TRNS", "RGB_TOG",
|
||||||
|
"QK_BOOT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -1,2 +1 @@
|
||||||
COMBO_ENABLE = yes
|
COMBO_ENABLE = yes
|
||||||
SRC += timfee.c
|
|
||||||
|
|
|
||||||
|
|
@ -3,23 +3,23 @@
|
||||||
// ── State for require-prior-idle ──
|
// ── State for require-prior-idle ──
|
||||||
static uint16_t last_key_time = 0;
|
static uint16_t last_key_time = 0;
|
||||||
|
|
||||||
// ── Combos ──
|
// ── Combos (matching Vial config) ──
|
||||||
const uint16_t PROGMEM lparen_combo[] = {KC_R, KC_T, COMBO_END};
|
const uint16_t PROGMEM lparen_combo[] = {KC_R, KC_T, COMBO_END};
|
||||||
const uint16_t PROGMEM rparen_combo[] = {KC_Y, KC_U, COMBO_END};
|
const uint16_t PROGMEM rparen_combo[] = {KC_Y, KC_U, COMBO_END};
|
||||||
const uint16_t PROGMEM lbrace_combo[] = {KC_F, KC_G, COMBO_END};
|
const uint16_t PROGMEM lbkt_combo[] = {KC_F, KC_G, COMBO_END};
|
||||||
const uint16_t PROGMEM rbrace_combo[] = {KC_H, KC_J, COMBO_END};
|
const uint16_t PROGMEM rbkt_combo[] = {KC_H, KC_J, COMBO_END};
|
||||||
const uint16_t PROGMEM lbkt_combo[] = {KC_V, KC_B, COMBO_END};
|
const uint16_t PROGMEM lbrace_combo[] = {KC_V, KC_B, COMBO_END};
|
||||||
const uint16_t PROGMEM rbkt_combo[] = {KC_N, KC_M, COMBO_END};
|
const uint16_t PROGMEM rbrace_combo[] = {KC_N, KC_M, COMBO_END};
|
||||||
const uint16_t PROGMEM pipe_combo[] = {Z_L2, KC_X, COMBO_END};
|
const uint16_t PROGMEM pipe_combo[] = {Z_L1, KC_X, COMBO_END};
|
||||||
const uint16_t PROGMEM bslh_combo[] = {SL_L1, KC_QUOT, COMBO_END};
|
const uint16_t PROGMEM bslh_combo[] = {SL_L2, KC_QUOT, COMBO_END};
|
||||||
|
|
||||||
combo_t key_combos[COMBO_COUNT] = {
|
combo_t key_combos[COMBO_COUNT] = {
|
||||||
COMBO(lparen_combo, KC_LPRN),
|
COMBO(lparen_combo, KC_LPRN),
|
||||||
COMBO(rparen_combo, KC_RPRN),
|
COMBO(rparen_combo, KC_RPRN),
|
||||||
COMBO(lbrace_combo, KC_LCBR),
|
|
||||||
COMBO(rbrace_combo, KC_RCBR),
|
|
||||||
COMBO(lbkt_combo, KC_LBRC),
|
COMBO(lbkt_combo, KC_LBRC),
|
||||||
COMBO(rbkt_combo, KC_RBRC),
|
COMBO(rbkt_combo, KC_RBRC),
|
||||||
|
COMBO(lbrace_combo, KC_LCBR),
|
||||||
|
COMBO(rbrace_combo, KC_RCBR),
|
||||||
COMBO(pipe_combo, KC_PIPE),
|
COMBO(pipe_combo, KC_PIPE),
|
||||||
COMBO(bslh_combo, KC_BSLS),
|
COMBO(bslh_combo, KC_BSLS),
|
||||||
};
|
};
|
||||||
|
|
@ -42,25 +42,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Z_L2:
|
case Z_L1:
|
||||||
if (elapsed < RPI_Z) {
|
if (elapsed < RPI_Z) {
|
||||||
tap_code(KC_Z);
|
tap_code(KC_Z);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SL_L1:
|
case SL_L2:
|
||||||
if (elapsed < RPI_SLASH) {
|
if (elapsed < RPI_SLASH) {
|
||||||
tap_code(KC_SLSH);
|
tap_code(KC_SLSH);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ESC_L1:
|
case ESC_L2:
|
||||||
if (elapsed < RPI_ESC) {
|
if (elapsed < RPI_ESC) {
|
||||||
tap_code(KC_ESC);
|
tap_code(KC_ESC);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MIN_L2:
|
case MIN_L1:
|
||||||
if (elapsed < RPI_MINUS) {
|
if (elapsed < RPI_MINUS) {
|
||||||
tap_code(KC_MINS);
|
tap_code(KC_MINS);
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -78,8 +78,8 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case GU_BSP: return 100;
|
case GU_BSP: return 100;
|
||||||
case GU_SPC: return 150;
|
case GU_SPC: return 150;
|
||||||
case Z_L2:
|
case Z_L1:
|
||||||
case SL_L1: return 120;
|
case SL_L2: return 120;
|
||||||
case AL_DEL:
|
case AL_DEL:
|
||||||
case AL_ENT: return 130;
|
case AL_ENT: return 130;
|
||||||
default: return TAPPING_TERM;
|
default: return TAPPING_TERM;
|
||||||
|
|
@ -89,10 +89,10 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
// ── Per-key permissive hold (pinky layer-taps only) ──
|
// ── Per-key permissive hold (pinky layer-taps only) ──
|
||||||
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case ESC_L1:
|
case ESC_L2:
|
||||||
case Z_L2:
|
case Z_L1:
|
||||||
case MIN_L2:
|
case MIN_L1:
|
||||||
case SL_L1:
|
case SL_L2:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -119,8 +119,8 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
|
||||||
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
|
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case GU_SPC: return 90;
|
case GU_SPC: return 90;
|
||||||
case Z_L2:
|
case Z_L1:
|
||||||
case SL_L1: return 80;
|
case SL_L2: return 80;
|
||||||
default: return QUICK_TAP_TERM;
|
default: return QUICK_TAP_TERM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
// ── Key aliases ──
|
// ── Key aliases (layer numbers match Vial: L1=symbols, L2=nav) ──
|
||||||
#define ESC_L1 LT(1, KC_ESC)
|
#define ESC_L2 LT(2, KC_ESC)
|
||||||
#define Z_L2 LT(2, KC_Z)
|
#define Z_L1 LT(1, KC_Z)
|
||||||
#define MIN_L2 LT(2, KC_MINS)
|
#define MIN_L1 LT(1, KC_MINS)
|
||||||
#define SL_L1 LT(1, KC_SLSH)
|
#define SL_L2 LT(2, KC_SLSH)
|
||||||
#define CT_GRV LCTL_T(KC_GRV)
|
#define CT_GRV LCTL_T(KC_GRV)
|
||||||
#define AL_DEL LALT_T(KC_DEL)
|
#define AL_DEL LALT_T(KC_DEL)
|
||||||
#define GU_BSP LGUI_T(KC_BSPC)
|
#define GU_BSP LGUI_T(KC_BSPC)
|
||||||
#define GU_SPC RGUI_T(KC_SPC)
|
#define GU_SPC RGUI_T(KC_SPC)
|
||||||
#define AL_ENT RALT_T(KC_ENT)
|
#define AL_ENT RALT_T(KC_ENT)
|
||||||
|
#define CT_BSL RCTL_T(KC_BSLS)
|
||||||
|
|
||||||
// ── Require-prior-idle thresholds (ms) ──
|
// ── Require-prior-idle thresholds (ms) ──
|
||||||
#define RPI_SPACE 150
|
#define RPI_SPACE 150
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue