Browse Source

Add text input mode calls where they should be. Disable text input mode at initialization

pull/2/head
Alibek Omarov 7 years ago
parent
commit
d3990e03e6
  1. 15
      engine/client/keys.c
  2. 2
      engine/common/host.c

15
engine/client/keys.c

@ -597,6 +597,17 @@ void Key_Event( int key, qboolean down )
if( cls.key_dest == key_menu ) if( cls.key_dest == key_menu )
{ {
// only non printable keys passed // only non printable keys passed
if( !gameui.use_text_api )
Key_EnableTextInput( true, false );
//pass printable chars for old menus
if( !gameui.use_text_api && !host.textmode && down && ( key >= 32 ) && ( key <= 'z' ) )
{
if( Key_IsDown( K_SHIFT ) )
{
key += 'A' - 'a';
}
UI_CharEvent( key );
}
UI_KeyEvent( key, down ); UI_KeyEvent( key, down );
return; return;
} }
@ -708,15 +719,19 @@ void Key_SetKeyDest( int key_dest )
switch( key_dest ) switch( key_dest )
{ {
case key_game: case key_game:
Key_EnableTextInput( false, false );
cls.key_dest = key_game; cls.key_dest = key_game;
break; break;
case key_menu: case key_menu:
Key_EnableTextInput( false, false );
cls.key_dest = key_menu; cls.key_dest = key_menu;
break; break;
case key_console: case key_console:
Key_EnableTextInput( true, false );
cls.key_dest = key_console; cls.key_dest = key_console;
break; break;
case key_message: case key_message:
Key_EnableTextInput( true, false );
cls.key_dest = key_message; cls.key_dest = key_message;
break; break;
default: default:

2
engine/common/host.c

@ -760,6 +760,8 @@ void Host_InitCommon( int argc, char **argv, const char *progname, qboolean bCha
#if defined XASH_GLES && !defined __EMSCRIPTEN__ && !TARGET_OS_IOS #if defined XASH_GLES && !defined __EMSCRIPTEN__ && !TARGET_OS_IOS
SDL_SetHint( SDL_HINT_OPENGL_ES_DRIVER, "1" ); SDL_SetHint( SDL_HINT_OPENGL_ES_DRIVER, "1" );
#endif #endif
SDL_StopTextInput();
#endif #endif
if ( !host.rootdir[0] || SetCurrentDirectory( host.rootdir ) != 0) if ( !host.rootdir[0] || SetCurrentDirectory( host.rootdir ) != 0)

Loading…
Cancel
Save