home *** CD-ROM | disk | FTP | other *** search
- unit KeyDefs ;
- (*****) interface (*******************************)
- uses
- WinTypes ;
-
- const
- MaxKeys = 41 ;
- MaxTokLen = 9 ;
- ControlKey = '^' ;
- AltKey = '%' ;
- ShiftKey = '+' ;
- KeyGroupOpen = '{' ;
- KeyGroupClose = '}' ;
-
- type
- TKeyString = string[MaxTokLen] ;
-
- TKeyDef = record
- Key : TKeyString ;
- vkCode : byte ;
- end (* record TKeyDef *) ;
-
- (* SendKeys error codes *)
- TSendKeyError = ( sk_None, sk_FailSetHook, sk_InvalidToken, sk_UnknownError ) ;
-
- const
- KeyDefArray : array [1..MaxKeys] of TKeyDef =
- (
- (* provide "Metacodes" so that special keys may be included in strings *)
- ( Key : '+' ; vkCode : Ord( ShiftKey )),
- ( Key : '^' ; vkCode : Ord( ControlKey )),
- ( Key : '%' ; vkCode : Ord( AltKey )),
- ( Key : '{' ; vkCode : Ord( KeyGroupOpen )),
- ( Key : '}' ; vkCode : Ord( KeyGroupClose )),
- ( Key : 'F1' ; vkCode : vk_F1 ),
- ( Key : 'F2' ; vkCode : vk_F2 ),
- ( Key : 'F3' ; vkCode : vk_F3 ),
- ( Key : 'F4' ; vkCode : vk_F4 ),
- ( Key : 'F5' ; vkCode : vk_F5 ),
- ( Key : 'F6' ; vkCode : vk_F6 ),
- ( Key : 'F7' ; vkCode : vk_F7 ),
- ( Key : 'F8' ; vkCode : vk_F8 ),
- ( Key : 'F9' ; vkCode : vk_F9 ),
- ( Key : 'F10' ; vkCode : vk_F10 ),
- ( Key : 'F11' ; vkCode : vk_F11 ),
- ( Key : 'F12' ; vkCode : vk_F12 ),
- ( Key : 'INSERT' ; vkCode : vk_Insert ),
- ( Key : 'INS' ; vkCode : vk_Insert ),
- ( Key : 'DELETE' ; vkCode : vk_Delete ),
- ( Key : 'HOME' ; vkCode : vk_Home ),
- ( Key : 'END' ; vkCode : vk_End ),
- ( Key : 'PGUP' ; vkCode : vk_Prior ),
- ( Key : 'PGDN' ; vkCode : vk_Next ),
- ( Key : 'LEFT' ; vkCode : vk_Left ),
- ( Key : 'RIGHT' ; vkCode : vk_Right ),
- ( Key : 'UP' ; vkCode : vk_Up ),
- ( Key : 'DOWN' ; vkCode : vk_Down ),
- ( Key : 'TAB' ; vkCode : vk_Tab ),
- ( Key : 'ENTER' ; vkCode : vk_Return ),
- ( Key : 'RETURN' ; vkCode : vk_Return ),
- ( Key : 'SPACE' ; vkCode : vk_Space ),
- ( Key : 'BKSP' ; vkCode : vk_Back ),
- ( Key : 'BS' ; vkCode : vk_Back ),
- ( Key : 'BACKSPACE' ; vkCode : vk_Back ),
- ( Key : 'PRTSC' ; VkCode : vk_SnapShot ),
- ( Key : 'SHIFT' ; vkCode : vk_Shift ),
- ( Key : 'ESCAPE' ; vkCode : vk_Escape ),
- ( Key : 'ESC' ; vkCode : vk_Escape ),
- ( Key : 'CAPSLOCK' ; vkCode : vk_Return ),
- ( Key : 'NUMLOCK' ; vkCode : vk_Return )
- ) ;
-
- function FindKeyInArray( Key : TKeyString ; var Code : byte ) : boolean ;
-
- (*****) implementation (**************************)
- uses
- SysUtils ;
-
- function FindKeyInArray( Key : TKeyString ; var Code : byte ) : boolean ;
- var
- i : word ;
- begin
- Result := FALSE ;
- for i := Low( KeyDefArray ) to High( KeyDefArray ) do
- if UpperCase( Key ) = KeyDefArray[i].Key then
- begin
- Code := KeyDefArray[i].vkCode ;
- Result := TRUE ;
- Break ;
- end ;
- end ;
-
- {$ifdef VER80}
- initialization
- {$else}
- begin
- {$endif}
- (* unit KeyDefs -- initialization code *)
- (* NONE *)
- end (* unit KeyDefs -- initialization code *) .
-
-