2016-02-01, 00:47
I think what is happening here is the driver trying to compensate for the discrete d-pad quirk mentions here. For the d-pad, some drivers report four buttons, some drivers report two axes with the discrete values -1.0, 0.0 and 1.0. It looks like your driver is doing both.
If this is the case, I call this phenomenon repeated input, where a single action affects two values in rapid succession. I actually tried to handle this by adding a 50ms "cooldown" between button presses. That way, only the first would be handled, and the second would be ignored. Maybe the values are more than 50ms apart? I could log the time delta between input, which might give some hint if this is the case.
I'll certainly add logging for when a discrete d-pad is detected.
If this is the case, I call this phenomenon repeated input, where a single action affects two values in rapid succession. I actually tried to handle this by adding a 50ms "cooldown" between button presses. That way, only the first would be handled, and the second would be ignored. Maybe the values are more than 50ms apart? I could log the time delta between input, which might give some hint if this is the case.
I'll certainly add logging for when a discrete d-pad is detected.