[Overview][Constants][Types][Procedures and functions][Index] | Reference for unit 'keyboard' (#rtl)

# TKeyboardDriver

Keyboard driver structure

## Declaration

Source position: keybrdh.inc line 130

`type TKeyboardDriver = record`
`InitDriver: procedure;` |  | Handler called when initializing keyboard driver
`DoneDriver: procedure;` |  | Handler called when unloading keyboard driver
`GetKeyEvent: function: TKeyEvent;` |  | Blocking handler called when a key event is requested
`PollKeyEvent: function: TKeyEvent;` |  | Non blocking handler when checking for presence of a key event
`GetShiftState: function: Byte;` |  | Handler called to request the current shift state
`TranslateKeyEvent: function(` |  | Translate key event to a suitable ASCII representation
`KeyEvent: TKeyEvent`
`):TKeyEvent;`
`TranslateKeyEventUniCode: function(` |  | Translate key event to a suitable Unicode representation
`KeyEvent: TKeyEvent`
`):TKeyEvent;`
`end;`

## Description

The TKeyboardDriver record can be used to install a custom keyboard driver with the SetKeyboardDriver function.

The various fields correspond to the different functions of the keyboard unit interface. For more information about this record see kbddriver

## See also

SetKeyboardDriver |  | Set a new keyboard driver.
kbddriver |  | Writing a keyboard driver