Commit Graph

42 Commits

Author SHA1 Message Date
Josh Palmer
929866edd3 XInput/DInput: Rename settings, fix sensitivity
* Change deadzone inverter naming convention to 'analog mapper'
* Remove hokey mathematics from sensitivity calculations
2015-02-05 06:30:29 +00:00
Josh Palmer
4c6410cd0d DInput/XInput: Further fixes & improvements
* Remove redundant second analog settings for XInput
* Replace DInput circle->square mapping with improved XInput version
2015-02-05 05:48:29 +00:00
Josh Palmer
6856709b1d DInput/XInput: Deadzone fixes & Sensitivity
* DInput Deadzone & Deadzone Inverter now function correctly
* Added analog Sensitivity options to DInput and XInput
2015-02-05 05:30:39 +00:00
Josh Palmer
918b96500c DInput/XInput: Configurable deadzone + inverter
* Add configurable shared deadzone for all DInput axes
* Add configurable separate deadzones for left & right XInput sticks
* Add configurable deadzone inverter for DInput X/Y axes
* Add configurable deadzone inverter for XInput sticks
2015-01-17 21:26:08 +00:00
Henrik Rydgard
995da23425 XInput: Try a different mapping of circular stick values to square psp stick values. May help #6772 ? 2014-09-05 23:31:25 +02:00
Unknown W. Brackets
3793bd5a02 Avoid xinput pad jitter resetting axis state.
Should take care of #5526.
2014-06-16 01:37:20 -07:00
Henrik Rydgard
3023f7d06b Android: Switch dpad default to use HAT X/Y +/- instead of "dpad", as documented.
Add a simple "autoconfigure" facility for input devices, that lets the user choose
if several are connected.

Can be expanded in the future to provide custom default mapppings for various devices as long as we manage to identify them.

Ideally, key mappings should be unique per device but they aren't yet.
2014-05-19 23:31:11 +02:00
Unknown W. Brackets
08b41df6a2 Change a few more log types. 2013-09-07 13:31:14 -07:00
Henrik Rydgard
55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Henrik Rydgard
edb0614a59 Fix analog axis names. Make L2/R2 on x360 controllers analog.
Also slightly nicer behaviour - don't create empty mapping, instead ask for mappings immediately.
2013-08-17 11:18:45 +02:00
Sacha
8b4280b297 Rename KEYCODE to NKCODE (native key code) to stop name collision. Implement Blackberry keymapping. 2013-08-05 03:31:40 +10:00
Henrik Rydgard
17e3751f45 Really avoid crash if no xinput dll 2013-07-25 23:58:19 +02:00
Henrik Rydgard
fafa9c9bfd Dynamically load XInput, lets us to map the home button with a trick
Also avoids failing to start if XInput 1.3 is not installed.
2013-07-23 00:12:26 +02:00
Henrik Rydgard
28ad8dc230 Lots of NewUI stuff (still experimental), fix back bug with x360 controllers 2013-07-17 22:27:50 +02:00
Unknown W. Brackets
cb1b1164d1 Only send XInput analog on change. 2013-07-07 17:18:02 -07:00
Unknown W. Brackets
3852e26558 Remove the force device setting, map instead. 2013-07-07 13:44:21 -07:00
Henrik Rydgard
ab1b7e7288 Get rid of remaining legacy key mappings. Make Pause and F3 mappable, add default mappings. You may need to manually map these if you have an old ppsspp.ini. 2013-07-07 14:08:08 +02:00
Henrik Rydgard
d5f4933b44 Bugfix R2 on x360 controller 2013-07-07 13:44:32 +02:00
Unknown W. Brackets
3e634e7677 Remove some no longer used xinput stuff. 2013-07-06 23:16:36 -07:00
Henrik Rydgard
cc58e34cf8 Remove legacy key mapping and associate devices with keys (DInput has been left behind for now, will be fixed up soon). Saving is broken, will be fixed soon. 2013-07-06 20:45:44 +02:00
The Dax
fb3ade56b9 Add option to bind right analog stick to left/right dpad buttons only. Can be useful for games that use the dpad as a camera, and horizontal camera movement is more common than vertical(i.e. Monster Hunter). 2013-07-05 06:02:47 -04:00
Unknown W. Brackets
47b0c5962a Add a right stick config for Valkyria Chronicles. 2013-06-21 17:59:12 -07:00
Henrik Rydgard
b60a2fb819 x360 temporary right stick hard bind now configurable in ini file. 2013-06-11 21:29:55 +02:00
Henrik Rydgard
5916a345c3 Hard bind right x360 stick to buttons until we can improve control mapping functionality. Thanks KrossX. 2013-06-11 20:38:21 +02:00
Nezarn
1705776759 Change Xbox360 pad left trigger funcionality
With this left trigger will work as tab on keyboard
2013-05-31 16:12:13 +02:00
Henrik Rydgard
1b813ec984 Add back the deadzone to XInput, definitely required with my pad. Restore the magnitude square root. 2013-05-22 18:53:06 +02:00
Henrik Rydgard
fe41d405c0 Add KrossX's fix for XInput analog range. The PSPs analog is really far extended outside the circle, even further than the 360. 2013-05-22 18:32:18 +02:00
nachume
4062059c2e Add check init Controls Dialog and ControlMapping constructor 2013-05-18 22:59:13 +02:00
CrazyMax
e864569d0c Windows: add Force Input Device option; 2013-04-16 17:34:20 +03:00
Unknown W. Brackets
dcd2c26214 Treat the keyboard and pads differently.
We basically never want two pads active at once, but keyboard is
different.  So, they need to be treated differently.

