feat: add combo mode with combo counter, score and escalating effects

A 'Combo mode' toggle turns the display into a game-style counter.
Chords containing a modifier (Super/Ctrl/Alt/Shift/Menu/AltGr) are
combos: they build a combo counter, apply a multiplier (x2 at 5, x3 at
10 ... x8 at 50) and escalate the effects. Plain characters and shifted
chars typed alone are hits: +10 score only, they never touch the combo
counter or its window. Scoring: hit = 10, combo = (20 + 15*(mods-1) +
5*(keys-1)) * multiplier.

Counted once per physical chord on the Lua's empty payload (release),
so the intermediate growing emits of a chord never double-count. The
banner (COMBO 12 x3 - 3,450) sits below the history for bottom
positions and above it for top positions, with a floating +N pop per
press. Effects scale with modifiers and chain length: banner pulse,
hue shift, screen shake (up to 5px), continuous hue cycling at 10+
combos and a constant subtle vibration at 20+. The combo resets after
comboWindowMs (2s) without a new combo; the score accumulates for the
shell session.

Also fixes the README Behavior section: the history bullet was never
applied (a failed multi-edit call), now restored alongside the combo
mode docs. Manifest bumped to 1.7.0.
This commit is contained in:
felixzsh
2026-08-12 10:45:16 -05:00
parent 58cca5ec4f
commit 0a4aa59ee1
4 changed files with 378 additions and 11 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1,
"id": "felixzsh.key-visualizer",
"name": "Key Visualizer",
"version": "1.6.0",
"version": "1.7.0",
"author": "felixzsh",
"description": "Shows the keys you press on screen. Great for keybinding tutorials, demos, and screencasts.",
"kinds": [