Controls profiles
Every set of on-screen controls is stored in a ControlsProfile — a named collection of control elements saved to an.icp file (Input Controls Profile). A profile holds:
- A name and a numeric ID used to reference it from shortcuts and containers
- A cursor speed multiplier that scales how fast the mouse cursor moves when using trackpad or mouse-move bindings
- An ordered list of control elements (buttons, sticks, D-pads, etc.)
- Optional external controller bindings for physical gamepads paired with this profile
files/profiles/controls-<id>.icp.
When you export a profile, it is written to Downloads/Winlator/profiles/<name>.icp and becomes accessible to other apps and file managers.
Pre-bundled game profiles
Winlator ships with ready-made profiles for a wide range of games. These are copied into your profiles directory on first launch (and updated automatically on app upgrades). Available profiles include:Action / Shooter
Alien Versus Predator, Bioshock, Call of Juarez Gunslinger, GTA 5, Hitman 2, IGI 2, Metro 2033, Prey, Quake 4, RAGE, Second Sight, Singularity, The Forest, Wolfenstein
RPG / Adventure
Alpha Protocol, Dark Souls 2, Deus Ex Human Revolution, Divinity 2 DC, Drakensang, Fallout 3, Final Fantasy 8, Final Fantasy Type-0, Mass Effect 2, Oblivion, Risen 2, Skyrim, Ultima Underworld, Xanadu Next, Ys Origin
Platformer / Indie
Cyber Shadow, Gravity Circuit, La Mulana, Rayman 3, Shovel Knight, Sonic Generations, Sonic Mania, SteamWorld Dig 2, Sunset Overdrive, The Alliance Alive, Unepic
Racing / Other
Driver Parallel Lines, Far Cry 4, FlatOut 2, Front Mission Evolved, Infernal, Marvel Ultimate Alliance, Psychonauts, Spiderman Shattered Dimensions, Stalker CS, Star Wars Jedi Knight 2, Turok 2, Turok Evolution
Control element types
Each element placed on the overlay has a type that determines how it responds to touch:| Type | Description |
|---|---|
BUTTON | A single-tap button. Sends one binding on press and releases it on lift. Can be set as a toggle switch so it stays pressed until tapped again. Supports circle, rect, round-rect, and square shapes. |
D_PAD | A four-way directional pad. Each direction maps to its own binding (default: W / D / S / A). |
RANGE_BUTTON | A scrollable strip of keys (A–Z, 0–9, F1–F12, or Numpad 0–9). Drag horizontally or vertically to select the active key. Useful for games that require many keyboard keys in one compact widget. |
STICK | An analog thumbstick with a dead zone and configurable sensitivity. Can send WASD-style key events or full gamepad axis values. |
TRACKPAD | A touch-area that moves the mouse cursor. Supports acceleration and can also send gamepad axis values for games that use direct axis input. |
- Shape —
CIRCLE,RECT,ROUND_RECT, orSQUARE(applies to BUTTON type) - Scale — a float multiplier for the element’s rendered size
- Position — stored as fractional screen coordinates so the layout adapts to different screen resolutions
- Bindings — one or more
Bindingvalues (keyboard key, mouse button, or gamepad button/axis) fired when the element is activated - Text / Icon — optional label or icon drawn inside the element
- Toggle switch — when enabled, the element stays active after the finger lifts
Accessing the controls editor
To edit the elements inside a profile, open Input Controls from the Winlator main menu, select a profile from the dropdown, then tap the Controls Editor button. This launchesControlsEditorActivity, a full-screen canvas where you can:
- Add a new element using the
+button, then choose its type and shape - Move elements by dragging them to any position
- Resize elements using the scale control in the element properties panel
- Edit bindings by tapping an element and selecting the desired keyboard, mouse, or gamepad binding
- Delete an element by selecting it and tapping the remove button
- Preview how the overlay looks while a game is running
The controls editor opens as a full-screen transparent canvas layered over your running Windows application, letting you design and preview the overlay in real time.
Creating a custom control profile
Open Input Controls
From the Winlator home screen, tap the hamburger menu and select Input Controls.
Create a new profile
Tap the + (Add Profile) button and enter a name for your profile. The profile is saved immediately as an empty
.icp file.Open the controls editor
With your new profile selected in the dropdown, tap Controls Editor. The editor opens as a transparent overlay canvas.
Add control elements
Tap the + button in the editor toolbar. Select an element type (Button, D-Pad, Stick, Trackpad, or Range Button) and a shape. The element appears at the center of the screen.
Position and size the element
Drag the element to your preferred position. Use the scale slider in the properties panel to make it larger or smaller.
Assign bindings
Tap the element to select it, then open its properties. Choose the keyboard key, mouse action, or gamepad button this element should send when touched.
Repeat for all needed controls
Add as many elements as required — typically a D-pad or stick for movement, buttons for actions, and a trackpad or stick for camera control.
Assigning a profile to a shortcut
Profiles can be assigned per-shortcut so each game loads the right overlay automatically:- On the Winlator home screen, long-press the shortcut (or tap the menu icon next to it).
- Select Settings.
- In the Controls Profile dropdown, choose the profile you want.
- Tap OK to save.
Importing and exporting profiles
- Import from file
- Download from repository
- Export
- In Input Controls, tap the Import button.
- Select Open file from the popup menu.
- Navigate to the
.icpfile using the system file picker and tap it. - The profile is added to your list (or replaces an existing profile with the same name).
Importing a profile with the same name as an existing one will replace the existing profile in place. Make a backup export first if you want to keep the original.
