this is a little more complicated than you are making it out to be. this would involve setting up a callback from the frontend to the core that the service would need to call. This callback would need to handle all of the different parameters that the software keyboard does including things like configurable buttons, filtered input, and a software callback to run after the input is sent. A lot of people just assume the software keyboard is just “Type in whatever here” but it does much more than that.
also this is likely to get bikeshedded even if you did it well. While I personally am not opposed to having a callback for applets so we can do cool things like a qt dialog for the software keyboard, I know from personal experience that there are other devs who don’t like that idea. We only have one other callback system in core right now and thats for telemetry. the right approach is to use HID to receive input and draw on the buffer thats already setup there.
probably whats the best way to go about this is to make a 3ds homebrew application that acts like the software keyboard. citra is almost ready to launch applets like the software keyboard through LLE, but it would be nice to have a redistributable software keyboard that everyone can use.