Allow the Misc button to work as Guide on emulated Xbox 360 controllers
It isn't physically present on Xbox 360 controllers, so we may as well use it for something.
This commit is contained in:
parent
9c401f52aa
commit
71024491e2
2 changed files with 16 additions and 16 deletions
|
|
@ -1532,7 +1532,7 @@ namespace platf {
|
||||||
if (RIGHT_STICK & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_THUMBR, bf_new & RIGHT_STICK ? 1 : 0);
|
if (RIGHT_STICK & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_THUMBR, bf_new & RIGHT_STICK ? 1 : 0);
|
||||||
if (LEFT_BUTTON & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_TL, bf_new & LEFT_BUTTON ? 1 : 0);
|
if (LEFT_BUTTON & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_TL, bf_new & LEFT_BUTTON ? 1 : 0);
|
||||||
if (RIGHT_BUTTON & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_TR, bf_new & RIGHT_BUTTON ? 1 : 0);
|
if (RIGHT_BUTTON & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_TR, bf_new & RIGHT_BUTTON ? 1 : 0);
|
||||||
if (HOME & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_MODE, bf_new & HOME ? 1 : 0);
|
if ((HOME | MISC_BUTTON) & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_MODE, bf_new & (HOME | MISC_BUTTON) ? 1 : 0);
|
||||||
if (A & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_SOUTH, bf_new & A ? 1 : 0);
|
if (A & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_SOUTH, bf_new & A ? 1 : 0);
|
||||||
if (B & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_EAST, bf_new & B ? 1 : 0);
|
if (B & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_EAST, bf_new & B ? 1 : 0);
|
||||||
if (X & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_NORTH, bf_new & X ? 1 : 0);
|
if (X & bf) libevdev_uinput_write_event(uinput.get(), EV_KEY, BTN_NORTH, bf_new & X ? 1 : 0);
|
||||||
|
|
|
||||||
|
|
@ -1231,21 +1231,21 @@ namespace platf {
|
||||||
|
|
||||||
auto flags = gamepad_state.buttonFlags;
|
auto flags = gamepad_state.buttonFlags;
|
||||||
// clang-format off
|
// clang-format off
|
||||||
if(flags & DPAD_UP) buttons |= XUSB_GAMEPAD_DPAD_UP;
|
if(flags & DPAD_UP) buttons |= XUSB_GAMEPAD_DPAD_UP;
|
||||||
if(flags & DPAD_DOWN) buttons |= XUSB_GAMEPAD_DPAD_DOWN;
|
if(flags & DPAD_DOWN) buttons |= XUSB_GAMEPAD_DPAD_DOWN;
|
||||||
if(flags & DPAD_LEFT) buttons |= XUSB_GAMEPAD_DPAD_LEFT;
|
if(flags & DPAD_LEFT) buttons |= XUSB_GAMEPAD_DPAD_LEFT;
|
||||||
if(flags & DPAD_RIGHT) buttons |= XUSB_GAMEPAD_DPAD_RIGHT;
|
if(flags & DPAD_RIGHT) buttons |= XUSB_GAMEPAD_DPAD_RIGHT;
|
||||||
if(flags & START) buttons |= XUSB_GAMEPAD_START;
|
if(flags & START) buttons |= XUSB_GAMEPAD_START;
|
||||||
if(flags & BACK) buttons |= XUSB_GAMEPAD_BACK;
|
if(flags & BACK) buttons |= XUSB_GAMEPAD_BACK;
|
||||||
if(flags & LEFT_STICK) buttons |= XUSB_GAMEPAD_LEFT_THUMB;
|
if(flags & LEFT_STICK) buttons |= XUSB_GAMEPAD_LEFT_THUMB;
|
||||||
if(flags & RIGHT_STICK) buttons |= XUSB_GAMEPAD_RIGHT_THUMB;
|
if(flags & RIGHT_STICK) buttons |= XUSB_GAMEPAD_RIGHT_THUMB;
|
||||||
if(flags & LEFT_BUTTON) buttons |= XUSB_GAMEPAD_LEFT_SHOULDER;
|
if(flags & LEFT_BUTTON) buttons |= XUSB_GAMEPAD_LEFT_SHOULDER;
|
||||||
if(flags & RIGHT_BUTTON) buttons |= XUSB_GAMEPAD_RIGHT_SHOULDER;
|
if(flags & RIGHT_BUTTON) buttons |= XUSB_GAMEPAD_RIGHT_SHOULDER;
|
||||||
if(flags & HOME) buttons |= XUSB_GAMEPAD_GUIDE;
|
if(flags & (HOME | MISC_BUTTON)) buttons |= XUSB_GAMEPAD_GUIDE;
|
||||||
if(flags & A) buttons |= XUSB_GAMEPAD_A;
|
if(flags & A) buttons |= XUSB_GAMEPAD_A;
|
||||||
if(flags & B) buttons |= XUSB_GAMEPAD_B;
|
if(flags & B) buttons |= XUSB_GAMEPAD_B;
|
||||||
if(flags & X) buttons |= XUSB_GAMEPAD_X;
|
if(flags & X) buttons |= XUSB_GAMEPAD_X;
|
||||||
if(flags & Y) buttons |= XUSB_GAMEPAD_Y;
|
if(flags & Y) buttons |= XUSB_GAMEPAD_Y;
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
return (XUSB_BUTTON) buttons;
|
return (XUSB_BUTTON) buttons;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue