diff options
author | Caian Benedicto <caianbene@gmail.com> | 2021-01-11 15:27:55 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-11 19:27:55 +0100 |
commit | e57b14042910eac2f876549b4a1e6fd5ba027368 (patch) | |
tree | dcfeabf03776310bb7095076d1a1e9300b069bfc /Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs | |
parent | b81f19613f306267ee0f448d2f23caef74afef79 (diff) |
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
Diffstat (limited to 'Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs')
-rw-r--r-- | Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs b/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs new file mode 100644 index 00000000..6213c2e4 --- /dev/null +++ b/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs @@ -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; + } +} |