InputUniversal design preview — local only
Open index.html in Edge or Chrome. This is an interactive visual prototype, not the working macro app. No keyboard/controller output is sent and nothing is uploaded. Test timings, tabs, animated button highlights, recording simulation and profile naming.

Assets: Barlow by the Barlow Project Authors (SIL Open Font License; assets/OFL.txt); Lucide (assets/LICENSE-Lucide.txt). Controller product artwork created with the built-in image-generation tool. No third-party controller logos.

Controller prompt: Photorealistic unbranded matte-black Xbox-style controller, straight-on orthographic view, transparent background, asymmetric textured sticks, glossy colored ABXY buttons, raised beveled controls, sculpted grips, subtle studio lighting; no environment or branding.

The existing InputUniversal local-test executable and public friends download have not been changed by this preview.

Device view update:
- Controller is now an original vector drawing with separate moving sticks, triggers, shoulders, D-pad and face buttons. The earlier raster render is retained as an unused reference asset.
- Switch between Controller and Keyboard & mouse at the top of the device area. Macro settings remain unchanged.
- Keyboard keys respond to clicks and keyboard input while this window is focused (except while editing a field). Mouse buttons, wheel and a movement indicator can be previewed locally.
- Standard browser gamepads can drive the controller view when available. HidHide may prevent the browser from seeing the physical controller. No hide settings are changed by this preview.
- Macro output remains a visual simulation. There is no game-input injection in this preview.
- Verified view switching, hold/release, keyboard press/release, Space output, mouse repeat, stick drag/recenter and compact layout. No script errors.

Reference-matched revision:
Controller assets now come directly from https://gamepadviewer.com/xbox-assets/ (base.svg, trigger.svg, bumper.svg, quadrant.svg, start-select.svg, abxy.svg, stick.svg, dpad.svg). Positions follow the original Xbox One skin at https://gamepadviewer.com/style.css. Original creator/source: GamepadViewer / mrmcpowned. These are third-party reference assets in this PRIVATE LOCAL PREVIEW. Commercial redistribution permission has not been established; do not copy these into a paid/public release without resolving that. The old hand-drawn controller is no longer displayed.

Mouse artwork: assets/mouse-v2.png, generated with built-in image_gen. Prompt: single isolated black gaming mouse, straight orthographic overhead, transparent background; restrained 2D input-viewer shading matching the classic dark GPV aesthetic; separate click panels, ridged wheel, thumb buttons; no logos, RGB, environment or dramatic highlights. Interactive hit areas and press feedback are layered in code.

The view switch and KBM heading are now labeled KBM. Verified controller output highlighting, release, stick drag/recenter, keyboard press/release, mouse click simulation, unchanged macro values across view switching and no script errors. No public files or installed macro executable changed.

