The following constants define some error constants, which may be returned by the keyboard functions.
errKbdBase = 1010; errKbdInitError = errKbdBase + 0; errKbdNotImplemented = errKbdBase + 1; |
const kbdF1 = $FF01; kbdF2 = $FF02; kbdF3 = $FF03; kbdF4 = $FF04; kbdF5 = $FF05; kbdF6 = $FF06; kbdF7 = $FF07; kbdF8 = $FF08; kbdF9 = $FF09; kbdF10 = $FF0A; kbdF11 = $FF0B; kbdF12 = $FF0C; kbdF13 = $FF0D; kbdF14 = $FF0E; kbdF15 = $FF0F; kbdF16 = $FF10; kbdF17 = $FF11; kbdF18 = $FF12; kbdF19 = $FF13; kbdF20 = $FF14; |
kbdHome = $FF20; kbdUp = $FF21; kbdPgUp = $FF22; kbdLeft = $FF23; kbdMiddle = $FF24; kbdRight = $FF25; kbdEnd = $FF26; kbdDown = $FF27; kbdPgDn = $FF28; kbdInsert = $FF29; kbdDelete = $FF2A; |
kbASCII = $00; kbUniCode = $01; kbFnKey = $02; kbPhys = $03; kbReleased = $04; |
kbLeftShift = 1; kbRightShift = 2; kbShift = kbLeftShift or kbRightShift; kbCtrl = 4; kbAlt = 8; |
SShift : Array [1..3] of string[5] = ('SHIFT','CTRL','ALT'); LeftRight : Array [1..2] of string[5] = ('LEFT','RIGHT'); UnicodeChar : String = 'Unicode character '; SScanCode : String = 'Key with scancode '; SUnknownFunctionKey : String = 'Unknown function key : '; SAnd : String = 'AND'; SKeyPad : Array [0..($FF2F-kbdHome)] of string[6] = ('Home','Up','PgUp','Left', 'Middle','Right','End','Down', 'PgDn','Insert','Delete','', '','','',''); |
TKeyEvent = Longint; |
TKeyRecord = packed record KeyCode : Word; ShiftState, Flags : Byte; end; |
|
The TKeyboardDriver record can be used to install a custom keyboard driver with the SetKeyboardDriver (303) function:
Type TKeyboardDriver = Record InitDriver : Procedure; DoneDriver : Procedure; GetKeyEvent : Function : TKeyEvent; PollKeyEvent : Function : TKeyEvent; GetShiftState : Function : Byte; TranslateKeyEvent : Function (KeyEvent: TKeyEvent): TKeyEvent; TranslateKeyEventUniCode: Function (KeyEvent: TKeyEvent): TKeyEvent; end; |