Commit Graph

16369 Commits

Author SHA1 Message Date
rootiest 0cf22be07c feat(q5_max): map dip-switch to RGB effects (heatmap / solid white)
Replace the Win/Mac default-layer switch with an RGB effect toggle:
- Win side → solid white backlight
- Mac side → typing heatmap

Add a weak dip_switch_update_keymap() hook in q5_max.c to work around
factory_test.c already owning dip_switch_update_user().
2026-04-11 02:14:34 -04:00
rootiest 622a20bb0d fix(q5): switch backspace back to normal
Keep the BSP_DEL for later use.
2026-04-11 00:48:18 -04:00
rootiest 49af06fcac feat(q5_max): add per-key tapping term with 50ms for home/end tap-dance
Define TAPPING_TERM (200ms default) and TAPPING_TERM_PER_KEY in config.h,
then implement get_tapping_term() to set a tight 50ms window for TD_HOME_END
so a single Home tap never accidentally resolves as End.
2026-04-11 00:48:15 -04:00
rootiest 52e75ecc6a feat(q5_max): add shift-backspace → delete key (BSP_DEL)
Replaces KC_BSPC on the BASE layer with a custom BSP_DEL keycode:
tap sends Backspace, Shift+tap strips shift and sends Delete.
2026-04-11 00:07:54 -04:00
rootiest 5f9121c0d2 fix(k17): remove dead custom keycode stubs from tap-chord dance
CK_CTRL_K_C and CK_CTRL_K_D were leftover from an earlier failed
attempt using ACTION_TAP_DANCE_DOUBLE with custom keycodes. Now that
TD_CHORDS uses ACTION_TAP_DANCE_FN with SEND_STRING, they are unused.
2026-04-11 00:07:52 -04:00
rootiest 6d6eee5571 feat(k17): add tap-chords to keychron k17_max 2026-04-10 23:13:36 -04:00
rootiest df671b656b fix(q5_max): fix RAW_EPSIZE and via_command_kb hook conflict
Two build errors:

1. RAW_EPSIZE undeclared — usb_descriptor.h is not in scope when
   keymap.c is compiled through Keychron's build path. Replace all
   uses with HID_PACKET_SIZE (= 32), now defined in hid_protocol.h.

2. via_command_kb duplicate symbol — keychron_raw_hid.c already defines
   via_command_kb (non-weak) so we cannot redefine it in keymap.c.

