Filoppi
d43a06ff6a
IMUAccelerometer: consistency of BoundCount checks
...
Similar to the guitar, only control[0] was checked, and that felt random.
2021-05-19 20:51:34 +03:00
Scott Mansell
9f91fb6447
Merge pull request #9688 from Filoppi/input_cleanup
...
Input cleanup
2021-05-14 20:51:33 +12:00
Filoppi
26f6648421
StickGate: add custom clamp value
...
Works exactly as before by default.
It will be used by my upcoming input PRs.
2021-05-12 18:27:24 +03:00
Filoppi
5f74d0e08f
InputCommon: follow coding conventions
2021-05-12 18:27:24 +03:00
Filoppi
4625359a4f
InputCommon: clamp the attachment setting max to its actual enum max
...
NumericSettings support a max, so let's use it.
It might not do much now, but the max and min values will be used to give visual feeback
in the UI in one of my upcoming input PRs
2021-05-12 18:27:24 +03:00
Filoppi
f4fec42165
Add mixed comments to input code, make some tooltip clearer
2021-05-12 18:27:23 +03:00
Filoppi
574477866f
InputCommon: fix serialization of control expression with line breaks
...
The control expression editor allows line breaks, but the serialization was
losing anything after the first line break (/r /n).
Instead of opting to encode them and decode them on serialization
(which I tried but was not safe, as it would lose /n written in the string by users),
I opted to replace them with a space.
2021-05-12 18:25:56 +03:00
Filoppi
e9e41b925b
InputCommon: follow coding conventions and rename GetState() to UpdateState()
...
And remove useless include
2021-05-10 23:48:10 +03:00
Filoppi
a261e61e9e
InputCommon: add a ton of missing consts
...
fix some related grammar errors
only the ButtonManager required code changes
2021-05-10 23:48:10 +03:00
Filoppi
81092cf7e4
InputCommon: replace SerialInterface log with ControllerInterface
...
where appropriate. SerialInterface was a leftover from the past,
and makes no sense to be used on actual/real controllers.
2021-05-05 00:16:08 +03:00
Jordan Woyak
1daefeb20a
Merge pull request #9674 from Filoppi/fix_hotkey_suppresion_crash
...
Fix hotkey suppression crash
2021-04-28 18:21:07 -05:00
Filoppi
799a368a7c
InputCommon: small hotkey threshold symmetry fix
2021-04-26 19:45:13 +03:00
Filoppi
ba2782e9d1
InputCommon: fix hotkey suppression crash if nullptr suppressions were added to the map
...
Update references was failing to update the references, causing input to stay nullptr and crashing.
I fixed the case that triggered that, though also added checks against nullptrs for safety.
(cherry picked from commit 4bdcf707555a5568eddff957fa3604975ffb6ed7)
2021-04-26 19:44:04 +03:00
Pokechu22
004dfd1586
Replace uses of cassert with Common/Assert.h
2021-04-02 10:18:18 -07:00
iwubcode
8055919905
InputCommon: Allow for partial gyro mapping; for Free Look, this allows you to only pitch or only yaw
2021-03-17 20:58:33 -05:00
iwubcode
db4b4e40cb
InputCommon / DolphinQt / Core: Add a "RelativeMouse" input which provides the raw delta mouse input
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2021-03-17 20:58:33 -05:00
Léo Lam
9a3e752021
Merge pull request #9558 from iwubcode/dsu-multi-server-avoid-blocking
...
InputCommon: block on DSU servers collectively instead of individually
2021-03-16 10:12:32 +01:00
Dentomologist
486a25dd2b
Touchscreen: Add override specifiers
...
Fix -Winconsistent-missing-override warnings on Android
2021-03-07 10:10:02 -08:00
Dentomologist
1fd332d3b7
ControllerInterface: Fix unused-result warning
...
Add ! before unused variables to 'use' them.
Ubuntu-x64 emits warnings for unused variables because gcc decides
it should ignore the void cast around them. See thread for discussion:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425
2021-03-07 10:10:02 -08:00
Dentomologist
692aaed60c
FreeLookController: Fix signed/unsigned warning
...
Loop index int i was being compared against GetControllerCount() which
returned a size_t. This was the only place GetControllerCount() was
called from so the change of return type doesn't disturb anything else.
Changing the loop index to size_t wouldn't work as well since it's
passed into GetController(), which takes an int and is called from many
places, so it would need a cast anyway on an already busy line.
2021-03-07 10:09:59 -08:00
iwubcode
dbb0b72cc5
InputCommon: instead of blocking on individual DSU server sockets, block on a selector built up from all server sockets
2021-03-05 12:05:38 -06:00
Léo Lam
59f4164411
Merge pull request #9539 from iwubcode/dynamic_input_tex_more_optimizations
...
InputCommon: dynamic input textures more optimizations
2021-03-02 02:53:22 +01:00
Léo Lam
858f00b641
Merge pull request #9492 from nolange/fix_norandr_build
...
Cleanup X11 and XRANDR Macros
2021-03-01 11:36:39 +01:00
iwubcode
32d584a0f5
InputCommon: reduce number of image loads and texture cache invalidations by only running dynamic input textures once for all controllers
2021-02-27 17:29:48 -06:00
Filoppi
e020b2e8ea
Common: don't call OnConfigChanged() unless it has actually changed
...
DualShock UDP Client is the only place in the code that assumed OnConfigChanged()
is called at least once on startup or it won't load up the setting, so I took care of that
2021-02-26 01:14:00 +02:00
Norbert Lange
29eaf09be4
Cleanup X11 and XRANDR Macros
...
This fixes build with X11 enabled and XRANDR disabled.
2021-02-22 14:30:43 +01:00
iwubcode
55ba1c7c9c
InputCommon: Move initial dynamic input texture configuration logic to a 'specification 1' function and load in a 'specification' attribute that defaults to 1 if not present (with 1 being the only valid value at the moment)
2021-02-19 00:02:15 -06:00
iwubcode
10127a0451
InputCommon: Move DynamicInputTextureData to DynamicInputTextures::Data
2021-02-16 22:43:10 -06:00
iwubcode
28a911ae6b
InputCommon: Move DynamicInputTextureConfiguration to DynamicInputTextures::Configuration
2021-02-16 22:37:59 -06:00
iwubcode
ce7db2e32b
InputCommon: When using dynamic input textures, only call force reload textures once for packs that have multiple configurations
2021-02-11 19:18:38 -06:00
Shawn Hoffman
500a694ca8
msbuild: bundle all dolphin "core" code into single library
2021-01-27 14:29:49 -08:00
Shawn Hoffman
7e1df34735
rename InputCommon/ControllerInterface/Device to CoreDevice
2021-01-27 14:29:48 -08:00
Shawn Hoffman
0be1491ef0
rename ciface::Wiimote to ciface::WiimoteController
2021-01-27 14:29:48 -08:00
Shawn Hoffman
84128d9532
rename Common/File to Common/IOFile
2021-01-27 14:29:48 -08:00
Filippo Tarpini
a5a6ef8512
Fix a couple of typos
...
[committer note: fixed commit message style]
2021-01-05 15:24:21 +01:00
Léo Lam
ee25f03ff9
Merge pull request #9418 from Filoppi/patch-10
...
Fix DualShockUDP not adding/removing devices correctly
2021-01-05 15:15:53 +01:00
Filippo Tarpini
1e4a1bee43
Fix DualShockUDP not adding/removing devices correctly
...
-If adding 2 devices with the same name, they their unique id wouldn't be increased, causing a conflict.
-Removing a device wouldn't actually remove it from the internal devices list because the list of devices had already been updated when going through it.
-It was possible to remove devices belonging to other sources by adding a device with the same name and then removing it.
2021-01-03 21:06:06 +02:00
Filippo Tarpini
8813ba69f5
Fix Quartz cursor going to +infinite if the window size was 0
2021-01-02 19:55:19 +02:00
Filippo Tarpini
5a5c815ff0
Fix DInput cursor going to +infinite if the window size was 0
2021-01-02 18:33:13 +02:00
Filippo Tarpini
75f35393c3
Fix XInput2 cursor going to +infinite if the window size was 0
2021-01-02 18:30:14 +02:00
seth
00ec25d520
InputCommon: Fix callback dispatch deadlock
...
Make sure m_is_populating_devices is true when a WM_INPUT_DEVICE_CHANGE
event is received directly on the ciface thread, so that callbacks do
not occur while removing devices. This breaks a hold-and-wait deadlock
between the ciface thread and the CPU thread when using emulated
Wiimotes.
Co-authored-by: brainleq <brainleq@users.noreply.github.com>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-12-13 00:30:27 +00:00
Léo Lam
fd5c69deca
Merge pull request #9289 from AdmiralCurtiss/simple-png-api-write
...
Use Simplified libpng API for writing PNGs.
2020-12-11 10:24:16 +01:00
iwubcode
39e78ce873
InputCommon: fix dynamic input textures being not generated when the key or device isn't mapped
2020-12-05 17:22:57 -06:00
Admiral H. Curtiss
33c1a5b941
InputCommon: Use Common::SavePNG() to write images.
2020-11-26 23:55:05 +01:00
Léo Lam
3891ac2682
Merge pull request #9232 from AdmiralCurtiss/show-result-value-in-expression-editor
...
Qt/IOWindow: Show result value in expression editor.
2020-11-26 01:30:12 +01:00
Léo Lam
9efc81ae98
Fix variable shadowing warnings
2020-11-21 02:08:09 +01:00
JosJuice
52c615f1b1
Remove a redundant i18n comment
2020-11-17 18:23:27 +01:00
JosJuice
9a01c3fb9f
Use positional arguments in all translatable fmt strings
...
We want to use positional arguments in translatable strings
that have more than one argument so that translators can change
the order of them, but the question is: Should we also use
positional arguments in translatable strings with only one
argument? I think it makes most sense that way, partially
so that translators don't even have to be aware of the
non-positional syntax and partially because "translatable
strings use positional arguments" is an easier rule for us
to remember than "transitional strings which have more than
one argument use positional arguments". But let me know if
you have a different opinion.
2020-11-16 13:28:11 +01:00
Lioncash
d8e1921b57
InputCommon: Migrate over to fmt-capable panic alerts
...
Continues the migration over to fmt.
2020-11-12 02:29:26 -05:00
Admiral H. Curtiss
cae741584b
InputCommon: Return error, if any, from ControlReference::SetExpression().
2020-11-08 01:04:33 +01:00
Nick Michael
55dd3d7337
Virtual Notch settings and UI for octagonal stick
2020-11-03 22:06:27 +00:00
Lioncash
a5e1415e74
InputCommon: Migrate logging over to fmt
...
Continues the migration of the logging calls over to the fmt capable
ones.
2020-10-23 13:16:18 -04:00
LC
de96fe0860
Merge pull request #9162 from jordan-woyak/quaternion
...
Replace stateful rotational matrices with quaternions.
2020-10-21 17:34:11 -04:00
Léo Lam
97de366b0f
Merge pull request #9160 from jordan-woyak/xinput2-stuck-keys
...
Linux/XInput2: Fix keys being stuck pressed on focus loss.
2020-10-21 20:47:32 +02:00
Lioncash
faf509e315
ExpressionParser: Add missing <functional> include
...
Unbreaks Windows CMake builds.
2020-10-20 16:18:32 -04:00
Léo Lam
f653bd7559
Merge pull request #9142 from jordan-woyak/expose-fov
...
WiimoteEmu: Expose IR camera FOV to adjust IMU pointing sensitivity.
2020-10-20 14:32:02 +02:00
Léo Lam
fc3b474cce
Merge pull request #8318 from iwubcode/dynamic_input_textures
...
InputCommon: Dynamic Input Textures
2020-10-20 02:10:29 +02:00
Léo Lam
911704611e
Merge pull request #9096 from jordan-woyak/calibration-cleanup
...
ControllerEmu: Improve and simplify UpdateCalibrationData.
2020-10-20 02:01:16 +02:00
Jordan Woyak
1dae834c62
WiimoteEmu: Tweak IMUCursor total yaw setting tool-tip.
2020-10-19 17:08:02 -05:00
Jordan Woyak
09431635f3
InputCommon/WiimoteEmu: Replace stateful rotational matrices with quaternions.
2020-10-19 16:33:55 -05:00
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