X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/e776bb16043e55b91fdd3654f005dd8f00c9fb12..80890b99fec2630ef0a1a0805d894c3d86c16506:/lunaix-os/includes/lunaix/keyboard.h?ds=sidebyside diff --git a/lunaix-os/includes/lunaix/keyboard.h b/lunaix-os/includes/lunaix/keyboard.h new file mode 100644 index 0000000..f573316 --- /dev/null +++ b/lunaix-os/includes/lunaix/keyboard.h @@ -0,0 +1,72 @@ +#ifndef __LUNAIX_KEYBOARD_H +#define __LUNAIX_KEYBOARD_H + +// Lunaix Keycode +// 15 7 0 +// key = |xxxx xxxx|xxxx xxxx| +// key[0:7] = sequence +// key[8:15] = category +// 0x0: ASCII codes +// 0x1: Function keys +// 0x2: keypad keys +// 0x3: Cursor keys (arrow keys) +// 0x4: Modifier keys +// 0xff: Other keys (Un-categorized) + +typedef unsigned short kbd_keycode; + +#define FN_KEY 0x0100 +#define KEYPAD 0x0200 +#define CURSOR 0x0300 +#define MODIFR 0x0400 +#define OTHERS 0xff00 + +#define ON_KEYPAD(x) ((x & 0xff) | KEYPAD) + +// backspace key +#define KEY_BS (0x08) + +// enter/return key +#define KEY_LF (0x0a) + +#define KEY_HTAB (0x9) +#define KEY_SPACE (0x20) +#define KEY_ESC (0x1b) + +#define KEY_F1 (0x00 | FN_KEY) +#define KEY_F2 (0x01 | FN_KEY) +#define KEY_F3 (0x02 | FN_KEY) +#define KEY_F4 (0x03 | FN_KEY) +#define KEY_F5 (0x04 | FN_KEY) +#define KEY_F6 (0x05 | FN_KEY) +#define KEY_F7 (0x06 | FN_KEY) +#define KEY_F8 (0x07 | FN_KEY) +#define KEY_F9 (0x08 | FN_KEY) +#define KEY_F10 (0x09 | FN_KEY) +#define KEY_F11 (0x0a | FN_KEY) +#define KEY_F12 (0x0b | FN_KEY) +#define KEY_CAPSLK (0x0c | FN_KEY) +#define KEY_NUMSLK (0x0d | FN_KEY) +#define KEY_SCRLLK (0x0e | FN_KEY) + +#define KEY_PG_UP (0x0 | OTHERS) +#define KEY_PG_DOWN (0x1 | OTHERS) +#define KEY_INSERT (0x2 | OTHERS) +#define KEY_DELETE (0x3 | OTHERS) +#define KEY_HOME (0x4 | OTHERS) +#define KEY_END (0x5 | OTHERS) +#define KEY_PAUSE (0x6 | OTHERS) + +#define KEY_LEFT (0x0 | CURSOR) +#define KEY_RIGHT (0x1 | CURSOR) +#define KEY_UP (0x2 | CURSOR) +#define KEY_DOWN (0x3 | CURSOR) + +#define KEY_LSHIFT (0x0 | MODIFR) +#define KEY_RSHIFT (0x1 | MODIFR) +#define KEY_LCTRL (0x2 | MODIFR) +#define KEY_RCTRL (0x3 | MODIFR) +#define KEY_LALT (0x4 | MODIFR) +#define KEY_RALT (0x5 | MODIFR) + +#endif /* __LUNAIX_KEYBOARD_H */