frogthefrog / steam-gyro-for-cemuhook Goto Github PK
View Code? Open in Web Editor NEWApp to add Steam Controller's motion support to Cemuhook
License: MIT License
App to add Steam Controller's motion support to Cemuhook
License: MIT License
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.
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.
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.
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
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.
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?
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.
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.
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...
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
When "Also use for buttons/axes" is selected, both the left and right stick inputs will go all the way to the left.
Try to add it...
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.
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 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?
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.
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.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?
is there something i'm missing? i can't find the executable anywhere in the files.
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:
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 :)
I had tried adding Mac support to my PR #24, but a few things are holding this back:
master
currently uses that version, but not the npm release one.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)
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.
I don't know if it is possible, but it would be great if the app could use a controller that is being used through the new steam link app or an actual steam link.
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.
I really like the DS4 controller and I know I can use the version of DS4Windows, but can this work with the DS4 gyro through steam drivers. Thanks!
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)
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.
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?)
Log file:
sgfc.log
Hello,
is there a way to use this on a mac?
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.
users with the default port in use already (such as by scp-service) encounter a problem where steam-gyro.json is never able to generate, even if the server restarts on another port or local address that isn't in use afterwards
So when i run your program I get this error, Error: bind EADDRINUSE 127.0.0.1:26760
and it dies instantly. Any idea why? or do you need the whole log?
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.
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.
There would be a possibility to get support for raspberry pi?
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!)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.