diff --git a/Minecraft.Client/Common/UI/UIScene_AnvilMenu.cpp b/Minecraft.Client/Common/UI/UIScene_AnvilMenu.cpp index 0be1694b7..2056f8245 100644 --- a/Minecraft.Client/Common/UI/UIScene_AnvilMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_AnvilMenu.cpp @@ -328,13 +328,23 @@ void UIScene_AnvilMenu::handleEditNamePressed() { setIgnoreInput(true); #ifdef _WINDOWS64 - KeyboardInitData kbData; - kbData.title = app.GetString(IDS_TITLE_RENAME); - kbData.initialText = m_textInputAnvil.getLabel(); - kbData.charLimit = 30; - kbData.lpParam = this; - kbData.Func = &UIScene_AnvilMenu::KeyboardCompleteCallbackNew; - ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + + if (!g_KBMInput.IsKBMActive()) + { + KeyboardInitData kbData; + kbData.title = app.GetString(IDS_TITLE_RENAME); + kbData.initialText = m_textInputAnvil.getLabel(); + kbData.charLimit = 30; + kbData.lpParam = this; + kbData.Func = &UIScene_AnvilMenu::KeyboardCompleteCallbackNew; + ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + } + else + { + InputManager.RequestKeyboard(app.GetString(IDS_TITLE_RENAME), m_textInputAnvil.getLabel(), (DWORD)m_iPad, 30, &UIScene_AnvilMenu::KeyboardCompleteCallback, this, C_4JInput::EKeyboardMode_Alphabet_Extended); + } + + #elif defined(__PS3__) || defined(__ORBIS__) || defined __PSVITA__ int language = XGetLanguage(); switch(language) diff --git a/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp b/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp index 31b234062..e1a67d7a9 100644 --- a/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp @@ -418,13 +418,20 @@ void UIScene_CreateWorldMenu::handlePress(F64 controlId, F64 childId) { m_bIgnoreInput=true; #ifdef _WINDOWS64 - KeyboardInitData kbData; - kbData.title = app.GetString(IDS_CREATE_NEW_WORLD); - kbData.initialText = m_worldName; - kbData.charLimit = 25; - kbData.lpParam = this; - kbData.Func = &UIScene_CreateWorldMenu::KeyboardCompleteWorldNameCallbackNew; - ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + if (!g_KBMInput.IsKBMActive()) + { + KeyboardInitData kbData; + kbData.title = app.GetString(IDS_CREATE_NEW_WORLD); + kbData.initialText = m_worldName; + kbData.charLimit = 25; + kbData.lpParam = this; + kbData.Func = &UIScene_CreateWorldMenu::KeyboardCompleteWorldNameCallbackNew; + ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + } + else + { + InputManager.RequestKeyboard(app.GetString(IDS_CREATE_NEW_WORLD), m_editWorldName.getLabel(), (DWORD)0, 25, &UIScene_CreateWorldMenu::KeyboardCompleteWorldNameCallback, this, C_4JInput::EKeyboardMode_Default); + } #else InputManager.RequestKeyboard(app.GetString(IDS_CREATE_NEW_WORLD),m_editWorldName.getLabel(),(DWORD)0,25,&UIScene_CreateWorldMenu::KeyboardCompleteWorldNameCallback,this,C_4JInput::EKeyboardMode_Default); #endif diff --git a/Minecraft.Client/Common/UI/UIScene_DebugCreateSchematic.cpp b/Minecraft.Client/Common/UI/UIScene_DebugCreateSchematic.cpp index 7de592254..f43809b7d 100644 --- a/Minecraft.Client/Common/UI/UIScene_DebugCreateSchematic.cpp +++ b/Minecraft.Client/Common/UI/UIScene_DebugCreateSchematic.cpp @@ -115,13 +115,21 @@ void UIScene_DebugCreateSchematic::handlePress(F64 controlId, F64 childId) m_keyboardCallbackControl = (eControls)((int)controlId); #ifdef _WINDOWS64 { - KeyboardInitData kbData; - kbData.title = L"Enter something"; - kbData.initialText = L""; - kbData.charLimit = 25; - kbData.lpParam = this; - kbData.Func = &UIScene_DebugCreateSchematic::KeyboardCompleteCallbackNew; - ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + if (!g_KBMInput.IsKBMActive()) + { + + KeyboardInitData kbData; + kbData.title = L"Enter something"; + kbData.initialText = L""; + kbData.charLimit = 25; + kbData.lpParam = this; + kbData.Func = &UIScene_DebugCreateSchematic::KeyboardCompleteCallbackNew; + ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + } + else + { + InputManager.RequestKeyboard(L"Enter something", L"", (DWORD)0, 25, &UIScene_DebugCreateSchematic::KeyboardCompleteCallback, this, C_4JInput::EKeyboardMode_Default); + } } #else InputManager.RequestKeyboard(L"Enter something",L"",(DWORD)0,25,&UIScene_DebugCreateSchematic::KeyboardCompleteCallback,this,C_4JInput::EKeyboardMode_Default); diff --git a/Minecraft.Client/Common/UI/UIScene_LaunchMoreOptionsMenu.cpp b/Minecraft.Client/Common/UI/UIScene_LaunchMoreOptionsMenu.cpp index 7b6b3e14f..798e6b6fa 100644 --- a/Minecraft.Client/Common/UI/UIScene_LaunchMoreOptionsMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_LaunchMoreOptionsMenu.cpp @@ -574,13 +574,20 @@ void UIScene_LaunchMoreOptionsMenu::handlePress(F64 controlId, F64 childId) { m_bIgnoreInput=true; #ifdef _WINDOWS64 - KeyboardInitData kbData; - kbData.title = app.GetString(IDS_CREATE_NEW_WORLD_SEED); - kbData.initialText = m_editSeed.getLabel(); - kbData.charLimit = 60; - kbData.lpParam = this; - kbData.Func = &UIScene_LaunchMoreOptionsMenu::KeyboardCompleteSeedCallbackNew; - ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + if (!g_KBMInput.IsKBMActive()) + { + KeyboardInitData kbData; + kbData.title = app.GetString(IDS_CREATE_NEW_WORLD_SEED); + kbData.initialText = m_editSeed.getLabel(); + kbData.charLimit = 60; + kbData.lpParam = this; + kbData.Func = &UIScene_LaunchMoreOptionsMenu::KeyboardCompleteSeedCallbackNew; + ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + } + else + { + InputManager.RequestKeyboard(app.GetString(IDS_CREATE_NEW_WORLD_SEED), m_editSeed.getLabel(), (DWORD)0, 60, &UIScene_LaunchMoreOptionsMenu::KeyboardCompleteSeedCallback, this, C_4JInput::EKeyboardMode_Alphabet_Extended); + } #elif defined(__PS3__) int language = XGetLanguage(); switch(language) diff --git a/Minecraft.Client/Common/UI/UIScene_SignEntryMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SignEntryMenu.cpp index d6da288d0..9a7247348 100644 --- a/Minecraft.Client/Common/UI/UIScene_SignEntryMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_SignEntryMenu.cpp @@ -172,13 +172,20 @@ void UIScene_SignEntryMenu::handlePress(F64 controlId, F64 childId) m_iEditingLine = (int)controlId; m_bIgnoreInput = true; #ifdef _WINDOWS64 - KeyboardInitData kbData; - kbData.title = app.GetString(IDS_SIGN_TITLE); - kbData.initialText = m_textInputLines[m_iEditingLine].getLabel(); - kbData.charLimit = 15; - kbData.lpParam = this; - kbData.Func = &UIScene_SignEntryMenu::KeyboardCompleteCallbackNew; - ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + if (!g_KBMInput.IsKBMActive()) + { + KeyboardInitData kbData; + kbData.title = app.GetString(IDS_SIGN_TITLE); + kbData.initialText = m_textInputLines[m_iEditingLine].getLabel(); + kbData.charLimit = 15; + kbData.lpParam = this; + kbData.Func = &UIScene_SignEntryMenu::KeyboardCompleteCallbackNew; + ui.NavigateToScene(m_iPad, eUIScene_Keyboard, &kbData); + } + else + { + InputManager.RequestKeyboard(app.GetString(IDS_SIGN_TITLE), m_textInputLines[m_iEditingLine].getLabel(), (DWORD)m_iPad, 15, &UIScene_SignEntryMenu::KeyboardCompleteCallback, this, C_4JInput::EKeyboardMode_Alphabet); + } #elif defined(_XBOX_ONE) // 4J-PB - Xbox One uses the Windows virtual keyboard, and doesn't have the Xbox 360 Latin keyboard type, so we can't restrict the input set to alphanumeric. The closest we get is the emailSmtpAddress type. int language = XGetLanguage(); diff --git a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp index f53a37eaa..3411dbc1e 100644 --- a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp +++ b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp @@ -735,24 +735,10 @@ uint16_t *GetGlobalText() void SeedEditBox() { - KeyboardInitData kbData; - - kbData.title = - reinterpret_cast(chGlobalText); - - kbData.initialText = - reinterpret_cast(chGlobalText); - - kbData.charLimit = 25; - kbData.lpParam = nullptr; - - ui.NavigateToScene( - ProfileManager.GetPrimaryPad(), - eUIScene_Keyboard, - &kbData); + DialogBox(hMyInst, MAKEINTRESOURCE(IDD_SEED), + g_hWnd, reinterpret_cast(DlgProc)); } - //--------------------------------------------------------------------------- LRESULT CALLBACK DlgProc(HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lParam) {