-
Notifications
You must be signed in to change notification settings - Fork 208
Add Support for GameSir Cyclone 2 #334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Added usb id for GameSir Cyclone 2, both wired and wireless
|
The right stick axis seems to be working okay, but as per #303 gamepad tester on google chrome doesnt pick it right On the other hand i cannot get the triggers to work as expected, they do give correct values but maybe on the wrong input number? |
|
I stumbled across your pull request while trying to get the Cyclone 2 working properly with CrossCode running the 64-bit Linux native version from Itch.io (It has notoriously bad controller support) on Manjaro. I was unable to play this version of the game because the Left trigger makes you permanently aim left and the right analogue stick can only aim up and down and a whole host of other issues. Apparently this is fixed in the steam version, but not in the non-DRM versions due to the way the game is built. I implemented the same change that you have here and the controller continued to work in the games on Seam that I tested and now shows up in the Steam interface more correctly as you show in your above post. However it still would not work in this version of CrossCode. Through a bunch of trial and error I was able to get it working correctly but I am new to fiddling with this part of Linux so I don't fully understand the implications of the changes I made as I was struggling to find documentation about the structure of the device entries in xpad.c. Rather than this: I ended up with this: The thing I can't seem to find documentation on or any other examples of is the use of the 2 in the mapping position for this controller. It seems that everything else I could see in my own xbpad.c and in any I came across are have the mapping set to 0. I tried it like with 0, with nothing, with nothing set to XTYPE_XBOXONE, with nothing set to XTYPE_XBOX360, and all of these with and with out several different quirks, flags, and anything else I could think of. On a whim I set the mapping value to 2 and now it works better than ever. I don't even have Steam input enabled on the Linux64 bit CrossCode added as a non-steam game and the controls were automatically mapped in Steam, they work running the game with Steam closed, and so far have worked in everything I have thrown at them. I was wondering if you might know why the 2 could be helping? |
|
Hey @zabrak, thanks for the input Can you check if you still have trigger sensibility? You can try on steam i guess, as I don't know any other reliable place / program to use |
|
Ah, I see you are correct on that one. With the mapping set to 2 I no longer have the pressure sensitivity on my triggers. On the plus side that makes the game work. On the down side it means less functionality in the controller when it was already working totally fine before I messed with it. Changing it back to what you have set the triggers have proper sensitivity in Chromium and Firefox and continue working as they always have in any other game I have tried. I did several more tests and searching and it does sounds like this situation is a quirk of this particular game and the way it was built that is causing the issue. I found information about it being built in nw.js and between the devs not exposing the controls for remapping and it being essentially a web Browser in the background it makes it fairly incompatible with 'non-official' controllers. There are versions of it that work more properly but in this case the native Linux one is just kind of broken. Thank you for the help. |


Added usb id for GameSir Cyclone 2, both wired and wireless.
Even though it should be auto recognized, the controller doesn't work and only kbd and mouse devices are added.
I added both ids to the code and now it gets detected and works.
The audio port does work too in both modes.
Signed-off-by: Angel Garcia Alvarez [email protected]