Touchscreen → Gamepad Overlay for Windows
Turn your touchscreen into a virtual Xbox controller — no hardware required.
Designed for the ASUS ROG Flow Z13 and other touch-screen Windows laptops.
- Fully transparent overlay — touches pass through to the game where no buttons exist
- Virtual Xbox controller via HIDMaestro (UMDF2 Windows drive)
- Analog sticks, triggers, bumpers, face buttons, L3 / R3, D-pad (4-way / 8-way), guide button
- D-pad visual feedback — cyan arm highlights on press; 8-way mode shows a surrounding ring
- Edit mode — drag and resize any button, adjust opacity, save layout
- Layout persists across sessions (
%AppData%\GlassPad\layout.json) - Driver installs once on first launch — subsequent launches start instantly
- Minimal UI — FAB-style control hub, no window chrome
| OS | Windows 11 (22H2 or later recommended) |
| Architecture | x64 |
| .NET | .NET 10 Desktop Runtime |
| Driver | HIDMaestro UMDF2 — installed automatically on first launch |
| Hardware | Any Windows touch-screen device (optimized for ROG Flow Z13) |
First launch requires Administrator so HIDMaestro can install its kernel driver.
After that, normal (non-admin) launches work fine.
git clone https://github.com/dansunmi/GlassPad.git
cd GlassPad
dotnet build src/GlassPad/GlassPad.csproj -c ReleaseRequires .NET 10 SDK. The build references lib/HIDMaestro/HIDMaestro.Core.dll (included, MIT licensed).
- Launch
GlassPad.exe(as Administrator on first run) - The overlay appears full-screen and transparent — start your game
- Tap ≡ at the top-center to open the control hub:
| Button | Action |
|---|---|
| ✕ | Quit GlassPad |
| ✎ | Edit layout — drag, resize, opacity slider, save |
| ℹ | About |
| ⊘ (hold) | Temporarily disable overlay |
src/
GlassPad/ Main WPF overlay application
Input/ DpadZone, StickZone, PadService (HIDMaestro wrapper)
Overlay/ GamepadLayout, LayoutEditor, Win32Helper
img/ App icon assets
lib/
HIDMaestro/ HIDMaestro.Core.dll + LICENSE
-
Exclusive fullscreen is not supported. Use Windowed or Borderless Windowed mode in your game settings. In exclusive fullscreen, the game takes over the entire display and the overlay cannot render on top of it.
-
Simultaneous button presses may not register correctly. Due to a WPF touch-routing limitation, two buttons pressed at the exact same instant can sometimes be missed. This is a known issue currently under investigation. Workaround: press the second button ~0.1 seconds after the first — inputs staggered slightly this way work reliably.
-
Controller not recognized by the game? Close GlassPad and relaunch it — this re-initializes the virtual controller and usually resolves the issue.
- Added L3 / R3 buttons (left/right stick click) next to LB/RB
- Initial release
- HIDMaestro SDK v1.3.15 — virtual controller driver (MIT License)
- Built with C# / .NET 10 / WPF
If GlassPad is useful to you, consider buying me a coffee!
Blog: blog.rpm.moe
MIT — see LICENSE
