hedgewars/uKeys.pas
changeset 2716 b9ca1bfca24f
parent 2714 c85ffe57d971
child 2754 ad4f81fbfb76
equal deleted inserted replaced
2715:0e4e0db79e2a 2716:b9ca1bfca24f
    23 uses uConsts, SDLh;
    23 uses uConsts, SDLh;
    24 
    24 
    25 type TBinds = array[0..cKeyMaxIndex] of shortstring;
    25 type TBinds = array[0..cKeyMaxIndex] of shortstring;
    26 type TKeyboardState = array[0..cKeyMaxIndex] of Byte;
    26 type TKeyboardState = array[0..cKeyMaxIndex] of Byte;
    27 
    27 
       
    28 procedure init_uKeys;
       
    29 procedure free_uKeys;
       
    30 
    28 function  KeyNameToCode(name: string): word;
    31 function  KeyNameToCode(name: string): word;
    29 procedure ProcessKbd;
    32 procedure ProcessKbd;
    30 procedure ResetKbd;
    33 procedure ResetKbd;
    31 procedure FreezeEnterKey;
    34 procedure FreezeEnterKey;
    32 procedure InitKbdKeyTable;
    35 procedure InitKbdKeyTable;
    39 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    42 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    40 procedure ControllerHatEvent(joy, hat, value: Byte);
    43 procedure ControllerHatEvent(joy, hat, value: Byte);
    41 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    44 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    42 
    45 
    43 var	hideAmmoMenu: boolean;
    46 var	hideAmmoMenu: boolean;
    44 	wheelUp: boolean = false;
    47 	wheelUp: boolean;
    45 	wheelDown: boolean = false;
    48 	wheelDown: boolean;
    46 {$IFDEF TOUCHINPUT}
       
    47 	leftClick: boolean = false;
       
    48 	middleClick: boolean = false;
       
    49 	rightClick: boolean = false;
       
    50 
       
    51 	upKey: boolean = false;
       
    52 	downKey: boolean = false;
       
    53 	rightKey: boolean = false;
       
    54 	leftKey: boolean = false;
       
    55 
       
    56 	backspaceKey: boolean = false;
       
    57 	spaceKey: boolean = false;
       
    58 	enterKey: boolean = false;
       
    59 	tabKey: boolean = false;
       
    60 
       
    61 	isAttacking: boolean = false;
       
    62 	isWalking: boolean = false;
       
    63 {$ENDIF}
       
    64 {$IFDEF IPHONEOS}
    49 {$IFDEF IPHONEOS}
       
    50 	leftClick: boolean;
       
    51 	middleClick: boolean;
       
    52 	rightClick: boolean;
       
    53 
       
    54 	upKey: boolean;
       
    55 	downKey: boolean;
       
    56 	rightKey: boolean;
       
    57 	leftKey: boolean;
       
    58 
       
    59 	backspaceKey: boolean;
       
    60 	spaceKey: boolean;
       
    61 	enterKey: boolean;
       
    62 	tabKey: boolean;
       
    63 
    65 	theJoystick: PSDL_Joystick;
    64 	theJoystick: PSDL_Joystick;
    66 {$ENDIF}
    65 {$ENDIF}
    67 	ControllerNumControllers: Integer;
    66 	ControllerNumControllers: Integer;
    68 	ControllerEnabled: Integer;
    67 	ControllerEnabled: Integer;
    69 	ControllerNumAxes: array[0..5] of Integer;
    68 	ControllerNumAxes: array[0..5] of Integer;
   128 // mouse wheels
   127 // mouse wheels
   129 tkbdn[4]:= ord(wheelDown);
   128 tkbdn[4]:= ord(wheelDown);
   130 tkbdn[5]:= ord(wheelUp);
   129 tkbdn[5]:= ord(wheelUp);
   131 wheelUp:= false;
   130 wheelUp:= false;
   132 wheelDown:= false;
   131 wheelDown:= false;
   133 {$IFDEF TOUCHINPUT}
   132 {$IFDEF IPHONEOS}
   134 tkbdn[1]:= ord(leftClick);
   133 tkbdn[1]:= ord(leftClick);
   135 tkbdn[2]:= ord(middleClick);
   134 tkbdn[2]:= ord(middleClick);
   136 tkbdn[3]:= ord(rightClick);
   135 tkbdn[3]:= ord(rightClick);
   137 leftClick:= false;
   136 leftClick:= false;
   138 middleClick:= false;
   137 middleClick:= false;
   329 		keynames[k]:= 'j' + inttostr(j) + 'b' + inttostr(i);
   328 		keynames[k]:= 'j' + inttostr(j) + 'b' + inttostr(i);
   330 		inc(k, 1);
   329 		inc(k, 1);
   331 		end;
   330 		end;
   332 	end;
   331 	end;
   333 
   332 
   334 {$IFDEF TOUCHINPUT}
   333 {$IFDEF IPHONEOS}
   335 DefaultBinds[  1]:= '/put';
   334 DefaultBinds[  1]:= '/put';
   336 DefaultBinds[  3]:= 'ammomenu';
   335 DefaultBinds[  3]:= 'ammomenu';
   337 DefaultBinds[  8]:= 'hjump';
   336 DefaultBinds[  8]:= 'hjump';
   338 DefaultBinds[  9]:= 'switch';
   337 DefaultBinds[  9]:= 'switch';
   339 DefaultBinds[ 13]:= 'ljump';
   338 DefaultBinds[ 13]:= 'ljump';
   467 	ControllerHats[joy][hat]:= value;
   466 	ControllerHats[joy][hat]:= value;
   468 end;
   467 end;
   469 
   468 
   470 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
   469 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
   471 begin
   470 begin
   472 	if pressed then ControllerButtons[joy][button]:= 1 else ControllerButtons[joy][button]:= 0;
   471 	if pressed then ControllerButtons[joy][button]:= 1
   473 end;
   472 	else ControllerButtons[joy][button]:= 0;
   474 
   473 end;
       
   474 
       
   475 procedure init_uKeys;
       
   476 begin
       
   477 	wheelUp:= false;
       
   478 	wheelDown:= false;
       
   479 {$IFDEF IPHONEOS}
       
   480 	leftClick:= false;
       
   481 	middleClick:= false;
       
   482 	rightClick:= false;
       
   483 
       
   484 	upKey:= false;
       
   485 	downKey:= false;
       
   486 	rightKey:= false;
       
   487 	leftKey:= false;
       
   488 
       
   489 	backspaceKey:= false;
       
   490 	spaceKey:= false;
       
   491 	enterKey:= false;
       
   492 	tabKey:= false;
       
   493 {$ENDIF}
       
   494 end;
       
   495 
       
   496 procedure free_uKeys;
       
   497 begin
       
   498 
       
   499 end;
   475 
   500 
   476 end.
   501 end.