Homebrew brewboard, an opensource software keyboard [library]

  • Thread starter Thread starter titegtnodI
  • Start date Start date
  • Views Views 6,509
  • Replies Replies 23
  • Likes Likes 13

titegtnodI

Well-Known Member
Newcomer
Joined
Nov 25, 2014
Messages
82
Reaction score
69
Trophies
0
Age
32
XP
159
Country
Canada
I wrote a very basic software keyboard for the 3DS. I'm going to make it look nicer later, for now it's functional. It uses textstuff for drawing the text, but that's easily changed to whatever you want.

brewboard-preview.png

Setup
  1. Just follow the instructions to setup your development environment here.
  2. Copy or link "letters.h", "textstuff.h", and "textstuff.c" to your source directory.
Credits
  • Anyone who's helped out with ctrulib
  • insaneKane - The base code for textstuff
  • titegtnodI - Keyboard code
 
Wow, nice work! I'll try to implement this into 3DS Controller for the next release.


Thanks! I just checked out your 3DS Controller project, it looks really cool! If there's anything you'd like to see in the keyboard feel free too ask :3. I'll be randomly adding features as time goes on.
 
If that's in any shape or form something people would actually use I could write a basic one. I just figured it wouldn't be very useful on the 3DS haha.

It might be a little bit of a novelty, but I actually think I would use it.
 
If that's in any shape or form something people would actually use I could write a basic one. I just figured it wouldn't be very useful on the 3DS haha.

I don't use smart phones... so i don't have access via portable devices... if you make one... i would totally use it...
 
Just an update, I added in an example and textstuff is now optional (except for the example).

Offtopic: I'll probably look into writing a basic IRC client, don't get your hopes up though.

Also I forgot to respond to Relys: Because AFAIK we can't use applets via the homebrew launcher right now, also it's always nice to have an OS alternative.
 
I have a friend who may be interested in doing that, I'll put it on the list.
Would it also be possible to make a 3DS homebrew app for the PictoSwap website so that it could run much more smoothly and we would not have to rely on the 3DS internet browser to use it?

(or better yet, edit Swapnote to use a custom server to enable SpotPass again)
 
Do you have an example for calling the swkbd applet and getting back the input text?

No, but I believe ctrulib has support for IPC between applets. Someone just needs to look into it.

Edit: Ah, just read OPs reply.Thanks for the clarification.
 
Would it also be possible to make a 3DS homebrew app for the PictoSwap website so that it could run much more smoothly and we would not have to rely on the 3DS internet browser to use it?

(or better yet, edit Swapnote to use a custom server to enable SpotPass again)

Maybe, we'll look into it. For now we'll focus on a pictochat-like app. I'll put your suggestion on the list though.



Idk apparently its easier to just create it yourself than using prebuilt stuff... </sarcasm>

Because AFAIK we can't use applets via the homebrew launcher right now, also it's always nice to have an OS alternative.

No need to be rude ... Show me an example using the "prebuilt stuff".

No, but I believe ctrulib has support for IPC between applets. Someone just needs to look into it.

Until then, we have this. Again, it's still nice to have an OS alternative.
 
  • Like
Reactions: AlbertoSONIC
I checked in ctrulib code:
Code:
Result APT_LaunchLibraryApplet(NS_APPID appID, Handle inhandle, u32 *parambuf, u32 parambufsize);
 
//This should be used for launching library applets, this uses the above APT_StartLibraryApplet/APT_PrepareToStartLibraryApplet funcs + apt*Session(). parambuf is used for APT params input, when the applet closes the output param block is copied here. This is not usable from the homebrew launcher. This is broken: when the applet does get launched at all, the applet process doesn't actually get terminated when the applet gets closed.

If Smealum can't make it work yet, a custom implementation is our only choice at the moment ;)
 
  • Like
Reactions: filfat
I checked in ctrulib code:
Code:
Result APT_LaunchLibraryApplet(NS_APPID appID, Handle inhandle, u32 *parambuf, u32 parambufsize);
 
//This should be used for launching library applets, this uses the above APT_StartLibraryApplet/APT_PrepareToStartLibraryApplet funcs + apt*Session(). parambuf is used for APT params input, when the applet closes the output param block is copied here. This is not usable from the homebrew launcher. This is broken: when the applet does get launched at all, the applet process doesn't actually get terminated when the applet gets closed.

If Smealum can't make it work yet, a custom implementation is our only choice at the moment ;)


Hmmm, so is it possible to even launch the applet (even though it will remain as a zombie process when closed)?
 

Site & Scene News

Popular threads in this forum