Gamepad GUI Mode: add (optional) native controller support to all menus
First off, thank you so much for this project. It's amazing, and I'm so grateful for it!
Issue: Gamepad GUI Mode
This pull request is a fairly large change that adds controller support to the vanilla menus. I tried to change as little as possible and not stray from the vanilla menus. The goal was to make all of the menus fully navigable without having to use the controller mouse.
A brief overview:
- The change is behind an option in Settings > Interface tab called "Enable Controller Menus".
- Almost every menu* can be navigated entirely with the DPad, triggers, and buttons.
- Most button mappings are based on the Xbox version, but there are a few modernizations, like using R3 to show item info, similar to Oblivion Remastered.
- The current menu's buttons are shown in a bar at the bottom. For this, I created some simple icons based on Steam's naming conventions.
- The inventory menu has tabs for navigating between sub-menus (Map, Inventory, Magic, Stats) with L2/R2.
- L1/R1 are used to adjust the filters in inventory and barter menus.
- It should not interfere with normal mouse usage.
- The settings in the Settings menu still need a mouse to edit settings, and some windows like the Stats window still use the mouse to show tooltips, but they can all be opened and closed using only controller buttons.
Here's a crude video demoing the change: https://youtu.be/70D8pgOU5Uo
This is a fairly broad change (though it's not especially complicated). I realize the merge request guidelines discourage large changes, so if you'd like me to do something differently, please let me know.
*As far as I know, the only menu not updated is companionwindow.cpp. I didn't update that window because I don't know where it's used in the game.
Update: companionwindow.cpp has been updated too. (Thanks @Aussiemon!)