PS/2 Controller. More...
Functions | |
| void | init () |
| Initialization of connected devices. More... | |
| bool | fetch (Key &pressed) |
| Retrieve the keyboard event. More... | |
| void | setRepeatRate (Speed speed, Delay delay) |
| Configure the repeat rate of the keyboard. More... | |
| void | setLed (enum LED led, bool on) |
| Enable or disable a keyboard LED. More... | |
PS/2 Controller.
Initializes the PS/2 devices (Keyboard and optional Mouse), and determines both the scan code and ASCII character of a pressed key from the transmitted make and break codes using the KeyDecoder.
Flags in the PS/2 controller status register.
| enum PS2Controller::KeyboardCommand : uint8_t |
Commands to be send to the Keyboard.
| enum PS2Controller::Reply |
Commands for the PS/2 Controller.
These commands are processed by the controller and not send to keyboard/mouse. They have to be written into the command register.
| enum PS2Controller::Delay |
| enum PS2Controller::Speed |
Repeat Rate of Characters.
| enum PS2Controller::LED |
| void PS2Controller::init | ( | ) |
Initialization of connected devices.
All status LEDs of the keyboard are switched off and the repetition rate is set to maximum speed.
| bool PS2Controller::fetch | ( | Key & | pressed | ) |
Retrieve the keyboard event.
Retrieves make and brake events from the keyboard. If a valid (non special) key was pressed, the scan code is determined using KeyDecoder::decode into a Key object. Events on special keys like Shift, Alt, CapsLock etc. are stored (in KeyDecoder) and applied on subsequent keystrokes, while no valid key is retrieved.
Mouse events are ignored.
| pressed | Reference to an object which will contain the pressed Key on success |
true if a valid key was decoded Configure the repeat rate of the keyboard.
| delay | configures how long a key must be pressed before the repetition begins. |
| speed | determines how fast the key codes should follow each other. Valid values are between 0 (30 characters per second) and 31 (2 characters per second). |