Skip to content

Releases: grumpybollocks/g910-control

v1.15 — Safely re-apply the profile card height reduction

Choose a tag to compare

@grumpybollocks grumpybollocks released this 20 Sep 09:45

v1.14 fixed profile card corruption by reverting an earlier height reduction back to full size — the corruption's actual cause was a missing size policy, not the smaller padding/font choices themselves.

Now that every card is correctly pinned (Fixed vertical size policy, shipped in v1.14), the compact sizing is safe to reapply: cards are ~42px (down from 61-64px, roughly a third smaller) instead of the old fixed ~64px.

Verified with the same stress test as v1.14 (0/1/2/3 profiles) plus a real multi-word profile name ("profile i like") against the actual built package — every card's rendered height matches its own sizeHint exactly at every count, and the Load/Delete button padding was checked against this font's real fontMetrics().height() (24px) before use, so text can't clip the way it did in v1.12.

v1.9 — canvas click now stops running effects (latest)

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 21:06

One consistency fix.

  • Clicking a key directly on the keyboard image now stops a running effect too, same as every other static colour action (presets, hex, Rainbow, switching zones, profile load). Previously a direct click's colour could get silently overwritten by the effect's next tick.

v1.14 — Fix profile card corruption (real root cause this time)

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 22:13

The last two releases (v1.12, v1.13) both tried to shrink/stabilize the profile card height using a self-referential sizeHint()-based calculation recomputed on every save — confirmed via a real screenshot that adding a second profile compounded this into garbled, overlapping, unreadable cards.

This release reverts that entirely:

  • Profile cards are back to plain default sizing (normal font, normal button padding) — no more custom shrinking tricks.
  • The scroll area uses a simple static height cap, not a recomputed one.
  • The actual root cause of both the original inflation bug and this new corruption: cards had no explicit vertical size policy, so Qt's default let them grow or shrink away from their natural size whenever there was slack. Every card is now pinned to a Fixed vertical size policy — it always renders at its own correct height regardless of how many profiles exist.

Verified with a 0/1/2/3/5/back-to-2-profile stress test against the actual built package (not just a single-profile check like the previous two releases), plus the 3 real profiles currently saved on this machine — all render correctly with no compression or inflation.

v1.13 — Fix oversized profile card + clipped button text

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 22:06

Two real bugs from a live screenshot, plus one rename:

  • A saved profile card could render as a huge (~90px) box with Load/Delete squeezed and clipped at the bottom edge — a missing layout stretch let Qt inflate the single/last card to fill the scroll viewport instead of keeping it at its natural compact size. Cards now always render at their real size (42px), regardless of the container's height.
  • Those buttons' text was genuinely clipped — an earlier fixed height (16px) was smaller than the font's own line height (24px). Replaced with proper padding so Qt sizes them correctly from real font metrics instead of a guessed number.
  • Renamed Random Colours to Random Colours (WIP) — it's a hue-sweep gradient with a randomized starting point, not fully independent per-key randomness, so same-row keys on Main Board still read as an ordered band. The name shouldn't oversell it.

Verified: namcap-clean (same two known false positives), extracted-package personal-data audit clean, headless launch of the actual built package, profile card height confirmed matching its own sizeHint exactly (42px) instead of stretching.

v1.12 — Preset palette fix, compact colour picker row, shorter profile cards

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 21:50

All from direct feedback after v1.11:

  • Preset swatches: Gold and Sky Blue were too close to Yellow and Cyan to tell apart at a glance — replaced with Brown and Silver. Grid is now 5 columns instead of 3.
  • The hex code row is now compact: a small live-updating colour swatch, the hex field, and Apply all on one line, replacing the separate full-width preview box above it.
  • New Colour Picker button opens a full colour picker and fills the hex field — doesn't apply on its own, Apply/Enter still does that.
  • Saved profile cards are about half their old height (61px → 30px) via tighter margins and a smaller name label, so more profiles fit on screen without scrolling.

Verified: namcap-clean (same two known false positives), extracted-package personal-data audit clean, headless launch of the actual built package, hex-apply flow tested live against real hardware.

v1.11 — Random colours rename, more presets, Profiles panel fix

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 21:42

Changes, all from direct feedback:

  • Renamed the Rainbow preset button to Random colours (matches what it actually does since v1.10 — a different starting hue every click).
  • 6 more preset swatches: White, Gold, Teal, Indigo, Sky Blue, Lime (9 → 15 total).
  • Fixed the Profiles panel always claiming its full 300px height even with just 1–2 saved profiles — it now sizes to the real content and only caps/scrolls once you have enough profiles to need it.
  • The G-Keys/macro strip under the keyboard now has a thin separator line above it and is labeled Add New Macro instead of the more cryptic "G-Keys", so it reads as its own section.

