Jordan Woyak
bbb12a7560
Linux/XInput2: Fix keys being stuck pressed on focus loss.
2020-10-19 11:46:01 -05:00
iwubcode
4fff04db3c
Core: Load custom textures after inputs has been loaded and avoid sending force texture reload during startup for dynamic textures. This ensures that custom texture loading only happens once and users don't see any weird flashes on startup
2020-10-03 17:10:36 -05:00
iwubcode
fd3af4c5d3
InputCommon: Introducing the "Dynamic Input Texture". Configuration links an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image.
2020-10-03 17:10:35 -05:00
JMC47
ebdcddfcd0
Merge pull request #9120 from JosJuice/controller-defaults
...
Fix controller defaults being empty on fresh run
2020-09-29 18:38:11 -04:00
JosJuice
623340bbbb
Fix controller defaults being empty on fresh run
...
A very early call to Config::Save is now creating empty
controller INI files.
https://bugs.dolphin-emu.org/issues/12283
2020-09-29 21:49:22 +02:00
Jordan Woyak
0295d470b1
ControllerEmu: Increase "IMUPointer" "Total Yaw" default value to match that of regular "Point" settings.
...
Removed "Total Yaw" from included Wii remote input profile to take on the default value.
2020-09-28 18:09:34 -05:00
Jordan Woyak
f766c89a08
ControllerEmu: Increase Total Yaw/Pitch default values to compensate for new FOV and to reach screen edges in the Wii Menu.
2020-09-28 18:09:34 -05:00
Jordan Woyak
f9280d0f66
ControllerInterface/Wiimote: Add "IR Distance" input providing a calculated distance from sensor bar in meters.
2020-09-28 18:09:34 -05:00
Jordan Woyak
431eb4d60d
ExpressionParser: Improve hotkey suppression logic. Allow activation with simultaneous press of modifier and final input.
2020-09-25 22:51:33 -05:00
Jordan Woyak
44927da420
ExpressionParser: Replace ScopeGuard with custom deleter unique_ptr.
2020-09-25 22:51:33 -05:00
Jordan Woyak
48b76ff90f
InputCommon: Improve input detection to produce buton combinations.
2020-09-25 22:51:32 -05:00
Jordan Woyak
d8ad8c3861
InputCommon: Make hotkeys and input detection aware of Ctrl -> L_Ctrl / R_Ctrl hierarchy.
2020-09-25 20:29:18 -05:00
Jordan Woyak
aae913fbc6
InputCommon: Clean up modifier ignoring logic.
2020-09-25 20:29:18 -05:00
Jordan Woyak
f015c99a51
ControllerInterface: Add platform consistent names for modifier keys.
2020-09-25 20:29:18 -05:00
Jordan Woyak
d2729df281
ExpressionParser: Allow duplicate and superset modifier hotkeys to function.
2020-09-25 20:29:18 -05:00
Jordan Woyak
b3acc7403f
InputCommon: Support detecting combinations of inputs. (Hotkeys)
2020-09-25 20:29:18 -05:00
Jordan Woyak
e6ba495486
ExpressionParser: Suppress inputs when hotkey modifiers are pressed.
2020-09-25 20:29:18 -05:00
Jordan Woyak
52547379c9
ExpressionParser: Add Hotkey syntax.
2020-09-25 20:29:18 -05:00
Jordan Woyak
50b5224d06
Merge pull request #8840 from Techjar/evdev-combining-phys
...
ControllerInterface: Combine evdev devices with the same physical location in addition to unique ID
2020-09-20 09:28:09 -05:00
Jordan Woyak
0ca73355a8
ControllerEmu: Improve and simplify UpdateCalibrationData.
2020-09-19 08:40:55 -05:00
JMC47
4f1f849c9d
Merge pull request #8985 from jordan-woyak/btemu-cleanup
...
BTEmu/Wiimote: Fixes and Cleanups.
2020-09-14 02:09:27 -04:00
Techjar
8423f848d0
ControllerInterface: Combine evdev devices with the same physical location in addition to unique ID
2020-09-08 18:52:15 -04:00
Ryan Meredith
acd717ffae
GCAdapter_Android: Minor cleanup
2020-08-26 16:40:22 -04:00
Shawn Hoffman
6ef9d70701
name some threads
2020-08-22 17:22:07 -07:00
Shawn Hoffman
2f47f486af
msbuild: re-enable standalone vcxproj processing
2020-08-22 16:17:50 -07:00
Shawn Hoffman
390f509bbf
windows: disable C4200 directly in libusb.h
2020-08-22 16:17:50 -07:00
Shawn Hoffman
94bf48b67c
msbuild: refactor stuff out of project files (for dolphin)
2020-08-22 16:17:50 -07:00
Jordan Woyak
13ee6bd7bb
BTEmu/Wiimote: Cleanups/Fixes.
2020-08-16 11:38:13 -05:00
Tillmann Karras
d2b06f4786
Fix various -Wshadow warnings
2020-08-08 21:45:03 +01:00
Tilka
f17b5dd41b
Merge pull request #8804 from iwubcode/dsu-improvements
...
DolphinQt / InputCommon - Support multiple DSU servers
2020-08-08 20:45:57 +01:00
Admiral H. Curtiss
2281cde28b
InputCommon: Add a handful of math functions to the expression parser.
2020-08-02 22:09:09 +02:00
LC
487cd7abd9
Merge pull request #8905 from JosJuice/jni-encoding
...
Android: Use correct encoding when converting strings
2020-07-18 22:13:14 -04:00
Filip Gawin
0ede5d1537
Use range loop (if possible)
2020-07-18 18:29:16 -05:00
iwubcode
97c9cf3e21
DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support
2020-07-17 14:53:39 -05:00
iwubcode
58aa0150e1
DolphinQt / InputCommon: Support multiple DSU servers
2020-07-17 14:53:39 -05:00
LC
4d36f6a5b0
Merge pull request #8936 from jordan-woyak/wiimote-extension-calibration-fix
...
ControllerInterface/Wiimote: Provide fallback values for extensions with bad calibration.
2020-07-12 12:46:15 -04:00
Jordan Woyak
d9e7d0514c
WiimoteEmu: Allow writes of the i2c bus to play speaker data.
2020-07-11 21:19:16 -05:00
Jordan Woyak
5299e902aa
ControllerInterface/Wiimote: Provide fallback values for extensions with bad calibration data.
2020-07-11 19:55:14 -05:00
Jordan Woyak
b350d3cca3
InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail.
2020-07-09 17:17:44 -05:00
JosJuice
15d9fab0bb
Common: Rename UTF16ToUTF8
...
This function does *not* always convert from UTF-16. It converts
from UTF-16 on Windows and UTF-32 on other operating systems.
Also renaming UTF8ToUTF16 for consistency, even though it
technically doesn't have the same problem since it only was
implemented on Windows.
2020-07-08 14:51:35 +02:00
LC
87287181dd
Merge pull request #8907 from JosJuice/android-overlay-stick-gate
...
Android: Use octagonal stick gate in overlay
2020-07-08 08:50:47 -04:00
LC
4c50eadf34
Merge pull request #8908 from jordan-woyak/wiimote-battery-hax
...
WiimoteCommon: Tweak battery level math.
2020-07-08 08:46:58 -04:00
Jordan Woyak
f2fd5c7f90
InputCommon/GCAdapter: Fix offbrand "GCAdapters" with a libusb_control_transfer call.
2020-07-07 14:45:19 -05:00
Jordan Woyak
d382c6bab9
WiimoteCommon: Tweak battery level math.
2020-06-28 19:40:26 -05:00
JosJuice
db75509ec5
Android: Enfore correct stick gate in overlay
...
Currently, the touch controller overlay uses a square gate for
sticks. This commit changes that so that it instead uses the
stick gate configured in the INI, which ensures that the values
sent to the core are appropriately scaled regardless of what
is configured in the INI and makes the overlay look nicer
if the INI is set to a stick gate that matches the graphics.
2020-06-29 01:20:02 +02:00
Connor McLaughlin
2488e4a587
Merge pull request #8795 from WamWooWam/master
...
InputCommon: Use the Window handle when initializing DirectInput.
2020-05-10 19:16:15 +10:00
Pierre Bourdon
daf1c30a94
GCAdapter: add libusb error logging on reads/writes
2020-05-10 09:26:49 +02:00
Thomas May
76ae1d4070
Apply fixes to all platforms
2020-05-09 22:35:20 +01:00
Thomas May
78e8ccea6d
Update ControllerInterface.cpp
2020-05-06 01:30:49 +01:00
Léo Lam
19da101164
Remove redundant Config prefix from ConfigInfo/ConfigLocation
...
Both structs are already in the Config namespace.
2020-05-02 14:40:14 +02:00
Léo Lam
88ae4c7914
Merge pull request #8729 from JosJuice/android-touch-ir-default
...
Android: Use touch emulation of IR by default
2020-04-27 17:56:01 +02:00
JosJuice
18a4afb053
Android: Use touch emulation of IR by default
...
While having motion control emulation of IR enabled by default
makes sense in situations like using a DualShock 4 on a PC,
Android has the additional option of touch emulation of IR
which seems to be better liked, and the default value which
was chosen with PC in mind was carried over to Android
without any particular consideration. This change disables
motion control emulation of IR by default on Android only.
2020-04-27 17:02:53 +02:00
Léo Lam
9d44af4c31
Merge pull request #8696 from howard0su/cleanup_shadow
...
Cleanup warnings of -Wmissing-declarations
2020-04-27 15:33:01 +02:00
Jun Su
b6ff15c130
Cleanup warnings of -Wmissing-declarations
...
Add static to the functions which is not intentionally
export to big scope.
2020-03-24 20:16:10 +08:00
Jun Su
997cfa49fc
InputCommon: cleanup warnings of -Wclass-memaccess
...
Initialize m_state with the default constructor.
2020-03-23 14:26:36 +08:00
Léo Lam
4944e4b429
Merge pull request #8647 from jordan-woyak/minor-input-cleanups
...
InputCommon: Minor ReshapableInput related cleanups.
2020-03-15 15:06:54 +01:00
Stenzek
86db015c23
Common: Add a render_window field to WindowSystemInfo
...
We need this because we need to pass the layer to MoltenVK, not
the view handle. But the input subsystem still needs the window.
2020-03-11 23:09:30 +10:00
Jordan Woyak
ed24f32c5b
InputCommon: Specify ini value default when saving calibration "center".
2020-02-25 17:19:48 -06:00
Jordan Woyak
bd43e084f4
InputCommon: Clamp calibration values within square shape.
2020-02-25 17:19:48 -06:00
Jordan Woyak
f8cca9fe5d
InputCommon: RoundStickGate's ideal sample count can be 1.
2020-02-25 17:19:48 -06:00
Jordan Woyak
d80fd13b17
DolphinQt: Clean up mapping indicator code and draw lines on "pixel centers".
2020-02-24 16:26:26 -06:00
Jordan Woyak
7accd9825f
InputCommon: Remove racy UpdateInput call in DetectInput.
2020-02-24 16:25:06 -06:00
Jordan Woyak
1a3b4d91bf
InputCommon: Mark GetStateLock with [[nodiscard]] and fix discarding calls.
2020-02-24 16:25:06 -06:00
Jordan Woyak
da12f3eebc
InputCommon: Constify Device::Input::IsDetectable function.
2020-02-22 10:27:43 -06:00
Jordan Woyak
70ac9ad2e6
InputCommon: Remove Wii Remote real-time calibration of M+ in favor of functionality provided by ControllerEmu.
2020-02-17 16:14:03 -06:00
Jordan Woyak
58448d74c5
InputCommon: Add real Wii Remote support to ControllerInterface. Add option to connect additional Wii Remotes.
2020-02-17 16:14:01 -06:00
Jordan Woyak
4176cc77e1
InputCommon/ControllerInterface: Make devices mutex recursive so RemoveDevice can be used within UpdateInput.
2020-02-17 15:58:06 -06:00
Jordan Woyak
8343dadd58
InputCommon: Add types to ControllerEmu that represent raw controller inputs and calibration data to calculate normalized input values.
2020-02-17 15:57:43 -06:00
Jordan Woyak
1e652d7d34
InputCommon: Add calibration functionality to IMUGyroscope.
2020-02-17 15:57:43 -06:00
Jordan Woyak
82a3aa5ff6
InputCommon: Add "Dead Zone" setting to raw gyro inputs.
2020-02-17 15:57:43 -06:00
Jordan Woyak
47877ecf2c
InputCommon: Clean up creation of inputs.
2020-02-09 19:08:26 -06:00
Tilka
01d69ba81a
Merge pull request #8624 from jordan-woyak/setting-expression-input-gate
...
InputCommon: Only update setting expressions when the input gate is enabled.
2020-02-10 00:47:30 +00:00
Jordan Woyak
53f2e275af
InputCommon: Only update setting expressions when the input gate is enabled.
2020-02-09 18:42:42 -06:00
Tilka
db65b9a766
Merge pull request #8616 from jordan-woyak/threshold-cleanup
...
InputCommon: Eliminate some duplicated button threshold logic.
2020-02-10 00:05:10 +00:00
Jordan Woyak
f07457b6cc
InputCommon: Eliminate some duplicated button threshold logic.
2020-02-09 10:37:18 -06:00
JMC47
5ab846ad12
Merge pull request #8614 from jordan-woyak/xinput-battery
...
InputCommon/XInput: Expose battery as input and cleanups.
2020-02-09 09:29:00 -05:00
Tilka
2e2540317e
Merge pull request #8417 from jordan-woyak/setting-expressions
...
InputCommon: Allow controller settings specified with input expresions.
2020-02-09 01:37:30 +00:00
Jordan Woyak
4f47cccd9f
Cleanup: Use std::abs instead of abs.
2020-02-08 18:21:14 -06:00
Jordan Woyak
0a1634bedf
InputCommon: Allow Wii remote extension to be set with an input expression.
2020-02-08 16:03:13 -06:00
Jordan Woyak
e7400cafd2
InputCommon: XInput cleanups.
2020-02-08 15:51:02 -06:00
Jordan Woyak
86e8745169
InputCommon: Expose XInput battery level as an input.
2020-02-08 15:03:56 -06:00
Jordan Woyak
e8152b700f
InputCommon: Allow controller settings specified with input expresions.
2020-02-08 14:01:55 -06:00
Léo Lam
0491831483
Merge pull request #8592 from phcoder/devid
...
ButtonManager: Fix handling of empty device id.
2020-02-02 16:52:12 +01:00
Connor McLaughlin
69ee15e5ef
Merge pull request #8478 from jordan-woyak/dsu-client-cleanup
...
ControllerInterface/DSUClient: Minor cleanup.
2020-02-01 11:29:29 +10:00
Vladimir Serbinenko
02c5d292fa
ButtonManager: Fix handling of empty device id.
...
Device id is "" on ChromeOS when using gamepad
2020-01-29 02:47:18 +01:00
Jordan Woyak
b92f6480a0
InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
2020-01-24 09:20:41 -06:00
Jordan Woyak
a61dff67da
InputCommon: List IMUAccelerometer's Up/Down inputs first for consistency.
2020-01-18 13:56:11 -06:00
Jordan Woyak
6106f780a7
ControllerInterface/DSUClient: Eliminate m_accl/m_gyro state by accessing the pad data directly like every other input.
2020-01-13 17:35:33 -06:00
JMC47
eacbff76dd
Merge pull request #8474 from jordan-woyak/dsu-battery
...
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 18:30:53 -05:00
Jordan Woyak
e2d5c92c76
ControllerInterface: Remove and re-add device when combining nodes.
2020-01-13 16:50:58 -06:00
Jordan Woyak
aabe8d2ccd
ControllerInterface: Don't consider the empty string a valid unique ID.
2020-01-13 16:50:58 -06:00
Jordan Woyak
ac907ef977
ControllerInterface: Combine evdev devices with the same unique ID.
...
This works around Linux drivers for DS4 (Playstation 4) controllers splitting the device into three separate event nodes which makes configuration difficult.
To prevent collisions of input names in combined devices more descriptive names are now used when possible.
2020-01-13 16:50:56 -06:00
Jordan Woyak
2b9fa0597a
ControllerInterface: Minor DSU client device cleanups.
2020-01-13 16:32:02 -06:00
Jordan Woyak
f0534cabc6
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 16:29:24 -06:00
Scott Mansell
a8c33f4ef6
Fix trailing whitespace
2020-01-07 12:52:05 +13:00
Scott Mansell
21528c3e72
Document the evdev "interesting" heuristic
...
Was checking over this old code, and saw a comment calling me out for a lack of documentation.
It might be half a decade late, but better late then never.
2020-01-07 12:46:24 +13:00
David Korth
6e549bb668
InputConfig::LoadConfig(): Convert num[] to an array of std::string_view.
...
NOTE: The explicit std::string() conversions later are needed. Otherwise,
gcc-9.2.0 throws all sorts of errors because it can't find a matching
operator+() function.
2019-12-29 23:45:02 -05:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Pierre Bourdon
5c996dec89
DualShockUDPClient: downgrade spurious NOTICE_LOGs
2019-12-23 18:36:18 +01:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00