|
|
@@ -475,11 +475,26 @@ void QtSoftwareKeyboardDialog::open() {
|
|
|
row = 0;
|
|
|
column = 0;
|
|
|
|
|
|
- const auto* const curr_button =
|
|
|
- keyboard_buttons[static_cast<int>(bottom_osk_index)][row][column];
|
|
|
+ switch (bottom_osk_index) {
|
|
|
+ case BottomOSKIndex::LowerCase:
|
|
|
+ case BottomOSKIndex::UpperCase: {
|
|
|
+ const auto* const curr_button =
|
|
|
+ keyboard_buttons[static_cast<std::size_t>(bottom_osk_index)][row][column];
|
|
|
+
|
|
|
+ // This is a workaround for setFocus() randomly not showing focus in the UI
|
|
|
+ QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case BottomOSKIndex::NumberPad: {
|
|
|
+ const auto* const curr_button = numberpad_buttons[row][column];
|
|
|
|
|
|
- // This is a workaround for setFocus() randomly not showing focus in the UI
|
|
|
- QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
|
|
+ // This is a workaround for setFocus() randomly not showing focus in the UI
|
|
|
+ QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
StartInputThread();
|
|
|
}
|