Fix digital triggers

This commit is contained in:
Iwan Timmer
2017-06-19 21:56:22 +02:00
parent 04200f24c7
commit 0e4820e3a8
+11 -13
View File
@@ -256,19 +256,17 @@ static bool evdev_handle_event(struct input_event *ev, struct input_device *dev)
} else if (gamepadCode != 0) { } else if (gamepadCode != 0) {
gamepadModified = true; gamepadModified = true;
if (gamepadCode != 0) { if (ev->value)
if (ev->value) dev->buttonFlags |= gamepadCode;
dev->buttonFlags |= gamepadCode; else
else dev->buttonFlags &= ~gamepadCode;
dev->buttonFlags &= ~gamepadCode; } else if (index == dev->map->btn_lefttrigger)
} else if (index == dev->map->btn_lefttrigger) dev->leftTrigger = ev->value ? UCHAR_MAX : 0;
dev->leftTrigger = ev->value?UCHAR_MAX:0; else if (index == dev->map->btn_righttrigger)
else if (index == dev->map->btn_righttrigger) dev->rightTrigger = ev->value ? UCHAR_MAX : 0;
dev->rightTrigger = ev->value?UCHAR_MAX:0; else {
else { fprintf(stderr, "Unmapped button: %d\n", ev->code);
fprintf(stderr, "Unmapped button: %d\n", ev->code); gamepadModified = false;
gamepadModified = false;
}
} }
} }
break; break;