
4.24.0.0 / 02-10-2026
Performance
Features
x360ce
Accuracy
Xbox 360 Controller Emulator allows your controller (gamepad, joystick, wheel, etc.) to function as an Xbox 360 controller. For example, it lets you play games such as "Grand Theft Auto" (GTA) or "Mafia II" using a Logitech Wheel.
...
Most Recent Changes
--4.24.60.0--
Fixed: Virtual controllers were not created after Windows ran 25 days.
Fixed: Centering spring Auto never finished after Windows ran 25 days (Issue #1639, emreyagdan64-prog).
Fixed: Inverted buttons were pressed while held instead of while released.
Fixed: Button 128 and POV 4 Left could not be mapped.
Fixed: A switch mapped to a button could flicker on and off.
Fixed: Importing or exporting games settings could show an error report.
Fixed: Scanning for games could close the program.
Fixed: Error reports from released versions were marked as test builds.
Fixed: The game settings panel could show an error report after it closed.
Fixed: Installing, repairing or removing the virtual driver failed when a file was in use.
Fixed: A controller that could not be opened could slow the program down.
Fixed: Buttons and force feedback could follow another game's settings (Issue #1639, emreyagdan64-prog).
Fixed: A virtual controller that stopped taking input was not put back.
Fixed: A virtual controller whose vibration the driver refused did not work.
Fixed: The guide button could be let go by another controller.
Fixed: The XInput view could show an error report.
Fixed: The controller picture could turn into a red cross.
Fixed: Putting controllers in order could hang when XInput stopped answering.
Fixed: A virtual controller the driver would not remove was not made again.
Fixed: Mapping a POV direction from the menu could map the whole POV.
Fixed: A mouse mapped to a stick started at one end, not the middle.
Fixed: A controller given vibration could keep vibrating after Repair or reorder.
Fixed: A controller that Windows put in the wrong place was made again every few seconds.
Fixed: Reordering stopped part way when a virtual controller left behind by another run was listed.
Fixed: Putting controllers in order left controllers in the wrong XInput places.
Fixed: A question with its own button wording, such as the settings folder one, showed Yes, No and Cancel.
Fixed: The Devices page listed a virtual controller left behind by another run twice, with no place.
Fixed: The Devices page left the place blank for a real controller whose place was not known.
Fixed: Remove Leftover Pads could miss a virtual controller left behind, or leave part of one.
Fixed: An unticked device was still read, held, hidden and sent force feedback.
Fixed: A rumble sent just before a controller was taken away could come back.
Fixed: A pad that refused a force feedback effect piled up old effects (Issue #1633, KhaledElSaiad).
Fixed: A device whose force feedback kept failing could slow the program down.
Fixed: The minimum instances box on the Internet page did not save its value.
Fixed: Putting controllers in order left an Xbox One controller dead until it was replugged.
Fixed: Putting controllers in order could leave a controller switched off, and a stored mark that hid it for good.
Fixed: A controller left switched off by an interrupted reorder was reported as switched back on.
Fixed: The General tab input list did not scroll to its last buttons.
Fixed: General tab mapping boxes cut off text such as POV 1 Down.
Changed: Installs and links the latest Visual C++ v14 Redistributable.
Changed: Installing Visual C++ from the Issues tab says what happened.
Changed: A controller tab whose place is taken says what is holding it.
Changed: The AI assistant can keep a device on several controller tabs.
Changed: The question about a device already on another controller asks Move or Copy, in bold.
Added: Issues tab reports a virtual driver that is installed but not working.
Added: A hint when a game may see the controller twice.
Added: Recording a switch onto a button says which position presses it.
Added: Invert in the mapping menu turns a button, axis or slider around.
Added: Help and a preset for flying with an RC transmitter.
Added: A device can drive up to four controllers at once (Issue #1265, cuteexe).
Added: A device on several tabs takes force feedback from one or more of them (Issue #1265, cuteexe).
Added: The Force Feedback page names the other controllers a device is on (Issue #1265, cuteexe).
Added: The Issues tab says when a controller this program switched off is still off.
Added: Help example for rounding the corners of a stick (Issue #1347, 2mg).
--3.5.10.0--
Fixed: Importing or exporting games settings could show an error report.
Fixed: Mapping a POV direction from the menu could map the whole POV.
Fixed: Recording a D-Pad direction did not work.
Changed: Help names the latest Visual C++ v14 Redistributable.
--4.23.59.0--
Fixed: Online presets lost the wheel and centering spring settings.
Fixed: Searching the online database with no devices reported a server error.
Fixed: Online settings could be listed twice, each with part of its users.
Fixed: The same settings could be stored twice on computers set to some languages.
Fixed: Changing the game while a virtual controller was connecting could close the program.
Fixed: Long sessions ran out of system handles.
Fixed: Reloading the XInput library showed a reset error when nothing had failed.
Fixed: Options showed the default web service address instead of the saved one.
Fixed: Buttons tab sliders were shifted right and cut off.
Fixed: The XInput column did not widen for a device reaching several places.
Fixed: Load Preset could leave "Load Selected Preset" off, or close without loading.
Fixed: Saving a preset into a protected game folder closed the program.
Fixed: One unreadable file or folder stopped the game scan.
Fixed: Removing a device while the Devices list was drawn could close the program.
Fixed: Pressing a key while recording could press a button on the page (Issue #1271, DXSECN).
Fixed: Adding a second game with the same file name replaced the first (Issue #1093, alkalifly).
Fixed: A device being unplugged mid-read was reported as a fault.
Fixed: A missing error reports folder was reported as a fault.
Fixed: Opening the program again while it was closing could end it with a fault.
Fixed: The centering spring swung through the centre and chattered under a hand at high strength.
Fixed: A device known from an earlier run showed no vendor name or id.
Fixed: A pad vibrated one motor only, or stopped after reconnecting (Issue #1633, KhaledElSaiad).
Fixed: A sawtooth effect closed the program on pads with the USB Vibration driver (Issue #1634, mahaman626).
Fixed: The AI assistant access Copy buttons could close the program while another program held the clipboard.
Fixed: Closing the program while a virtual controller was being connected could leave it plugged in until Windows restarted.
Fixed: Each Map Device window went on handling every device change after it was closed.
Fixed: The /Exit switch did not close a copy running with Allow Only One Copy off.
Fixed: Percentage sliders did not say what 100 stands for, so an assistant could not set them.
Fixed: Sorting the games list while it showed only enabled or disabled games could close the program.
Fixed: Save closed the program when Windows refused a settings file; it now offers to retry or use your own folder.
Fixed: With virtual controllers on, every device plugged in or removed left system handles open until the program closed.
Fixed: Set to 1000 Hz, the controllers were polled only about 950 times a second.
Fixed: On a computer with many old virtual controller records, the controller pages took seconds to appear at start.
Fixed: Loading a preset could empty a mapping, such as the B button or the D-Pad.
Fixed: Presets made for older versions had their sticks and D-Pad read as buttons.
Fixed: A preset pasted and copied again came back changed, under another checksum.
Fixed: Settings a preset left out ran at nought, not at the defaults the page shows, such as button dead zones and motor periods.
Fixed: An axis-to-button dead zone set to 0 came back as the default, 8192.
Fixed: A real controller in XInput 1 pushed every virtual controller one place along.
Fixed: Putting controllers in order asked for Administrator twice.
Changed: A mapping formula can be up to 128 characters.
Changed: Centering spring Auto checks that its strength holds the wheel before setting it.
Changed: Motor periods follow the measured Xbox motors, 160 ms left and 64 ms right by default; mappings still on the old pair are updated.
Changed: The period played follows the force, as a real motor slows when driven less.
Changed: XInput Devices rows carry their own up and down arrows.
Changed: A device added to a controller is selected, ready to set up.
Changed: Online settings are reached over HTTPS.
Added: Motor Periods presets for wheels, an info button about the motors, and a Defaults button on the Force Feedback page.
Added: Options has a Test button for the web service address.
Added: The Issues tab names force feedback a device refused or plays differently.
Added: Map Device can list system devices, such as the Logitech G13 (Issue #1211, bredita).
Added: An AI assistant can read and answer the windows that open over the main one.
Added: Copy Preset copies as YAML, with XML and JSON under its arrow, also on the Load Preset window; Paste Preset reads all three.
--3.4.39.0--
Fixed: The NAME hook mask box was never saved or loaded.
Fixed: The /Exit switch did not close a copy running with Allow Only One Copy off.
Fixed: A debug symbol file beside the program asked for a Microsoft SDK download and could stop startup.
Fixed: Force feedback test stopped after a moment.
Fixed: Options were ignored when x360ce.ini was saved as UTF-8 with BOM.
Fixed: An empty web service address stayed empty instead of using the default.
Fixed: Searching the online database with no devices reported a server error.
Fixed: Online settings could be listed twice, each with part of its users.
Fixed: Starting from a protected game folder closed the program.
Fixed: Copying text could close the program while another program held the clipboard.
Fixed: Crash when a controller was unplugged and plugged back in.
Fixed: Error "SetupDiGetDeviceRegistryPropertyW: 122" on some computers (Issue #830, Psychophage; Issue #1565, ProjectXsent).
Fixed: Startup warned that a leak detector was missing whenever a debug symbol file sat beside the program.
Fixed: Changes and License text on the About screen ran together as one paragraph.
Fixed: Tray icon registered without a name, so it could not be identified in Windows taskbar settings.
Fixed: Crash while filtering the games list.
Fixed: Error report failed to build when the exception carried extra data (PR #1605, Rislantrs).
Fixed: The window froze for seconds at start with controllers attached.
Fixed: The new device question hung when online settings were unreachable.
Fixed: The window paused whenever Windows reported a device change.
Fixed: Cancelling the new device question caused a misconfigured device error (Issue #848, mrmousey23; Issue #578, Thetwistedking).
Fixed: Settings chosen for one new device were lost if the next was cancelled.
Fixed: Loading a preset could empty a mapping, such as the B button or the D-Pad.
Fixed: Preset sticks and D-Pad were shown as buttons.
Changed: Needs .NET Framework 4.6.2 instead of 4.0.
Changed: Default motor periods are 160 ms left and 64 ms right, the measured Xbox motors played four times slower.
Changed: Help pages come from one document each, so both versions show the same text.
Changed: Device detection lists attached devices only, instead of every device ever installed.
Changed: Interface refreshes up to 10 times per second instead of 20.
Changed: Online settings are reached over HTTPS.
Changed: The status bar shows the refresh rate instead of counters.
Added: AI assistant access on the Options page, so an AI assistant or a script can read and operate the program (/Mcp, /Ai).
Added: Every control has a name and a purpose, for screen readers and automation tools.
--4.22.21--
Fixed: Changing the game could list a device twice or close the program.
Fixed: Running from inside a 32-bit game's folder stopped the controllers.
Fixed: Starting from a protected game folder closed the program.
Fixed: A device name the driver reported could stop the settings from saving.
Fixed: Sliders were missing from the mapping list.
Fixed: Removing leftover virtual controllers could freeze the program.
Fixed: Windows could slow the program to 125 passes a second behind a game; a wheel then swung side to side.
Fixed: A controller tab without a free XInput place slowed the whole program.
Fixed: Reading the devices or plugging in a virtual controller stopped the polling for seconds; a wheel then ran to its end stop.
Fixed: Reading the devices read every device on the machine; it reads the controllers and their parents.
Fixed: The controller pictures went dark while the devices were read.
Fixed: The Hardware window could close the program when a device changed.
Fixed: The centering spring pulsed under a light push near the centre; its force now grows with the distance.
Fixed: The Issues page now also lists and removes records of virtual controllers no longer present.
Fixed: Removing leftover controllers switched the XInput view off; it now rests a few seconds and reads again.
Changed: Starts faster. The devices are read while the window is built, and the program compiles ahead on spare cores.
Changed: The AI assistant door reaches toolbar buttons and the rows of every list, the Issues page's Remove included.
Added: The General tab shows every button, axis, slider and POV of the device as it is used.
Added: Click or drag a lit control into a mapping box to map it.
Added: Auto Preset recognises a steering wheel and its pedals.
Added: Checks for a newer version at start. Off by default.
--4.21.30--
Fixed: The games list could close the program while a game was added or removed.
Fixed: Switching game while the program was closing could close it with an error.
Fixed: Windows without the multimedia timer library could not poll.
Fixed: A device log line after its window closed was reported as an error.
Fixed: Losing a force feedback device to another program was reported as an error.
Fixed: The error report window could send an empty report.
Fixed: Clicking Send twice sent the same report twice.
Fixed: A force feedback device refusing an effect was reported as an error.
Fixed: A controller tab light could close the program while the tab was moved.
Fixed: The games scan stopped when the antivirus refused a file.
Fixed: The games scan stopped in a folder with no programs.
Fixed: A list change after its window closed was reported as an error.
Fixed: The program's own emulated controller was listed as a leftover.
Added: Centering Spring holds a wheel at its centre. Off by default.
Added: Auto finds the weakest Centering Spring that brings the wheel home.
Added: Wheel Range sets a Logitech wheel's steering degrees.
Added: Wheel group on the Force Feedback page for these settings.
Added: Tray menu shows the hotkey beside Enable XInput.
Added: AI assistant access on the Options page. Off by default.
Added: Enable XInput on the Options page and in the tray menu.
Added: Hotkey Ctrl + Alt + X turns the emulated controllers on and off in a game.
Added: A note over the game when the hotkey is pressed.
Added: Save Preset and Load Preset as files.
--4.20.43--
Fixed: A controller tab showed a red light while its controller was working, whenever a real controller was plugged in.
Fixed: A controller tab whose XInput place a real controller was holding showed no light, as though the place were empty.
Fixed: A controller tab showed green where a real controller had taken its place, so mappings that reached nothing looked like they were working.
Fixed: Controller tab lights changed their mind for a moment after every start.
Fixed: A real controller holding an XInput place stopped a second controller tab from getting one at all, with a free place sitting unused.
Fixed: Where an emulated controller was put is now watched rather than assumed, so the device lists name the right place.
Fixed: A real controller's XInput place was left blank whenever an emulated controller was also present.
Fixed: An emulated controller taken away went on claiming its XInput place, so two controllers could be shown holding one place.
Fixed: A controller tab showed a green light while its emulated controller was in a different place than the one being read.
Fixed: A controller that could not be created reported a second fault about clearing up after it.
Fixed: The Trigger name did not turn green while a trigger was held down.
Fixed: Putting controllers in order gave each tab another tab's controller, so the order came out right and every tab pointed at the wrong one.
Fixed: A controller switched off while putting them in order was not noticed until something else made the lists read again.
Fixed: The window stopped responding while controllers were being put in order, and said nothing about what it was doing.
Fixed: Repair replaced a newer virtual controller driver with the older one supplied here, saying nothing about it.
Fixed: One virtual controller left behind was counted and listed three times, once for each way of reading it.
Fixed: With a virtual controller from another program on the bus, no XInput place was shown for any controller at all.
Fixed: Letting go of a virtual controller that had already gone was reported as a fault. This was over half of all problem reports received in two days.
Fixed: Force feedback that could not reach a controller the bus had dropped was reported as a fault, instead of being put back quietly on the next pass.
Fixed: A list could close the program while it was being drawn, if a device was removed at that moment.
Fixed: Unpacking the virtual bus driver could fail when the folder it unpacks into did not already exist.
Fixed: A force feedback strength of 0 % ran the motors at full force instead of stopping them.
Fixed: Force feedback strength had no effect on rumble passed on to a real controller.
Fixed: A D-Pad dead zone of 0 % was ignored and used as 100 %.
Removed: Map To on the Direct Input page, which had no effect in this version. Existing configuration files keep the setting untouched.
Changed: Changing the virtual controller driver now asks first and says which version replaces which, and that other programs share it.
Changed: Leftover virtual controllers are now named, with their identifiers, instead of only counted.
Changed: Controller tab lights are flatter and paler, so the colour reads from a distance instead of looking like a dark smudge.
Changed: A controller tab light is drawn in two halves: your device on the left, the emulated controller on the right, so it shows which half is missing.
Changed: The right half of a controller tab light reddens the more that is wrong at once, so the tab most in need of attention stands out.
Changed: A controller tab turns orange when its controller sits in a different XInput place than the tab number, and says which.
Added: Windows 10 and later are supplied virtual controller driver 1.21.442.0, the last one its authors made. Older Windows keeps 1.16.112.0, which is the last that works there.
Added: Options shows the installed virtual controller driver version and the one supplied with this program.
Added: Force Feedback Pass Through sends a game's rumble on to a real controller, which an emulated one cannot feel.
Added: The Force Feedback Test sliders now drive the same path a game uses, including pass through.
Added: The device list now names every XInput place each device reaches, including through the controllers it is mapped to.
Added: XInput Devices can now be put in a different order, not only shown in the one they are in.
--4.19.17--
Fixed: Turning off the XInput reading lit every controller tab red, as though the emulated controller had gone.
Fixed: Controllers were read slower while the window was open.
Fixed: Closing the program could end it with an error instead.
Fixed: Unplugging two controllers at once removed the wrong one, or closed the program.
Fixed: Pointing at a list while a row was being removed closed the program.
Fixed: Changing the game while a list was updating closed the program.
Fixed: Force feedback closed the program on games that do not use a virtual controller.
Fixed: Windows refusing to open a folder closed the program.
Fixed: Controllers were added to the list in the reverse order they were found.
Fixed: Direct Input tab hid the slider and point-of-view lists behind the axis list.
Fixed: Direct Input tab hid its identifier and count fields behind the wider boxes.
Fixed: Force feedback did nothing on games that do not use a virtual controller.
Changed: Get XInput State is now Show XInput State, which is what it does.
Changed: Status bar readings hold their place instead of sliding as numbers change.
Changed: A virtual controller failure now says which failure it was.
Changed: Pointing at anything shows its name and what it does in the header.
Changed: Controls tell screen readers what they do, not only what they are called.
Changed: A full virtual controller bus is no longer reported as a fault.
Changed: Direct Input tab arranges itself as the window is resized or the display is scaled.
Changed: Every input has a name that screen readers and automation tools can read.
Added: Help page explains what the light on each controller tab means.
Added: Window opens where you left it, on the screen you left it on.
Added: Program can write out a description of every part of its interface.
Added: Options has a Settings tab that shows where your settings are kept.
Added: Settings can be kept in your own user folder, where no other account can lock them.
Added: Button that opens the settings folder in Explorer.
Added: Settings are copied and checked one file at a time before the old copy is removed.
Added: Settings can be moved and the old folder pointed at the new one.
Added: Program offers to try again or use your own folder when settings cannot be saved.
Added: Draw button in the status bar stops the lists redrawing while the program keeps running.
--4.18.63.0--
Added: Lists dim the rows of controllers that are switched off or unplugged.
Added: Controller tabs explain what their light means.
Added: Issues tab reports a virtual controller Windows did not finish building.
Added: Issues tab says when a restart is needed to finish removing controllers.
Added: Buttons that ask for Administrator show the shield before they are pressed.
Fixed: Controller tab showed a green light when no virtual controller existed.
Fixed: Chart stopped updating on the Triggers and Thumb pages for a row using a formula.
Fixed: Chart line ignored the formula and drew the dead zone settings instead.
Fixed: Controllers this program created were listed as left behind by earlier runs.
Fixed: Removing leftover controllers was refused because the program still held them.
Fixed: Removing leftover controllers reported failures for ones that were not plugged in.
Fixed: One controller that could not be created stopped the other three being tried.
Fixed: A controller plugged in while running was not noticed until the program restarted.
Fixed: A controller just plugged in showed blank or wrong details in the lists.
Fixed: Crash report subject did not say which program and version it came from.
Fixed: Opening a window in the Visual Studio designer failed.
Changed: Auto button on a controller page is now named Auto Preset.
Changed: Buttons at the bottom of a controller page size themselves to their labels.
Changed: Help pages come from one document each, so both versions show the same text.
Fixed: Help page put the indent after a bullet or number instead of before it.
Fixed: Add button on a controller page could close the program.
Fixed: Cancelling the add device window added the devices chosen the time before.
Fixed: Copying a preset could close the program while another program held the clipboard.
--4.18.40--
Fixed: A formula had no effect until the box was left.
Added: The fx button turns green when the formula works and red when it does not.
--4.18.38--
Fixed: Choosing a mapping from the list could crash the program.
Fixed: Program could crash while closing, after its window had gone.
Fixed: Program crashed instead of saying the virtual bus driver was missing.
--4.18.35.0--
Added: A mapping row can hold a formula instead of a single control.
Added: An fx button on each mapping row turns it into a formula.
Added: Formulas can read the clock, in milliseconds since the program started.
Added: Issues tab lists virtual controllers left behind by earlier runs and removes them.
Fixed: Controller picture stayed grey, or moved while nothing was touched.
Fixed: Virtual controllers left behind by earlier runs appeared as real devices and returned after every restart.
Fixed: Removing leftover virtual controllers did nothing unless already running as Administrator.
Fixed: Installing the virtual bus driver added another one each time.
Fixed: Program used a whole processor core while doing nothing.
Fixed: Devices tab buttons and the HID Guardian menu had no icons.
Changed: Mapping rows can be reached by name by a screen reader.
Known: A formula is limited to 16 characters, which is what a mapping is stored in.
--4.18.23.0--
Fixed: Crash reports named no file or line, so a failure could not be traced to code.
Fixed: A failure in work sent to the interface was reported late and without a stack.
Fixed: Errors were never recorded, so problems could not be reported.
Fixed: Clicking the error count in the status bar did nothing.
Fixed: Polling rate setting had no effect.
Fixed: Always on top, start with Windows, remote port and info window settings had no effect.
Fixed: Buttons, lists and boxes were invisible to screen readers.
Changed: Error reports no longer include computer name or user name.
Changed: Error reports show the program name instead of its folder.
Changed: Error report window says what each box is for.
Changed: Status bar shows HW Hz and UI Hz instead of two labels named Hz.
--4.18.12.0--
Fixed: Crash while refreshing devices when the device list changed at the same time.
Fixed: Closing the program could end it with an error about a missing driver file.
Changed: A device thread that is slow to stop is logged instead of reported as an error.
Changed: The device loop no longer waits for the window before carrying on.
Fixed: Controller processing dropped to a crawl whenever any device changed on the machine.
--4.18.7.0--
Fixed: Crash while refreshing devices when the device list changed at the same time. Reading a device list on the refresh thread now takes a snapshot instead of walking the live collection.
--4.18.6.0--
Fixed: Crash when a controller was unplugged and plugged back in. The hidden window that receives device messages was written to from the wrong thread.
Fixed: Interface stopped refreshing for the rest of the session if a redraw failed.
Changed: Device detection lists attached devices only, instead of every device ever installed. Devices that are unplugged still keep their settings and show as offline.
Changed: Interface redraws up to 10 times per second instead of 20. A redraw that runs long skips frames rather than delaying controller input.
--4.17.51.0--
Fixed: Program stopped responding after pressing Add Demo Device on the Devices tab. A list change made on the interface thread was queued back onto that same thread and then waited for.
Fixed: Crash when opening a controller tab while one of its mappings pointed at a device that is no longer present.
Fixed: Trigger dead zone and anti-dead zone ran to the thumb range instead of 0-255. Any setting above 255 flattened the trigger curve or pushed it off the chart.
Fixed: Mapping curve on an inverted axis was drawn rising while its values fell, so the marker sat away from the line.
Fixed: Mapping curve broke into gaps wherever a dead zone made it jump. It is now stroked as one connected line.
Changed: Axis charts show a single black marker for the mapped value, and each guide line matches the colour of the value it reports.
--4.17.50.0--
Changed: About screen credits Nefarius by name.
Fixed: Dead link to vigem.org on the About and Options pages. Project links now point at the author on GitHub.
Added: HID Hide tab. Shows whether the driver is installed, links to its download page, and opens its configuration program.
Changed: HID Guardian tab marked obsolete. It was discontinued by its author in 2023; uninstall stays available and users are pointed to HID Hide.
Changed: Controller picture drawn with Windows Forms; last WPF use removed. Memory drops from 198 MB to 85 MB.
Fixed: D-pad and thumbstick markers overlapped each other on the controller picture.
Fixed: Trigger markers blinked instead of sliding. They now rest below the trigger and rise as it is pressed.
Changed: Navigation glyphs are now bitmaps at full artwork resolution, kept only while being scaled. Saves about 7 MB.
Changed: Error report window rebuilt in Windows Forms. It no longer clips its buttons and fills the window.
Fixed: Changes and License text on the About screen ran together as one paragraph.
Fixed: Tray icon registered without a name, so it could not be identified in Windows taskbar settings.
Removed: Macros tab. Never finished and hidden at start-up.
Removed: XInput tab. Never finished and hidden at start-up.
Removed: Interface files left unused by the rewrites above.
Added: Debug panel button to show all controller glyphs at once.
--4.17.49.0--
Fixed: Crash while refreshing the mapped device list. Most reported crash in support mail.
Fixed: Crash when the active window closed while its process was being identified.
Fixed: Process handle leaked for every running process each time the active window changed.
Changed: Normal DirectInput device conditions are no longer reported as faults.
--4.17.46.0--
Fixed: Virtual gamepad bus client opened and closed a driver handle hundreds of times per second (PR #1604, ykondury).
Fixed: Controller update thread stopped on the first unhandled error, silently ending device polling (PR #1604, ykondury).
Fixed: Failed state send to a virtual controller now replugs it instead of ending the update thread (PR #1604, ykondury).
Fixed: Failed virtual controller connect left placeholder controllers plugged in (PR #1604, ykondury).
Fixed: Failed virtual controller disconnect was reported as success (PR #1604, ykondury).
Fixed: Virtual controller slot outside 1-4 threw instead of returning a result (PR #1604, ykondury).
Fixed: Closing waited forever if the controller thread was blocked in a driver call (PR #1604, ykondury).
Fixed: Application hung while writing an error report when no control had focus (PR #1596, mNandhu).
Fixed: Error report failed to build when the exception carried extra data (PR #1605, Rislantrs).
Fixed: Guide button was not passed to the virtual controller (PR #1473, OmarIskandarani-KSO).
Fixed: Visual C++ runtime is detected by registry version instead of program name (PR #1576, Glitchtest51).
Changed: Removing the virtual gamepad bus checks how it was installed, confirms, and verifies the result.
Changed: Removing HID Guardian clears the HID class filter first and verifies it before removing the driver.
Added: HID Guardian install button in development builds only, so removal can be tested.
--4.17.33.0--
Fixed: Crash on Windows 8 and newer when Microsoft's XInput library was used (only xinput1_3.dll was looked for; now the newest installed xinput1_?.dll is used).
Fixed: Issues panel updated grid and status controls from a background thread.
Fixed: Crash when opening the error report window before any error was logged (missing Logs folder).
Fixed: Crash when a ZIP archive was closed twice.
Fixed: Download retry timer restarted its countdown when the retry interval changed.
Fixed: Remote controller server keep-alive timer restarted its countdown when the interval changed.
Fixed: Image resize by width or height lost the aspect ratio (integer division produced zero).
Fixed: Serialization of key/value and link items failed when a change handler was attached.
--4.17.25.0--
Fixed: Virtual test controller POV sweep crash (wrong variable in range check).
Fixed: Web service GetVendors failed at runtime (entity projection inside LINQ-to-Entities query).
Fixed: Web sign-up generated predictable passwords; now cryptographically random, 12-32 characters.
--4.17.22.0--
Fixed: Crash when selecting unavailable game.
Fixed: Crash when loading user device capabilities.
Fixed: Thread-safety of device online/offline state changes.
Fixed: Guide button sends correct virtual key code; action configurable.
Fixed: Guide button key names parse case-insensitively.
Fixed: Visual C++ 2015-2022 runtime detection on Windows 11.
Fixed: High-DPI rendering - whole UI scales with monitor zoom; also fixes intermittent empty window title.
Fixed: Architecture-specific embedded DLL resolution (32/64-bit XInput and DInput files).
Changed: HID Guardian install disabled for safety; only uninstall is available.
This version is intended to test Virtual Emulation. Download links and instructions can be found here.
Important: x360ce.exe version 4 works differently from old version 3. Version 4 creates "Virtual Xbox 360 Controller" inside your Windows operating system when running. Version 4 is no longer use INI or DLL files inside the game folder. This allows for x360ce.exe to support more modern games. You must minimise (not close) x360ce.exe version 4 during the game to make sure that it can constantly update "Virtual Xbox 360 Controller".
--4.17.15.0--
Fixed: Crash when selecting unavailable game.
Fixed: Crash when loading user device capabilities.
--4.17.13.0--
Fixed: Guide button virtual key code fixed.
--4.17.12.0--
Fixed: Issue when mappings from other games would merge into currently selected game.
Fixed: Sometimes crashing when generating exception info.
Fixed: Guide button map.
Fixed: Another crash when user device information updated.
Fixed: Anti Dead Zone settings reset on application load.
Fixed: Crash when scanning large files for XInput support.
Update: Scanning files for XInput support is much faster now.
New: Clear option in on Trigger and Thumb map page.
New: Option to auto switch configuration when game focused.
On their next update, this section will be refreshed.