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

Logitech F310 default config #2438

Closed
Cyberpangolin opened this issue Feb 16, 2016 · 14 comments
Closed

Logitech F310 default config #2438

Cyberpangolin opened this issue Feb 16, 2016 · 14 comments

Comments

@Cyberpangolin
Copy link

Hi there!

I noticed the default config for the Logitech f310 Gamepad was - totally - awful: not really usable, and not logical. What I particulary didn't like was the acceleration on the top arrow: even if it might look ok when coding, it means you lose acceleration when you turn.

Here is a proposal for the default code:
<gamepad name ="Logitech Gamepad F310" deadzone="4096" desensitize="0" analog="1" enabled="true"> <action name="steerLeft" id="0" event="2" character="48" direction="0" range="0" /> <action name="steerRight" id="0" event="2" character="48" direction="1" range="0" /> <action name="accel" id="0" event="3" character="48" /> <action name="brake" id="2" event="3" character="48" /> <action name="nitro" id="5" event="2" character="48" direction="1" range="1" /> <action name="drift" id="4" event="3" character="48" /> <action name="rescue" id="3" event="3" character="48" /> <action name="fire" id="5" event="3" character="48" /> <action name="lookBack" id="2" event="2" character="48" direction="1" range="1" /> <action name="pauserace" id="7" event="3" character="48" /> <action name="menuUp" id="1" event="2" character="52" direction="0" range="0" /> <action name="menuDown" id="1" event="2" character="52" direction="1" range="0" /> <action name="menuLeft" id="0" event="2" character="52" direction="0" range="0" /> <action name="menuRight" id="0" event="2" character="52" direction="1" range="0" /> <action name="menuSelect" id="0" event="3" character="52" /> <action name="menuCancel" id="2" event="3" character="48" /> </gamepad>

Thie proposal is inspired by what I remember of old playstation race games, and means that all needed functions come under the finger when needed.

Here is a schematic of which button makes what:
manetteenglish

@auriamg
Copy link
Member

auriamg commented Feb 16, 2016

Unfortunately at this time STK does not support different default configs per gamepad type. This would require some new development

@MatthewsSam
Copy link
Member

It might be interesting to get some information about what kind of gamepad are used.

Maybe we can collect via stats. There is also this topic on our forum
http://forum.freegamedev.net/viewtopic.php?f=17&t=6619

@onpon4
Copy link

onpon4 commented Feb 17, 2016

There are hundreds if not thousands of different controllers out there. There's no way any more than the most popular ones can be catered to specifically, and the most popular ones are so similar that it might as well just be one default.

What I've found is that for most controllers, the second button works well as a primary button, and either the first or third button works well as a secondary button. So I usually assign the first button to a primary action and the first and third buttons simultaneously to a secondary action. STK can't do that, but the first button being the better choice for the secondary action seems to be more common, so that could be what's used.

Of course, STK has more than two actions, but every other button is pretty much universal: the fifth and seventh buttons are left shoulder buttons, the sixth and eighth buttons are right shoulder buttons, the ninth button is either "Select" or "Back", and the tenth button is "Start".

So this would work fine as a default set of controls, for example:

steer left/right: first axis
Accelerate: first button
Brake: fourth button
Shoot: second button
Nitro: fifth button
Skid: sixth button
Look back: seventh button
Rescue: ninth button
Pause: tenth button

@Cyberpangolin
Copy link
Author

it could be a good compromise 👍

I don't want you to lose tons of hours coding. Maybe you can add a tutorial image like I did upper to help newbies to configure their gamepad in a fun way too. I have a precise idea for it, it should be easy to implement and fit with a majority of gamepads.
I will make schematics for that, even it's a low priority issue it could add a plus-value to the game ;)

Edit:

gamepadconcept

gamepadconcept.svg.svg.zip

@auriamg
Copy link
Member

auriamg commented Feb 25, 2016

I tried your layout on my logitech gamepad. Not bad but a few concerns for me. depending on button layout, this may make it difficult to accelerate and shoot at the same time, but I guess that's kind of unavoidable

Just an idea, what would you think about using button 8 for shooting? It's currently unused in your layout

auriamg added a commit that referenced this issue Feb 25, 2016
…ut seems much better that what we had previously in most cases
@auriamg
Copy link
Member

auriamg commented Feb 25, 2016

I have commited a first tweak based on your suggestions, it's already a good improvement in most cases.

@onpon4
Copy link

onpon4 commented Feb 25, 2016

