summaryrefslogtreecommitdiff
path: root/arch/i386/include/kernel/keyboard.h
blob: 8f39a70b3df359f9dfe942967a7d47992c3145db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef I386_KEYBOARD_H
#define I386_KEYBOARD_H

#include <kernel/isr.h>
#include <stdint.h>

#define KB_STAT         0x64
#define KB_DATA         0x60

#define KB_DIB          0x01
#define KB_SHIFT        (1<<0)
#define KB_CTL          (1<<1)
#define KB_ALT          (1<<2)
#define KB_CPSLK        (1<<3)
#define KB_NUMLK        (1<<4)
#define KB_SCLLK        (1<<5)
#define KB_E0ESC        (1<<6)

#define KB_HOME         0xE0
#define KB_END          0xE1
#define KB_UP           0xE2
#define KB_DOWN         0xE3
#define KB_LEFT         0xE4
#define KB_RGHT         0xE5
#define KB_PGUP         0xE6
#define KB_PGDN         0xE7
#define KB_INS          0xE8
#define KB_DEL          0xE9

char keyboard_getchar(void);
void keyboard_handler(struct isr_frame *frame);

#endif