--- layout: page title: IBM PC Keyboard Devices permalink: /devices/pc/keyboard/ --- IBM PC Keyboard Devices --- ### Keyboard Configuration Files The easiest way for a machine to include a *[Keyboard](/docs/pcjs/keyboard/)* component in its XML configuration file is to reference one of the project's keyboard configuration files, using the *ref* attribute; eg: The referenced XML file automatically defines the keyboard's hardware characteristics (eg, model) and any visual elements, such as buttons to simulate common keystrokes, or even complete "soft keyboard" layouts. Here's what *us83-buttons-minimal.xml* currently looks like: ESC F1 F10 The following IBM keyboard configuration files are currently available: - [us83-buttons-arrows.xml](us83-buttons-arrows.xml) - [us83-buttons-functions.xml](us83-buttons-functions.xml) - [us83-buttons-minimal.xml](us83-buttons-minimal.xml) - [us83-softkeys.xml](us83-softkeys.xml) - [us84-buttons-arrows.xml](us84-buttons-arrows.xml) - [us84-buttons-functions.xml](us84-buttons-functions.xml) ### 8042 Keyboard Controller Internals The following documents were obtained from [halicery.com](http://halicery.com/): - [8042_INTERN.TXT](8042_INTERN.TXT) - [8042_1503033.TXT](8042_1503033.TXT) - [dasm42.c](dasm42.c) Additional information (eg, undocumented 8042 commands) is also available from [OS/2 Museum](http://www.os2museum.com/wp/?p=589).