2 pcboot - bootable PC demo/game kernel
3 Copyright (C) 2018 John Tsiombikas <nuclear@member.fsf.org>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY, without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
31 KB_INSERT, KB_DEL, KB_HOME, KB_END, KB_PGUP, KB_PGDN,
32 KB_LEFT, KB_RIGHT, KB_UP, KB_DOWN,
33 KB_NUM_DOT, KB_NUM_ENTER, KB_NUM_PLUS, KB_NUM_MINUS, KB_NUM_MUL, KB_NUM_DIV,
34 KB_NUM_0, KB_NUM_1, KB_NUM_2, KB_NUM_3, KB_NUM_4,
35 KB_NUM_5, KB_NUM_6, KB_NUM_7, KB_NUM_8, KB_NUM_9,
40 KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6,
41 KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12,
42 KB_CAPSLK, KB_NUMLK, KB_SCRLK, KB_SYSRQ
47 void kb_intr_enable(void);
48 void kb_intr_disable(void);
50 int kb_setmode(int mode);
53 void kb_set_translate(int xlat);
54 int kb_get_translate(void);
56 /* Boolean predicate for testing the current state of a particular key.
57 * You may also pass KB_ANY to test if any key is held down.
59 int kb_isdown(int key);
61 /* waits for any keypress */
64 /* removes and returns a single key from the input buffer. */
67 void kb_putback(int key);
69 /* returns 1 if the keyboard controller is ready to read/write
70 * returns 0 if the wait times out
72 int kb_wait_write(void);
73 int kb_wait_read(void);
75 void kb_send_cmd(unsigned char cmd);
76 void kb_send_data(unsigned char data);
77 unsigned char kb_read_data(void);