When dpads are bound to axis controls (like hats), two opposing directions share the same physical control.
They therefore share the same Control event. Rather than dispatching two events for every direction pushed, this PR dynamically sets the correct operator and actuation limits to use. The same event is used, and the correct comparisons are made for cases where the binding is inverted or set to negative.
When dpads are bound to axis controls (like hats), two opposing directions share the same physical control. They therefore share the same Control event. Rather than dispatching two events for every direction pushed, this PR dynamically sets the correct operator and actuation limits to use. The same event is used, and the correct comparisons are made for cases where the binding is inverted or set to negative.