Fix by adding a weak kc_raw_hid_rx_kb() extension hook to
keychron_raw_hid.c (following the same pattern as kc_rgb_matrix_rx).
kc_raw_hid_rx() now calls this hook from its default case instead of
returning false directly. The keymap overrides kc_raw_hid_rx_kb() to
handle our custom HID command range (0x40-0x7E).
2026-04-10 15:10:14 -04:00
rootiest 6fd5179c55 feat(q5_max): implement bi-directional Raw HID protocol
Add hid_protocol.h defining a shared 32-byte packet structure for the
qmk-host bridge application (command IDs 0x40-0x7E, clear of VIA's
range). Implement via_command_kb() in keymap.c to intercept incoming
packets: LAYER_SYNC applies a new active layer, VOLUME and BRIGHTNESS
store host-reported values for future RGB indicators, and ACTIVE_APP
is stubbed for a later commit. Layer state changes are broadcast to the
host via raw_hid_send() from layer_state_set_user(), guarded by
g_hid_recv_active to prevent echo loops when the change itself
originated from HID.
2026-04-10 14:41:58 -04:00
rootiest d4bd903423 fix(chatter): fix key chatter with stricter tap terms and debounce 2026-04-10 14:19:09 -04:00
rootiest c0d868dca3 fix(caps-mod) implement dummy keypress for capsmod combos
Send KC_F24 when modifiers are used with CAPS_MOD to avoid the modifiers
being treated as lone taps.
2026-04-09 00:28:34 -04:00
rootiest d8dccd67a6 fix(caps-mod): fixes errant taps of modifiers
Prevents modifiers (GUI and ALT) from firing a tap signal when they are
used in conjunction with the CAPS_MOD key.
2026-04-09 00:19:04 -04:00
rootiest 360e642fcf chore(dict): add thiink and fiish to dictionary 2026-04-09 00:16:49 -04:00
rootiest 4cfa85ee8e chore(dict): generate dictionary file
Create a autocorrect_dictionary.txt file which is used to generate the
autocorrect_data.h file.
2026-04-09 00:16:20 -04:00
rootiest d2a67b2bb3 fix(q5_max): invert autocorrect LED indicator — purple when autocorrect is OFF 2026-04-08 00:47:29 -04:00
rootiest 0210caf90e feat(q5_max): add RGB indicators for CapsWord/Autocorrect/CapsLock on LED 55 2026-04-08 00:47:29 -04:00
rootiest 6045cfa866 fix(q5_max): add clarifying comments to CAPS_MOD release handler 2026-04-08 00:47:29 -04:00
rootiest b77eea4192 feat(q5_max): implement CAPS_MOD tap/hold logic (ESC/Ctrl/CapsLock/CapsWord/Autocorrect) 2026-04-08 00:47:29 -04:00
rootiest bab766887a fix(q5_max): restore void casts for CAPS_MOD vars (QMK uses -Werror=unused-variable) 2026-04-08 00:47:28 -04:00
rootiest a2ef1712ab feat(q5_max): add CAPS_MOD keycode and replace KC_CAPS in all layers 2026-04-08 00:47:28 -04:00
rootiest 3d283cdf48 fix(q5_max): remove duplicate AUTOCORRECT_MIN_LENGTH define from config.h 2026-04-08 00:47:28 -04:00
rootiest aeae6d485d feat(q5_max): enable CAPS_WORD and AUTOCORRECT features 2026-04-08 00:47:28 -04:00
rootiest 45276ac042 feat(q5_max): add layer-lock keycodes for persistent layer activation
Introduces LCK_FN1–LCK_FN4, LCK_CTL, and LCK_BASE custom keycodes that
toggle a layer into a locked state so it stays active after momentary keys
are released. A second press on the same lock key or pressing LCK_BASE
clears all locks and returns to BASE.
2026-04-08 00:47:22 -04:00
rootiest 423e544097 feat(q5_max): add ESC key RGB indicator for active layer
Implements rgb_matrix_indicators_advanced_user to colour the ESC key
(LED 0) based on the current layer: dark on BASE, blue on FN1, green
on FN2, orange on FN3, purple on FN4, and red on KEEB_CTL.
2026-04-08 00:47:22 -04:00
rootiest 86cad58f34 feat(q5_max): add COMM+DOT+SLSH fallback combo to return to BASE
Adds a three-key combo (,  .  /) that fires TO(BASE), providing an
emergency escape hatch when stuck on an unknown layer. COMBO_ONLY_FROM_LAYER
is set to 0 in the keymap config.h so keycodes are always resolved from
BASE, making the combo reliable regardless of the active layer.
2026-04-08 00:47:22 -04:00
rootiest c819c83b80 feat(q5_max): add chord-based unicode/emoji input system
Implement a chord-mode unicode entry system activated by Fn1+LeftAlt
(CHORD_KEY). Supports two activation styles: tap CHORD_KEY then type
the sequence within a 2-second window, or hold CHORD_KEY, type the
sequence, and release to commit.

- Add chord_unicode.c/h with a ~110-entry table covering math symbols
  (°²³√≈≠≤≥±÷×∞π), Greek letters, currency, fractions, arrows,
  typography, and a broad emoji set
- Prefix-aware matching with a 300ms disambiguation timer handles
  same-prefix alias pairs (e.g. lte/lteq→≤, inf/infty→∞) cleanly
- Backspace deletes, Enter confirms, Escape cancels while in chord mode
- Modifier and layer key-up events pass through so TT(FN1) release
  correctly deactivates the layer while chord mode is active
- Enable UNICODE_ENABLE and wire chord_unicode.c into the build
2026-04-06 12:23:35 -04:00
rootiest 893fd02ec2 feat(q5_max): add sleep/power and tweak home/end keys
Add additional functionality and more intuitive use of existing keys:
  - Add a Sleep key (FN1+Esc)
  - Add a Power key (FN2+Esc)
  - Keep old End key behavior alongside tap-dance (FN1+Home - End)
  - Add Home key (FN1+LeftArrow)
  - Add End key (FN1+RightArrow)
