Commit Graph

33 Commits

Author SHA1 Message Date
Gliniak
c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Gliniak
2e521383c2 [HID] Fixed some issues with controller/passthrough visibility.
- Moved X_INPUT flags from kernel to HID
- Added ability to return input type from driver
2024-12-23 10:43:27 +01:00
Gliniak
f6ae651cc2 [HID] Enable Keyboard Passthru
Thanks Adrian for figuring out missing XINPUT_KEYSTROKE_VALIDUNICODE flag.
Thanks Clippy95 for figuring out shift and capslock
2024-12-17 08:59:13 +01:00
Gliniak
a295ec1bbd [Base] Removed useless path_to_utf8 conversion while using fmt
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +01:00
Gliniak
9bdd07590c [XAM] Implementation of: Profile Manager & Profiles Support
Thanks Emoose for Account Encrypt/Decrypt code!
2024-10-05 10:03:35 +02:00
Adrian
6e13258ad4 [SDL] Log controller GUIDs and their mapping 2024-03-18 15:01:24 +01:00
Gliniak
288900ff7e [HID] Removed controllers_mutex from SDL.
Seems like it is unnecessary as there is some internal mutex that causes deadlocks with this one
2024-02-24 20:54:27 +01:00
Gliniak
cce070c129 [HID] Removed mutex from SDLInputDriver::SetState
This seems to actively lock inside embedded SDL lock causing deadlock on main emulator thread and calling thread
2024-02-23 18:44:32 +01:00
Adrian
459497f0b6 Implemented Controller Hotkeys (#111)
Implemented Controller Hotkeys

Added controller hotkeys
Added guide button support for XInput and winkey

The hotkey configurations can be found in HID -> Display controller hotkeys
If the Xbox Gamebar overlay is enabled then use the Back button instead of the Guide button.

- Fixed hotkey thread destruction
- Fixed XINPUT_STATE by padding 4 bytes
- Added hotkey vibration for user feedback
- Replaced MessageBoxA with ImGuiDialog::ShowMessageBox

Co-authored-by: Margen67 <Margen67@users.noreply.github.com>
2023-01-13 09:17:43 +01:00
Triang3l
fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
90c4950503 [HID] Fix SDL GetKeystroke copy-paste regression 2021-07-26 10:12:17 +03:00
Triang3l
1cf12ec70b [UI/HID] ui::VirtualKey enum 2021-07-01 23:32:26 +03:00
Joel Linn
4e72167c5e [SDL2] Event handler in separate function 2020-12-26 04:50:27 -06:00
Joel Linn
d3c618404a [SDL2] Improve GetCapabilities() 2020-12-26 04:50:27 -06:00
Joel Linn
64c5c63eaf [SDL2] Log controller device events. 2020-12-26 04:50:27 -06:00
Joel Linn
87389e2486 [SDL2] Do not restrict callbacks to window thread 2020-12-26 04:50:27 -06:00
Joel Linn
ddc0cc840a [SDL2] Allow AUX buttons. 2020-12-26 04:50:27 -06:00
Joel Linn
842ac86b1f [HID] More modern c++ in SDL backend. 2020-11-28 14:22:50 -06:00
Joel Linn
ff56fbdf46 [HID] Honor is_active() in SDL input backend. 2020-11-28 14:22:50 -06:00
gibbed
dd25e69e66 [HID] Pass 'is active' callback to input drivers. 2020-11-27 05:23:21 -06:00
Joel Linn
6267c73c4c [SDL] Add global helper to setup the library.
Call to SDLHelper::Prepare() is needed before first SDL_InitSubSystem().
- Sets hints (SDL configuration vars).
- Configures logging.
2020-04-23 15:44:58 -05:00
Joel Linn
5463798631 [HID] Implement GetKeystroke() for SDL 2020-04-23 15:44:58 -05:00
Joel Linn
c8da7fbfe4 [HID] Optional guide button support.
Maybe this is interesting to some games.
2020-04-23 15:44:58 -05:00
Joel Linn
fc96195656 [HID] C++17-ify 2020-04-23 15:44:58 -05:00
Sandy Carter
c8e64da4eb filesystem: use std for PathExists
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
Joel Linn
05a62673f7 [SDL2] Redirect log messages into our system. 2020-04-08 21:55:56 -05:00
Joel Linn
11d79c6c1c [SDL2] Remove delayed loading code. 2020-04-08 21:55:56 -05:00
Joel Linn
804384c19c [SDL2] On Win, build and link statically.
Keep using system lib dynamically on Unix.
2020-04-08 21:55:56 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Joel Linn
64f3925c7d [HID/Linux] Implement cross platform controller input using SDL2 library. 2020-02-10 13:41:19 -06:00