SwKbd is a 3DS Custom Software Keyboard Module coded in 3DS file manager project SDiSS, created by nop90.
This is a demo of the module that shows most of the functionalities and also able to load a custom layout image.
Demo app is available in 3DSX and CIA format.
The module is composed of 4 files:
- swkbd.c (main code).
- swkbd.h (header).
- kbd_default.h (embedded default bmp with a basic keyboard layout).
- swkbfont.h (embedded font).
The others source file are for the demo app.
You can try the compiled file with an emulator aslo (tested with 3DMoo, but the touchpad is not well emulated yet).
The module includes only standard C libs and ctrulib. Compile the sources with devkit pro and the last version of ctrulib.
The code has an embedded font (fixed size 12x16 pixel) and an embedded image of a basic keyboard layout.
The module has an embedded image with a basic kbd layout in black and white, but it's possible to load a custom layout image.
You can use keyboard.bmp as a template for your custom layout.
Put it in the 3DS sd root to test it in the demo app. Put in the same place MarioBG.bmp file for a top screen background.
Note: The calling app has to initialize 3DS services and the swkbd module.
A - End input
B - Delete a char (backspace)
X - Clear buffer
Left/Right - Move cursor
Touchpad - Use the keyboard
Tested by the author with a CFW enviroment on a real 3DS (CIA) and on 3DMoo (ELF).
On 3DMoo the touch pad doesn't work well, 25% of the pad (right side) doesn't get the input and when you release the mouse button the pad state is not cleared, so to release a keypress on the swkbd you have to click outside the keyboard area.