From: DeaDDooMER Date: Sun, 28 Apr 2019 15:56:10 +0000 (+0300) Subject: fixed console on android X-Git-Url: http://deadsoftware.ru/gitweb?a=commitdiff_plain;h=32feca26531633f6175ac01859db60016a9d0455;p=d2df-sdl.git fixed console on android --- diff --git a/src/game/g_console.pas b/src/game/g_console.pas index 2161611..33bfcf7 100644 --- a/src/game/g_console.pas +++ b/src/game/g_console.pas @@ -702,8 +702,13 @@ begin 'hidekeyboard': g_Touch_ShowKeyboard(False); 'togglemenu': + if gConsoleShow then + begin + g_Console_Switch; + menu_toggled := True + end + else begin - // this is HACK KeyPress(VK_ESCAPE); menu_toggled := True end; @@ -1378,6 +1383,7 @@ begin if g_Console_MatchBind(K, 'togglemenu') then begin + menu_toggled := True; if gChatShow then g_Console_Chat_Switch else if gConsoleShow then @@ -1721,7 +1727,7 @@ end; procedure g_Console_ProcessBind (key: Integer; down: Boolean); var i: Integer; begin - if (not g_GUIGrabInput) and (not gChatShow) and (not gConsoleShow) and (key >= 0) and (key < e_MaxInputKeys) and ((gInputBinds[key].down <> nil) or (gInputBinds[key].up <> nil)) then + if (not g_GUIGrabInput) and (key >= 0) and (key < e_MaxInputKeys) and ((gInputBinds[key].down <> nil) or (gInputBinds[key].up <> nil)) then begin if down then for i := 0 to High(gInputBinds[key].down) do @@ -1787,8 +1793,7 @@ begin g_Console_BindKey(e_JoyButtonToKey(i, 10), 'togglemenu'); end; - // HACK: VK_ESCAPE always used as togglemenu, so don't touch it! - // VK_CONSOLE + g_Console_BindKey(VK_ESCAPE, 'togglemenu'); g_Console_BindKey(VK_LSTRAFE, '+moveleft; +strafe', '-moveleft; -strafe'); g_Console_BindKey(VK_RSTRAFE, '+moveright; +strafe', '-moveright; -strafe'); g_Console_BindKey(VK_LEFT, '+moveleft', '-moveleft'); diff --git a/src/game/g_touch.pas b/src/game/g_touch.pas index 972c542..7cdc328 100644 --- a/src/game/g_touch.pas +++ b/src/game/g_touch.pas @@ -37,7 +37,7 @@ implementation uses SysUtils, - e_log, e_graphics, e_input, g_options, g_game, g_main, g_gui, g_weapons, g_console; + e_log, e_graphics, e_input, g_options, g_game, g_main, g_gui, g_weapons, g_console, g_window; var angleFire: Boolean; @@ -207,6 +207,9 @@ implementation procedure KeyUp (finger, i: Integer); begin + if g_dbg_input then + e_LogWritefln('Input Debug: g_touch.KeyUp, finger=%s, key=%s', [finger, i]); + keyFinger[i] := 0; e_KeyUpDown(i, False); g_Console_ProcessBind(i, False); @@ -226,6 +229,9 @@ implementation procedure KeyDown (finger, i: Integer); begin + if g_dbg_input then + e_LogWritefln('Input Debug: g_touch.KeyDown, finger=%s, key=%s', [finger, i]); + keyFinger[i] := finger; e_KeyUpDown(i, True); g_Console_ProcessBind(i, True);