hid/hgame: Fix desync in hgame_dpad_cb()
hgame_dpad_cb() previously exited early whenever conflicting directions
were input (e.g., UP + DOWN) without saving said input to the
hgame_softc state. This led to a desync between the driver and the
gamepad.
This patch instead handles conflicting inputs by cancelling them out
with each other.
Remove early return. Calculate axis value by subtraction.
Reviewed by: obiwac
Approved by: obiwac
Differential Revision: https://reviews.freebsd.org/D55849