|[Up][Next]||Reference for unit 'keyboard' (#rtl)|
On Unix, applications run on a "terminal", and the application writes to the screen and reads from the keyboard by communicating with the terminal. Unix keyboard handling is mostly backward compatible with the DEC vt100 and vt220 terminals from tens of years ago. The vt100 and vt220 had very different keyboards than todays PC's and this is where the problems start. To make it worse the protocol of both terminals has not been very well designed.
Because of this, the keyboard unit on Unix operating systems does a best effort to provide keyboard functionality. An implementation with full keyboard facilities like on other operating systems is not possible.
The exception is the Linux kernel. The terminal emulation of the Linux kernel is from a PC keyboard viewpoint hopeless as well, but unlike other terminal emulators it is configurable. On the Linux console, the Free Pascal keyboard unit tries to implement full functionality.
Users of applications using the keyboard unit should expect the following:
Notes about Linux full functionality:
The limited functionality does include these quirks:
On the Linux console, when the users runs the program by logging into another machine:
If you have a non-standard terminal, some keys may not work at all. When in limited functionality mode, the user can work around using an escape prefix:
In such cases, if the terminal does output an escape sequence for those keys, please submit a bug report so we can add them.