eden-miror/src/input_common
xbzk dd12266c26
[input] added option to disable wgi/xinput to prevent SDL GUIDE hack (#4237)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------
So, many users hate the fact when they press START+SELECT, an additional HOME event is sent.

That is annoying coz for most users' default hotkey settings, it closes eden when not in game, and when in game it calls a NOT controller responsive prompt about leaving Eden.
There are several games with reasons to press start+select, also there are homebrews which relies on that combo to open internal menus.
Again. That is annoying.

Digging deep i've found that SDL implements something called guide hack: When Start+Select is pressed it sends a synthetic GUIDE(which code equals to HOME).
This was intended for controllers missing the HOME button, but SDL fails to track them all, and misses API to disabling it.

I've figured out a patch to SDL to disable it, but since it would be better to invest on a PR straight into SDL repo, on our side i thought it better to simply add an option to disable WGI (Windows.Gaming.Input) and Xinput, both paths which could lead into the hack enabling.

Setting is available in a remote place no one will bother.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4237
Reviewed-by: Samuel <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-08-09 02:53:37 +02:00
..
drivers [input] added option to disable wgi/xinput to prevent SDL GUIDE hack (#4237) 2026-08-09 02:53:37 +02:00
helpers [hid_core, input_common] use std::numbers::pi{_v} instead of re-defining (#4160) 2026-07-07 20:13:33 +02:00
CMakeLists.txt [externals] Update to SDL3 (#3952) 2026-05-18 19:07:41 +02:00
input_engine.cpp [hid_core] fix LM2 crash due to callbacks not being removed properly (#4178) 2026-07-07 19:52:22 +02:00
input_engine.h [*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442) 2026-02-10 03:34:07 +01:00
input_mapping.cpp input_common: Add android input engine 2024-01-17 22:47:56 -06:00
input_mapping.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
input_poller.cpp Warnings cleanup for GCC 13 and Clang 16 2023-08-25 19:22:31 -04:00
input_poller.h core: hid: Enable pulling color data from controllers 2023-01-19 18:05:20 -06:00
main.cpp [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
main.h [*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442) 2026-02-10 03:34:07 +01:00