summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon
AgeCommit message (Collapse)Author
2024-08-20Remove redundant semicolonsDr. Dystopia
2024-08-15Misc. Container Find Changesmitaclaw
2024-08-15Use 'contains' methodmitaclaw
2024-08-14Use 'contains' methodDr. Dystopia
2024-08-07Merge pull request #12961 from JosJuice/expression-parser-translationTilka
InputCommon: Translate ExpressionParser error messages
2024-07-28InputCommon: Translate ExpressionParser error messagesJosJuice
The _trans macro marks strings for translation but doesn't do anything at runtime. For that, we need to use a function like GetStringT.
2024-07-26Adjust order and spacing of various #includesDentomologist
Move some #includes around to match the Contributing guidelines.
2024-07-21Use C++20 erase_if() instead of erase(remove_if()) (NFC)Tillmann Karras
2024-06-15Merge pull request #12850 from jordan-woyak/device-sortingAdmiral H. Curtiss
ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse device is first.
2024-06-15ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse ↵Jordan Woyak
device is first.
2024-06-15Merge pull request #12818 from iwubcode/json_file_operationsAdmiral H. Curtiss
Common: add Json helper utilities for loading or saving to a file
2024-05-31InputCommon / VideoCommon: update to use new JsonFromFile functioniwubcode
2024-05-31TAS Input: Enable hotkeys and controller input when Input has focusDentomologist
Enable emulator hotkeys and controller input (when that option is enabled) when a TAS Input window has focus, as if it was the render window instead. This allows TASers to use frame advance and the like without having to switch the focused window or disabling Hotkeys Require Window Focus which also picks up keypresses while other apps are active. Cursor updates are disabled when the TAS Input window has focus, as otherwise the Wii IR widget (and anything else controlled by the mouse) becomes unusable. The cursor continues to work normally when the render window has focus.
2024-05-21Merge pull request #12711 from jordan-woyak/modifier-range-ini-defaultAdmiral H. Curtiss
InputCommon: Fix unnecessary "Modifier/Range" ini file entries.
2024-04-22port to OpenBSDGuilherme Janczak
2024-04-15InputCommon: Fix unnecessary "Modifier/Range" ini file entries.Jordan Woyak
2024-04-15DolphinQt/Mapping: Disable relative input when "Mouse Controlled Pointing" ↵Jordan Woyak
button is pressed.
2024-04-13Android/ControllerInterface: Run the init codeJosJuice
This was broken by a9a9fdd9e9. Because Init didn't run, the Android input backend would crash whenever it tried to call into JVM code.
2024-04-13Merge pull request #12632 from jordan-woyak/input-backend-implsTilka
Implement missing InputBackend classes.
2024-04-12NumericSetting: Stop values from binding to numbered input names.Jordan Woyak
2024-04-12ExpressionParser: Support unary plus operator.Jordan Woyak
2024-04-08Core::GetState: Avoid Global System Accessormitaclaw
2024-04-06evdev: close file descriptors in a separate threadTillmann Karras
For some reason Linux is surprisingly slow at closing file descriptors of event devices. This commit improves GUI startup times on my computer by about 1.5 seconds.
2024-04-01Merge pull request #12631 from jordan-woyak/remove-osx-input-leftoversOatmealDome
InputCommon: Remove some IOKit leftovers.
2024-03-31Merge pull request #12640 from jordan-woyak/sdl-cleanupAdmiral H. Curtiss
SDL: Cleanups
2024-03-20GCAdapter: Adjust libusb transfer timeout to 100ms.Jordan Woyak
2024-03-14SDL: Remove duplicate button/hat Inputs. Hide duplicate Axis Inputs.Jordan Woyak
2024-03-14ControllerInterface: Add IsHidden function to Control interface.Jordan Woyak
2024-03-14SDL: Deduplicate Motor logic with templates.Jordan Woyak
2024-03-14SDL: Move class definition out of header.Jordan Woyak
2024-03-11WiimoteEmu: Add user-accessible controls that report the desired state of ↵Admiral H. Curtiss
the IR camera objects.
2024-03-11InputCommon/WiimoteController: Add inputs that report the raw IR objects ↵Admiral H. Curtiss
seen by the Wiimote.
2024-03-11InputCommon: Add Android InputBackend class.Jordan Woyak
2024-03-11InputCommon: Handle window change in Quartz.Jordan Woyak
2024-03-11InputCommon: Implement xlib window change logic.Jordan Woyak
2024-03-11InputCommon: Add Win32 InputBackend class.Jordan Woyak
2024-03-11InputCommon: Add Pipes InputBackend class.Jordan Woyak
2024-03-11InputCommon: Add XInput2 InputBackend class.Jordan Woyak
2024-03-11InputCommon: Add Quartz InputBackend class.Jordan Woyak
2024-03-11InputCommon: Provide WindowSystemInfo getter for ControllerInterface.Jordan Woyak
2024-03-11InputCommon: Remove some IOKit leftovers.Jordan Woyak
2024-02-04InputCommon: Use distinct values for profile keyJosJuice
Because the last commit made us use separate folders for GCPad and GCKey profiles, we should also use separate game INI keys for them. Otherwise setting e.g. PadProfile1 in a game INI will make both GCPad and GCKey try to load it, typically with one of them succeeding and the other one showing a panic alert due to the profile not existing in its folder. Better do this breaking change for GCKeys in the same PR as the other breaking change rather than later.
2024-02-04InputCommon: Unify GetProfileName and GetProfileDirectoryNameJosJuice
After reading the previous commit, you might think "hold on, what's the difference between GetProfileName and GetProfileDirectoryName"? These two are being used for the exact same thing - figuring out where profiles are stored - yet they return different values for certain controllers like GC keyboards! As far as I can tell, the existing code has been broken for GC keyboards since they were introduced a decade ago. The GUI (and more recently, also InputCycler) would write and read profiles in one location, and our code for loading profiles specified in a game INI file would read profiles in another location. This commit gets rid of the set of values used by the game INI code in favor of the other set. This does breaking existing setups where a GCKey profile has been configured in a game INI, but I think the number of working such setups is vanishingly small. The alternative would make existing GCKey profiles go missing from the profile dropdown in the GUI, which I think would be more disruptive. The alternative would also force new GCKey profiles into the same directory as GCPad profiles. This commit also fixes a regression from d6c0f8e749. The Android GUI was using GetProfileName to figure out what key to use in the game INI, which made it use incorrect game INI entries for GameCube controller profiles but not Wii Remote profiles. Now the Android GUI uses GetProfileKey for this, fixing the problem.
2024-02-04InputCommon: Refactor away InputConfig::LoadConfig's switch caseJosJuice
By having getters for this information, other code that needs access to the same information can call the getters instead of duplicating the information.
2024-01-18InputCommon/WGInput: Handle add/remove events on separate thread to prevent ↵Admiral H. Curtiss
deadlocks. In particular this is triggered when running Dolphin with the Steam overlay.
2024-01-15InputCommon/SDL: Code style fixes.Admiral H. Curtiss
2024-01-15InputCommon/SDL: Avoid potential infinite loops from integer truncation.Admiral H. Curtiss
2024-01-15InputCommon/SDL: Check for errors from SDL_JoystickNumButtons(), ↵Admiral H. Curtiss
SDL_JoystickNumAxes(), SDL_JoystickNumHats().
2024-01-15InputCommon/SDL: Fix incorrect use of std::vector::assign() and check bounds.Admiral H. Curtiss
2024-01-13Merge pull request #12085 from SuperSamus/sdl-gamecontrollerAdmiral H. Curtiss
SDL: Add GameController API, cleanup