Fixes #1212.
2013-04-07 18:42:23 -07:00
Unknown W. Brackets
1218db02f5 Skip pads if their analog is not set.
Not sure if a deadzone is needed... or if some pads may do a constant
bottom left or something...
2013-04-06 20:17:36 -07:00
Henrik Rydgard
09d1f3c1fa win: Fix X360 button problems by skipping DInput if there's a 360 pad available. 2013-04-01 20:15:16 +02:00
Henrik Rydgard
8aee82535b Read both pic0 and pic1 and draw them on the pause screen. 2013-04-01 12:35:02 +02:00
Henrik Rydgard
2301ad0b7c X360 controller: Left thumb speedup, right thumb menu, keyboard still works 2013-03-31 11:30:50 +02:00
Henrik Rydgard
634e324975 More work on control 2013-03-31 00:39:58 +01:00
Henrik Rydgard
afa21588d7 Some work towards better control handling, includes stickyfix from native 2013-03-30 23:55:28 +01:00
Unknown W. Brackets
8c98c7b141 Reverse the analog Y for everyone.
Verified XInput is still happy this way.
2012-12-29 13:01:10 -08:00
Henrik Rydgard
2ec8606fcb Flip Y axis for xinput 2012-12-21 17:13:00 +01:00
Henrik Rydgard
7720dc3f60 Various warning, logging, jit fixes 2012-11-17 19:56:28 +01:00
Florent Castelli
65a89d08b8 Define XUSER_MAX_COUNT for those who don't have the DirectX SDK 2012-11-15 01:51:39 +01:00
Diogo Franco (Kovensky)
7e7e9a0452 Add a class for keyboard input
Removes the windows-specific hack from sceCtrl
to read keyboard input and instead add a hack to
PPSSPPWindows.

The input mapping is still hardcoded and is the same
as it was in sceCtrl.

Add an std::list to WindowsHost that, curretly, contains
a hardcoded list of preferred `InputDevice`s. Devices
are tried in-order until one of them reports success.
Xinput is preferred over Keyboard. Keyboard always
returns success. Pointers are stored in the std::list
for polymorphism.

Change XinputDevice to report failure as soon as a
device can't be queried, instead of only a frame later.
2012-11-12 17:49:40 +00:00
Diogo Franco (Kovensky)
2210b19244 Xinput input support
Picks the first Xinput device available, waits 100 frames between
retries when no devices are available.

Controls are hardcoded so every x360 controller button corresponds
to the PSP button in the same physical position. Input from right
stick and from analog triggers is ignored.

The Xinput code though is overriden by SampleControls' hardcoded
keyboard input. XinputDevice was tested to work with
samples/controller/basic when SampleControls is disabled.
2012-11-12 17:40:01 +00:00