depending on button layout, this may make it difficult to accelerate and shoot at the same time

I've checked several gamepads' layouts, and I haven't seen an example where this was the case. Using the SNES controller as a reference, either the first button is in the "B" position while the second button is in the "A" position, or the first button is in a position directly "behind" the second button (i.e. Y/B or X/A), in all controllers I checked.

Just an idea, what would you think about using button 8 for shooting? It's currently unused in your layout

That's fine for shooting itself. The main reason I suggested making "shoot" a face button is because of the "shoot" key also being used for new players to join in a multiplayer game. Unless that's changed? A secondary reason, as well, is that some controllers have only one pair of shoulder buttons. Interestingly, one of those is the Logitech controllers like the F310, which has triggers instead of buttons 7 and 8.

@hiker
Copy link
Contributor

hiker commented Feb 25, 2016

Hi,

just a (perhaps only partially) related comment: note that we should
have the ability now to properly detect which gamepad is detected. So at
least we can add proper names for the buttons (see gamepad_config where
I add specific names for xbox controller buttons:
GamepadConfig::getBindingAsString ). So if it makes sense, we can at
least add proper names for this joystick.

Cheers,
Joerg

On 02/25/2016 11:32 AM, onpon4 wrote:

depending on button layout, this may make it difficult to
accelerate and shoot at the same time

I've checked several gamepads' layouts, and I haven't seen an example
where this was the case. Using the SNES controller as a reference,
either the first button is in the "B" position while the second button
is in the "A" position, or the first button is in a position directly
"behind" the second button (i.e. Y/B or X/A), in all controllers I
checked.

Just an idea, what would you think about using button 8 for
shooting? It's currently unused in your layout

That's fine for shooting itself. The main reason I suggested making
"shoot" a face button is because of the "shoot" key also being used
for new players to join in a multiplayer game. Unless that's changed?
A secondary reason, as well, is that some controllers have only one
pair of shoulder buttons. Interestingly, one of those is the Logitech
controllers like the F310, which has triggers instead of buttons 7 and 8.


Reply to this email directly or view it on GitHub
#2438 (comment).

@Cyberpangolin
Copy link
Author

After the japan Impact, I have had tons of enthusiasts review about the config set here. Most people found it easy.
The only bad point I've noticed was that skidding is on the right in a famous nintendo game. I didn't know it and I'm not sure it's - really - a problem.

The good thing was to explain it: on the left you have directions-related actions, and on the right you have collected-related actions.

@auriamg The button 8 (the red one in my case) is IMO a not-that-good idea, probably you want to accelerate and shoot, not choose one of them. with one finger it's difficult to do.

a small bug noticed too: the config I have assumes to use the joystick into the menus, not the direction cross. When a player wants to play with the direction cross (mode button activated), the game itself is playable but the controller is useless to navigate into the menu.

@onpon4 I will look for a good compromise with 1 shoulder only.

@Benau
Copy link
Contributor

Benau commented Apr 28, 2020

if auria / deveee / alayan thinks sdl controller mapping is good enough then this can be closed...

@qwertychouskie
Copy link
Contributor

I have an F310, I'll test the default layout and see how it works.

@qwertychouskie
Copy link
Contributor

I just tested with the default config (removed any existing gamepad configs from input.xml), here are my observations:

  • Accel being thumbstick up is completely unusable, you can't accel and turn at the same time this way, and it just feels un-intuitive
  • Rescue and Pause should probably be swapped (Start is generally used as pause in most games)
  • Menu Keys: Select should be A and Back should be B (currently Select is B and Back is the small Select/Back button

After some experimentation, I found a config that should work decently for most Xbox/PS style gamepads:

image

This config feels good as it allows using all functions without having to move your fingers between buttons. Y as Accel allows using A (Look Back) and B (Fire) with the back of your finger while the tip is on Y (Accel). Skidding on Right Shoulder is intuitive for anyone who has played Mario Kart, and Nitro on Left Shoulder feels intuitive to me.

(This config should even work with SNES-style controllers, too.)

Obviously, feedback is welcome from any players who regularly play with a controller (I personally prefer keyboard), but this should be a reasonable config for most users/controllers.

@Benau
Copy link
Contributor

Benau commented Apr 29, 2020

if auria the gamer thinks this qwerty mapping is good then just use it

@auriamg
Copy link
Member

auriamg commented Apr 30, 2020

@Benau the proposal seems ok to me. At least it should be better than the current default by a good margin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants