Repository navigation
Releases
KeyCast v1.3.0
This release adds a Transparent keys option, for an overlay that shows only the outlines of your keys over the game.
New
- Transparent keys. A new switch in the Theme section removes the fill from idle keys, so only the outline and label show and your scene stays visible behind them. Pressed and held keys still fill with the pressed color, so every input stays easy to read on stream.
- The mouse follows the same style. Its body, buttons, wheel, side buttons, and movement indicator become outlines, and a click fills only the button that was pressed, never the wheel or side buttons drawn on top of it.
- The setting is saved per profile and is off by default, so existing layouts look exactly as before until you turn it on. Switching it off again restores your idle key color.
Tips
- The default Border idle color is a dark gray chosen to sit on a filled key. Over a dark game, pick a brighter Border idle color (and Text idle color) so the outlines stand out.
- If an OBS Browser Source still shows filled keys after the update, open its properties and click Refresh cache of current page.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.2.0
This release makes the mouse movement indicator work inside games, answering the most common question about v1.1.0.
New
- In-game movement capture. The movement indicator now reads the Windows Raw Input stream, the same source games read mouse motion from. Games that lock the pointer in place used to leave the indicator flat because the on-screen cursor never moved; the indicator now sees exactly what the game sees and keeps working while you play. Nothing to configure, the indicator simply works where it previously did not.
- The privacy story gets stronger, not weaker: the raw input stream carries only relative movement counts, so on this path no cursor position exists anywhere in KeyCast. Only the direction of movement is ever sent to the overlay. The capture is active only while a profile shows the indicator, exactly as before. The reader is a small auditable C file in the repository (native/rawinput).
- The diagnostics report now names the active movement capture path, so a support thread can tell instantly whether in-game movement should work on a given setup.
Notes for running from source
The in-game capture is a small native module that the installer ships prebuilt. Running from source, build it once with "npm run build-native" (requires the Visual Studio Build Tools C++ workload). Without it the indicator falls back to following the cursor, which pointer-locking games limit; everything else is unaffected.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.1.1
This release fixes the drawn positions of the mouse side buttons.
Fixes
- The M4 and M5 side buttons are no longer visually swapped on the mouse overlay. The overlay draws the mouse front-up, so the forward button (M5) now takes the upper spot and the back button (M4) the lower one, matching where the buttons sit on a physical mouse. Clicks were always attributed to the correct button internally; only the drawn positions were reversed.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.1.0
This release adds a mouse movement indicator, requested by viewers, and a set of tools that make 2PC connection problems visible and fixable instead of silent.
New
- Mouse movement indicator. Shows which way you are moving the mouse, drawn on the palm area of the mouse. Three styles: a dot that leans the way you are aiming and springs back to center, an arrow that points the way and grows with speed, and a fading motion trail. A sensitivity slider sets how far a flick deflects it. Off by default; it is the one feature that reads the cursor position, and only the direction of movement ever leaves the capture code. Movement is captured while any mouse button is held too, so it keeps working while you fire.
- Connection test page. KeyCast now serves a check page at the address shown in the OBS Browser Source section (labeled Test page). Open it in a normal browser on the streaming PC: if it loads, the network is fine and any remaining problem is in OBS; if it does not, the two PCs cannot reach each other yet. This separates the two failure modes that used to look identical.
- Copy diagnostics button. One click gathers the server state, network adapters, and firewall rules into a plain-text report for a bug report. Read-only, needs no administrator rights, and contains no input data.
- Visible server errors. If the overlay server cannot start (for example, the port is taken by another program), the Server section now shows the reason in plain language and the connection indicator reports "Server not running", instead of failing silently.
- Smarter firewall helper. Allow through firewall now also disables Windows rules that actively block KeyCast (created when the Windows network prompt is dismissed; they override every allow rule), adds a program rule alongside the port rule so port changes keep working, and warns about settings it cannot change: block-all-inbound profiles, third-party security suites, and VPN clients that block LAN traffic.
- Network adapter list improvements. VPN and virtual adapters (Tailscale, WSL, VirtualBox, and similar) are labeled in the dropdown and ranked last, so the auto-picked 2PC address lands on your real network.
Fixes
- Fixed a crash when the configured port is already in use by another program at startup. The app now stays running and reports the problem instead of silently dying.
- Changing the port now recovers a server that failed to start. Previously, if the server never came up, changing the port did nothing and the app had to be reinstalled or the other program closed.
- Overlay files are now served with caching disabled, so OBS no longer shows a stale overlay after a KeyCast update.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.0.3
This release fixes the scroll-wheel direction indicator introduced in v1.0.2.
Fixes
- The scroll wheel now lights the correct half: the top half on scroll up and the bottom half on scroll down. The two directions were reversed in v1.0.2.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.0.2
This release refines the mouse scroll-wheel indicator.
Changes
- Scrolling now lights only the half of the wheel matching the direction: the top half on scroll up, the bottom half on scroll down.
- Clicking the middle mouse button still lights the whole wheel.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies can update from within the app.
KeyCast v1.0.1
This release adds two requested features and fixes the related display issues.
New
- Network adapter selection for 2PC setups. Pick which adapter's IP is used for the OBS LAN URL, so machines with a VPN or virtual adapter (Tailscale, WSL, VirtualBox) no longer show the wrong address. Your choice is remembered.
- Movable mouse overlay. Position the mouse anywhere by dragging it in the layout editor or by setting its grid column and row, instead of it always sitting below the keyboard.
Fixes
- The overlay render area now grows to include the mouse, so it is no longer clipped when placed outside the keyboard's bounds.
- Click and keys-per-second counters keep their values across settings changes instead of momentarily flashing to zero.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit). Installed copies on v1.0.0 can update from within the app.
KeyCast v1.0.0
First public release of KeyCast, a clean, minimal keyboard and mouse input overlay for streamers, built with Electron.
Highlights
- Real-time keyboard and mouse overlay served to OBS as a Browser Source
- Configurable layouts: drag to arrange keys, resize caps, multi-select editing
- Combo and Superglide timing caps (Apex Legends Superglide preset included)
- Themes with full color, animation, size, gap, and scale control
- Keys-per-second and per-button click counters
- Multiple profiles for different games
- Single PC and 2PC support (LAN or Tailscale), with a built-in firewall helper
- In-app updates
- Zero data storage: inputs are shown, then immediately discarded
Privacy
KeyCast does not store keystrokes. Input events are rendered on the overlay and discarded immediately. No logs, no history, no telemetry.
Installation
Download the installer below and run it. Windows SmartScreen may warn on first launch because the app is not code-signed; choose More info, then Run anyway. Requires Windows 10 or 11 (64-bit).