summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-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);
+ }
+ }
}