Swkbd.rpl: Difference between revisions
Jump to navigation
Jump to search
Add "Keyboard Control" functions |
Add "Logic" (aka maths) functions, data (getters/setters) all that's left, will do later |
||
| Line 63: | Line 63: | ||
| | | | ||
|Writes argument 1 to an internal struct, returns argument 1 due to lazy programming. | |Writes argument 1 to an internal struct, returns argument 1 due to lazy programming. | ||
|} | |||
===Logic=== | |||
{|class="wikitable" | |||
!Prototype | |||
!Symbol name (5.5.1) | |||
!Description | |||
!Reverse-Engineering Notes | |||
|- | |||
|<code>int SwkbdCalc(nn:swkbd::ControllerInfo const &)</code> | |||
|<code>SwkbdCalc__3RplFRCQ3_2nn5swkbd14ControllerInfo</code> | |||
| | |||
|Returns a value from an internal subroutine (presumably the response from the math operation). | |||
|- | |||
|<code>int SwkbdCalcSubThreadFont(void)</code> | |||
|<code>SwkbdCalcSubThreadFont__3RplFv</code> | |||
| | |||
|Returns a value from an internal subroutine (presumably the response from the math operation). | |||
|- | |||
|<code>int SwkbdCalcSubThreadPredict(void)</code> | |||
|<code>SwkbdCalcSubThreadPredict__3RplFv</code> | |||
| | |||
|Returns a value from an internal subroutine (presumably the response from the math operation). | |||
|} | |} | ||
Revision as of 05:49, 28 August 2016
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). |