The Pedigree Project
0.1
|
Public Types | |
typedef void(* | KeyPressedCallback) (uint64_t) |
Public Types inherited from Keyboard | |
enum | KeyFlags { Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60, AltGr = 1ULL << 59, Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60, AltGr = 1ULL << 59 } |
enum | KeyboardLeds { ScrollLock = 1 << 0, NumLock = 1 << 1, CapsLock = 1 << 2, Led1 = 1 << 3, Led2 = 1 << 4, Led3 = 1 << 5, Led4 = 1 << 6, Led5 = 1 << 7 } |
Bit numbers follow the same format as the PS/2 keyboard LED byte. More... | |
enum | KeyFlags { Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60, AltGr = 1ULL << 59, Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60, AltGr = 1ULL << 59 } |
Public Member Functions | |
virtual void | initialise () |
virtual char | getChar () |
virtual char | getCharNonBlock () |
virtual bool | shift () |
virtual bool | ctrl () |
virtual bool | alt () |
virtual bool | capsLock () |
virtual void | setDebugState (bool enableDebugState) |
virtual bool | getDebugState () |
virtual void | registerCallback (KeyPressedCallback callback) |
virtual uint64_t | getCharacter () |
virtual uint64_t | getCharacterNonBlock () |
Public Member Functions inherited from Keyboard | |
virtual char | getLedState () |
virtual void | setLedState (char state) |
Definition at line 25 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Definition at line 78 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Definition at line 86 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Definition at line 70 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Retrieves a character from the keyboard. Blocking I/O.
Implements Keyboard.
Definition at line 43 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Retrieves a character from the keyboard. Non blocking I/O.
Implements Keyboard.
Definition at line 54 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Initialises the device.
Implements Keyboard.
Definition at line 34 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Sets the state of the device. When debugging, it is unwise to rely on interrupt- driven I/O, however in normal use polling is extremely slow and CPU-intensive.
The debugger therefore will set the device to "debug state" by calling this function with the argument "true". In "debug state", any buffered input will be discarded, the device's interrupt masked, and the device will rely on polling only. This will be the default state.
When the device is set to "normal state" by calling this function with the argument "false", interrupts may be used, along with buffered input, and it is recommended that during blocking I/O a Semaphore is used to signal incoming interrupts, so that the blocked thread may go to sleep.
Implements Keyboard.
Definition at line 91 of file kernel/machine/arm_versatile/Keyboard.h.
|
inlinevirtual |
Definition at line 62 of file kernel/machine/arm_versatile/Keyboard.h.