desmume icon indicating copy to clipboard operation
desmume copied to clipboard

[Linux/GTK3] Some gamepad input rework

Open thesourcehim opened this issue 1 year ago • 4 comments

  1. Unbind gamepad keys by default. The default bindings may fit one gamepad model but work weirdly with another causing issues like #834
  2. Use non-blocking method to obtain gamepad keys/axes during configuration to avoid visible emulator freeze and possible deadlock (see #843)

thesourcehim avatar Oct 10 '24 08:10 thesourcehim

I can confirm that completely this fixes #843 on my end

intra0 avatar Oct 11 '24 01:10 intra0

@thesourcehim does this also supersede #822 ? if not, maybe you can take a look at whether the changes there make sense.

rofl0r avatar Oct 11 '24 10:10 rofl0r

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.

thesourcehim avatar Oct 11 '24 14:10 thesourcehim

#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

intra0 avatar Oct 12 '24 00:10 intra0

@thesourcehim would you be able/willing to port this to GTK2 ? that way i could test it and merge if everything's fine.

rofl0r avatar Oct 25 '24 18:10 rofl0r

@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.

thesourcehim avatar Oct 26 '24 06:10 thesourcehim

@rofl0r done.

thesourcehim avatar Oct 26 '24 10:10 thesourcehim

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.

rofl0r avatar Oct 27 '24 10:10 rofl0r

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.

rofl0r avatar Oct 27 '24 10:10 rofl0r