Opened 2 years ago

Last modified 4 weeks ago

#15406 new feature request

GUI: A better way to enable or disable and configure gamepads/joysticks

Reported by: LukasThyWalls Owned by:
Priority: normal Component: GUI
Version: Keywords: joystick, gamepad, GUI
Cc: Game:

Description

Hello.

The feature request is about putting a better way to make ScummVM allowing the use of the joystick, and maybe making it per game enabled/disabled.

Right now, any option about a joystick appears only if you have a joystick plugged in, appearing in Global Options the Control tab with "Pointer Speed" and "Joy Deadzone", and right away you can move the cursor in ScummVM GUI and inside any game, without do anything more.

I don't want to use a Joystick with ScummVM right now, but I have a gamepad (a Xbox 360 one) for other games always plugged in, and which is maybe a bit old and sensitive, so when I use ScummVM It jiggles a little bit the cursor. I didn't had issues with other games, I only found this with ScummVM, and maybe configuring it a little maybe It moves less or anything, but anyway, I don't wanna use the gamepad anyway.

The only workaround I found to disable the gamepad for ScummVM, is launching it with the command line parameter "--joystick=1" because if there is only one gamepad is detected as 0, the default, so "1" points out to an non-existent Joystick, so It doesn't move anymore.

So going to the points:

  • Use Joysticks by default like It is right now, with the GUI and games.
  • Allow disabling/ignore any joystick input through the ScummVM GUI in Global Options to use with the GUI itself.
  • Maybe better if the disable/ignore Joystick option is always there instead the appearing only when is a Joystick plugged (unlike the "Control" tab works right now, which is something personally I don't like to have completely hidden, maybe a greyed out tab and/or content is better to me).
  • Allowing to set there in the GUI what Joystick use if there is more than one (first one "0" the default as It is now).
  • Allow a "--joystick=-1" or something like that as command line parameter to allow a setting what never will be used by any Joystick (I though about the -1 to maintain backward compatibility as 0 is the first one, but It could be whatever is better). Maybe this can be used right now, but I didn't tested it.
  • Allow a "Control" tab for each game, maybe with enable/disable Joysticks, and which Joystick and "Pointer Speed" and "Joy Deadzone" settings per game. Maybe you don't want to control the GUI with a Joystick, but you want to use it with a specific game.

Thanks in advance.

Change History (3)

comment:1 by github-catch-22, 12 months ago

If you're still interested in having this I could take a look at what might be required. I'm having an issue related to joysticks whereby ScummVM is finding disabled joystick on startup. I'll log a ticket soon.

I have NO experience of development in the area (ScummVM that is). You have to start somewhere. Would one of the current developers be willing to guide me on that path?

comment:2 by tag2015, 3 months ago

Summary: A better way to enable or disable and configure gamepads/joysticks → GUI: A better way to enable or disable and configure gamepads/joysticks

comment:3 by LukasThyWalls, 4 weeks ago

Hello!

I just found the same issue yesterday again and looking up I totally forgot that I was the one pointing out the issue here...

I have to add that I found a way to completely disable the joystick. Looking up in Google again, the AI blurb said something about adding "joystick=-1" into ScummVM.ini (something that is wrong, thanks AI).

​But looking the configuration keys in ScummVM.ini, there is a joystick_num that you can set to -1 (joystick_num=-1) and then the whole joystick settings are disabled (even in the GUI).

It's supposed to be to select the enabled joystick (If there is more than one) and with -1 it seems to select no one.

Anyway, the main point of the request is still valid: these options are half-there but there are not exposed on the GUI, and also you can't enable them per game, only all or nothing.

Thanks!

Note: See TracTickets for help on using tickets.