GithubHelp home page GithubHelp logo

frogthefrog / steam-gyro-for-cemuhook Goto Github PK

View Code? Open in Web Editor NEW
162.0 162.0 18.0 2 MB

App to add Steam Controller's motion support to Cemuhook

License: MIT License

TypeScript 91.31% JavaScript 2.33% HTML 3.62% SCSS 2.75%

steam-gyro-for-cemuhook's People

Contributors

frogthefrog avatar pcktm 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

steam-gyro-for-cemuhook's Issues

Gyro not inputting correctly

I'm not sure why this issue happens but after about a minute or two of gameplay the gyro stops working correctly. Every time I look up it tilts to the right, and if I look down it tilts left. It's a nightmare playing any game with motion support, happens with every controller I've tried. I thought it could've been an error with betterjoy with my switch pro controller, but it still happens with DS4Windows; so my last guess is that it's this. Been having this issue for over a year now, ever since I first tried it.

Steam controller not detected in Bluetooth low energy mode

First of all, I appreciate your work with this app, it has been invaluable to me and many others, so thank you for all your work.
The steam controller is not detected in the application when in BLE mode, it works fine wired.
I cannot test with the original dongle as it has gone to electronics heaven.
I am running the newest version of the steam controller firmware.
*EDIT I tried earlier versions, it was also not showing up on the devices tab, all it showed was my keyboard.

Lagging haptics and controller rumble gets stuck

Whenever the tool is open, the controller will just skip over some of the haptics for each input. This is most noticeable with the right pad's haptics. In addition, the emulated rumble will always get stuck whenever the controller is supposed to vibrate. Changing the rumble frequency setting does nothing to solve this. This happens across all games.

Ubuntu 20.04: buttons/sticks or motion. Not both at the same time.

Hello,

I'm trying to configure this to work with the Yuzu emulator under Ubuntu 20.04.

I'm able to launch the AppImage and I can see it listening on UDP port 26760. I see my steam controller getting recognized by steam-gyro-for-cemuhook. And I can see accel and gyro data as i move the controller around.

When I launch the Yuzu emulator I'm able to select the steam controller and configure it to connect to local UDP port 26760. And motion controls work in game.

Unfortunately nothing else works. What I've been having to do is start a game with steam-gyro-for-cemuhook not yet running. Then play the game until I get to a point where I need motion controls. Then I start steam-gyro-for-cemuhook and configure the emulator to use it as a motion provider. At that point all the buttons and sticks are no longer available to be configured.

So at the moment I can only seem to use buttons/sticks or motion. Not both at the same time.

There's a tool called jstest-gtk I've used to test controllers/joysticks under linux quite alot and it gives me a little insight as to what's going on. When steam-gyro-for-cemuhook is running that tool seems to take ownership of the steam controller. jstest-gtk can't see the steam controller as a configurable controller while steam-gyro-for-cemuhook is connected to the steam controller. The same seems to be true for the Yuzu emulator.

Is there a way to work around this?

Thanks,
Dave

Gyro will not work unless the "Steam Gyro for Cemuhook" windows is visible and focused.

Steam controller gyro will not work unless the "Steam Gyro for Cemuhook" window is open, visible and focused. If the Cemu windows is focused or fullscreen, the gyro stops responding.

I have tried to run Cemu and Steam Gyro for Cemuhook as administrator. Tried various version combinations of Cemu and Steam Gryo.

I am on Windows 7 64-bit, latest version.

Thanks.

Custom port keeps reverting to standard.

Every time I start up the .exe, I get the following error:

Error: bind EADDRINUSE 127.0.0.1:26760
at state.handle.lookup (dgram.js:242:18)
at process._tickCallback (internal/process/next_tick.js:63:19)

I have altered cmuhook.ini to use 26761 port, and everything works fine when I reload the server with the matching port. My problem is that when I start up the .exe again, it reverts to 26760. This causes an error every time.

I don't have a .json file to edit as you suggested in a previously closed issue.
Any thoughts?

Feature request

I figure that it can't hurt to ask. Can this software be modified to work with steam controllers which are connected to the steam link? Or even ps4 controllers connected to steamlink? I want to play from my tv a few rooms away, instead of my pc monitor.

CEMU 1.18.0 & 1.18.1 using new API DSUClient works with lag

I tried to test new built in API for Motion on input settings with the dsu
steam-gyro-for-cemuhook

the problem its self, no rumble support anymore and big Lag, all the controll take long time to response, more than a second i think.

using the old cemuhook and xinput works perfect like always

VERSION 1.18.0 have the bug
VERSION 1.18.1 have the bug

i dont know if the problem came from emulator or the DSU.

Fusion with CEMU project

Can you please enter in touch with CEMU dev to integrate your projet as an option in CEMU and work with them to improve Steam Controller integration in CEMU please ? So the work of controller/Steam Controller/Steam Gyro. Controller will be common to all CEMU related dev. :)
Because it's difficult to make simply playable CEMU, so for sit on the crouch, playing on the TV, with a Steam Controller, connected to a Steam Link to your PC, running Steam Big Picture mode, who running Z:BOTW in CEMU, you need to be a dev. for do all of that !

