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

[Qt/Input] Improve pad_settings_dialog a bit #3611

Merged
merged 27 commits into from
Nov 27, 2017
Merged

Conversation

Megamouse
Copy link
Contributor

@Megamouse Megamouse commented Oct 17, 2017

  • Adds a simple timer and only saves to config on Save button from now on.
  • Add full Xinput remapping + rumble settings + deadzones
  • Add DS4 remapping (no touch sensors or gyro changed) + rumble settings + deadzones
  • Add evdev remapping + deadzones (no rumble yet)
  • Add mmjoy remapping + deadzones

fixes #3616
fixes #3539
maybe #1283
last point of #3181
some of #3027

@Megamouse Megamouse changed the title Qt: Improve pad_settings_dialog a bit [WIP] [Qt] Improve pad_settings_dialog a bit Oct 23, 2017
@toccata10
Copy link
Contributor

You've started a big and very welcome change. On archlinux, when I want to remap a button, it segfaults:
Segfault reading location 0000000000000004 at 00007ffb05dfb057.
Maybe not related, but I always wondered why rpcs3 didn't use sdl. Seems easier to manage all these different OS.

@@ -16,6 +17,9 @@

input_config input_cfg;

inline std::string sstr(const QString& _in) { return _in.toUtf8().toStdString(); }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I've mentioned it before, but toUtf8() is unnecessary since according to the documentation it calls it during toStdString anyway.

and remove unnecessary usage of toUtf8
also fix threshold slider minimum
also add ps button to all the handlers
based on danilaml code review and own debugging:
Fixed path issue, <= 0 issue, some captures, const, axis with same codes.
Adds a map to each device that differentiates negative and positive axis mappings.
adjusted rest of the file to tabs (ListDevices and beginning of threadProc)
presumably better than the other
move bindpadtodevice down to keep consistency between handlers and not get crazy
use 0.5 of max value for threshold in pad dialog
@raveskirza
Copy link

raveskirza commented Nov 22, 2017

With the PR Build. Some keys are shown as numbers
image

Master
image

@Megamouse
Copy link
Contributor Author

restore defaults

@Nekotekina Nekotekina merged commit 662fe8c into RPCS3:master Nov 27, 2017
@ps2player
Copy link

PS2 controller not working in this build . but it's works on 0.0.4-7049

@Megamouse Megamouse deleted the pad branch November 28, 2017 07:22
isJuhn pushed a commit to isJuhn/rpcs3 that referenced this pull request Jan 19, 2018
* Input: further work on remapping Xinput and begin work on remapping DS4

* Input: Improve pad_settings_dialog a bit and begin Remapping for XInput

* Input: begin evdev remapping and change all handlers to use cfg::string

* Input: finish work on remapping evdev

and some more crap

* Input: finish work on remapping Xinput and DS4

* Input: add DS4 Colors to DS4 config

* Input: Improve DS4 deadzone scaling

Jarves made some mistakes, so I'll fix them in the follow up commit

* Input: fix Jarves fixes on DS4 deadzone

and remove unnecessary usage of toUtf8

* Input: add primitive batterychecks to XInput and DS4

* Input: add mmjoystick remapping

* Input: Fix evdev and some Vibration issues

* Input: adjust capabilities to fix stick input for games like LoS 2

also fix threshold slider minimum
also add ps button to all the handlers

* Input: Further evdev work

based on danilaml code review and own debugging:
Fixed path issue, <= 0 issue, some captures, const, axis with same codes.
Adds a map to each device that differentiates negative and positive axis mappings.
adjusted rest of the file to tabs (ListDevices and beginning of threadProc)

* Input: use 20ms vibration update time for xbox one elite controllers.

* Input: Fix return type of Clamp()

* Input: Evdev Fix

* Input: Evdev Optional GetNextButtonPress

presumably better than the other

* Input: review changes

* Input: evdev: fix wrong index in axis handling

move bindpadtodevice down to keep consistency between handlers and not get crazy

* Input: evdev: fix expensive add_device in GetNextButtonPress

* cleanup

* Input: mmjoy: fix type

* Input: evdev: final fixes

* Input: evdev: exclude unnecessary buttons while mapping Xbox 360 or DS4

* Input: add deadzone preview by passing necessary values in callback

use 0.5 of max value for threshold in pad dialog

* Input: get rid of all-uppercase variables
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rumble not working (Xbox one controller) Analog Axis not working: Castlevania Lords of Shadow 2