134 memset(
this, 0,
sizeof(*
this));
162 WUT_PADDING_BYTES(3);
168 WUT_UNKNOWN_BYTES(0x9C - 0x2C);
174WUT_CHECK_OFFSET(
ConfigArg, 0x00, languageType);
175WUT_CHECK_OFFSET(
ConfigArg, 0x04, controllerType);
176WUT_CHECK_OFFSET(
ConfigArg, 0x08, keyboardMode);
177WUT_CHECK_OFFSET(
ConfigArg, 0x0C, accessFlags);
178WUT_CHECK_OFFSET(
ConfigArg, 0x10, unk_0x10);
179WUT_CHECK_OFFSET(
ConfigArg, 0x14, unk_0x14);
180WUT_CHECK_OFFSET(
ConfigArg, 0x18, unk_0x18);
181WUT_CHECK_OFFSET(
ConfigArg, 0x1C, okString);
182WUT_CHECK_OFFSET(
ConfigArg, 0x20, numpadCharLeft);
183WUT_CHECK_OFFSET(
ConfigArg, 0x22, numpadCharRight);
184WUT_CHECK_OFFSET(
ConfigArg, 0x24, showWordSuggestions);
185WUT_CHECK_OFFSET(
ConfigArg, 0x28, unk_0x28);
186WUT_CHECK_OFFSET(
ConfigArg, 0x29, unk_0x29);
187WUT_CHECK_OFFSET(
ConfigArg, 0x2A, unk_0x2A);
188WUT_CHECK_OFFSET(
ConfigArg, 0x2B, disableNewLine);
189WUT_CHECK_OFFSET(
ConfigArg, 0x9C, unk_0x9C);
190WUT_CHECK_OFFSET(
ConfigArg, 0xA0, drawSysWiiPointer);
191WUT_CHECK_OFFSET(
ConfigArg, 0xA4, unk_0xA4);
241 WUT_PADDING_BYTES(1);
251WUT_CHECK_OFFSET(
InputFormArg, 0x1D, higlightInitialText);
252WUT_CHECK_OFFSET(
InputFormArg, 0x1E, showCopyPasteButtons);
276WUT_CHECK_OFFSET(
CreateArg, 0x00, workMemory);
277WUT_CHECK_OFFSET(
CreateArg, 0x04, regionType);
278WUT_CHECK_OFFSET(
CreateArg, 0x08, unk_0x08);
279WUT_CHECK_OFFSET(
CreateArg, 0x0C, fsClient);
290WUT_CHECK_OFFSET(ControllerInfo, 0x00, vpad);
291WUT_CHECK_OFFSET(ControllerInfo, 0x04, kpad);
292WUT_CHECK_SIZE(ControllerInfo, 0x14);
298 memset(
this, 0,
sizeof(*
this));
301 WUT_UNKNOWN_BYTES(0x1C);
303WUT_CHECK_SIZE(DrawStringInfo, 0x1C);
316struct IEventReceiver;
317struct IControllerEventObj;
A structure containing the Wii Remote data.
VPADStatus * vpad
DRC input information, see VPADRead.
void InactivateSelectCursor()
@ InputForm0
Input form seen when adding an NNID on Friends List or creating a folder on the System Menu....
@ Default
The default input layout that is usually used (Page design)
const char16_t * hintText
Hint string.
InputFormType type
The type of input form.
bool IsNeedCalcSubThreadPredict()
Determines whether the prediction data needs calculating.
void DrawTV()
Draw the keyboard to the TV.
void CalcSubThreadFont()
Calculate font data.
void SetUserSoundObj(ISoundObj *soundObj)
bool InitLearnDic(void *dictionary)
bool AppearInputForm(const AppearArg &args)
Show an input form (keyboard with text area) with the given configuration.
const char16_t * GetInputFormString()
Get the string the user typed into the input form.
bool AppearKeyboard(const KeyboardArg &args)
Show a keyboard with the given configuration.
bool IsDecideOkButton(bool *outIsSelected)
Gets the current status of the OK button on the keyboard.
@ FadeIn
The input form / keyboard is drawing the fade in animation.
@ Hidden
The input form / keyboard is completely hidden.
@ Visible
The input form / keyboard is done drawing the fade in animation and completely visible.
@ FadeOut
The input form / keyboard is drawing the fade out animation.
nn::swkbd::PasswordMode passwordMode
Which password inputting preset to use.
RegionType regionType
The swkbd region to use.
void Calc(const ControllerInfo &controllerInfo)
Respond to user inputs and calculate the state of input buffers and graphics.
const char16_t * initialText
Initial string to open the keyboard with.
void GetDrawStringInfo(DrawStringInfo *drawStringInfo)
void CalcSubThreadPredict()
Calculate word prediction data.
void SetReceiver(const ReceiverArg &receiver)
void SetEnableOkButton(bool enable)
Enables and disables the OK button on the keyboard.
bool showCopyPasteButtons
Whether or not to show a copy and a paste button.
bool drawInput0Cursor
Whether or not to draw a cursor. Exclusive to the inputform0 input form type.
ConfigArg configArg
Configuration for the keyboard itself.
FSClient * fsClient
An FSClient for swkbd to use while loading resources.
void SetUserControllerEventObj(IControllerEventObj *controllerEventObj)
uint32_t GetWorkMemorySize(uint32_t unk)
Get the required size for swkbd's work memory buffer.
void DrawDRC()
Draw the keyboard to the DRC.
KeyboardArg keyboardArg
Arguments for the virtual keyboard.
void * workMemory
A pointer to a work memory buffer; see GetWorkMemorySize.
bool higlightInitialText
Whether or not to highlight the initial string. Exclusive to the Default input form type.
void SetInputFormString(const char16_t *str)
Sets the text in the input form.
bool DisappearKeyboard()
Hide a previously shown keyboard.
bool IsDecideCancelButton(bool *outIsSelected)
Gets the current status of the Cancel button on the keyboard.
void GetKeyboardCondition(KeyboardCondition *keyboardCondition)
InputFormArg inputFormArg
Arguments for the input form (text area)
KPADStatus * kpad[4]
Wiimote and extension controller inputs, see KPADRead.
@ Fade
Hides the charater after a few seconds.
void MuteAllSound(bool muted)
Mutes or unmutes the sounds generated by the keyboard.
void Destroy()
Clean up and shut down the swkbd library.
@ Numpad
Numpad used for entering for example a DNS address.
@ Utf8
ascii, possibly used for passwords ?
@ Full
The one that fully allows utf-16LE(char16_t) charaters.
@ NNID
the one thats used for registering an nnid full alphabet, numbers, '_' and '-'
bool IsCoveredWithSubWindow()
State GetStateInputForm()
Get the current state of the input form.
void SetCursorPos(int pos)
Set the character at which the cursor is positioned.
LanguageType
If the LanguageType and RegionType are not compatible, the LanguageType will be set to English,...
@ TraditionalChinese
Must be used in combination with RegionType::Taiwan.
@ Portuguese
Must be used in combination with RegionType::USA or RegionType::Europe.
@ Italian
Must be used in combination with RegionType::Europe.
@ Dutch
Must be used in combination with RegionType::Europe.
@ English
Must be used in combination with RegionType::USA or RegionType::Europe.
@ German
Must be used in combination with RegionType::Europe.
@ French
Must be used in combination with RegionType::USA or RegionType::Europe.
@ Spanish
Must be used in combination with RegionType::USA or RegionType::Europe.
@ SimplifiedChinese
Must be used in combination with RegionType::China.
@ Korean
Must be used in combination with RegionType::Korea.
@ Russian
Must be used in combination with RegionType::Europe.
@ Japanese
Must be used in combination with RegionType::Japan.
int32_t maxTextLength
The maximum number of characters that can be entered, -1 for unlimited.
bool IsSelectCursorActive()
Determines whether the selection cursor is active.
bool IsNeedCalcSubThreadFont()
Determines whether the font data needs calculating.
bool IsKeyboardTarget(IEventReceiver *eventReceiver)
bool Create(const CreateArg &args)
Initialise the swkbd library and create the keyboard and input form.
void SetControllerRemo(ControllerType type)
bool DisappearInputForm()
Hide a previously shown input form.
Arguments for the swkbd input form and keyboard.
Input and controller information for swkbd.
The arguments used to initialise swkbd and pass in its required resources.
Arguments for the swkbd keyboard.
Configuration options for the virtual keyboard.
char16_t numpadCharLeft
The left side button exclusive to the numpad keyboard mode.
bool showWordSuggestions
Bool to either enable or disable word suggestions.
const char16_t * okString
Text that's displayed on the "OK" button.
ControllerType controllerType
uint32_t accessFlags
TODO: find all bit flags.
KeyboardMode keyboardMode
bool drawSysWiiPointer
Draws the system Wii remote pointer.
char16_t numpadCharRight
The right side button exclusive to the numpad keyboard mode.
bool disableNewLine
If true it'll disable the new Line character on the keyboard.
LanguageType languageType
The language to use for input.