wut  1.0.0-beta9
Wii U Toolchain
Data Structures | Enumerations | Functions
nn::swkbd Namespace Reference

Graphical software keyboard, supporting several languages and configurations. More...

Data Structures

struct  AppearArg
 Arguments for the swkbd input form and keyboard. More...
 
struct  ConfigArg
 Configuration options for the virtual keyboard. More...
 
struct  ControllerInfo
 Input and controller information for swkbd. More...
 
struct  CreateArg
 The arguments used to initialise swkbd and pass in its required resources. More...
 
struct  DrawStringInfo
 
struct  InputFormArg
 Arguments for swkbd the input form (text area). More...
 
struct  KeyboardArg
 Arguments for the swkbd keyboard. More...
 
struct  KeyboardCondition
 
struct  ReceiverArg
 

Enumerations

enum  ControllerType { Unknown0 = 0 }
 
enum  LanguageType {
  Japanese = 0,
  English = 1
}
 
enum  RegionType {
  Japan = 0,
  USA = 1,
  Europe = 2
}
 
enum  State { Unknown0 = 0 }
 

Functions

bool AppearInputForm (const AppearArg &args)
 Show an input form (keyboard with text area) with the given configuration. More...
 
bool AppearKeyboard (const KeyboardArg &args)
 Show a keyboard with the given configuration. More...
 
void CalcSubThreadFont ()
 Calculate font data. More...
 
void CalcSubThreadPredict ()
 Calculate word prediction data. More...
 
void Calc (const ControllerInfo &controllerInfo)
 Respond to user inputs and calculate the state of input buffers and graphics. More...
 
void ConfirmUnfixAll ()
 
bool Create (const CreateArg &args)
 Initialise the swkbd library and create the keyboard and input form. More...
 
void Destroy ()
 Clean up and shut down the swkbd library. More...
 
bool DisappearInputForm ()
 Hide a previously shown input form. More...
 
bool DisappearKeyboard ()
 Hide a previously shown keyboard. More...
 
void DrawDRC ()
 Draw the keyboard to the DRC. More...
 
void DrawTV ()
 Draw the keyboard to the TV. More...
 
void GetDrawStringInfo (DrawStringInfo *drawStringInfo)
 
const char16_t * GetInputFormString ()
 Get the string the user typed into the input form. More...
 
void GetKeyboardCondition (KeyboardCondition *keyboardCondition)
 
State GetStateInputForm ()
 
State GetStateKeyboard ()
 
uint32_t GetWorkMemorySize (uint32_t unk)
 Get the required size for swkbd's work memory buffer. More...
 
void InactivateSelectCursor ()
 
bool InitLearnDic (void *dictionary)
 
bool IsCoveredWithSubWindow ()
 
bool IsDecideCancelButton (bool *outIsSelected)
 Gets the current status of the Cancel button on the keyboard. More...
 
bool IsDecideOkButton (bool *outIsSelected)
 Gets the current status of the OK button on the keyboard. More...
 
bool IsKeyboardTarget (IEventReceiver *eventReceiver)
 
bool IsNeedCalcSubThreadFont ()
 Determines whether the font data needs calculating. More...
 
bool IsNeedCalcSubThreadPredict ()
 Determines whether the prediction data needs calculating. More...
 
bool IsSelectCursorActive ()
 Determines whether the selection cursor is active. More...
 
void MuteAllSound (bool muted)
 Mutes or unmutes the sounds generated by the keyboard. More...
 
void SetControllerRemo (ControllerType type)
 
void SetCursorPos (int pos)
 Set the character at which the cursor is positioned. More...
 
void SetEnableOkButton (bool enable)
 Enables and disables the OK button on the keyboard. More...
 
void SetInputFormString (const char16_t *str)
 Sets the text in the input form. More...
 
void SetReceiver (const ReceiverArg &receiver)
 
void SetSelectFrom (int)
 
void SetUserControllerEventObj (IControllerEventObj *controllerEventObj)
 
void SetUserSoundObj (ISoundObj *soundObj)
 

Detailed Description

Graphical software keyboard, supporting several languages and configurations.

Applications should first call Create to initialise the library, followed by AppearInputForm to show a text area and virtual keyboard. Input should be forwarded to the keyboard via Calc, along with calls to CalcSubThreadFont and CalcSubThreadPredict. Finally, the keyboard can be rendered with DrawTV and DrawDRC. The user's interaction with the keyboard can be tracked with GetInputFormString, IsDecideOkButton and IsDecideCancelButton; and once satisfied the application can dismiss the keyboard with DisappearInputForm. Don't forget Destroy!


Data Structure Documentation

◆ nn::swkbd::AppearArg

struct nn::swkbd::AppearArg

Arguments for the swkbd input form and keyboard.

Definition at line 153 of file swkbd_cpp.h.

Data Fields
KeyboardArg keyboardArg Arguments for the virtual keyboard.
InputFormArg inputFormArg Arguments for the input form (text area)

