134 memset(
this, 0,
sizeof(*
this));
162 WUT_PADDING_BYTES(3);
168 WUT_UNKNOWN_BYTES(0x9C - 0x2C);
174 WUT_CHECK_OFFSET(
ConfigArg, 0x00, languageType);
175 WUT_CHECK_OFFSET(
ConfigArg, 0x04, controllerType);
176 WUT_CHECK_OFFSET(
ConfigArg, 0x08, keyboardMode);
177 WUT_CHECK_OFFSET(
ConfigArg, 0x0C, accessFlags);
178 WUT_CHECK_OFFSET(
ConfigArg, 0x10, unk_0x10);
179 WUT_CHECK_OFFSET(
ConfigArg, 0x14, unk_0x14);
180 WUT_CHECK_OFFSET(
ConfigArg, 0x18, unk_0x18);
181 WUT_CHECK_OFFSET(
ConfigArg, 0x1C, okString);
182 WUT_CHECK_OFFSET(
ConfigArg, 0x20, numpadCharLeft);
183 WUT_CHECK_OFFSET(
ConfigArg, 0x22, numpadCharRight);
184 WUT_CHECK_OFFSET(
ConfigArg, 0x24, showWordSuggestions);
185 WUT_CHECK_OFFSET(
ConfigArg, 0x28, unk_0x28);
186 WUT_CHECK_OFFSET(
ConfigArg, 0x29, unk_0x29);
187 WUT_CHECK_OFFSET(
ConfigArg, 0x2A, unk_0x2A);
188 WUT_CHECK_OFFSET(
ConfigArg, 0x2B, disableNewLine);
189 WUT_CHECK_OFFSET(
ConfigArg, 0x9C, unk_0x9C);
190 WUT_CHECK_OFFSET(
ConfigArg, 0xA0, drawSysWiiPointer);
191 WUT_CHECK_OFFSET(
ConfigArg, 0xA4, unk_0xA4);
241 WUT_PADDING_BYTES(1);
251 WUT_CHECK_OFFSET(
InputFormArg, 0x1D, higlightInitialText);
252 WUT_CHECK_OFFSET(
InputFormArg, 0x1E, showCopyPasteButtons);
276 WUT_CHECK_OFFSET(
CreateArg, 0x00, workMemory);
277 WUT_CHECK_OFFSET(
CreateArg, 0x04, regionType);
278 WUT_CHECK_OFFSET(
CreateArg, 0x08, unk_0x08);
279 WUT_CHECK_OFFSET(
CreateArg, 0x0C, fsClient);
290 WUT_CHECK_OFFSET(ControllerInfo, 0x00, vpad);
291 WUT_CHECK_OFFSET(ControllerInfo, 0x04, kpad);
292 WUT_CHECK_SIZE(ControllerInfo, 0x14);
298 memset(
this, 0,
sizeof(*
this));
301 WUT_UNKNOWN_BYTES(0x1C);
303 WUT_CHECK_SIZE(DrawStringInfo, 0x1C);
316 struct IEventReceiver;
317 struct IControllerEventObj;
A structure containing the Wii Remote data.
void GetKeyboardCondition(KeyboardCondition *keyboardCondition)
VPADStatus * vpad
DRC input information, see VPADRead.
void DrawDRC()
Draw the keyboard to the DRC.
@ 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.
void SetUserControllerEventObj(IControllerEventObj *controllerEventObj)
bool DisappearInputForm()
Hide a previously shown input form.
bool InitLearnDic(void *dictionary)
void CalcSubThreadPredict()
Calculate word prediction data.
void GetDrawStringInfo(DrawStringInfo *drawStringInfo)
void SetUserSoundObj(ISoundObj *soundObj)
bool IsDecideOkButton(bool *outIsSelected)
Gets the current status of the OK button on the keyboard.
void MuteAllSound(bool muted)
Mutes or unmutes the sounds generated by the keyboard.
bool IsCoveredWithSubWindow()
void InactivateSelectCursor()
bool IsSelectCursorActive()
Determines whether the selection cursor is active.
@ 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.
bool IsNeedCalcSubThreadFont()
Determines whether the font data needs calculating.
const char16_t * initialText
Initial string to open the keyboard with.
void SetCursorPos(int pos)
Set the character at which the cursor is positioned.
bool showCopyPasteButtons
Whether or not to show a copy and a paste button.
bool AppearKeyboard(const KeyboardArg &args)
Show a keyboard with the given configuration.
void SetInputFormString(const char16_t *str)
Sets the text in the input form.
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.
bool Create(const CreateArg &args)
Initialise the swkbd library and create the keyboard and input form.
KeyboardArg keyboardArg
Arguments for the virtual keyboard.
void SetControllerRemo(ControllerType type)
State GetStateInputForm()
Get the current state of the input form.
bool IsKeyboardTarget(IEventReceiver *eventReceiver)
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.
bool AppearInputForm(const AppearArg &args)
Show an input form (keyboard with text area) with the given configuration.
void CalcSubThreadFont()
Calculate font data.
bool DisappearKeyboard()
Hide a previously shown keyboard.
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 SetEnableOkButton(bool enable)
Enables and disables the OK button on the keyboard.
@ 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 '-'
void SetReceiver(const ReceiverArg &receiver)
void DrawTV()
Draw the keyboard to the TV.
void Calc(const ControllerInfo &controllerInfo)
Respond to user inputs and calculate the state of input buffers and graphics.
void Destroy()
Clean up and shut down the swkbd library.
uint32_t GetWorkMemorySize(uint32_t unk)
Get the required size for swkbd's work memory buffer.
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 IsDecideCancelButton(bool *outIsSelected)
Gets the current status of the Cancel button on the keyboard.
const char16_t * GetInputFormString()
Get the string the user typed into the input form.
bool IsNeedCalcSubThreadPredict()
Determines whether the prediction data needs calculating.
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.