Swkbd.rpl

Revision as of 06:49, 28 August 2016 by QuarkTheAwesome (talk | contribs) (Add "Logic" (aka maths) functions, data (getters/setters) all that's left, will do later)

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.

Logic

Prototype Symbol name (5.5.1) Description Reverse-Engineering Notes
int SwkbdCalc(nn:swkbd::ControllerInfo const &) SwkbdCalc__3RplFRCQ3_2nn5swkbd14ControllerInfo Returns a value from an internal subroutine (presumably the response from the math operation).
int SwkbdCalcSubThreadFont(void) SwkbdCalcSubThreadFont__3RplFv Returns a value from an internal subroutine (presumably the response from the math operation).
int SwkbdCalcSubThreadPredict(void) SwkbdCalcSubThreadPredict__3RplFv Returns a value from an internal subroutine (presumably the response from the math operation).