aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardConfig.cs
blob: 183da774ceeb2c48e7aad0d04d1a02828f6878f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System.Runtime.InteropServices;

namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
{
    // TODO(jduncanator): Define all fields
    [StructLayout(LayoutKind.Explicit)]
    struct SoftwareKeyboardConfig
    {
        /// <summary>
        /// Type of keyboard.
        /// </summary>
        [FieldOffset(0x0)]
        public SoftwareKeyboardType Type;

        /// <summary>
        /// When non-zero, specifies the max string length. When the input is too long, swkbd will stop accepting more input until text is deleted via the B button (Backspace).
        /// </summary>
        [FieldOffset(0x3AC)]
        public uint StringLengthMax;

        /// <summary>
        /// When non-zero, specifies the max string length. When the input is too long, swkbd will display an icon and disable the ok-button.
        /// </summary>
        [FieldOffset(0x3B0)]
        public uint StringLengthMaxExtended;

        /// <summary>
        /// When set, the application will validate the entered text whilst the swkbd is still on screen.
        /// </summary>
        [FieldOffset(0x3D0), MarshalAs(UnmanagedType.I1)]
        public bool CheckText;
    }
}