Giter Club home page Giter Club logo

stadiacontroller's Introduction

Stadia Controller

Support for using the Stadia Controller as an Xbox 360 controller on Windows.

No longer maintained

This project is no longer maintained. Please take a look at the following alternatives if you have issues with stadiacontroller:

  • StadiEm seems more stable, but is in C# with no official builds.
  • XOutput does not support vibrations, analog triggers and additional buttons, but it has more features and is more stable overall.

Supported features

  • All buttons are mapped to their Xbox 360 equivalents.
    • Triggers are analog.
    • For the Assistant and Capture buttons which have no Xbox 360 equivalent, the command line flags -capture-pressed, -assistant-pressed, -capture-released and -assistant-released can be used to specify custom commands to run when those buttons are pressed and released.
      • For instance, -capture-pressed "sharex -PrintScreen" takes a screenshot when the Capture button is pressed.
  • Vibrations are supported.
  • Emulation via ViGEm (must be installed), which means that everything just works. There won't be pesky Denuvo games that refuse to accept that input.

Installation

  1. Install ViGEm.
  2. Download a release from the releases page.
  3. Extract the zip into a directory.

stadiacontroller's People

Contributors

71 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stadiacontroller's Issues

[Feature Request] Add an option to automatically add as a scheduled background task

I've finally remembered to try making a scheduled task for this, and it appears to be working. It doesn't make the log window pop up (saves space) and still works. I'll be testing later if it works with the "run on startup" trigger enabled without any user input.
Just a little batch file or something would be nice, to get a one-click solution.

Analog positions freeze if returnded to center too quickly

If I let any of the analog triggers or sticks "snap" back to center, the position shown in game or in gamecontroller settings still shows the trigger as being pressed. Only if I use that or any other trigger again, it seems to refresh. So to me it looks like the analog positions only refresh if something other than zero comes from the controller.

[Bug] Rumble stop working after a couple of minutes

On my machine (Windows 10 x64 20H2) the rumble works great at the start, but end up stopping working (no rumble at all) after a couple of minutes. The bug can be reproduced easily when playing Halo MCC or many of the Call of duty. Unfortunately, I do not see any error message in the console that opens with the app.

Controller is recognized twice

In order to play Fifa on Windows, I have installed an emulator for my Stadia controller, which now simulates an Xbox 360 controller. Now for the problem:
Because two controllers are now connected, i.e. the normal Stadia and the digital simulated one, all inputs are made twice. If I disconnect the Stadia controller in the settings, the simulation programme no longer works.
How can I solve this problem?
Thanks for answers
Karl

Command Prompt closes

When I excecute stadiacontroller.exe a short command prompt window appears (accompanied by a windows connecting jiggle sound), and the windows closes immediately after than. Earlier today it worked fine (the cmd window stayed opened), but after a fresh Windows 10 Pro installation, it just closes and my controller isn't working in games anymore.
Any ideas?

Issue with vibration (rumble stop working)

Hello,
Thanks for your work, I used v1.3.1 on pc game Gears 4 but after 10 minutes of gaming, the vibration on Stadia controller gone, I have to stop and start manually the .exe (Stadiacontroller 1.3.1) to have the vibration again. I have the same issue on Battlefield V, the vibration stopped after few minutes (about 10 minutes) of gaming.

Thanks in advance for your work and your help :)

Regards

command controller empty

Hello, I used it in the past week stadia controller and works perfectly.
Now after connecting via SCP toolkit one joystick, now does not work the other stadia controller, and the black window appears empty. Even the Xbox controller appears connected, but the joystick does not respond.
I can do anything about it?
Bests

[Bug?] Refuses to work outright "overlapping IO operation in progress"

Hello there.

I've tried getting this to work, but I can' get it past the following error message where it refuses to work outright:

2020/12/12 12:24:04 unable to connect to emulated Xbox 360 controller: Overlappe d I/O operation is in progress.