What do you think about an option in CEMU who auto. configure Steam Controller (and Gyro too) in one click ? It would be better than go to GitHub to get an app. that nobody know for configure it ONLY for have the Gyro., not a game fully playable, only the gyro., for the rest you need a ton of configuration...

question: how to use udp to just get battery level

sorry if dumb question i see that you are using the UDP connection i am wonder is there a easy way to just get battery data i am writing a electron app that uses controller for navigation and i am having a really hard time understanding how you are getting information from ds4windows.

Thanks

'Steam Gyro encountered a fatal error!'

Hi there, I'm new here and just wanted to say thanks for posting this app for the steam controller!
Unfortunately I've run into an issue where I can't seem to restart the server for the program to work.
Upon starting the application I'm met with the error:

error: Error: bind EADDRINUSE 127.0.0.1:26760

After changing the server address to 127.0.0.2, etc. within the program as well as in the generated .json file (as you've instructed) I then opened the program again which provided me with a new error:

2018-04-27T16:46:42.634Z - error: FATAL ERROR!
2018-04-27T16:46:42.635Z - error:  
[ { keyword: 'type',
    dataPath: '.silentErrors',
    schemaPath: '#/properties/silentErrors/type',
    params: { type: 'boolean' },
    message: 'should be boolean' } ]

I don't know where I'm going wrong so any feedback and help would be greatly appreciated.

Cemuhook does not detect gyro or controller (version 1.2.0)

steam-gyro version: 1.2.0
Cemu: 1.13.0f
cemuhook: 0.5.6.5
Date last produced: 2018-08-19

Description: Cemuhook does not detect the steam controller or the gyro when selecting gamepad motion source. Instead reads "DISCONNECTED" and does not produce motion in-game. Attempts have not been made to use the pre-release version 1.3.0 (See links below)

Expected behavior: When selecting a motion source, DSU1 should show information about my devices MAC address and allow me to select it.

Images:
Cemu sceenshot showing "DISCONNECTED" status for all motion sources (imgur.com)
Windows notification showing that the UDP server was started (imgur.com)
Screenshot of Steam Gyro settings page, demonstrating default settings (imgur.com)

Support selecting from multiple controllers

Support selecting from multiple controllers when detecting multiple active.

I mostly want to add this in anticipation of adding Dualshock 4 support, but I am running into issues refactoring it to do so. @FrogTheFrog I was just curious, did you have any work on this so far?

Not connecting to Steam Controller

The app seems to no longer be able to find the Steam Controller. The UDP icon stays red, the tooltip reads "disconnected".
The Steam Controller is connected via cable and works fine in all other apps. I've tried switching to different cables, different USB ports, re-downloading the app, restarting the PC, but to no avail.
It seems going back to 1.3.1 seems to fix it.

How to contact author, FrogTheFrog?

First let me apologize by polluting your "Issues" section with something that is not truly an issue, but I could not find any other way to contact you. I really don't have anything super urgent to speak about... I was just a bit astounded when I came across this project, since as of as little of a week ago, nothing of this kind existed. As I'm sure you did, I searched for any projects related to capturing the Steam Controller gyro data so that I could redirect it over UDP to CemuHook but, I could not find anything substantial. So, like you, I started working on my solution as well, but haven't made it as far as publishing a project on GitHub yet (though that step was coming at some point.) If possible, I would like to ask you a couple of questions concerning how you accomplished things versus the way I went about it. If you are ok with that, could you shoot me an email so that I will have your email address? My email is my github nickname at gmail.com. Oh, and thanks for sharing your great project. I think a lot of people will find it useful even if not directly using it for CemuHook (for example, capturing the Steam Controller gyro data for other purposes).

Cemu 1.20.0b no connection!

Cemu 1.19.3 was fine yesterday steam updated today as well as Cemu to this patreon Cemu 1.20.0b build then steam controller doesn't connection in cemu but the "FrogTheFrog/steam-gyro-for-cemuhook" shows a connection. Steam shows a connection too but cemu doesn't?

Can't get device connected

every time I try to use the software, i can't get it to connect. This is what i see whenever i follow the instructions on how to use it.
Screenshot (91)

can't find executable

is there something i'm missing? i can't find the executable anywhere in the files.

Gyro only work if Big Picture was focused

Version Frog: 1.2.0

Observed: Frog doesn't detect any Gyro input, unless I started big picture and kept it at least semi focused. (meaning I was on bigpicture, and I used the win-key to see my taskbar and access cemu or padtest or any other soft)

Expected: for Frog to detect Gyro input all the time (if it's possible, I could be understanding this wrong)

How to reproduce:

  • start frog server and start big picture (order unimportant here)
  • tab out of big picture
  • start padtest, or just open frog server UI to see the data. Gyro will not be working.
  • re-focus on big picture, then use Win-key to be able to re-focus padtest or frog-server UI. Gyro will now be working.

I'm not sure this is an error, or if the way steam handle things make this happen
If it's an error and you need any other info, I'll be glad to help :)

MacOS support

I had tried adding Mac support to my PR #24, but a few things are holding this back:

  1. node-hid needs to be updated to use hidapi 0.9, as the interface numbers weren't populating properly in the device listing prior to that. node-hid on master currently uses that version, but not the npm release one.
  2. hidapi on mac currently only opens the device in exclusive mode, which leads to a lot of deadlocks while trying to use this. There's a bug report here: libusb/hidapi#27

App is using GPU explicitly (on Windows at least)

I don't have an issue per se with it doing so,
but given the simplicity of what this application provides I've got curious why it's listed in Nvidia's GPU activity list.

As far as I can see it this is using a website as UI, requiring something like CEF.
I however don't see anything that would actually require "Hardware Acceleration".
Can this either have the usual "Disable Hardware Acceleration" checkbox known from browsers or disable it outright? (unless it impacts something crucial of course)

Judder

I've been using this on CEMU, and I've noticed that there's a constant subtle juddering making precise aiming a little more difficult. It feels like the polling rate on this might be lower than what the Steam controller normally does when used via SteamInput.

I haven't been getting this issue when using other controllers with cemuhook.

Connection Icon Flashes Orange/Green

It keeps changing from "Connected" to "Device connected | No UDP connection" every second or so. Is that normal?

I'm asking because I can't get it to work in Yuzu. The emulator says that it "Successfully received data from the server" when I click on "Test", and yet, when it asks me to "Shake!", I can't get the motion to map. It should say "Motion 0" but nothing happens.

RangeError

As soon as I open Cemu or pad test, I get this error, can you help me figure it out please?

2019-09-07T00:39:45.684Z] RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= 0 and <= 4294967295. Received -896183418
at checkInt (internal/buffer.js:35:11)
at writeU_Int32LE (internal/buffer.js:513:3)
at Buffer.writeUInt32LE (internal/buffer.js:526:10)
at t.UdpServer.handleReport (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:18:113282)
at t.controllers.(anonymous function).subscription.add.add.e.onDualshockData.subscribe.e [as _next] (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:18:108900)
at t.__tryOrUnsub (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:16:3215)
at t.next (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:16:2360)
at t._next (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:16:1412)
at t.next (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:16:1083)
at t.next (C:\Users\Simon\AppData\Local\Temp\nstCF0E.tmp\app\resources\app.asar\dist\main.bundle.js:16:8340)

