#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] |