Verified: namcap-clean (same two known false positives), extracted-package personal-data audit clean, headless launch of the actual built package, and the new preset colours + rename tested live against real hardware.

v1.10 — Main Board rainbow no longer leaves keys grey

Choose a tag to compare

@grumpybollocks grumpybollocks released this 19 Sep 21:32

Fixes reported directly from live use:

  • Main Board's Rainbow preset used to skip the six keys with no individual LED (Win/Alt/AltGr/Menu/right-Ctrl/right-Shift), leaving them visibly grey. It now fills them with the gradient's starting hue via a whole-block fill, same mechanism the static colour apply already used.
  • Rainbow now picks a random starting hue every click instead of the same fixed gradient each time.
  • Breathing/Colour Cycle/Rainbow Wave/Speed moved out of the main Color Mode panel into a separate Effects (WIP) tab — marked work-in-progress because the on-screen preview for a few keys can still lag the real keyboard during an animation. Switching zones or tabs now stops any running effect automatically, and there's a dedicated Stop Effects button.
  • Fixed a stale v1.8 download-link example left over in INSTALL.md.

Verified: namcap-clean (same two known false positives as every prior release), extracted-package personal-data audit clean, headless launch of the actual built package with no keyboard simulated, and the rainbow fill tested live against real hardware.

v1.8 — bug fixes, live Speed control, fresh-install fixes

Choose a tag to compare

@grumpybollocks grumpybollocks released this 17 Sep 20:05

Bug fixes, a new control, and honest answers to two direct questions: does this actually install cleanly on a fresh box, and does the landing page look like a real project?

  • Fixed: Breathing/Colour Cycle on Main Board left the six keys with no individual LED (Win/Alt/AltGr/Menu/right-Ctrl/right-Shift) stuck at a stale colour on screen while the rest of the board updated. The real hardware was almost certainly fine — this was the on-screen preview under-covering what the real apply already reaches.
  • New: a live Speed slider (20%–300%) for every effect — drag it mid-animation, no restart needed.
  • New: Profiles now remember an active effect, not just whatever colour happened to be showing when you saved. Loading a profile that had Colour Cycle running resumes the cycle, at the same speed, on the same zone.
  • Fixed a real install gap: git isn't guaranteed on a fresh, minimal Arch install (confirmed against Arch's own package group definitions), so the very first documented command could fail before you ever reached this app's own installer. INSTALL.md now says so upfront, with a git-free download alternative; the script itself now checks for sudo too instead of failing with a confusing error.
  • Landing page got a badges row and an honest "cheeky bits" section — real facts from this project's own development, not filler.

Every fix verified on real hardware before this tag was cut — see the commit history for the exact numbers, including a byte-for-byte check that this machine's 8 real saved profiles were untouched throughout.

v1.7 — animated effects + layout fix

Choose a tag to compare

@grumpybollocks grumpybollocks released this 17 Sep 19:34

Also fixes the sidebar clipping some of you saw — a few buttons were genuinely too wide for their panel.

  • Three animated effects, next to the existing static presets: Breathing (pulses whatever colour is in the hex field), Colour Cycle (the whole zone slowly rotates through every hue), Rainbow Wave (like the Rainbow preset, but the gradient scrolls). A Stop Effect button ends whichever one's running.
  • Fixed the sidebar being ~100px too narrow for its own content — the hex-code row and the "Nav Cluster"/"Main Board" button row were genuinely clipped at the right edge, not a scrollbar quirk.
  • Found and fixed a real device-level conflict while building this: saving or loading a Profile while an effect is running could corrupt the read (the keyboard's own protocol doesn't like a read and a write happening at once) — both now stop any running effect first.

Every effect verified changing colour over time on the real keyboard, not just assumed from the code; the device-conflict fix was reproduced failing 10/10 times before being fixed, then confirmed fixed.

v1.6 — Rainbow preset

Choose a tag to compare

@grumpybollocks grumpybollocks released this 17 Sep 18:38

A real feature, not just a fix this time.

  • New "Rainbow" preset in the Color Mode sidebar. Sweeps an evenly-spaced colour-wheel gradient across whichever zone you have selected — works on Logo, G-Keys, F1-F12, Numpad, Nav Cluster, and Main Board, following the keys' actual left-to-right/top-to-bottom order so it reads as a smooth sweep. Respects the brightness slider like every other preset.
  • On Main Board specifically: the six keys with no individual LED (Win/Alt/AltGr/Menu/right-Ctrl/right-Shift) are left untouched by the rainbow rather than being forced into it — there's no single colour that could represent them in a gradient anyway.

Verified entirely on real hardware: the gradient produces genuinely different colours per key, the brightness slider provably scales what's actually sent to the device (not just the on-screen preview), and Main Board's exclusions were confirmed live, not just read from the code.