hedgewars/uKeys.pas
changeset 2690 8e83c7e31720
parent 2683 bad2a30d5d6c
child 2695 ed789a7ef68d
equal deleted inserted replaced
2689:dfda97c153a4 2690:8e83c7e31720
    40 procedure ControllerClose;
    40 procedure ControllerClose;
    41 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    41 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    42 procedure ControllerHatEvent(joy, hat, value: Byte);
    42 procedure ControllerHatEvent(joy, hat, value: Byte);
    43 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    43 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    44 
    44 
    45 {$IFDEF IPHONEOS}
       
    46 procedure HW_click; cdecl; export;
       
    47 procedure HW_zoomIn; cdecl; export;
       
    48 procedure HW_zoomOut; cdecl; export;
       
    49 procedure HW_zoomReset; cdecl; export;
       
    50 procedure HW_ammoMenu; cdecl; export;
       
    51 procedure HW_allKeysUp; cdecl; export;
       
    52 procedure HW_walkLeft; cdecl; export;
       
    53 procedure HW_walkRight; cdecl; export;
       
    54 procedure HW_aimUp; cdecl; export;
       
    55 procedure HW_aimDown; cdecl; export;
       
    56 procedure HW_shoot; cdecl; export;
       
    57 procedure HW_whereIsHog; cdecl; export;
       
    58 
       
    59 {$ENDIF}
       
    60 
       
    61 var	hideAmmoMenu: boolean;
    45 var	hideAmmoMenu: boolean;
    62 	wheelUp: boolean = false;
    46 	wheelUp: boolean = false;
    63 	wheelDown: boolean = false;
    47 	wheelDown: boolean = false;
    64 {$IFDEF TOUCHINPUT}
    48 {$IFDEF TOUCHINPUT}
    65 	leftClick: boolean = false;
    49 	leftClick: boolean = false;
    98 const KeyNumber = 1024;
    82 const KeyNumber = 1024;
    99 
    83 
   100 var tkbd, tkbdn: TKeyboardState;
    84 var tkbd, tkbdn: TKeyboardState;
   101     KeyNames: array [0..cKeyMaxIndex] of string[15];
    85     KeyNames: array [0..cKeyMaxIndex] of string[15];
   102     DefaultBinds, CurrentBinds: TBinds;
    86     DefaultBinds, CurrentBinds: TBinds;
   103 
       
   104 {$IFDEF IPHONEOS}
       
   105 // these are called by the touch functions present in SDL_uikitview.m
       
   106 // they emulate user interaction from mouse or keyboard
       
   107 procedure HW_click; cdecl; export;
       
   108 begin
       
   109 	WriteLnToConsole('HW - left click');
       
   110 	leftClick:= true;
       
   111 	exit
       
   112 end;
       
   113 
       
   114 procedure HW_zoomIn; cdecl; export;
       
   115 begin
       
   116 	WriteLnToConsole('HW - zooming in');
       
   117 	wheelUp:= true;
       
   118 	exit
       
   119 end;
       
   120 
       
   121 procedure HW_zoomOut; cdecl; export;
       
   122 begin
       
   123 	WriteLnToConsole('HW - zooming out');
       
   124 	wheelDown:= true;
       
   125 	exit
       
   126 end;
       
   127 
       
   128 procedure HW_zoomReset; cdecl; export;
       
   129 begin
       
   130 	WriteLnToConsole('HW - reset zoom');
       
   131 	middleClick:= true;
       
   132 	exit
       
   133 end;
       
   134 
       
   135 procedure HW_ammoMenu; cdecl; export;
       
   136 begin
       
   137 	WriteLnToConsole('HW - right click');
       
   138 	rightClick:= true;
       
   139 	exit
       
   140 end;
       
   141 
       
   142 procedure HW_allKeysUp; cdecl; export;
       
   143 begin
       
   144 	WriteLnToConsole('HW - resetting keyboard');
       
   145 
       
   146 	upKey:= false;
       
   147 	downKey:= false;
       
   148 	leftKey:= false;
       
   149 	rightKey:= false;
       
   150 	spaceKey:= false;
       
   151 	exit
       
   152 end;
       
   153 
       
   154 procedure HW_walkLeft; cdecl; export;
       
   155 begin
       
   156 	WriteLnToConsole('HW - walking left');
       
   157 	leftKey:= true;
       
   158 	exit
       
   159 end;
       
   160 
       
   161 procedure HW_walkRight; cdecl; export;
       
   162 begin
       
   163 	WriteLnToConsole('HW - walking right');
       
   164 	rightKey:= true;
       
   165 	exit
       
   166 end;
       
   167 
       
   168 procedure HW_aimUp; cdecl; export;
       
   169 begin
       
   170 	WriteLnToConsole('HW - aiming upwards');
       
   171 	upKey:= true;
       
   172 	exit
       
   173 end;
       
   174 
       
   175 procedure HW_aimDown; cdecl; export;
       
   176 begin
       
   177 	WriteLnToConsole('HW - aiming downwards');
       
   178 	downKey:= true;
       
   179 	exit
       
   180 end;
       
   181 
       
   182 procedure HW_shoot; cdecl; export;
       
   183 begin
       
   184 	WriteLnToConsole('HW - shooting');
       
   185 	spaceKey:= true;
       
   186 	exit
       
   187 end;
       
   188 
       
   189 procedure HW_whereIsHog; cdecl; export;
       
   190 var Xcoord, Ycoord: LongInt;
       
   191 begin
       
   192 	//Xcoord:= Gear^.dX + WorldDx;
       
   193 	WriteLnToConsole('HW - hog is at x: ' + ' y:');
       
   194 
       
   195 	exit
       
   196 end;
       
   197 {$ENDIF}
       
   198 	
    87 	
   199 function KeyNameToCode(name: string): word;
    88 function KeyNameToCode(name: string): word;
   200 var code: Word;
    89 var code: Word;
   201 begin
    90 begin
   202 	code:= cKeyMaxIndex;
    91 	code:= cKeyMaxIndex;