diff --git a/src/game/g_touch.pas b/src/game/g_touch.pas
index 0638cc2713bfbfb432e484160ff431faa77adcbf..faed65c36ab5fc6cb7c1d41d29496ef0bcb3c21e 100644 (file)
--- a/src/game/g_touch.pas
+++ b/src/game/g_touch.pas
uses
SysUtils,
- e_log, e_graphics, e_input, g_options, g_game, g_main, 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;
procedure g_Touch_Init;
begin
{$IFNDEF HEADLESS}
+ g_Touch_ShowKeyboard(FALSE);
g_touch_enabled := SDL_GetNumTouchDevices() > 0
{$ENDIF}
end;
procedure g_Touch_ShowKeyboard(yes: Boolean);
begin
{$IFNDEF HEADLESS}
- if not g_touch_enabled then
- Exit;
-
+ if g_dbg_input then
+ e_LogWritefln('g_Touch_ShowKeyboard(%s)', [yes]);
if yes then
SDL_StartTextInput
else
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);
(* up/down + fire hack *)
- if g_touch_fire and (gGameSettings.GameType <> GT_NONE) and angleFire then
+ if g_touch_fire and (gGameSettings.GameType <> GT_NONE) and (g_ActiveWindow = nil) and angleFire then
begin
if (i = VK_UP) or (i = VK_DOWN) then
begin
procedure KeyDown (finger, i: Integer);
begin
- KeyPress(i); // Menu events
+ 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);
(* up/down + fire hack *)
- if g_touch_fire and (gGameSettings.GameType <> GT_NONE) then
+ if g_touch_fire and (gGameSettings.GameType <> GT_NONE) and (g_ActiveWindow = nil) then
begin
if i = VK_UP then
begin