Improve inline keyboard compatibility (#1959)

* Improve compatibility of the inline keyboard with some games

* Send an empty first text to avoid crashing some games

* Implement SetCustomizedDictionaries and fix SetCustomizeDic

* Expand Bg and Fg –abbreviations in the swkbd applet

* Fix variable names and add comments to software keyboard
This commit is contained in:
Caian Benedicto 2021-02-10 21:28:44 -03:00 committed by GitHub
parent e28a924501
commit f16d7f91f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 626 additions and 207 deletions

View file

@ -2,10 +2,33 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
{
[StructLayout(LayoutKind.Sequential, Pack = 4)]
/// <summary>
/// A structure with custom dictionary words for the software keyboard.
/// </summary>
[StructLayout(LayoutKind.Sequential, Pack = 2)]
struct SoftwareKeyboardDictSet
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 28)]
public uint[] Entries;
/// <summary>
/// A 0x1000-byte aligned buffer position.
/// </summary>
public ulong BufferPosition;
/// <summary>
/// A 0x1000-byte aligned buffer size.
/// </summary>
public uint BufferSize;
/// <summary>
/// Array of word entries in the buffer.
/// </summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
public ulong[] Entries;
/// <summary>
/// Number of used entries in the Entries field.
/// </summary>
public ushort TotalEntries;
public ushort Padding1;
}
}