When Googling I only find issues related to corrupt .net installations.

Any help would be appreciated. Would be happy to collect further logs if you point me to them.

StadiaController isn't recognized anymore

So I used the pad for a year now, but it just stopped being recognized by Windows 11.
I even installed a fresh copy of Windows 11, but to no avail.

Software I installed:
-VC Redist x64
-WinDesktopRuntime 6.0.6 x64
-ViGEmBus_1.21.332_x64_arm64
-stadiacontroller.exe & ViGEmClient.dll
-StadiEm
-StadiaWireless

Normally I'd start "stadiacontroller.exe", a cmd window would pop up telling me the pad has been recognized.
Now I don't get any notes in the cmd, it just stays empty and the pad isn't recognized.

I also installed the following software, which can detect my PS4, but alas not the Stadia controller:
-DS4 Windows
-XOutput
-JoytoKey
-x360ce

Any idea why the stadiacontroller.exe isn't working anymore?

Edit:
In x360ce I can check if a pad is detected and it is indeed. It recognizes and visually displays of my inputs.
I also can add my Stadia controller to map buttons. This seems to work from all the mentioned software.

Does ControlStadia still work with Gamepad Tester?

I tested control stadia on: https://gamepad-tester.com/
The controller is recognized, but no inputs are received. Does anyone else experience this issue?

I also tested on: https://devicetests.com/controller-tester
and did not get the controller to work.

The controller did work on this site, but it is also more basic: https://greggman.github.io/html5-gamepad-test/
I also got results on this site too: https://gamepadtest.com/

I modified the project to allow the other three sites in case anyone was wondering.

Rumble not working at all

Hello, I'm using the latest version of the software, but I've noticed that the rumble does not work in any game, even in controller testers, is this normal ? Thanks

Playnite not detecting

when using this and playnite full screen, the controller does not get detected at all. feels like there should be customizability when using this software to get that to work

Unknown report format error

The console is spammed with unable to parse controller report: unknown report format if I press any button on my stadia controller.

Creating XBOX_360_DEVICE even though Stadia controller isn't connected

I'm getting an intermittent issue where stadiacontroller is creating the XBOX_360_DEVICE even though the Stadia controller isn't connected. There's no output or error messages in the program output. It still detects the controller after connecting it, so it wouldn't be a problem, except the programme has a constant, relatively high CPU usage (around 12-13%).

[Feature Request] Support for second Stadia Controller

Hello,
Do you think that it would be possible to add support for a second Stadia controller ?
I looked a bit to your code and it seems to be possible but I don't know Go nor do I know about Xinput, DirectInput and those things.

I'm a dev too so if you have an idea how to do it, maybe I could try to adapt it myself.

Thanks a lot

[question] Is it necessary to import cgo in vigem.go ?

I ask for the stupid question, In the Send(report *Xbox360ControllerReport) method, report.native is C struct, why not use go struct?

/*
#include <stdint.h>

typedef struct
{
	uint16_t wButtons;
	uint8_t bLeftTrigger;
	uint8_t bRightTrigger;
	int16_t sThumbLX;
	int16_t sThumbLY;
	int16_t sThumbRX;
	int16_t sThumbRY;
} xusb_report;
*/

import "C"

type Xbox360ControllerReport struct {
	native    C.xusb_report
	Capture   bool
	Assistant bool
}


func (c *Xbox360Controller) Send(report *Xbox360ControllerReport) error {
	libErr, _, err := procTargetX360Update.Call(c.emulator.handle, c.handle, uintptr(unsafe.Pointer(&report.native)))

    //...
	return nil
}

yeah, I try to use go struct, but fail.

I want the virtual xbox to work like this:
nomal.gif

And I get :
error.gif

I'm confused, I'd appreciate it if I could get some advice.

fps drops

Hello, first of all, thanks for this good tool. When using this, i saw in options of Assasin screen Odyssee that i had FPS drops. Any idea where it could come from ?

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.