浏览代码

Merge pull request #43461 from ccl2of4/fix-linux-joypad-dpad-zeroing

Fix for linux joypad D-pad zeroing
Rémi Verschelde 4 年之前
父节点
当前提交
7610945b4a
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      platform/linuxbsd/joypad_linux.cpp

+ 4 - 4
platform/linuxbsd/joypad_linux.cpp

@@ -459,9 +459,9 @@ void JoypadLinux::process_joypads() {
 							case ABS_HAT0X:
 								if (ev.value != 0) {
 									if (ev.value < 0) {
-										joy->dpad |= Input::HAT_MASK_LEFT;
+										joy->dpad = (joy->dpad | Input::HAT_MASK_LEFT) & ~Input::HAT_MASK_RIGHT;
 									} else {
-										joy->dpad |= Input::HAT_MASK_RIGHT;
+										joy->dpad = (joy->dpad | Input::HAT_MASK_RIGHT) & ~Input::HAT_MASK_LEFT;
 									}
 								} else {
 									joy->dpad &= ~(Input::HAT_MASK_LEFT | Input::HAT_MASK_RIGHT);
@@ -473,9 +473,9 @@ void JoypadLinux::process_joypads() {
 							case ABS_HAT0Y:
 								if (ev.value != 0) {
 									if (ev.value < 0) {
-										joy->dpad |= Input::HAT_MASK_UP;
+										joy->dpad = (joy->dpad | Input::HAT_MASK_UP) & ~Input::HAT_MASK_DOWN;
 									} else {
-										joy->dpad |= Input::HAT_MASK_DOWN;
+										joy->dpad = (joy->dpad | Input::HAT_MASK_DOWN) & ~Input::HAT_MASK_UP;
 									}
 								} else {
 									joy->dpad &= ~(Input::HAT_MASK_UP | Input::HAT_MASK_DOWN);