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

Changes

Jump to navigation Jump to search
1,440 bytes added ,  06:28, 28 August 2016
Add "Keyboard Control" functions
Line 3: Line 3:  
==Functions==
 
==Functions==
 
All the swkbd functions are C++ functions in the namespace <code>Rpl::</code>. To export them with OSDynLoad, you have to use their C symbol names (as listed).
 
All the swkbd functions are C++ functions in the namespace <code>Rpl::</code>. To export them with OSDynLoad, you have to use their C symbol names (as listed).
 +
===Initialisation===
 
{| class="wikitable"
 
{| class="wikitable"
 
!Prototype
 
!Prototype
Line 9: Line 10:  
!Reverse-Engineering Notes
 
!Reverse-Engineering Notes
 
|-
 
|-
|<code>SwkbdCreate(unsigned char* a, nn::swkbd::RegionType b, unsigned int c, FSClient* d)</code>
+
|<code>void SwkbdCreate(unsigned char*, nn::swkbd::RegionType, unsigned int, FSClient*)</code>
 
|<code>SwkbdCreate__3RplFPUcQ3_2nn5swkbd10RegionTypeUiP8FSClient</code>
 
|<code>SwkbdCreate__3RplFPUcQ3_2nn5swkbd10RegionTypeUiP8FSClient</code>
 
|Sets up a structure in memory
 
|Sets up a structure in memory
|Returns some kind of pointer, does not appear to be the structure
+
|No clear return value. Will return a mutex pointer (1004D294 on 5.5.1) from memory due to lazy programming.
 
|-
 
|-
 
|<code>void SwkbdDestroy()</code>
 
|<code>void SwkbdDestroy()</code>
 
|<code>SwkbdDestroy__3RplFv</code>
 
|<code>SwkbdDestroy__3RplFv</code>
 
|
 
|
|No return value.
+
|No clear return value.
 
|-
 
|-
 +
|}
 +
 +
===Keyboard Control===
 +
{|class="wikitable"
 +
!Prototype
 +
!Symbol name (5.5.1)
 +
!Description
 +
!Reverse-Engineering Notes
 +
|-
 +
|<code>int SwkbdAppearInputForm(nn::swkbd::AppearArg const &)</code>
 +
|<code>SwkbdAppearInputForm__3RplFRCQ3_2nn5swkbd9AppearArg</code>
 +
|
 +
|Returns 0 or a status code from a subroutine.
 +
|-
 +
|<code>int SwkbdAppearKeyboard(nn:swkbd::KeyboardArg)</code>
 +
|<code>SwkbdAppearKeyboard__3RplFRCQ3_2nn5swkbd11KeyboardArg</code>
 +
|
 +
|Returns 0 or a status code from a subroutine.
 +
|-
 +
|<code>int SwkbdDisappearInputForm()</code>
 +
|<code>SwkbdDisappearInputForm__3RplFv</code>
 +
|
 +
|Returns 0 or a status code from a subroutine.
 +
|-
 +
|<code>int SwkbdDissappearKeyboard()</code>
 +
|<code>SwkbdDisappearKeyboard__3RplFv</code>
 +
|
 +
|Returns 0 or a status code from a subroutine.
 +
|-
 +
|<code>void SwkbdInactivateSelectCursor()</code>
 +
|<code>SwkbdInactivateSelectCursor__3RplFv</code>
 +
|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.
 +
|-
 +
|<code>int SwkbdInitLearnDic(void*)</code>
 +
|<code>SwkbdInitLearnDic__3RplFPv</code>
 +
|Enables self-learning predictive text?
 +
|Returns 0 or a status code from a subroutine.
 +
|-
 +
|<code>void SwkbdMuteAllSound(bool)</code>
 +
|<code>SwkbdMuteAllSound__3RplFb</code>
 +
|
 +
|Writes argument 1 to an internal struct, returns argument 1 due to lazy programming.
 
|}
 
|}

Navigation menu