diff options
author | Caian Benedicto <caianbene@gmail.com> | 2021-10-12 16:54:21 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-12 21:54:21 +0200 |
commit | 380b95bc59e7dc419f89df951cdc086e792cb0ff (patch) | |
tree | 59a636b48db991d8e13132d7d3f41464d9b04b24 /Ryujinx.Headless.SDL2/WindowBase.cs | |
parent | 69093cf2d69490862aff974f170cee63a0016fd0 (diff) |
Inline software keyboard without input pop up dialog (#2180)
* Initial implementation
* Refactor dynamic text input keys out to facilitate configuration via UI
* Fix code styling
* Add per applet indirect layer handles
* Remove static functions from SoftwareKeyboardRenderer
* Remove inline keyboard reset delay
* Remove inline keyboard V2 responses
* Add inline keyboard soft-lock recovering
* Add comments
* Forward accept and cancel key names to the keyboard and add soft-lock prevention line
* Add dummy window to handle paste events
* Rework inline keyboard state machine and graphics
* Implement IHostUiHandler interfaces on headless WindowBase class
* Add inline keyboard assets
* Fix coding style
* Fix coding style
* Change mode cycling shortcut to F6
* Fix invalid calc size error in games using extended calc
* Remove unnecessary namespaces
Diffstat (limited to 'Ryujinx.Headless.SDL2/WindowBase.cs')
-rw-r--r-- | Ryujinx.Headless.SDL2/WindowBase.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Ryujinx.Headless.SDL2/WindowBase.cs b/Ryujinx.Headless.SDL2/WindowBase.cs index 858b0801..3fbd9bc3 100644 --- a/Ryujinx.Headless.SDL2/WindowBase.cs +++ b/Ryujinx.Headless.SDL2/WindowBase.cs @@ -4,10 +4,9 @@ using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.GAL.Multithreading; -using Ryujinx.HLE; using Ryujinx.HLE.HOS.Applets; using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types; -using Ryujinx.HLE.HOS.Services.Hid; +using Ryujinx.HLE.Ui; using Ryujinx.Input; using Ryujinx.Input.HLE; using Ryujinx.SDL2.Common; @@ -35,6 +34,9 @@ namespace Ryujinx.Headless.SDL2 public event EventHandler<StatusUpdatedEventArgs> StatusUpdatedEvent; protected IntPtr WindowHandle { get; set; } + + public IHostUiTheme HostUiTheme { get; } + protected SDL2MouseDriver MouseDriver; private InputManager _inputManager; private IKeyboard _keyboardInterface; @@ -67,6 +69,7 @@ namespace Ryujinx.Headless.SDL2 _exitEvent = new ManualResetEvent(false); _aspectRatio = aspectRatio; _enableMouse = enableMouse; + HostUiTheme = new HeadlessHostUiTheme(); SDL2Driver.Instance.Initialize(); } @@ -353,6 +356,11 @@ namespace Ryujinx.Headless.SDL2 return DisplayMessageDialog("Controller Applet", message); } + public IDynamicTextInputHandler CreateDynamicTextInputHandler() + { + return new HeadlessDynamicTextInputHandler(); + } + public void ExecuteProgram(Switch device, ProgramSpecifyKind kind, ulong value) { device.Configuration.UserChannelPersistence.ExecuteProgram(kind, value); |