#include "devices/kbd.h"#include <ctype.h>#include <debug.h>#include <stdio.h>#include <string.h>#include "devices/input.h"#include "threads/init.h"#include "threads/interrupt.h"#include "threads/io.h"Go to the source code of this file.
Data Structures | |
| struct | keymap |
Defines | |
| #define | DATA_REG 0x60 |
Functions | |
| void | kbd_init (void) |
| void | kbd_print_stats (void) |
| static bool | map_key (const struct keymap[], unsigned scancode, uint8_t *) |
| static void | keyboard_interrupt (struct intr_frame *args UNUSED) |
Variables | |
| static bool | left_shift |
| static bool | right_shift |
| static bool | left_alt |
| static bool | right_alt |
| static bool | left_ctrl |
| static bool | right_ctrl |
| static bool | caps_lock |
| static int64_t | key_cnt |
| static intr_handler_func | keyboard_interrupt |
| static struct keymap | invariant_keymap [] |
| static struct keymap | unshifted_keymap [] |
| static struct keymap | shifted_keymap [] |
| #define DATA_REG 0x60 |
| void kbd_init | ( | void | ) |
Definition at line 32 of file kbd.c.
References intr_register_ext(), and keyboard_interrupt.
Referenced by main().
| void kbd_print_stats | ( | void | ) |
| static void keyboard_interrupt | ( | struct intr_frame *args | UNUSED | ) | [static] |
Definition at line 97 of file kbd.c.
References caps_lock, DATA_REG, debug_backtrace_all(), inb(), input_full(), input_putc(), key_cnt, left_alt, left_ctrl, left_shift, map_key(), NULL, reboot(), right_alt, right_ctrl, right_shift, and tolower().
Definition at line 207 of file kbd.c.
References keymap::chars, keymap::first_scancode, and strlen().
Referenced by keyboard_interrupt().
bool caps_lock [static] |
struct keymap invariant_keymap[] [static] |
intr_handler_func keyboard_interrupt [static] |
bool left_alt [static] |
bool left_ctrl [static] |
bool left_shift [static] |
bool right_alt [static] |
bool right_ctrl [static] |
bool right_shift [static] |
struct keymap shifted_keymap[] [static] |
struct keymap unshifted_keymap[] [static] |
1.5.6