From 11489aaf1bef75c45c0547d4a8af6c082c761363 Mon Sep 17 00:00:00 2001 From: sorgelig Date: Tue, 2 Mar 2021 18:35:57 +0800 Subject: [PATCH] input: fix false analog sending to core. --- input.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input.cpp b/input.cpp index e869b89..8d9b5c8 100644 --- a/input.cpp +++ b/input.cpp @@ -2597,7 +2597,7 @@ static void input_cb(struct input_event *ev, struct input_absinfo *absinfo, int mouse_emu_y /= 12; return; } - else if (ev->code == (input[dev].mmap[SYS_AXIS_X] & 0xFFFF) || (ev->code == 0 && input[dev].lightgun)) + else if (((input[dev].mmap[SYS_AXIS_X] >> 16) == 2 && ev->code == (input[dev].mmap[SYS_AXIS_X] & 0xFFFF)) || (ev->code == 0 && input[dev].lightgun)) { // skip if joystick is undefined. if (!input[dev].num) break; @@ -2608,7 +2608,7 @@ static void input_cb(struct input_event *ev, struct input_absinfo *absinfo, int joy_analog(input[dev].num, 0, offset); return; } - else if (ev->code == (input[dev].mmap[SYS_AXIS_Y] & 0xFFFF) || (ev->code == 1 && input[dev].lightgun)) + else if (((input[dev].mmap[SYS_AXIS_Y] >> 16) == 2 && ev->code == (input[dev].mmap[SYS_AXIS_Y] & 0xFFFF)) || (ev->code == 1 && input[dev].lightgun)) { // skip if joystick is undefined. if (!input[dev].num) break;