◆ nn::swkbd::ControllerInfo

struct nn::swkbd::ControllerInfo

Input and controller information for swkbd.

Definition at line 180 of file swkbd_cpp.h.

Data Fields
VPADStatus * vpad DRC input information, see VPADRead.
KPADStatus * kpad[4] Wiimote and extension controller inputs, see KPADRead.

◆ nn::swkbd::CreateArg

struct nn::swkbd::CreateArg

The arguments used to initialise swkbd and pass in its required resources.

Definition at line 163 of file swkbd_cpp.h.

Data Fields
void * workMemory A pointer to a work memory buffer; see GetWorkMemorySize.
RegionType regionType The swkbd region to use.
uint32_t unk_0x08
FSClient * fsClient An FSClient for swkbd to use while loading resources.

◆ nn::swkbd::InputFormArg

struct nn::swkbd::InputFormArg

Arguments for swkbd the input form (text area).

Definition at line 125 of file swkbd_cpp.h.

Data Fields
uint32_t unk_0x00
int32_t unk_0x04
uint32_t unk_0x08
uint32_t unk_0x0C
int32_t maxTextLength The maximum number of characters that can be entered, -1 for unlimited.
uint32_t unk_0x14
uint32_t unk_0x18
bool unk_0x1C
bool unk_0x1D
bool unk_0x1E

◆ nn::swkbd::KeyboardArg

struct nn::swkbd::KeyboardArg

Arguments for the swkbd keyboard.

Definition at line 116 of file swkbd_cpp.h.

Data Fields
ConfigArg configArg Configuration for the keyboard itself.
ReceiverArg receiverArg

◆ nn::swkbd::KeyboardCondition

struct nn::swkbd::KeyboardCondition

Definition at line 202 of file swkbd_cpp.h.

Data Fields
uint32_t unk_0x00
uint32_t unk_0x04

◆ nn::swkbd::ReceiverArg

struct nn::swkbd::ReceiverArg

Definition at line 98 of file swkbd_cpp.h.

Data Fields
uint32_t unk_0x00
uint32_t unk_0x04
uint32_t unk_0x08
int32_t unk_0x0C
uint32_t unk_0x10
int32_t unk_0x14

Enumeration Type Documentation

◆ ControllerType

enum ControllerType
strong
Enumerator
Unknown0 

Definition at line 38 of file swkbd_cpp.h.

◆ LanguageType

enum LanguageType
strong
Enumerator
Japanese 
English 

Definition at line 43 of file swkbd_cpp.h.

◆ RegionType

enum RegionType
strong
Enumerator
Japan 
USA 
Europe 

Definition at line 49 of file swkbd_cpp.h.

◆ State

enum State
strong
Enumerator
Unknown0 

Definition at line 56 of file swkbd_cpp.h.

Function Documentation

◆ AppearInputForm()

bool nn::swkbd::AppearInputForm ( const AppearArg args)

Show an input form (keyboard with text area) with the given configuration.

Parameters
argsAn AppearArg struct with the desired configuration for the keyboard and input form.
Returns
true on success, or false on error.
See also

◆ AppearKeyboard()

bool nn::swkbd::AppearKeyboard ( const KeyboardArg args)

Show a keyboard with the given configuration.

Parameters
argsAn KeyboardArg struct with the desired configuration for the keyboard.
Returns
true on success, or false on error.
See also

◆ CalcSubThreadFont()

void nn::swkbd::CalcSubThreadFont ( )

Calculate font data.

Call in response to IsNeedCalcSubThreadFont.

See also

◆ CalcSubThreadPredict()

void nn::swkbd::CalcSubThreadPredict ( )

Calculate word prediction data.

Call in response to IsNeedCalcSubThreadPredict.

See also

◆ Calc()

void nn::swkbd::Calc ( const ControllerInfo controllerInfo)

Respond to user inputs and calculate the state of input buffers and graphics.

Parameters
controllerInfoA ControllerInfo structure containing fresh data from the controllers (see VPADRead and KPADRead). Each controller can also be nullptr if data is not available.
See also

◆ ConfirmUnfixAll()

void nn::swkbd::ConfirmUnfixAll ( )

◆ Create()

bool nn::swkbd::Create ( const CreateArg args)

Initialise the swkbd library and create the keyboard and input form.

Parameters
argsA CreateArg structure containing the desired keyboard region, a pointer to work memory, and an FSClient. See CreateArg.
Returns
true on success, false otherwise.
See also

◆ Destroy()

void nn::swkbd::Destroy ( )

Clean up and shut down the swkbd library.

Note
Resources passed into Create (work memory, filesystem client) must be manually freed by the application after calling this function.
See also

◆ DisappearInputForm()

bool nn::swkbd::DisappearInputForm ( )

Hide a previously shown input form.

Returns
true on success, false otherwise.
See also

◆ DisappearKeyboard()

