equal
deleted
inserted
replaced
26 type TKeyboardState = array[0..cKeyMaxIndex] of Byte; |
26 type TKeyboardState = array[0..cKeyMaxIndex] of Byte; |
27 |
27 |
28 procedure init_uKeys; |
28 procedure init_uKeys; |
29 procedure free_uKeys; |
29 procedure free_uKeys; |
30 |
30 |
31 function KeyNameToCode(name: string): word; |
31 function KeyNameToCode(name: shortstring): word; |
32 procedure ProcessKbd; |
32 procedure ProcessKbd; |
33 procedure ResetKbd; |
33 procedure ResetKbd; |
34 procedure FreezeEnterKey; |
34 procedure FreezeEnterKey; |
35 procedure InitKbdKeyTable; |
35 procedure InitKbdKeyTable; |
36 |
36 |
88 const KeyNumber = 1024; |
88 const KeyNumber = 1024; |
89 |
89 |
90 var tkbd, tkbdn: TKeyboardState; |
90 var tkbd, tkbdn: TKeyboardState; |
91 KeyNames: array [0..cKeyMaxIndex] of string[15]; |
91 KeyNames: array [0..cKeyMaxIndex] of string[15]; |
92 |
92 |
93 function KeyNameToCode(name: string): word; |
93 function KeyNameToCode(name: shortstring): word; |
94 var code: Word; |
94 var code: Word; |
95 begin |
95 begin |
96 code:= cKeyMaxIndex; |
96 code:= cKeyMaxIndex; |
97 while (code > 0) and (KeyNames[code] <> name) do dec(code); |
97 while (code > 0) and (KeyNames[code] <> name) do dec(code); |
98 KeyNameToCode:= code; |
98 KeyNameToCode:= code; |
259 KeyNames[4]:= 'wheelup'; |
259 KeyNames[4]:= 'wheelup'; |
260 KeyNames[5]:= 'wheeldown'; |
260 KeyNames[5]:= 'wheeldown'; |
261 |
261 |
262 for i:= 6 to cKeyMaxIndex do |
262 for i:= 6 to cKeyMaxIndex do |
263 begin |
263 begin |
264 s:= string(sdl_getkeyname(i)); |
264 s:= shortstring(sdl_getkeyname(i)); |
265 //writeln(stdout,inttostr(i) + ': ' + s); |
265 //writeln(stdout,inttostr(i) + ': ' + s); |
266 if s = 'unknown key' then KeyNames[i]:= '' |
266 if s = 'unknown key' then KeyNames[i]:= '' |
267 else begin |
267 else begin |
268 for t:= 1 to Length(s) do |
268 for t:= 1 to Length(s) do |
269 if s[t] = ' ' then s[t]:= '_'; |
269 if s[t] = ' ' then s[t]:= '_'; |