Black KBM revision:
Mouse asset: assets/mouse-black-v3.png, built-in image_gen edit. Final prompt: preserve black mouse geometry and transparent background; make gray outlines approximately 25 percent thinner and 30 percent darker (#202124), wheel ridges #292a2c, no changes to silhouette or button layout. Keyboard uses black keycaps, restrained charcoal edges and neutral pressed states. Approved GPV controller is unchanged.
Wheel moves its ridge pattern by direction and shows up/down feedback. Middle mouse, right mouse, back (button 4) and forward (button 5) map to their visual controls while KBM is visible. Side-button default navigation is suppressed inside this preview. Clickable visual side buttons remain available. Automated browser checks cover scrolling directions, middle press/release, simulated button 4/5 events, both visual side-button targets, and keyboard press/release. Physical thumb-button hardware was not independently tested. All feedback is local visualization, not game output.

Dimensional KBM revision:
Mouse artwork assets/mouse-depth-v4.png created with built-in image_gen by editing mouse-black-v3.png. Prompt: preserve exact black silhouette, crop and button coordinates; add subtle 2.5D bevels, raised click faces, recessed seams, rubber wheel ridges and side-button contact shadows matching the classic GPV aesthetic; no gray body, bright reflections or geometry changes. Keyboard changed to a single shaded shell, recessed key bed, softly beveled individual caps and visible downward press motion; double outline removed. Approved controller assets unchanged. Browser wheel, middle click, simulated side-button mapping and key-feedback checks passed. Private visual preview only.

Exact-reference keyboard and aligned mouse revision:
Keyboard now displays assets/keyboard-user-reference.png, copied unchanged from the user's supplied screenshot. An SVG viewport crops to the keyboard; transparent key-face targets use the screenshot's original coordinates. No replacement keycaps, lettering or frame are drawn. Reference artwork remains private-preview material; redistribution rights are not established.
Mouse now uses assets/mouse-depth-v5.png, built-in image_gen edit of mouse-depth-v4.png. Prompt: preserve silhouette, coordinates and approved side buttons; give the palm body and click panels the same rounded charcoal bevels and contact shadows as the side buttons, maintaining black 2.5D styling and transparency. Mouse press polygons now follow the actual click panels and wheel cutout; no press translation shifts them off the image.
Validation: wheel directions, middle click, simulated button 4/5 mapping, both side-button hit areas, keyboard feedback, source-coordinate checks for W/Space/Enter/Esc and all five mouse hit targets passed. Captured preview-aligned-presses.png for visual review. Approved controller unchanged. Installed app/public release unchanged.

Mouse feedback correction: middle-click now uses the identical rgba(212,225,236,0.314) tint as left/right clicks, with no brightness multiplier. Both side-button masks follow the artwork's curved tapered faces; rectangular focus outlines removed. Verified input behavior and enlarged press states; approved artwork/layout unchanged.

Mouse chord fix: physical left click is mapped; all five buttons use independent mousedown/mouseup states. Releasing one no longer clears other mouse buttons or held keyboard keys. Blur/cancel resets holds. Checked actual browser left/right/middle chords and simulated thumb-button combinations. Preview input is still limited to this focused window; no system-wide/game input integration added.

Device tuning BETA: new sidebar section. Preview-only radial inner deadzones, per-stick sensitivity/response exponent, X/Y inversion, per-trigger activation/full-press points and hair-trigger threshold. Settings start disabled and can be saved locally; reset available. Applies only to visual controller data and test plots, never sends game input or writes device firmware. Actual sensor DPI, polling rate, onboard memory and keyboard actuation remain unsupported/device-specific. No ban-proof guarantee is made. Math, validation, independent settings, persistence and navigation checks passed.

Controller connection update:
Open "Start device preview.lnk" to launch the connected local preview. Opening index.html directly may not show controllers hidden by HidHide.
The local-test InputUniversal.exe now includes a read-only preview host, using its existing HidHide allowance. It reads Xbox-compatible controller state and serves this preview on localhost with a random per-session URL; it does not send game inputs or change HidHide settings. The helper exits after five minutes without requests.
The user confirmed live stick/button response in the newly opened browser preview. Connection and rejection of missing-token, foreign-origin and write requests were checked.
The game-rules notice is now beneath the macro controls, not in Tuning. Tuning remains preview-only. Nothing has been published or changed in the public friends download.

Desktop window update:
Open InputUniversal.lnk or the local-test InputUniversal.exe. The approved interface now renders inside a Windows app window using Microsoft's WebView2 component; no browser tab or localhost server is required. The old Start device preview shortcut also opens this window.
Live controller state is delivered directly by the app. The new interface's macro controls and Tuning are still preview-only; use the top toolbar's Open working macro controls for the existing operational macro UI. Always on top is available in the same toolbar.
Verified native page initialization and bridge availability. All 38 core and 18 licensing checks pass. This is a private local test; public downloads are unchanged.

Controller tuning and tray beta:
The desktop app now applies saved stick deadzones, sensitivity, curves, inversion and trigger thresholds/hair triggers to physical reports before sending them through the existing virtual-controller bridge. Macro output is composed afterward. No hardware firmware changes, mouse sensor DPI changes or keyboard actuation support are provided.
In Tuning, enable controller tuning and choose Save & apply. Check the status for successful activation; failures are displayed. A single visible physical controller can connect automatically; multiple devices require choosing one in working macro controls. Games must use the virtual controller, with physical input hidden appropriately. Compatibility with COD, Siege and Fortnite has not been verified.
Closing X hides the app and macro controls to the Windows notification area. Use the tray icon to reopen or Exit InputUniversal. Exit releases outputs and removes the virtual device; saved settings persist and are reapplied on the next launch if the controller connects. Tuning cannot remain active after the process fully exits.
Checks: 46 core checks including eight controller-tuning cases, 18 license checks, plus native UI loading, close-to-tray, tray reopen and full-exit lifecycle checks passed. Nothing published.
