Is the xbox one gamepad compatible with pc? Xbox One gamepad for PC games

You can update drivers through Windows Update. But sometimes Windows Update may cause update errors. “Device driver software was not successfully installed” is one of the common Windows Update errors. If you receive this message while updating Microsoft Xbox One Controller driver, don’t worry, as you can fix the problem with one of the methods in this post.

There are two methods to fix the problem. Try them one by one until you fix the problem.

Method 1: Uninstall the Driver and Reconnect the Controller

Uninstall the current installed driver in your computer then reconnect the Xbox One Controller. This is to allow Windows to reinstall the driver. Then you can update the driver again.

Follow these steps:

1) On your keyboard, press the Win+R (Windows key and R key) at the same time to invoke the run box.

2) Type devmgmt.msc and press Enter on your keyboard. This is to open Device Manager.


3) Expand category “Microsoft Xbox One Controller” and right click on the device. Then click Uninstall .

4) When prompted to confirm the uninstall, check “Delete the driver software for this device” if you see this option then click the OK button. If not, just click the OK button.

5) Unplug the Xbox One Controller.

6) Restart your PC.

7) Plug the controller again. Windows will install the driver automatically.

8) In Device Manager, right-click on the device and click Update Driver Software…

9) Click Search automatically for Updated driver software. Then Windows will install a new driver automatically.



IMPORTANT: To install the Microsoft Xbox One Controller driver successfully, ensure that you have installed the latest .net framework 4.5.

Method 2: Update the Driver Using Driver Easy

If Method 1 doesn’t work, you can use instead of Windows Updateto update the driver automatically.

You can update your drivers automatically with either the FREE or the Pro version of Driver Easy. But with the Pro version it takes just 2 clicks (and you get full support and a 30-day money back guarantee):

1)and install Driver Easy.

2) Run Driver Easy and clickScan Now. Driver Easy will then scan your computer and detect any problem drivers.


3) Click the Update button next to a flagged Xbox driver to automatically download and install the correct version of this driver (you can do this with the FREE version).

Or click Update All to automatically download and install the correct version of all the drivers that are missing or out of date on your system (this requires the Pro version – you’ll be prompted to upgrade when you click Update All).


If you have any questions, please feel free to leave your comments below. I'd be happy to answer your questions.

Many fans of computer games are familiar with the Xbox 360 controller. It is a well-deserved “veteran” that has a significant army of fans. It can be connected to a computer using a cord or wireless adapter, and many players prefer to play PC games using it. An updated version for Xbox One could also be connected to PC via a micro-USB connector, and also has a number of improvements that will appeal to players. Drivers for this controller have already been released for Windows 8 and Windows 7 and are compatible with the XInput API. Applications that are designed to work with gamepads will be immediately able to work with the new controller.

The Xbox 360 controller has established itself as a solid and high-quality product that lasts a long time and is devoid of any fatal flaws. There has been a steady increase in sales of these controllers, as well as the number of games that can be played using this device.

What's new?
The updated version for Xbox One has absorbed all the best that was in the Xbox 360 controller, it has become more convenient. The shape has changed a little, now the controller fits better in the hands. Many will also note the lack of a battery compartment. Now the back of the controller does not have this protrusion.

However, this controller uses regular AA batteries or similar sized batteries for power. Also worth noting is the absence of holes for screws, improved sensitivity of the DPAD and joysticks, and new vibration motors in the triggers. There are also “invisible” changes affecting the wireless protocol. The Xbox 360 controller operated at a speed of about 1.6 megabits per second. The new version has increased bandwidth by more than 20 times, which allows you to expand the capabilities of connected accessories. One such device could be a stereo headset:
API The main method of working with a gamepad in Windows is to use the C++ API XInput. It should be noted that there are no initialization functions, you simply poll the controller state:

XINPUT_STATE state; DWORD result=XInputGetState(0, &state); if (result == ERROR_SUCCESS) ( if (state.Gamepad.wButtons & XINPUT_GAMEPAD_A) ( //button A pressed) )

The XInputGetState function takes as parameters the controller index (several of them can be connected) as well as a structure with a state where the button values ​​are returned:
typedef struct _XINPUT_STATE ( DWORD dwPacketNumber; //packet sequence number XINPUT_GAMEPAD Gamepad; ) XINPUT_STATE, *PXINPUT_STATE; typedef struct _XINPUT_GAMEPAD ( WORD wButtons; BYTE bLeftTrigger; BYTE bRightTrigger; SHORT sThumbLX; SHORT sThumbLY; SHORT sThumbRX; SHORT sThumbRY; ) XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;

The buttons are coded with bits:

#define XINPUT_GAMEPAD_DPAD_UP 0x0001 #define XINPUT_GAMEPAD_DPAD_DOWN 0x0002 #define XINPUT_GAMEPAD_DPAD_LEFT 0x0004 #define XINPUT_GAMEPAD_DPAD_RIGHT 0x0008 #define XINPUT_GAMEPAD_START 0x0010 #def ine XINPUT_GAMEPAD_BACK 0x0020 #define XINPUT_GAMEPAD_LEFT_THUMB 0x0040 #define XINPUT_GAMEPAD_RIGHT_THUMB 0x0080 #define XINPUT_GAMEPAD_LEFT_SHOULDER 0x0100 #define XINPUT_GAMEPAD_RIGHT_SHOULDER 0x02 00 #define XINPUT_GAMEPAD_A 0x1000 #define XINPUT_GAMEPAD_B 0x2000 #define XINPUT_GAMEPAD_X 0x4000 #define XINPUT_GAMEPAD_Y 0x8000

The situation is a little more complicated with the meanings of the triggers and two joysticks. The values ​​of the X, Y axes are within SHRT_MIN-SHRT_MAX (-32768 +32767), and for triggers _UI8_MAX (255). Typically in games these values ​​are normalized to -1.0 +1.0. Also for joysticks, the so-called dead zone should be taken into account. The returned values ​​of the axes in the neutral position may differ from zero, and in order to ignore them, you should use the standard values ​​of the “dead zone”, which should be calculated using the following algorithm:

Float magnitude = sqrt(state.Gamepad.sThumbRX*state.Gamepad.sThumbRX + state.Gamepad.sThumbRY*state.Gamepad.sThumbRY); if (magnitude > XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE) ( //the joystick has actually been moved)

The standard values ​​for these thresholds are as follows:
#define XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE 7849 #define XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE 8689 #define XINPUT_GAMEPAD_TRIGGER_THRESHOLD 30

You can look at more detailed examples of working with a gamepad on the website code.msdn.com and also use the wrapper that is included in the DirectX Toolkit.
In addition to functions directly related to polling controller states, XInput also includes functions for controlling vibration motors and connected accessories, for example for recording voice from a headset or playing audio to a headset.

Joystick support is also available for managed code in the XNA library and Monogame. The Internet Explorer Developer Channel includes an experimental implementation of the W3C Gamepad API and you can use your controller to create HTML/Javascript games for both the web and Windows 8 apps:

Gamepad API Sample function gameLoop() ( var gamepads = navigator.getGamepads(); for (var playerIndex = 0; playerIndex< gamepads.length; playerIndex++) { var gamepad = gamepads; if (gamepad) { if (gamepad.buttons.pressed || gamepad.buttons.pressed) { // A trigger is pressed, fire weapon. fireWeapon(playerIndex); } } } window.requestAnimationFrame(gameLoop); } gameLoop();

If you want to implement gamepad support in an HTML5 game for Windows 8 now, without waiting for the next version of Internet Explorer to be released, then you can use the XInput wrapper for Javasctipt.

Gamepad support is also available in Unity3d. The Input class contains all the necessary methods for working with controller states:

Using UnityEngine; using System.Collections; public class NewBehaviourScript: MonoBehaviour ( void Start () ( ) void Update () ( var axisX = Input.GetAxis("Horizontal"); if (Input.GetButtonDown("A Btn")) ( // button A is pressed ) ) )
Just remember to configure the correct names for the buttons and joysticks (Edit / Project Settings / Input):

From the examples given, it is obvious that working with a gamepad is very simple and does not require very complex efforts. If you are developing a game for Windows 8 using C++, C#, Unity or HTML, be sure to enable gamepad support, this feature will appeal to many players.

useful links
  • Try Azure free for 30 days!
    • Microsoft Azure Development Center (azurehub.ru) – scenarios, tutorials, examples, development recommendations

The Xbox One controller is rightfully considered one of the best gamepads that works not only with the Xbox One / One S / One X console, but also with Windows computers. You can easily connect your gamepad to your computer and play your favorite games comfortably. This short instruction will tell you how to connect the Xbox One S wireless controller to your Windows 10 computer.

Connecting an Xbox One controller to a Windows 10 computer

First of all, you need to check what kind of gamepad you have. To freely connect the controller to your computer via Bluetooth, you need the updated version of the controller, which was released with the Xbox One S in 2016. It features Bluetooth connectivity, a redesigned design and a textured back for a more comfortable grip. You can tell the old controller from the new one by the design of the Xbox button. In the new version, the button is built into the main body of the gamepad, whereas in the old version, the button is part of the structure with triggers and bumpers. If you have a white controller, then the updated Xbox One S variant will have white additional buttons, as well as a white back. In the white controller from the original Xbox One, the additional buttons, the back side, and the plastic around the Xbox button are painted black.

For the controller to work correctly, your computer must be updated to Windows 10 Anniversary Update 1607 or later. To check your Windows 10 version, press Win + R and type winver. In the window that appears, the operating system version number should be 1607 or higher (1607, 1703, 1709, and so on). If your computer is not updated to 1607, download all available updates, or update manually.

Of course, the PC must be equipped with Bluetooth, otherwise the gamepad cannot be connected wirelessly. If your computer does not have Bluetooth, then you will have to buy a USB adapter. It will work exactly the same as built-in Bluetooth.

The gamepad connects to the computer very easily, since it was created to work with Windows 10 devices.


After this, the gamepad will be ready for use at any time. If it sits idle for 15 minutes, the controller will automatically turn off to save battery power. To turn it back on, simply press the Xbox button. It will blink once and then begin to glow. This serves as a signal that the gamepad is paired with the computer and is ready for games.

Note: The 3.5mm audio output does not work when the gamepad is connected to the computer wirelessly. Additionally, this connection method does not support chatpads or other controller accessories.

If it turns out that you have an older version of the Xbox One controller, then the connection process will be a little more complicated. The computer must be equipped with a special adapter to work with Xbox-certified peripherals. These are like dongles for wireless keyboards. Some manufacturers install Xbox Wireless adapters directly from the factory, but such computers are very rare. You will most likely have to buy a wireless adapter to pair your computer with the controller. Another option is to purchase a connection cable. This type of connection will be more reliable in a sense, but this method is not as convenient as connecting via Bluetooth or using a wireless adapter, which is quite obvious.

Please also note that you can connect your Xbox One S controller to your computer using a microUSB cable. In this case, the controller will simultaneously receive power from the computer and work in your games.

How to connect an Xbox One gamepad to a Windows 8/7 PC wirelessly

On Windows 8.1 and Windows 7 computers, only wired mode is supported. These devices do not support connecting an Xbox One S controller via Bluetooth. You just need to connect the controller via a microUSB cable to your computer, after which the PC itself will find all the necessary drivers and prepare your wonderful gamepad for work.

Note: To use your controller again with your Xbox after connecting it to your computer, you must re-sync your controller with your console.

How to find out the battery level in a gamepad

If you connect a controller to your console, then Xbox will display the remaining charge level on the dashboard. If you connect the controller to a computer, you will need third-party utilities. Windows 10 does not yet have a system indicator of the battery status in the gamepad, which is a very big drawback of the operating system, which places a big emphasis on games.

One very small but effective program will help you in this matter. It places your controller's battery indicator in the notification area. Please note that the application only works when connected to a gamepad and must be launched every time you turn on the controller. Despite this feature, the application effectively displays the remaining charge percentage for Xbox One, Xbox 360 and any other XInput-compatible controllers.

Download the utility from the link from GitHub. Unpack it to any location convenient for you, and then run the XB 1ControllerBatetryIndicator .exe file. An icon of the controller and its batteries will appear on the taskbar as in the screenshot above.