Support for DualShock 4 and Switch pro controllers

Hi,
would it be possible to add support for the controllers in the title? I know there is software that makes them work already but that requires Steam controller support to be disabled for them which makes the Steam input mapper not to work when playing Steam games. This would also be useful when playing through the Steam Link app. The only way to make the DualShock 4 work would be by connecting it wired to the Steam Link and using VirtualHere so the gamepad is recognised in the host machine so DS4Windows can find it.

steam-gyro-for-cemuhook.exe terminates itself/crash - RangeError

Description:
see screenshot and log file.

The error occurs after a while (fresh boot) of normal use. Consecutive starts of the program after the initial error yield in immediate errors if the steam controller is powered on and connected and
set as motion source in cemuhook.
Rebooting the PC helps but as stated above only lasts a little while (maybe 2 minutes).

the negative sign of "value" (see log) indicate a false 'signed/unsigned' variable declaration (or conversion I guess?)

screenshot

Log file:
sgfc.log

Add gyroscope deadzone/sensitivity adjustment support

When I hold the controller steadily, it registers micromovements that result in camera jitter while aiming in BotW on Z axis. Even if I place the controller on a flat surface, it still jitters for 5 seconds until it stops sending input.

[Feature request] SteamDeck's gyro support

Hi
I've tested SteamDeck's gyro using AppImage release however software cannot pick it up. Is there a way to add support for SteamDeck's gyro?
If you need any logs or files I'll happily provide them.

App crashes if you open the UI then hide it

It seems that when you open the UI, the backend starts periodically sending connection-status updates to the frontend (among others, but that's the one crashing it for me).

If you click "Hide", and wait 5 seconds for it to destroy the renderer it'll crash with the error Object has been destroyed.

I think the problem is that the connection-status updates keep getting sent even when the destination no longer exists. I tried to fix it myself, but I don't really understand how the IPC system works well enough to know what I'm doing.

In the "sending" code, a check that ensures the destination still exists before passing the message would probably fix this though.

Gyro doesn't work with steam overlay

Hi, I just bought the Steam Controller and downloadede this awesome program so I'm a Little bit noobie here hehe
Well, the issue is, when I open cemu without Steam, gyro Works cool, but when I open with Steam (I don't rly open Cemu, I open this bat file converted to exe )
Cemu for Steam Controller.zip
I open everything as an admin, but gyro doesn't work.
I've seen that some people sugest to use "Also use for butons/axes" from GamePad motion source, but I don't like too much the controls.
I'm doing something wrong to get steam overlay + cemu + gyro work together, or this is imposible?
Thx (and nice work with this program, I love it!)

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.