X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_touch.pas;h=a35a56ef75fe8ce57750c0585153d04205d83387;hb=d6733d8e7dd555b965d4ccc93a3a8ae4d306dfc0;hp=972c5422283f1c53f42d7ceb50097d7488661f14;hpb=4de34c0c003869d8f125768be330702020f3c514;p=d2df-sdl.git diff --git a/src/game/g_touch.pas b/src/game/g_touch.pas index 972c542..a35a56e 100644 --- a/src/game/g_touch.pas +++ b/src/game/g_touch.pas @@ -2,8 +2,7 @@ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * the Free Software Foundation, version 3 of the License ONLY. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -37,7 +36,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; @@ -184,6 +183,7 @@ implementation procedure g_Touch_Init; begin {$IFNDEF HEADLESS} + g_Touch_ShowKeyboard(FALSE); g_touch_enabled := SDL_GetNumTouchDevices() > 0 {$ENDIF} end; @@ -191,10 +191,10 @@ implementation procedure g_Touch_ShowKeyboard(yes: Boolean); begin {$IFNDEF HEADLESS} - if not g_touch_enabled then - Exit; - - if yes then + if g_dbg_input then + e_LogWritefln('g_Touch_ShowKeyboard(%s)', [yes]); + (* on desktop we always receive text (needed for cheats) *) + if yes or (SDL_HasScreenKeyboardSupport() = SDL_FALSE) then SDL_StartTextInput else SDL_StopTextInput @@ -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); @@ -289,7 +295,9 @@ implementation end; procedure g_Touch_Draw; +{$IFNDEF HEADLESS} var i, x, y, w, h: Integer; founded: Boolean; +{$ENDIF} begin {$IFNDEF HEADLESS} if not g_touch_enabled then