IBNOS
|
Classes | |
struct | keyModifier |
struct | keyEvent |
struct | keyMapInfo |
struct | keyMap |
Macros | |
#define | KEYBOARD_BUFFER_PORT 0x60 |
#define | KEYBOARD_STATUS_PORT 0x64 |
Functions | |
void | processScancode (int extended, uint8_t scanCode, bool keyUp) |
Handles key presses after the scancode was decoded. More... | |
void | keyboardInit (struct object *obj) |
Initializes the keyboard. More... | |
void | keyboardSend (uint8_t cmd) |
Send a command to the keyboard controller. More... | |
void | keyboardSetLEDFlags (uint32_t flags) |
Set LED Flags. More... | |
uint32_t | keyboardGetLEDFlags () |
Return the current active LED flags. More... | |
Variables | |
uint32_t | keyboardLEDFlags = 0 |
uint8_t | standardKeyCodes [128] |
uint8_t | extendedKeyCodes [128] |
int | keyMapIndex = 0 |
const struct keyMap | keyMapDE |
const struct keyMap * | keyMaps |
Supported keymaps. More... | |
struct keyModifier | modifiers = {0, 0, 0, 0, 0} |
Keyboard LEDs | |
#define | KEYBOARD_LED_SCROLLOCK 1 |
#define | KEYBOARD_LED_NUMLOCK 2 |
#define | KEYBOARD_LED_CAPSLOCK 4 |
Keyboard Controller commands | |
#define | KEYBOARD_KDC_TEST_KEYBOARD 0xAA |
#define | KEYBOARD_KDC_TEST_CONNECTION 0xAB |
#define | KEYBOARD_KDC_DISABLE 0xAD |
#define | KEYBOARD_KDC_ENABLE 0xAE |
#define | KEYBOARD_KDC_READ_INPUT 0xC0 |
#define | KEYBOARD_KDC_READ_OUTPUT 0xD0 |
#define | KEYBOARD_KDC_WRITE_OUTPUT 0xD1 |
Keyboard commands | |
#define | KEYBOARD_CMD_LED 0xED |
#define | KEYBOARD_CMD_TEST 0xEE |
#define | KEYBOARD_CMD_SCANCODES 0xF0 |
#define | KEYBOARD_CMD_IDENTIFY 0xF2 |
#define | KEYBOARD_CMD_REPEAT 0xF3 |
#define | KEYBOARD_CMD_ENABLE 0xF4 |
#define | KEYBOARD_CMD_DISABLE 0xF5 |
#define | KEYBOARD_CMD_DEFAULT 0xF6 |
#define | KEYBOARD_CMD_RESET_TEST 0xFF |
They Keyboard is controlled through the keyboard controller and emits an IRQ as soon as a key is pressed.
#define KEYBOARD_BUFFER_PORT 0x60 |
Definition at line 485 of file keyboard.h.
#define KEYBOARD_CMD_DEFAULT 0xF6 |
Definition at line 513 of file keyboard.h.
#define KEYBOARD_CMD_DISABLE 0xF5 |
Definition at line 512 of file keyboard.h.
#define KEYBOARD_CMD_ENABLE 0xF4 |
Definition at line 511 of file keyboard.h.
#define KEYBOARD_CMD_IDENTIFY 0xF2 |
Definition at line 509 of file keyboard.h.
#define KEYBOARD_CMD_LED 0xED |
Definition at line 506 of file keyboard.h.
#define KEYBOARD_CMD_REPEAT 0xF3 |
Definition at line 510 of file keyboard.h.
#define KEYBOARD_CMD_RESET_TEST 0xFF |
Definition at line 514 of file keyboard.h.
#define KEYBOARD_CMD_SCANCODES 0xF0 |
Definition at line 508 of file keyboard.h.
#define KEYBOARD_CMD_TEST 0xEE |
Definition at line 507 of file keyboard.h.
#define KEYBOARD_KDC_DISABLE 0xAD |
Definition at line 495 of file keyboard.h.
#define KEYBOARD_KDC_ENABLE 0xAE |
Definition at line 496 of file keyboard.h.
#define KEYBOARD_KDC_READ_INPUT 0xC0 |
Definition at line 497 of file keyboard.h.
#define KEYBOARD_KDC_READ_OUTPUT 0xD0 |
Definition at line 498 of file keyboard.h.
#define KEYBOARD_KDC_TEST_CONNECTION 0xAB |
Definition at line 494 of file keyboard.h.
#define KEYBOARD_KDC_TEST_KEYBOARD 0xAA |
Definition at line 493 of file keyboard.h.
#define KEYBOARD_KDC_WRITE_OUTPUT 0xD1 |
Definition at line 499 of file keyboard.h.
#define KEYBOARD_LED_CAPSLOCK 4 |
Definition at line 476 of file keyboard.h.
#define KEYBOARD_LED_NUMLOCK 2 |
Definition at line 475 of file keyboard.h.
#define KEYBOARD_LED_SCROLLOCK 1 |
Definition at line 474 of file keyboard.h.
#define KEYBOARD_STATUS_PORT 0x64 |
Definition at line 486 of file keyboard.h.
uint32_t keyboardGetLEDFlags | ( | ) |
Return the current active LED flags.
Definition at line 333 of file keyboard.c.
void keyboardInit | ( | struct object * | obj | ) |
Initializes the keyboard.
This function initializes the keyboard controller and requests the keyboard IRQ.
Definition at line 282 of file keyboard.c.
void keyboardSend | ( | uint8_t | cmd | ) |
Send a command to the keyboard controller.
This function will wait till the keyboard input buffer is empty and then send the command to the controller.
cmd | The command you want to send |
Definition at line 307 of file keyboard.c.
void keyboardSetLEDFlags | ( | uint32_t | flags | ) |
Set LED Flags.
Take a look at the keyboard LED flags for more information.
flags | The flags to set |
Definition at line 322 of file keyboard.c.
void processScancode | ( | int | extended, |
uint8_t | scanCode, | ||
bool | keyUp | ||
) |
Handles key presses after the scancode was decoded.
This function translates the scancode into keycode and afterwards to characters depending on the loaded keyboard layout. Moreover it will track the state of modifier keys like capslock or shift.
extended | Is this a standard or 1 / 2 byte extended scancode? |
scanCode | The value of the scancode |
keyUp | Is the key pressed or released? |
Definition at line 100 of file keyboard.c.
uint8_t extendedKeyCodes[128] |
Maps the multi byte scan codes to an internal keycode
Definition at line 62 of file keyboard.c.
uint32_t keyboardLEDFlags = 0 |
Definition at line 44 of file keyboard.c.
const struct keyMap keyMapDE |
Definition at line 380 of file keymap_de.c.
int keyMapIndex = 0 |
Definition at line 76 of file keyboard.c.
const struct keyMap* keyMaps |
Supported keymaps.
Definition at line 82 of file keyboard.c.
struct keyModifier modifiers = {0, 0, 0, 0, 0} |
Definition at line 87 of file keyboard.c.
uint8_t standardKeyCodes[128] |
Maps the multibyte scancodes to an internal keycode
Definition at line 48 of file keyboard.c.