mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 14:48:46 +00:00
fixed issues
This commit is contained in:
parent
074b3910c1
commit
9f074ef88f
2 changed files with 12 additions and 12 deletions
|
@ -44,12 +44,12 @@ public:
|
||||||
openEvent.param.rect.y = m_param.ime.posy;
|
openEvent.param.rect.y = m_param.ime.posy;
|
||||||
} else {
|
} else {
|
||||||
openEvent.param.resource_id_array.userId = 1;
|
openEvent.param.resource_id_array.userId = 1;
|
||||||
openEvent.param.resource_id_array.resource_id[0] = 1;
|
openEvent.param.resource_id_array.resourceId[0] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Are we supposed to call the event handler on init with
|
// Are we supposed to call the event handler on init with
|
||||||
// ADD_OSK?
|
// ADD_OSK?
|
||||||
if (!ime_mode && False(m_param.key.option & OrbisImeKeyboardOption::ADD_OSK)) {
|
if (!ime_mode && False(m_param.key.option & OrbisImeKeyboardOption::AddOsk)) {
|
||||||
Execute(nullptr, &openEvent, true);
|
Execute(nullptr, &openEvent, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ ImeState::ImeState(const OrbisImeParam* param) {
|
||||||
}
|
}
|
||||||
|
|
||||||
work_buffer = param->work;
|
work_buffer = param->work;
|
||||||
text_buffer = param->input_text_buffer;
|
text_buffer = param->inputTextBuffer;
|
||||||
|
|
||||||
std::size_t text_len = std::char_traits<char16_t>::length(text_buffer);
|
std::size_t text_len = std::char_traits<char16_t>::length(text_buffer);
|
||||||
if (!ConvertOrbisToUTF8(text_buffer, text_len, current_text.begin(),
|
if (!ConvertOrbisToUTF8(text_buffer, text_len, current_text.begin(),
|
||||||
|
@ -182,7 +182,7 @@ void ImeUi::DrawInputText() {
|
||||||
if (first_render) {
|
if (first_render) {
|
||||||
SetKeyboardFocusHere();
|
SetKeyboardFocusHere();
|
||||||
}
|
}
|
||||||
if (InputTextEx("##ImeInput", nullptr, state->current_text.begin(), ime_param->max_text_length,
|
if (InputTextEx("##ImeInput", nullptr, state->current_text.begin(), ime_param->maxTextLength,
|
||||||
input_size, ImGuiInputTextFlags_CallbackAlways, InputTextCallback, this)) {
|
input_size, ImGuiInputTextFlags_CallbackAlways, InputTextCallback, this)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -204,14 +204,14 @@ int ImeUi::InputTextCallback(ImGuiInputTextCallbackData* data) {
|
||||||
eventParam.text_area[0].length = data->BufTextLen;
|
eventParam.text_area[0].length = data->BufTextLen;
|
||||||
|
|
||||||
if (!ui->state->ConvertUTF8ToOrbis(data->Buf, data->BufTextLen, eventParam.str,
|
if (!ui->state->ConvertUTF8ToOrbis(data->Buf, data->BufTextLen, eventParam.str,
|
||||||
ui->ime_param->max_text_length)) {
|
ui->ime_param->maxTextLength)) {
|
||||||
LOG_ERROR(Lib_ImeDialog, "Failed to convert Orbis char to UTF-8");
|
LOG_ERROR(Lib_ImeDialog, "Failed to convert Orbis char to UTF-8");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ui->state->ConvertUTF8ToOrbis(data->Buf, data->BufTextLen,
|
if (!ui->state->ConvertUTF8ToOrbis(data->Buf, data->BufTextLen,
|
||||||
ui->ime_param->input_text_buffer,
|
ui->ime_param->inputTextBuffer,
|
||||||
ui->ime_param->max_text_length)) {
|
ui->ime_param->maxTextLength)) {
|
||||||
LOG_ERROR(Lib_ImeDialog, "Failed to convert Orbis char to UTF-8");
|
LOG_ERROR(Lib_ImeDialog, "Failed to convert Orbis char to UTF-8");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -228,16 +228,16 @@ int ImeUi::InputTextCallback(ImGuiInputTextCallbackData* data) {
|
||||||
if (lastCaretPos == -1) {
|
if (lastCaretPos == -1) {
|
||||||
lastCaretPos = data->CursorPos;
|
lastCaretPos = data->CursorPos;
|
||||||
} else if (data->CursorPos != lastCaretPos) {
|
} else if (data->CursorPos != lastCaretPos) {
|
||||||
OrbisImeCaretMovementDirection caretDirection = OrbisImeCaretMovementDirection::STILL;
|
OrbisImeCaretMovementDirection caretDirection = OrbisImeCaretMovementDirection::Still;
|
||||||
if (data->CursorPos < lastCaretPos) {
|
if (data->CursorPos < lastCaretPos) {
|
||||||
caretDirection = OrbisImeCaretMovementDirection::LEFT;
|
caretDirection = OrbisImeCaretMovementDirection::Left;
|
||||||
} else if (data->CursorPos > lastCaretPos) {
|
} else if (data->CursorPos > lastCaretPos) {
|
||||||
caretDirection = OrbisImeCaretMovementDirection::RIGHT;
|
caretDirection = OrbisImeCaretMovementDirection::Right;
|
||||||
}
|
}
|
||||||
|
|
||||||
OrbisImeEvent event{};
|
OrbisImeEvent event{};
|
||||||
event.id = OrbisImeEventId::UPDATE_CARET;
|
event.id = OrbisImeEventId::UpdateCaret;
|
||||||
event.param.caretMove = caretDirection;
|
event.param.caret_move = caretDirection;
|
||||||
|
|
||||||
lastCaretPos = data->CursorPos;
|
lastCaretPos = data->CursorPos;
|
||||||
ui->state->SendEvent(&event);
|
ui->state->SendEvent(&event);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue