Skip to content
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

Semicolon in path prevents x360ce from recognizing "USB Joystick" (and potentially other) controllers #638

Open
cerosrhino opened this issue Jul 10, 2017 · 4 comments

Comments

@cerosrhino
Copy link

@cerosrhino cerosrhino commented Jul 10, 2017

The problem can be reproduced with a generic USB Joystick controller (I don't have any other controllers to test) and with either the 32-bit or 64-bit version of the software. I ran into it while trying to use x360ce with a Steam game that had a semicolon in its name. x360ce refused to work in this particular directory, but worked fine in others, and it took me a long time to find out why...

Steps to reproduce:

  1. Create any directory with a semicolon (;) in its name or rename an existing directory to include this character.
  2. Place the x360ce executable in said directory.
  3. Run x360ce, allow it to create any necessary files.
  4. The "General" tab for the controller is marked with red, the visual cues are grayed out. The controller seems to be completely unrecognized. My controller is a generic gamepad that is normally recognized as "USB Joystick", and in the tab labeled "USB Joystick" I can see that all the input from the controller is being received correctly, but the "General" tab is useless.

I have not verified whether it is just a front-end problem or if it actually prevents the software from working in-game (I tried to run the game and input wasn't working, but that might have been for other reasons, such as the game simply not supporting this way of input). However, the problem is easily reproducible, so I guess it's not that hard to find out.

Perhaps other special characters need to be taken into account as well?

@Squall-Leonhart

This comment has been minimized.

Copy link
Contributor

@Squall-Leonhart Squall-Leonhart commented Jul 23, 2017

semicolons are supposed to be blocked in file and folder names.....

@Nucleoprotein

This comment has been minimized.

Copy link
Contributor

@Nucleoprotein Nucleoprotein commented Jul 23, 2017

Nope, they are not, all character are allowed except /:*"?<>| as well as NUL.

@Squall-Leonhart

This comment has been minimized.

Copy link
Contributor

@Squall-Leonhart Squall-Leonhart commented Jul 23, 2017

The semicolon is a reserved character that can be utilised in cmd/powershell functions.

Windows own api's ignore or truncate the character.

@Nucleoprotein

This comment has been minimized.

Copy link
Contributor

@Nucleoprotein Nucleoprotein commented Jul 23, 2017

Nope mkdir "aaaa;" works fine for me, at is should be, but it need to be escaped by quotes. It should work even in DOS COMMAND.COM.

https://en.wikipedia.org/wiki/Long_filename#Limits

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#NAMING_CONVENTIONS

Semicolon was never reserved character.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.