In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Swkbd.rpl

From WiiUBrew
Revision as of 06:28, 28 August 2016 by QuarkTheAwesome (talk | contribs) (Add "Keyboard Control" functions)
Jump to navigation Jump to search

swkbd.rpl is the system library that allows applications to use the Wii U's on-screen keyboard. It is one of the only libraries to export C++ functions; thus it isn't known how to use them in homebrew at this point.

Functions

All the swkbd functions are C++ functions in the namespace Rpl::. To export them with OSDynLoad, you have to use their C symbol names (as listed).

Initialisation

Prototype Symbol name (5.5.1) Description Reverse-Engineering Notes
void SwkbdCreate(unsigned char*, nn::swkbd::RegionType, unsigned int, FSClient*) SwkbdCreate__3RplFPUcQ3_2nn5swkbd10RegionTypeUiP8FSClient Sets up a structure in memory No clear return value. Will return a mutex pointer (1004D294 on 5.5.1) from memory due to lazy programming.
void SwkbdDestroy() SwkbdDestroy__3RplFv No clear return value.

Keyboard Control

Prototype Symbol name (5.5.1) Description Reverse-Engineering Notes
int SwkbdAppearInputForm(nn::swkbd::AppearArg const &) SwkbdAppearInputForm__3RplFRCQ3_2nn5swkbd9AppearArg Returns 0 or a status code from a subroutine.
int SwkbdAppearKeyboard(nn:swkbd::KeyboardArg) SwkbdAppearKeyboard__3RplFRCQ3_2nn5swkbd11KeyboardArg Returns 0 or a status code from a subroutine.
int SwkbdDisappearInputForm() SwkbdDisappearInputForm__3RplFv Returns 0 or a status code from a subroutine.
int SwkbdDissappearKeyboard() SwkbdDisappearKeyboard__3RplFv Returns 0 or a status code from a subroutine.
void SwkbdInactivateSelectCursor() SwkbdInactivateSelectCursor__3RplFv Disables selection? No clear return value. Will return a pointer to some kind of internal struct due to lazy programming. Split up over several chunks.
int SwkbdInitLearnDic(void*) SwkbdInitLearnDic__3RplFPv Enables self-learning predictive text? Returns 0 or a status code from a subroutine.
void SwkbdMuteAllSound(bool) SwkbdMuteAllSound__3RplFb Writes argument 1 to an internal struct, returns argument 1 due to lazy programming.