bool nn::swkbd::DisappearKeyboard ( )

Hide a previously shown keyboard.

Returns
true on success, false otherwise.
See also

◆ DrawDRC()

void nn::swkbd::DrawDRC ( )

Draw the keyboard to the DRC.

Must be called inside a valid GX2 rendering context, after rendering all other DRC graphics (to appear under the keyboard)

◆ DrawTV()

void nn::swkbd::DrawTV ( )

Draw the keyboard to the TV.

Must be called inside a valid GX2 rendering context, after rendering all other TV graphics (to appear under the keyboard)

◆ GetDrawStringInfo()

void nn::swkbd::GetDrawStringInfo ( DrawStringInfo drawStringInfo)

◆ GetInputFormString()

const char16_t* nn::swkbd::GetInputFormString ( )

Get the string the user typed into the input form.

Returns
The user's text, as a null-terminated UTF-16 string.
See also

◆ GetKeyboardCondition()

void nn::swkbd::GetKeyboardCondition ( KeyboardCondition keyboardCondition)

◆ GetStateInputForm()

State nn::swkbd::GetStateInputForm ( )

◆ GetStateKeyboard()

State nn::swkbd::GetStateKeyboard ( )

◆ GetWorkMemorySize()

uint32_t nn::swkbd::GetWorkMemorySize ( uint32_t  unk)

Get the required size for swkbd's work memory buffer.

The application must allocate a buffer of this size and pass it into Create.

Parameters
unkUnknown. A value of 0 seems to work.
Returns
The required size of the work buffer, in bytes.
See also

◆ InactivateSelectCursor()

void nn::swkbd::InactivateSelectCursor ( )

◆ InitLearnDic()

bool nn::swkbd::InitLearnDic ( void *  dictionary)

◆ IsCoveredWithSubWindow()

bool nn::swkbd::IsCoveredWithSubWindow ( )

◆ IsDecideCancelButton()

bool nn::swkbd::IsDecideCancelButton ( bool *  outIsSelected)

Gets the current status of the Cancel button on the keyboard.

Parameters
outIsSelectedPointer to a boolean to write the button status to, or nullptr if the return value is enough.
Returns
true if the Cancel button has been pressed, or false otherwise.
See also

◆ IsDecideOkButton()

bool nn::swkbd::IsDecideOkButton ( bool *  outIsSelected)

Gets the current status of the OK button on the keyboard.

Parameters
outIsSelectedPointer to a boolean to write the button status to, or nullptr if the return value is enough.
Returns
true if the OK button has been pressed, or false otherwise.
See also

◆ IsKeyboardTarget()

bool nn::swkbd::IsKeyboardTarget ( IEventReceiver *  eventReceiver)

◆ IsNeedCalcSubThreadFont()

bool nn::swkbd::IsNeedCalcSubThreadFont ( )

Determines whether the font data needs calculating.

If it does, a call to CalcSubThreadFont is required.

Returns
true if the font data needs calculating, false otherwise.
See also

◆ IsNeedCalcSubThreadPredict()

bool nn::swkbd::IsNeedCalcSubThreadPredict ( )

Determines whether the prediction data needs calculating.

If it does, a call to CalcSubThreadPredict is required.

Returns
true if the prediction data needs calculating, false otherwise.
See also

◆ IsSelectCursorActive()

bool nn::swkbd::IsSelectCursorActive ( )

Determines whether the selection cursor is active.

Returns
true if the selection cursor is active, false otherwise.

◆ MuteAllSound()

void nn::swkbd::MuteAllSound ( bool  muted)

Mutes or unmutes the sounds generated by the keyboard.

Parameters
mutedtrue to disable all sounds, or false to enable them.

◆ SetControllerRemo()

void nn::swkbd::SetControllerRemo ( ControllerType  type)

◆ SetCursorPos()

void nn::swkbd::SetCursorPos ( int  pos)

Set the character at which the cursor is positioned.

Parameters
posThe position at which to move the cursor, with 0 corresponding to the start of the string (before the first character).

◆ SetEnableOkButton()

void nn::swkbd::SetEnableOkButton ( bool  enable)

Enables and disables the OK button on the keyboard.

When disabled, the button cannot be pressed.

Parameters
enabletrue to enable the button, or false to disable it.

◆ SetInputFormString()

void nn::swkbd::SetInputFormString ( const char16_t *  str)

Sets the text in the input form.

Parameters
strThe UTF-16 string to set the input form to.
See also

◆ SetReceiver()

void nn::swkbd::SetReceiver ( const ReceiverArg receiver)

◆ SetSelectFrom()

void nn::swkbd::SetSelectFrom ( int  )

◆ SetUserControllerEventObj()

void nn::swkbd::SetUserControllerEventObj ( IControllerEventObj *  controllerEventObj)

◆ SetUserSoundObj()

void nn::swkbd::SetUserSoundObj ( ISoundObj *  soundObj)