[Linux/GTK3] Some gamepad input rework
- Unbind gamepad keys by default. The default bindings may fit one gamepad model but work weirdly with another causing issues like #834
- Use non-blocking method to obtain gamepad keys/axes during configuration to avoid visible emulator freeze and possible deadlock (see #843)
I can confirm that completely this fixes #843 on my end
@thesourcehim does this also supersede #822 ? if not, maybe you can take a look at whether the changes there make sense.
In #822 I see changes related to how input config file is loaded and joystick events are processed for the main emu loop, some changes to cli frontend. My PR changes the default mappings for gamepad should config file lack gamepad input config, I didn't touch config file load algorithm. Also reworks input config dialog for GTK3 frontend. So I think these two PRs have different purpose.
#822 never touches the gtk file, and this commit never touches the cli file and the only change this pr has to ctrlssdl.cpp is changing the default button values, where #822 makes changes to code in that file and doesn't touch default button values. @rofl0r these are completely different and unrelated PR's and I dont think there are any changes here that would conflict with #822
@thesourcehim would you be able/willing to port this to GTK2 ? that way i could test it and merge if everything's fine.
@thesourcehim would you be able/willing to port this to GTK2 ? that way i could test it and merge if everything's fine.
Ok, I can do it.
@rofl0r done.
thanks, works quite well. imo the joystick config could be further improved by not having to click on OK after every press, but i suppose that's not that straightforward to do with standard GTK controls.
another thing is i'd recommend to use a feature branch for each PR you make, instead of pushing to your master - it doesn't mess up your git clone after some work was merged with changes, and it makes it easier for maintainers to check out your changes, rebase, etc.