diff --git a/src/xrEngine/line_edit_control.cpp b/src/xrEngine/line_edit_control.cpp index 7f0f4748986..00d6e27a800 100644 --- a/src/xrEngine/line_edit_control.cpp +++ b/src/xrEngine/line_edit_control.cpp @@ -238,6 +238,9 @@ void line_edit_control::init(u32 str_buffer_size, init_mode mode) assign_callback(SDL_SCANCODE_BACKSPACE, ks_Ctrl, Callback(this, &line_edit_control::delete_word_back)); assign_callback(SDL_SCANCODE_DELETE, ks_Ctrl, Callback(this, &line_edit_control::delete_word_forward)); + assign_callback(SDL_SCANCODE_LSHIFT, ks_Ctrl, Callback(this, &line_edit_control::SwitchKL)); + assign_callback(SDL_SCANCODE_LSHIFT, ks_Alt, Callback(this, &line_edit_control::SwitchKL)); + } // if mode create_key_state(SDL_SCANCODE_LSHIFT, ks_LShift); @@ -737,6 +740,7 @@ void line_edit_control::compute_positions() } void line_edit_control::clamp_cur_pos() { clamp(m_cur_pos, 0, (int)xr_strlen(m_edit_str)); } +void line_edit_control::SwitchKL() { ActivateKeyboardLayout((HKL)HKL_NEXT, 0); } // ------------------------------------------------------------------------------------------------- void remove_spaces(pstr str) diff --git a/src/xrEngine/line_edit_control.h b/src/xrEngine/line_edit_control.h index 1ddb59a26c7..f8af017f8c6 100644 --- a/src/xrEngine/line_edit_control.h +++ b/src/xrEngine/line_edit_control.h @@ -103,6 +103,7 @@ class ENGINE_API line_edit_control void xr_stdcall delete_selected_forward(); void xr_stdcall delete_word_back(); void xr_stdcall delete_word_forward(); + void xr_stdcall SwitchKL(); void assign_char_pairs(init_mode mode); void create_key_state(int const dik, key_state state); diff --git a/src/xrEngine/xr_input.cpp b/src/xrEngine/xr_input.cpp index ab89491dee8..8ee7fc2ab6c 100644 --- a/src/xrEngine/xr_input.cpp +++ b/src/xrEngine/xr_input.cpp @@ -186,10 +186,6 @@ void CInput::KeyUpdate() keyboardState[event.key.keysym.scancode] = false; cbStack.back()->IR_OnKeyboardRelease(event.key.keysym.scancode); break; - - case SDL_TEXTINPUT: - Msg("Input: [%s]\n", event.text.text); - break; } }