2026-04-05 20:32:44 -04:00
rootiest f2c5c157e4 feat(q5_max): set typing heatmap as default RGB effect
Close stale issues and PRs / stale (push) Successful in 1m31s
Automatic Approve / automatic_approve (push) Has been skipped
2026-04-05 20:15:57 -04:00
rootiest e99318637c feat(q5_max): overhaul via keymap with custom layers and encoder features
Automatic Approve / automatic_approve (push) Has been skipped
Replace stock MAC/WIN dual-boot layers with a single-OS 6-layer layout
(BASE, FN1, FN2, FN3, FN4, KEEB_CTL). Add tap-dance Home/End, a mouse
control layer (FN2), and timer-based Alt+Tab cycling on the FN2 encoder.

- Restructure layers: drop MAC_BASE/MAC_FN/WIN_BASE/WIN_FN; add FN1-FN4
  and KEEB_CTL with Bluetooth/RGB controls
- Add ALT_TAB_FWD/ALT_TAB_BWD custom keycodes driven by matrix_scan_user
  timer to hold Alt across encoder ticks (750ms timeout)
- Assign FN2 encoder to Alt+Tab / Alt+Shift+Tab cycling
- Add TD_HOME_END tap-dance (tap=Home, double=End) on numpad Home key
- Enable MOUSEKEY_ENABLE and TAP_DANCE_ENABLE in rules.mk
- Set DYNAMIC_KEYMAP_LAYER_COUNT=6 and TAPPING_TOGGLE=3 in config.h
2026-04-05 20:07:55 -04:00
rootiest 2dba2a548b feat(k17_max): add td_home_end to zooey's board
Add the tap-dance sequence:
  - Single Tap - Home
  - Double Tap - End
2026-04-05 20:07:55 -04:00
lokher 666862cb81 Add Q2 Max JIS 2026-03-16 19:07:27 +08:00
lokher 6f5058f7d0 Add Lemokey L1 ISO 2026-01-19 11:17:48 +08:00
lokher f3cea8e97a Add Q3 Max JIS 2025-12-08 10:14:28 +08:00
lokher 0a529031e6 Added Q6 Max JIS 2025-09-09 12:31:34 +08:00
lokher 8b525cb770 Added snap click and per-key/mixed RGB to V3 MAX 2025-05-30 23:56:29 +08:00
lokher c9049679ac Added snap click, per-key/mixed rgb, custom debounce, wireless config feature 2025-05-30 23:55:10 +08:00
lokher b507ea2216 Added K11 Max JIS 2025-03-25 16:16:19 +08:00
lokher 3a445969c4 Fixed Q6 Max compile error when rgb_matrix is disabled 2025-03-25 16:15:30 +08:00
lokher 3fd4430bf2 Added V1 Max JIS 2025-01-17 15:08:58 +08:00
lokher 01e743512a Fixed K10 Pro SE2 NumLock LED not working 2024-12-16 09:42:16 +08:00
lokher af62682609 Fixed some K2/K6 Pro ISO firmware bug; Fixed K4/K10 Pro via json 2024-12-10 12:10:43 +08:00
lokher 02bd229bb9 Added K17 Max 2024-12-05 10:11:32 +08:00
lokher 0d0730bc7a Fixed L3 ISO keymap 2024-12-05 10:11:32 +08:00
lokher 79dadb3831 V1 Max ISO version updated to 1.0.2; tidied up V1 Max 2024-12-05 10:11:11 +08:00
lokher ebdaa0469c Added Q10 Max ISO 2024-11-29 18:23:30 +08:00
lokher 4a55278fa6 Added Q5 Max ISO 2024-11-29 17:52:14 +08:00
lokher 161a6984ba L3 fixed wireless LED indication, added Win locking indication, tidied up code 2024-11-28 11:32:38 +08:00
lokher 1e72758c02 Added K2 Max 2024-11-27 18:04:06 +08:00
lokher 870da5083e Added K10 Pro SE 2024-11-18 18:54:24 +08:00
lokher 41dbe22d35 Added K1 Max ISO 2024-11-15 17:47:02 +08:00
lokher dd0a923e83 Adjusted Q1 Max LED driver current 2024-11-15 15:48:52 +08:00