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
This commit is contained in:
parent
69093cf2d6
commit
380b95bc59
47 changed files with 2853 additions and 344 deletions
|
@ -1,10 +1,11 @@
|
|||
using Gtk;
|
||||
using Ryujinx.HLE;
|
||||
using Ryujinx.HLE.HOS.Applets;
|
||||
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
|
||||
using Ryujinx.HLE.Ui;
|
||||
using Ryujinx.Ui.Widgets;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using Action = System.Action;
|
||||
|
||||
namespace Ryujinx.Ui.Applet
|
||||
{
|
||||
|
@ -12,9 +13,13 @@ namespace Ryujinx.Ui.Applet
|
|||
{
|
||||
private readonly Window _parent;
|
||||
|
||||
public IHostUiTheme HostUiTheme { get; }
|
||||
|
||||
public GtkHostUiHandler(Window parent)
|
||||
{
|
||||
_parent = parent;
|
||||
|
||||
HostUiTheme = new GtkHostUiTheme(parent);
|
||||
}
|
||||
|
||||
public bool DisplayMessageDialog(ControllerAppletUiArgs args)
|
||||
|
@ -186,5 +191,23 @@ namespace Ryujinx.Ui.Applet
|
|||
|
||||
return showDetails;
|
||||
}
|
||||
|
||||
private void SynchronousGtkInvoke(Action action)
|
||||
{
|
||||
var waitHandle = new ManualResetEventSlim();
|
||||
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
action();
|
||||
waitHandle.Set();
|
||||
});
|
||||
|
||||
waitHandle.Wait();
|
||||
}
|
||||
|
||||
public IDynamicTextInputHandler CreateDynamicTextInputHandler()
|
||||
{
|
||||
return new GtkDynamicTextInputHandler(_parent);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue