namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
{
/// <summary>
/// Possible responses from the software keyboard when running in inline mode.
/// </summary>
enum InlineKeyboardResponse : uint
/// The software keyboard received a Calc and it is fully initialized. Reply data is ignored by the user-process.
FinishedInitialize = 0x0,
/// Default response. Official sw has no handling for this besides just closing the storage.
Default = 0x1,
/// The text data in the software keyboard changed (UTF-16 encoding).
ChangedString = 0x2,
/// The cursor position in the software keyboard changed (UTF-16 encoding).
MovedCursor = 0x3,
/// A tab in the software keyboard changed.
MovedTab = 0x4,
/// The OK key was pressed in the software keyboard, confirming the input text (UTF-16 encoding).
DecidedEnter = 0x5,
/// The Cancel key was pressed in the software keyboard, cancelling the input.
DecidedCancel = 0x6,
/// Same as ChangedString, but with UTF-8 encoding.
ChangedStringUtf8 = 0x7,
/// Same as MovedCursor, but with UTF-8 encoding.
MovedCursorUtf8 = 0x8,
/// Same as DecidedEnter, but with UTF-8 encoding.
DecidedEnterUtf8 = 0x9,
/// They software keyboard is releasing the data previously set by a SetCustomizeDic request.
UnsetCustomizeDic = 0xA,
/// They software keyboard is releasing the data previously set by a SetUserWordInfo request.
ReleasedUserWordInfo = 0xB,
/// They software keyboard is releasing the data previously set by a SetCustomizedDictionaries request.
UnsetCustomizedDictionaries = 0xC,
/// Same as ChangedString, but with additional fields.
ChangedStringV2 = 0xD,
/// Same as MovedCursor, but with additional fields.
MovedCursorV2 = 0xE,
/// Same as ChangedStringUtf8, but with additional fields.
ChangedStringUtf8V2 = 0xF,
/// Same as MovedCursorUtf8, but with additional fields.
MovedCursorUtf8V2 = 0x10
}