| Age | Commit message (Collapse) | Author |
|
The Qt Software Keyboard frontend attempts to mimic the software keyboard rendered by the Nintendo Switch.
This frontend implements multiple keyboard types, such as the normal software keyboard, the numeric pad software keyboard and the inline software keyboard.
Keyboard and controller input is also supported in this frontend.
Keyboard input is handled as native keyboard input, and so the on-screen keyboard cannot be navigated with the keyboard arrow keys as the arrow keys are used to move the text cursor.
Controller input is translated into mouse hover movements on the onscreen keyboard or their respective button actions (B for backspace, A for entering the selected button, L/R for moving the text cursor, etc).
The text check dialogs can also be confirmed with controller input through the use of the OverlayDialog
Massive thanks to Rei for creating all the UI for the various keyboards and OverlayDialog. This would not have been possible without his excellent work.
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
|
|
I forgot to hook this up during the development of the controller applet, this PR amends that.
|
|
|
|
This requires making several types trivial and properly initialize
them whenever they are called.
|
|
|
|
Increases the controller connection delay to 60ms and refactors it to attempt to disconnect all controllers prior to connecting all controllers in HID.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
Some games do not respond to a change in controller type if 1) The controller is not disconnected prior to being reconnected and/or 2) The controller is reconnected instantly after being disconnected.
Since it is not possible to change controllers instantly on hardware and requiring a disconnect prior to connecting a new one, we should emulate this as well with a small delay, fixing the aforementioned issue.
|
|
A vibration device is an input device that returns an unsigned byte as status.
It represents whether the vibration device supports vibration or not.
If the status returns 1, it supports vibration. Otherwise, it does not support vibration.
|
|
Allows for enabling and modifying vibration and vibration strength per player.
Also adds a toggle for enabling/disabling accurate vibrations.
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
This will be replaced in favor of per-player vibration strength modifiers.
|
|
This allows setting the vibration strength percentage anywhere from 1% to 100%.
Also hooks up the remaining motion button and checkbox in the Controller Applet.
|
|
|
|
|
|
|
|
controller: Pass ControllerParameters by reference in ReconfigureControllers()
|
|
Prevents unnecessary copies and heap reallocations from occurring.
|
|
controller: Convert led_patterns integer literals to bool literals
|
|
general: Use template deduction guides for lock_guard
|
|
Same behavior, less code.
|
|
'bool' isn't always guaranteed to be the same size as an int, so this
can technically cause truncation warnings if we support other platforms.
|
|
Resolves a warning where not all control paths return a value.
|
|
|
|
Resolves -Wsign-compare and -Wunused-variable
|
|
|
|
|
|
This avoids unintentionally changing the states of elements while loading them in.
|
|
Avoids repetitive usages of the int literal '8' or calls to player_widgets.size()
|
|
"Explain Text" is additional text that is shown for each player in the controller applet.
|
|
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
|
|
This is more representative of what actually occurs, as web does support remote URLs which wouldn't need a romfs callback. This paves for easy future support of this with a call like 'OpenPageRemote' or similar.
|
|
|
|
yuzu/{profile_select, software_keyboard}: Tidy up interface
|
|
mii: Implement MiiManager backend and several mii service commands
|
|
Like with the profile selection dialog, we can just use the result of
QDialog's exec() function to determine whether or not a dialog was
accepted.
|
|
This behavior is already provided by the built-in exec() function. We
just need to check the return value of it.
|
|
Qt uses a signed value to represent indices. We should follow this
convention where applicable to avoid unnecessary sign-conversion
warnings, as well as making it easier to interoperate with other aspects
of Qt.
While we're at it, we can also make a sign-conversion explicit.
|