Add support for inline software keyboard (#1868)
* Add background mode configuration to SoftwareKeyboardApplet * Add placeholder text generator for Software Keyboard in background mode * Add stub for GetIndirectLayerImageMap * Fix default state of DecidedCancel response * Add GUI text input to Software Keyboard in background mode * Fix graphical glitch when Inline Software Keyboard appears * Improve readability of InlineResponses class * Improve code styling and fix compiler warnings * Replace ServiceDisplay log class by ServiceVi * Replace static readonly by const * Add proper finalization to the keyboard applet in inline mode * Rename constants to start with uppercase * Fix inline keyboard not working with some games * Improve code readability * Fix code styling
This commit is contained in:
parent
b81f19613f
commit
e57b140429
10 changed files with 770 additions and 41 deletions
|
@ -0,0 +1,84 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
|
||||
{
|
||||
/// <summary>
|
||||
/// A structure that defines the configuration options of the software keyboard.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential, Pack=1, CharSet = CharSet.Unicode)]
|
||||
struct SoftwareKeyboardCalc
|
||||
{
|
||||
private const int InputTextLength = 505;
|
||||
|
||||
public uint Unknown;
|
||||
|
||||
public ushort Size;
|
||||
|
||||
public byte Unknown1;
|
||||
public byte Unknown2;
|
||||
|
||||
public ulong Flags;
|
||||
|
||||
public SoftwareKeyboardInitialize Initialize;
|
||||
|
||||
public float Volume;
|
||||
|
||||
public int CursorPos;
|
||||
|
||||
public SoftwareKeyboardAppear Appear;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = InputTextLength + 1)]
|
||||
public string InputText;
|
||||
|
||||
public byte Utf8Mode;
|
||||
|
||||
public byte Unknown3;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool BackspaceEnabled;
|
||||
|
||||
public short Unknown4;
|
||||
public byte Unknown5;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte KeytopAsFloating;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte FooterScalable;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte AlphaEnabledInInputMode;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte InputModeFadeType;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte TouchDisabled;
|
||||
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public byte HardwareKeyboardDisabled;
|
||||
|
||||
public uint Unknown6;
|
||||
public uint Unknown7;
|
||||
|
||||
public float KeytopScale0;
|
||||
public float KeytopScale1;
|
||||
public float KeytopTranslate0;
|
||||
public float KeytopTranslate1;
|
||||
public float KeytopBgAlpha;
|
||||
public float FooterBgAlpha;
|
||||
public float BalloonScale;
|
||||
|
||||
public float Unknown8;
|
||||
public uint Unknown9;
|
||||
public uint Unknown10;
|
||||
public uint Unknown11;
|
||||
|
||||
public byte SeGroup;
|
||||
|
||||
public byte TriggerFlag;
|
||||
public byte Trigger;
|
||||
|
||||
public byte Padding;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue