FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat(editor): integrate Key23 authentic 3D keycaps customizer & keyboard timeline track by emirhangungormez · Pull Request #2406 · CapSoftware/Cap · GitHub

Repository navigation

feat(editor): integrate Key23 authentic 3D keycaps customizer & keyboard timeline track - #2406

Open
emirhangungormez wants to merge 3 commits into
CapSoftware:mainfrom
emirhangungormez:feat/key23-keycap-design
Open

emirhangungormez wants to merge 3 commits into
CapSoftware:mainfrom
emirhangungormez:feat/key23-keycap-design

Conversation

emirhangungormez commented Oct 1, 2026 •
edited
Loading

Copy link
Copy Markdown

feat(editor): integrate Key23 keycap design system & keyboard timeline track

Motivation

I use Cap daily for screen recordings. The current keyboard shortcut display shows plain text in a rounded box — functional but visually flat. This PR integrates Key23, an open-source keycap design system I maintain, to offer themed keycap styles in the editor.

What this PR does

Frontend (SolidJS/TypeScript):

  • Adds a Keyboard tab in the editor sidebar for configuring keycap appearance
  • Adds 5 keycap styles (minimal, apple, pbt, retro, m0116) and 6 color themes
  • Adds a keyboard-overlay component that renders styled keycaps on the video canvas
  • Adds a KeyboardTrack in the timeline for managing keyboard shortcut segments
  • 2D/3D toggle controls keycap depth rendering

Backend (Rust):

  • Extends KeyboardSettings in configuration.rs with style, theme, keycap_mode, show_chassis
  • Adds theme-aware color mapping in keyboard.rs so exported videos use matching colors

Known limitations & Future work

  • Preview vs Export parity: The editor preview renders SVG keycaps (with depth, gradients, etc.), while the Rust native video renderer uses rounded rectangles with matching theme colors. Visual theme/color is consistent, but full SVG rendering in the wgpu pipeline is left as a future iteration.
  • Keyboard track is additive: Extends the existing keyboard layer without modifying or removing core behavior.

Testing done

  • Verified keycap styles render correctly in editor preview
  • Verified theme colors apply in both preview and sidebar config
  • Verified 2D/3D toggle works across all render locations
  • Verified shortcut parsing handles modifier symbols (⌘T → ⌘ + T)
  • Verified Ctrl/Cmd-click multi-selection works on keyboard segments
  • Verified with biome check — 0 errors
  • Verified with cargo check on crates/project

Related Issue: #2409

…rtcut parsing, theme-aware export, prevent double render

This branch has not been deployed

No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant


Back | FazBrowse Home | New Git URL