hedgewars/uInputHandler.pas
changeset 14832 769189675b6c
parent 14808 9443dc6663ba
child 14845 6c51f74d80a8
equal deleted inserted replaced
14829:f56936207a65 14832:769189675b6c
    58 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    58 procedure ControllerAxisEvent(joy, axis: Byte; value: Integer);
    59 procedure ControllerHatEvent(joy, hat, value: Byte);
    59 procedure ControllerHatEvent(joy, hat, value: Byte);
    60 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    60 procedure ControllerButtonEvent(joy, button: Byte; pressed: Boolean);
    61 
    61 
    62 implementation
    62 implementation
    63 uses uConsole, uCommands, uVariables, uConsts, uUtils, uDebug, uPhysFSLayer, uCursor;
    63 uses uKeyNames, uConsole, uCommands, uVariables, uConsts, uUtils, uDebug, uPhysFSLayer, uCursor;
    64 
    64 
    65 const
    65 const
    66     LSHIFT = $0200;
    66     LSHIFT = $0200;
    67     RSHIFT = $0400;
    67     RSHIFT = $0400;
    68     LALT   = $0800;
    68     LALT   = $0800;
    69     RALT   = $1000;
    69     RALT   = $1000;
    70     LCTRL  = $2000;
    70     LCTRL  = $2000;
    71     RCTRL  = $4000;
    71     RCTRL  = $4000;
    72 
    72 
    73 var tkbd: array[0..cKbdMaxIndex] of boolean;
    73 var tkbd: array[0..cKbdMaxIndex] of boolean;
    74     KeyNames: array [0..cKeyMaxIndex] of string[15];
    74     KeyNames: TKeyNames;
    75     CurrentBinds: TBinds;
    75     CurrentBinds: TBinds;
    76     ControllerNumControllers: Integer;
    76     ControllerNumControllers: Integer;
    77     ControllerEnabled: Integer;
    77     ControllerEnabled: Integer;
    78     ControllerNumAxes: array[0..5] of Integer;
    78     ControllerNumAxes: array[0..5] of Integer;
    79     //ControllerNumBalls: array[0..5] of Integer;
    79     //ControllerNumBalls: array[0..5] of Integer;
   444     loadBinds('dbind', cPathz[ptConfig] + '/settings.ini');
   444     loadBinds('dbind', cPathz[ptConfig] + '/settings.ini');
   445 end;
   445 end;
   446 
   446 
   447 
   447 
   448 procedure InitKbdKeyTable;
   448 procedure InitKbdKeyTable;
   449 var i, j, k, t: LongInt;
   449 var i, j, k: LongInt;
   450     s: string[15];
   450 begin
   451 begin
   451     // Mouse buttons and mouse wheel
   452     KeyNames[cKeyMaxIndex    ]:= 'mousel';
   452     KeyNames[cKeyMaxIndex    ]:= 'mousel';
   453     KeyNames[cKeyMaxIndex - 1]:= 'mousem';
   453     KeyNames[cKeyMaxIndex - 1]:= 'mousem';
   454     KeyNames[cKeyMaxIndex - 2]:= 'mouser';
   454     KeyNames[cKeyMaxIndex - 2]:= 'mouser';
   455     mwheelupCode:= cKeyMaxIndex - 3;
   455     mwheelupCode:= cKeyMaxIndex - 3;
   456     KeyNames[mwheelupCode]:= 'wheelup';
   456     KeyNames[mwheelupCode]:= 'wheelup';
   457     mwheeldownCode:= cKeyMaxIndex - 4;
   457     mwheeldownCode:= cKeyMaxIndex - 4;
   458     KeyNames[mwheeldownCode]:= 'wheeldown';
   458     KeyNames[mwheeldownCode]:= 'wheeldown';
   459 
   459 
   460     for i:= 0 to cKeyMaxIndex - 5 do
   460     // Keyboard keys
   461         begin
   461     uKeyNames.populateKeyNames(KeyNames);
   462         s:= shortstring(SDL_GetScancodeName(TSDL_Scancode(i)));
       
   463 
       
   464         for t:= 1 to Length(s) do
       
   465             if s[t] = ' ' then
       
   466                 s[t]:= '_';
       
   467         KeyNames[i]:= LowerCase(s)
       
   468         end;
       
   469 
       
   470 
   462 
   471     // get the size of keyboard array
   463     // get the size of keyboard array
   472     SDL_GetKeyboardState(@k);
   464     SDL_GetKeyboardState(@k);
   473 
   465 
   474     // Controller(s)
   466     // Controller(s)