Homebrew HBKBLib - A 3DS Keyboard Library

  • Thread starter Thread starter jbr373
  • Start date Start date
  • Views Views 28,426
  • Replies Replies 62
  • Likes Likes 37
I'm really sorry to bother an user directly but there's little chance that this gets noted otherwise.

I saw that @Chrisser_75 created a new theme for the keyboard. Well, i did the same, replaced the .png files in the folder, recompiled the library entirely, cleaned and re-compiled my project (just to be extra sure the new library gets linked correctly) but unfortunately my executable still shows the old keyboard. Is there something i am missing?
 
  • Like
Reactions: Chrisser_75
I'm really sorry to bother an user directly but there's little chance that this gets noted otherwise.

I saw that @Chrisser_75 created a new theme for the keyboard. Well, i did the same, replaced the .png files in the folder, recompiled the library entirely, cleaned and re-compiled my project (just to be extra sure the new library gets linked correctly) but unfortunately my executable still shows the old keyboard. Is there something i am missing?

There are some .bin files, looks like they are made off the .png graphics. I'm not sure if this could be the issue, but have you replaced those too?
 
Could someone test it if it work? :)

HBKBLib: iDroid Theme-Mod

Description:
A modern iOS 8 / Lillipop keyboard theme for @jbr373's HBKBLib (Ver. 1.0.4)

Preview:
hbklib-idroid-mod-prev.png

TO DO:
It would be nice if someone could implement the HBKBLib, with this keyboard layout and give me a report. :)
done by: @Shadowtrance thx


Graphics:
Download here!

or Dropbox
If i was working in lpp-3ds, is there any way i could import this keyboard into my project?
 
There are some .bin files, looks like they are made off the .png graphics. I'm not sure if this could be the issue, but have you replaced those too?

I thought the .bin files were automatically generated from the .png. A quick look at the makefile made me realize this assumption was wrong. Thanks for the hint.
 
This is the library compiled with Idroid theme.

--------------------- MERGED ---------------------------

--------------------- MERGED ---------------------------

And works fine with PCHex++
 

Attachments

Your library has no license and thus even USING it can be considered copyright infringement. Put a permissive license like the Expat license or a 2-Clause BSD license.
 
Hey @jbr373, do you mind if I throw the code for this up on Github? Also, what license is your code released under? It doesn't seem to have a license applied to it.
 
at least in Windows, devkitPro does not like spaces at all. Best to remove the spaces in "demo source" and "library source".

Edit: Also, the pre-compiled lib in the demo is not current. For those wishing to roll their own CIAngel, they must build hbkb.lib themselves, currently.
 
Last edited by urherenow,
Hello everyone!

Today I'm showing you my first 3DS Project, the HBKB (HomeBrew KeyBoard) Library.
This Library is written in C++ and is intended for pretty much every Program designed around Keyboards, like Web Browsers and File Explorers.

The Keyboard looks like this:
Vru59nQ.png

1HhqihZ.png


If you include this Library in your Project, you'll be able to use the Keyboard with these 3 simple functions:
HBKB_CallKeyboard(touchPosition touch); = Call Keyboard (Write Graphics, check User Touch Position)
HBKB_CheckKeyboardInput() = Returns a std::string with the Input made by the User
HBKB_Clean() = Reset Keyboard

You can find more in the ReadMe File. Also included is a little Demo Program which shows how to use the Library. This .zip includes the Library Source Code, as well as the Demo Source Code.
I hope you find this Release helpful!

Compilation:
In case you don't have your DevkitPro installed in /usr/local/, you need to comment that out in the Makefile. The First 2 Lines, to be exactly.

Also, you can find a already compiled Version of the Library in the Source for the Demo Application, in case you get issues with compilation. The Library is in the "hbkb" Folder in the Demo Source.

##
# UPDATE
##

I updated the Library to Version 1.0.4.
This Update fixes an Issue with Key Spamming and Input Accuracy. Sorry if you had issues with it.

I really want to use this in CTRXplorer, however there are some things stopping me from doing so...
  • As this is for userland homebrew, using ctrulib, the generic Makefile you are using for it is not a good choice (at least not for me) and won't fit well in a multitude of projects
  • Likewise, for userland homebrews, RomFS is better storage than then bin2o method implemented in that Makefile (again, because of compatibility)
  • There should a way of setting the intitial string, for which atm there is none
  • A (easy?) way to customize (what is in there, what is not) at least the layout of the special chars (everything below the numbers) would be helpful, too
  • I'd personally much prefer hbkblib being able to process PNGs directly instead of the intermediate .bin format. Would lead to smaller filesize, too. For inspiration on this, take a look at the stb_image lib, which is also used by @Steveice10 in FBI.
For using RomFS as storage (it is in fact very easy) take a look at @Steveice10's FBI and buildtools projects. Anyways, I'd very much like to add somethign productive instead of just complaining, but atm I don't really understand your code. I'll be following this thread, maybe I can help with something later. Also, good work, despite of my nagging!
 
Last edited by d0k3,
A lot of the code could be better optimized, unecessary checks,

like:

if(x < 41){

}else if(x > 40 && x < 81){ (This could be only < 81, because it is already 41 or higher)

Could've make like a header file with all the "key defines" since they're all the same.

But nice job though.
 
Last edited by metalknuxx,
Hi.
I'm thinking if is possible to port this keyboard to a9lh. Dunno if this depends too much on ctrulib but would be nice since the lastest BootCTR9 supports bootpasswords.
 
https://github.com/Hikiruka/hbkblib made an unofficial github for the keyboard library, just to keep things managed and a "main" branch
Hi.
I'm thinking if is possible to port this keyboard to a9lh. Dunno if this depends too much on ctrulib but would be nice since the lastest BootCTR9 supports bootpasswords.
well, ctrulib is the base for all homebrew, so it may be possible, then again I'm not the dev so
 
this is nice, but seriously, the first 2 lines of the makefile need to go. You obviously use Linux, but you are still a minority, and anybody smart enough to use the devkitpro installer already has DEVKITARM and DEVKITPRO defined in their environment. Those two lines pointing to /usr are just a headache.
 
this is nice, but seriously, the first 2 lines of the makefile need to go. You obviously use Linux, but you are still a minority, and anybody smart enough to use the devkitpro installer already has DEVKITARM and DEVKITPRO defined in their environment. Those two lines pointing to /usr are just a headache.
>implying anyone who cares about this uses windows or Mac OS X
cute.
 

Site & Scene News

Popular threads in this forum