[PR #3391] [MERGED] Hotkey config changes #3432

Closed
opened 2026-02-27 22:03:41 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3391
Author: @kalaposfos13
Created: 8/5/2025
Status: Merged
Merged: 9/4/2025
Merged by: @georgemoralis

Base: mainHead: hotkey-config-changes


📝 Commits (9)

  • 5b25630 This works, but it's missing some hotkeys and the GUI isn't hooked up to anything now
  • 97d0b28 More hotkeys
  • eb03b9d Remove debug log
  • 6dbf97d clang
  • 65b53fb accidentally used the wrong value here
  • d0e5288 gui changes for new backend (#10)
  • 1977784 Fix repeated inputs
  • 3ffcd6b Documentation
  • 887b378 Merge remote-tracking branch 'origin/main' into hotkey-config-changes

📊 Changes

16 files changed (+1319 additions, -643 deletions)

View changed files

📝 src/common/config.cpp (+29 -3)
📝 src/common/config.h (+2 -2)
📝 src/core/devtools/layer.cpp (+1 -12)
📝 src/imgui/renderer/imgui_impl_sdl3.cpp (+1 -0)
📝 src/input/input_handler.cpp (+83 -188)
📝 src/input/input_handler.h (+41 -9)
📝 src/qt_gui/control_settings.cpp (+7 -3)
📝 src/qt_gui/hotkeys.cpp (+621 -91)
📝 src/qt_gui/hotkeys.h (+39 -13)
📝 src/qt_gui/hotkeys.ui (+451 -215)
📝 src/qt_gui/kbm_config_dialog.cpp (+4 -4)
📝 src/qt_gui/kbm_gui.cpp (+3 -3)
📝 src/qt_gui/kbm_help_dialog.cpp (+13 -9)
📝 src/qt_gui/main_window.cpp (+2 -1)
📝 src/sdl_window.cpp (+22 -84)
📝 src/sdl_window.h (+0 -6)

📄 Description

I rewrote the entire backend for this, as the original solution was a bit hacky, and not very scalable, then @rainmakerv3 rewrote the frontend to work with it
The new code works like this:

  • I removed the hardcoded hotkeys, and added output bindings for each of them (most of the hotkeys in the Ctrl F10 dev menu still remain, except for F10 bringing up the small FPS counter)
  • I added the F keys as rebindable keys, plus added the PS4 "share" button as an input too, although that was already available, just under a different name (the Xbox controllers' "back" button)
  • There's a new input config file called global.ini, which is a completely standard input config file, except for the fact that it will always get loaded alongside the main config, which by default will contain the list of the original keyboard hotkey bindings, and those are the main intended use case for it, but theoretically you can put any binding there

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/3391 **Author:** [@kalaposfos13](https://github.com/kalaposfos13) **Created:** 8/5/2025 **Status:** ✅ Merged **Merged:** 9/4/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `hotkey-config-changes` --- ### 📝 Commits (9) - [`5b25630`](https://github.com/shadps4-emu/shadPS4/commit/5b25630ef9f5e34d3f300bdf92495b479f1db92d) This works, but it's missing some hotkeys and the GUI isn't hooked up to anything now - [`97d0b28`](https://github.com/shadps4-emu/shadPS4/commit/97d0b28110bf5c9edb598c6166d2dba470497128) More hotkeys - [`eb03b9d`](https://github.com/shadps4-emu/shadPS4/commit/eb03b9d8ed927694bfd1863a4659e4fa4afefbec) Remove debug log - [`6dbf97d`](https://github.com/shadps4-emu/shadPS4/commit/6dbf97d48cf9e7570a4db68a0ac86401fb756386) clang - [`65b53fb`](https://github.com/shadps4-emu/shadPS4/commit/65b53fbe01735089c33a066ea4b1e5ef5089c826) accidentally used the wrong value here - [`d0e5288`](https://github.com/shadps4-emu/shadPS4/commit/d0e5288d6a939f0f86a2e1eb407cefa777403308) gui changes for new backend (#10) - [`1977784`](https://github.com/shadps4-emu/shadPS4/commit/19777848590aee0e5c23c6d7ed7fa3882c087a6e) Fix repeated inputs - [`3ffcd6b`](https://github.com/shadps4-emu/shadPS4/commit/3ffcd6baa51dad4069048819f90505631c0b252d) Documentation - [`887b378`](https://github.com/shadps4-emu/shadPS4/commit/887b3783039d3b3bb1e2ce6d96d9a30ccf991562) Merge remote-tracking branch 'origin/main' into hotkey-config-changes ### 📊 Changes **16 files changed** (+1319 additions, -643 deletions) <details> <summary>View changed files</summary> 📝 `src/common/config.cpp` (+29 -3) 📝 `src/common/config.h` (+2 -2) 📝 `src/core/devtools/layer.cpp` (+1 -12) 📝 `src/imgui/renderer/imgui_impl_sdl3.cpp` (+1 -0) 📝 `src/input/input_handler.cpp` (+83 -188) 📝 `src/input/input_handler.h` (+41 -9) 📝 `src/qt_gui/control_settings.cpp` (+7 -3) 📝 `src/qt_gui/hotkeys.cpp` (+621 -91) 📝 `src/qt_gui/hotkeys.h` (+39 -13) 📝 `src/qt_gui/hotkeys.ui` (+451 -215) 📝 `src/qt_gui/kbm_config_dialog.cpp` (+4 -4) 📝 `src/qt_gui/kbm_gui.cpp` (+3 -3) 📝 `src/qt_gui/kbm_help_dialog.cpp` (+13 -9) 📝 `src/qt_gui/main_window.cpp` (+2 -1) 📝 `src/sdl_window.cpp` (+22 -84) 📝 `src/sdl_window.h` (+0 -6) </details> ### 📄 Description I rewrote the entire backend for this, as the original solution was a bit hacky, and not very scalable, then @rainmakerv3 rewrote the frontend to work with it The new code works like this: - I removed the hardcoded hotkeys, and added output bindings for each of them (most of the hotkeys in the Ctrl F10 dev menu still remain, except for F10 bringing up the small FPS counter) - I added the F keys as rebindable keys, plus added the PS4 "share" button as an input too, although that was already available, just under a different name (the Xbox controllers' "back" button) - There's a new input config file called global.ini, which is a completely standard input config file, except for the fact that it will always get loaded alongside the main config, which by default will contain the list of the original keyboard hotkey bindings, and those are the main intended use case for it, but theoretically you can put any binding there --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:03:41 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3432
No description provided.