mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-03-11 10:14:12 +00:00
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
@ -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 (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 (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 (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);
|
||||
|
@ -1231,21 +1231,21 @@ namespace platf {
|
||||
|
||||
auto flags = gamepad_state.buttonFlags;
|
||||
// clang-format off
|
||||
if(flags & DPAD_UP) buttons |= XUSB_GAMEPAD_DPAD_UP;
|
||||
if(flags & DPAD_DOWN) buttons |= XUSB_GAMEPAD_DPAD_DOWN;
|
||||
if(flags & DPAD_LEFT) buttons |= XUSB_GAMEPAD_DPAD_LEFT;
|
||||
if(flags & DPAD_RIGHT) buttons |= XUSB_GAMEPAD_DPAD_RIGHT;
|
||||
if(flags & START) buttons |= XUSB_GAMEPAD_START;
|
||||
if(flags & BACK) buttons |= XUSB_GAMEPAD_BACK;
|
||||
if(flags & LEFT_STICK) buttons |= XUSB_GAMEPAD_LEFT_THUMB;
|
||||
if(flags & RIGHT_STICK) buttons |= XUSB_GAMEPAD_RIGHT_THUMB;
|
||||
if(flags & LEFT_BUTTON) buttons |= XUSB_GAMEPAD_LEFT_SHOULDER;
|
||||
if(flags & RIGHT_BUTTON) buttons |= XUSB_GAMEPAD_RIGHT_SHOULDER;
|
||||
if(flags & HOME) buttons |= XUSB_GAMEPAD_GUIDE;
|
||||
if(flags & A) buttons |= XUSB_GAMEPAD_A;
|
||||
if(flags & B) buttons |= XUSB_GAMEPAD_B;
|
||||
if(flags & X) buttons |= XUSB_GAMEPAD_X;
|
||||
if(flags & Y) buttons |= XUSB_GAMEPAD_Y;
|
||||
if(flags & DPAD_UP) buttons |= XUSB_GAMEPAD_DPAD_UP;
|
||||
if(flags & DPAD_DOWN) buttons |= XUSB_GAMEPAD_DPAD_DOWN;
|
||||
if(flags & DPAD_LEFT) buttons |= XUSB_GAMEPAD_DPAD_LEFT;
|
||||
if(flags & DPAD_RIGHT) buttons |= XUSB_GAMEPAD_DPAD_RIGHT;
|
||||
if(flags & START) buttons |= XUSB_GAMEPAD_START;
|
||||
if(flags & BACK) buttons |= XUSB_GAMEPAD_BACK;
|
||||
if(flags & LEFT_STICK) buttons |= XUSB_GAMEPAD_LEFT_THUMB;
|
||||
if(flags & RIGHT_STICK) buttons |= XUSB_GAMEPAD_RIGHT_THUMB;
|
||||
if(flags & LEFT_BUTTON) buttons |= XUSB_GAMEPAD_LEFT_SHOULDER;
|
||||
if(flags & RIGHT_BUTTON) buttons |= XUSB_GAMEPAD_RIGHT_SHOULDER;
|
||||
if(flags & (HOME | MISC_BUTTON)) buttons |= XUSB_GAMEPAD_GUIDE;
|
||||
if(flags & A) buttons |= XUSB_GAMEPAD_A;
|
||||
if(flags & B) buttons |= XUSB_GAMEPAD_B;
|
||||
if(flags & X) buttons |= XUSB_GAMEPAD_X;
|
||||
if(flags & Y) buttons |= XUSB_GAMEPAD_Y;
|
||||
// clang-format on
|
||||
|
||||
return (XUSB_BUTTON) buttons;
|
||||
|
Loading…
x
Reference in New Issue
Block a user