Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

SwKbd 3DS: Difference between revisions

From GameBrew
m (Text replacement - "| licence" to "| license")
No edit summary
Line 11: Line 11:
| source = https://github.com/nop90/SwKbd
| source = https://github.com/nop90/SwKbd
}}
}}
==SwKbd==
3DS Custom Software Keyboard Module - by NOP90 - 2014.


This is a custom software keyboard I coded in my 3DS file manager project SDiSS.
SwKbd is a 3DS Custom Software Keyboard Module coded in 3DS file manager project SDiSS, created by NOP90.
3DS has a standard swkbd module, but using it is still problematic, so I wrote my own.


The advantage of this module is that it's skinnable.
This is demo of the module that shows most of the functionalities and also able to load a custom layout image.


==Commands==
==User guide==
* A: ends input
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.
* B: delete a char (backspace)
* X: clear buffer
* Left and Right arrows: move cursor
* Touchpad: use the keyboard


==Sources==
You can use keyboard.bmp as a template for your custom layout.


the module is composed of 4 files
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.


* swkbd.c (main code)
==Controls==
* swkbd.h (header)
A - End input
* kbd_default.h (embedded default bmp with a basic keyboard layout)
* swkbfont.h (embedded font)


The others source file are for the demo app.
B - Delete a char (backspace)
 
X - Clear buffer
 
Left/Right arrows - Move cursor
 
Touchpad - Use the keyboard
 
==Known issues==
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.
 
==Compatibility==
Tested by the author on a real 3DS only the CIA file with a CFW enviroment.
 
==Installation==
===Installing===
Demo app is available in 3DSX and CIA format.


==How to use==
===Building===
The code is provided with a very simple application that shows most of the functionalities. There are no comments, but I think that usage is self explanatory. If not, contact Nop90 on gbatemp.net.
'''Sources:'''


To try the demo app, put in the 3DS SD root keyboard.bmp and MarioBG.BMP provided in the sdmc dir, otherwise default kbd layout and plain black background for top screen will be displayed.
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).


You can try the compiled file with an emulator too. I use 3DMoo, but the touchpad is not well emulated yet.
The others source file are for the demo app.


I tested on a real 3DS only the CIA file with a CFW enviroment.
You can try the compiled file with an emulator aslo (tested with 3DMoo, but the touchpad is not well emulated yet).


'''Note:''' The calling app has to initialize 3DS services and the swkbd module.
'''Dependancies:'''


==Dependancies==
The module includes only standard C libs and ctrulib. Compile the sources with devkit pro and the last version of ctrulib.
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 code has an embedded font (fixed size 12x16 pixel) and an embedded image of a basic keyboard layout.


==ToDo (very low priority)==
==External links==
* option to disable a list of keys (i.e. for invalid chars when getting the input for renaming a file)
* GitHub - https://github.com/nop90/SwKbd
* adding sounds on key press
* GBAtemp - https://gbatemp.net/threads/homebrew-nop90-swkbd-custom-software-keyboard-module.376502
* GBAtemp - https://gbatemp.net/threads/swkbd-software-keyboard-research-thread.413263


[[Category:3DS homebrew applications]]
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]
[[Category:Homebrew utility applications on 3DS]]

Revision as of 14:48, 26 October 2021

SwKbd
Swkbd.png
General
Authornop90
TypeUtilities
Version2014
LicenseMixed
Last Updated2014/12/19
Links
Download
Website
Source


SwKbd is a 3DS Custom Software Keyboard Module coded in 3DS file manager project SDiSS, created by NOP90.

This is demo of the module that shows most of the functionalities and also able to load a custom layout image.

User guide

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.

Controls

A - End input

B - Delete a char (backspace)

X - Clear buffer

Left/Right arrows - Move cursor

Touchpad - Use the keyboard

Known issues

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.

Compatibility

Tested by the author on a real 3DS only the CIA file with a CFW enviroment.

Installation

Installing

Demo app is available in 3DSX and CIA format.

Building

Sources:

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).

Dependancies:

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.

External links

Advertising: