|
|
|
@ -99,9 +99,6 @@ ResultCode SoftwareKeyboard::StartImpl(Service::APT::AppletStartupParameter cons
|
|
|
|
|
memcpy(&config, parameter.buffer.data(), parameter.buffer.size());
|
|
|
|
|
text_memory = std::static_pointer_cast<Kernel::SharedMemory, Kernel::Object>(parameter.object);
|
|
|
|
|
|
|
|
|
|
// TODO(Subv): Verify if this is the correct behavior
|
|
|
|
|
memset(text_memory->GetPointer(), 0, text_memory->GetSize());
|
|
|
|
|
|
|
|
|
|
DrawScreenKeyboard();
|
|
|
|
|
|
|
|
|
|
using namespace Frontend;
|
|
|
|
@ -121,7 +118,8 @@ void SoftwareKeyboard::Update() {
|
|
|
|
|
using namespace Frontend;
|
|
|
|
|
const KeyboardData& data = frontend_applet->ReceiveData();
|
|
|
|
|
std::u16string text = Common::UTF8ToUTF16(data.text);
|
|
|
|
|
memcpy(text_memory->GetPointer(), text.c_str(), text.length() * sizeof(char16_t));
|
|
|
|
|
// Include a null terminator
|
|
|
|
|
memcpy(text_memory->GetPointer(), text.c_str(), (text.length() + 1) * sizeof(char16_t));
|
|
|
|
|
switch (config.num_buttons_m1) {
|
|
|
|
|
case SoftwareKeyboardButtonConfig::SingleButton:
|
|
|
|
|
config.return_code = SoftwareKeyboardResult::D0Click;
|
|
|
|
|