Skip to content
v2.6.2

The touchpad click that arrived as a different button

Mapping a button to the DualShock 4 touchpad sent the wrong button entirely, and choosing DualShock 4 while output was stopped never took effect at all. Plus hotkeys now accept any key and your mouse side buttons, macros take typed stick and trigger values, and a save file that will not load is kept instead of overwritten.

Highlights

  • Hotkeys accept any key on the keyboard, plus the side buttons on your mouse.
  • Type exact stick coordinates and trigger pulls into a macro instead of recording them.
  • A Back buttons check that tells you what your controller's paddles actually send.
  • Stop and Delete on a running macro no longer freeze the app.

Fixes

  • A button mapped to the DualShock 4 touchpad click sent a different button to the game.
  • Choosing DualShock 4 while output was stopped did not apply, and was forgotten when you closed the app.
  • A button mapped to the touchpad or to a full trigger pull read 'Not assigned' everywhere except the editor.
  • A save file that could not be read was replaced with defaults a second later, losing every profile and macro.
  • Output failures showed one generic message no matter what had actually gone wrong.
  • Your controller could briefly vanish from the Dashboard whenever output started.
  • The back buttons on some controllers were offered settings that could never reach the emulated pad.
  • The left stick on the Xbox controller model had a disc floating behind it.

The touchpad click that was a different button

Mapping a button to the DualShock 4 touchpad click sent something else to the game. On a lot of setups it arrived as Share.

The touchpad is unusual inside OmniControl. Every other button travels through the remapping engine, but the emulated pad's report has no room for a touchpad, so the click is added afterwards, on its own. The problem was that it was also being fed back into the remapper first, as though you had physically pressed the touchpad on a controller in your hands. The remapper then did exactly what it is supposed to do with a touchpad press: whatever your mapping said. If your profile had anything set for the touchpad, that is what came out.

Worse, on a controller with no touchpad there is no row for it in the mapping grid, so that setting could not be found or cleared. It sat there redirecting every click you made.

The click now goes straight to the emulated controller and never re-enters the remapper. A real touchpad press on a DualSense or DualShock still travels the normal route, so it stays remappable exactly as before.

It also now sends a finger on the pad alongside the click. On real hardware the button sits underneath the surface, so a click without a touch is a state a DualShock 4 cannot physically produce, and some games treat it as one. The contact is placed dead centre, which is the neutral point that belongs to no edge or corner, so it reads as the main touchpad button.

One thing worth knowing: if a game still sees a different button, check whether Steam Input is switched on for it. Steam takes the controller and hands the game its own, so what arrives is whatever Steam's configuration says, and nothing OmniControl sends can change that. Turning Steam Input off for that game fixes it.

Choosing DualShock 4 did not always take

Picking an output device while output was stopped changed the dropdown and nothing else. The engine never heard about it, so the choice was gone when you closed the app, and anything that depended on the real target quietly disagreed with what you were looking at.

That is why the touchpad row could be missing when you expected it: that row only exists for a DualShock 4, and as far as the app was concerned you were still on Xbox.

Picking an output now applies immediately whether output is running or not.

Hotkeys: any key, and your mouse

The hotkey picker took function keys and a small handful of others. Everything else was ignored with no explanation, which made it look broken rather than limited.

It now accepts any key the system can register: all the punctuation, the whole numeric keypad, Caps Lock, Print Screen, Scroll Lock, Num Lock, Pause, and the media and volume keys.

The side buttons on your mouse work too. Those needed a different approach entirely, because the Windows facility for global hotkeys is keyboard-only and has no concept of a mouse button. They are watched separately, so every keyboard hotkey keeps working exactly as it did.

Keys that type still need a modifier held with them. A global hotkey takes its key across the whole of Windows, so a bare "A" would cost you the letter A in every application you use. Keys that type nothing, like the function keys and the media keys, can be used on their own. The picker now says which case you are in instead of ignoring the press.

Typed values in macros

Recorded stick and trigger movements can now be typed instead.

Click the value on any Stick or Trigger step and enter it directly: sticks in the -1 to 1 you already see, triggers as a percentage. Recording gets you near where you meant, and typing is the only way to land on exactly -1.00, or to repeat the same diagonal twice, which no hand on a real stick can do.

Back buttons

A new check on the Mapping page answers a question the app could not answer before: press a back button, and it tells you what your controller actually sends.

Most pro controllers remap their paddles inside the controller itself. You assign a paddle to a face button in the manufacturer's own software, and Windows only ever receives that face button. There is no separate paddle for any software on your PC to see, ours included.

So the check gives you a straight answer rather than a promise. It will tell you that your paddle reports itself as its own button and can be bound freely, or that it is arriving as a face button and is a copy of it, or that nothing is arriving at all. When it is a copy, it says so plainly, because binding it changes that button in every game.

The back buttons on controllers that do report separately were also being offered settings the emulated pad has no room for, which were accepted and then silently dropped. Those are no longer shown. Key, mouse and macro bindings still work on every button.

A save file that will not load is now kept

If a settings file became unreadable, OmniControl started with defaults and then, about a second later, saved those defaults over the top. Every profile and every macro, gone, with nothing left to recover from.

An unreadable file is now moved aside and kept, and the app tells you where it went. Nothing is deleted.

Smaller things

A button mapped to the touchpad or to a full trigger pull showed as "Not assigned" everywhere except the editor that set it.

Stop and Delete on a running macro froze the app for as long as a full loop of that macro, which was worst on exactly the long macros you most want to interrupt.

When output failed to start, the app said the same thing regardless of the reason. It now tells you which reason: the driver is missing, the driver is out of date, the driver is busy, or there are no free controller slots.

Your controller could disappear from the Dashboard for a moment every time output started, which looked like the controller dropping out.

On the Xbox controller model, a disc was floating behind each thumbstick, and the shell showed through when you pushed the stick. The disc is gone, the moulded recess is coloured with the stick, and the stick travels the way it should.

Every locked feature now has a link to see what Pro includes, instead of only offering a sign-in box.