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. |