summaryrefslogtreecommitdiff
path: root/plugins/dfinput
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-07 16:40:07 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-07 16:40:07 +0000
commit71d6c56271e2650b1a2f5149521a5b1896084710 (patch)
treedc07b4aa48645536a1358a2c9ae84a751707d9f1 /plugins/dfinput
parent25c14c6c5426a5345120a5cce8b60c23a2437730 (diff)
downloadpcsxr-71d6c56271e2650b1a2f5149521a5b1896084710.tar.gz
pcsxr-analog-fix.patch (darktjm).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@72071 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins/dfinput')
-rw-r--r--plugins/dfinput/sdljoy.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/dfinput/sdljoy.c b/plugins/dfinput/sdljoy.c
index a8bd9ce8..7111d90b 100644
--- a/plugins/dfinput/sdljoy.c
+++ b/plugins/dfinput/sdljoy.c
@@ -165,6 +165,7 @@ void CheckJoy() {
continue;
}
+ g.PadState[i].JoyKeyStatus = ~0;
for (j = 0; j < DKEY_TOTAL; j++) {
switch (g.cfg.PadDef[i].KeyDef[j].JoyEvType) {
case AXIS:
@@ -210,4 +211,17 @@ void CheckJoy() {
}
CheckAnalog();
+
+ for (i = 0; i < 2; i++) {
+ if(!g.PadState[i].PadMode) {
+ if(g.PadState[i].AnalogStatus[ANALOG_LEFT][0] < 64)
+ bdown(i, DKEY_LEFT);
+ else if(g.PadState[i].AnalogStatus[ANALOG_LEFT][0] > 127 + 64)
+ bdown(i, DKEY_RIGHT);
+ if(g.PadState[i].AnalogStatus[ANALOG_LEFT][1] < 64)
+ bdown(i, DKEY_UP);
+ else if(g.PadState[i].AnalogStatus[ANALOG_LEFT][1] > 127 + 64)
+ bdown(i, DKEY_DOWN);
+ }
+ }
}