PatchworkOS  da8a090
A non-POSIX operating system.
Loading...
Searching...
No Matches
Keyboard device

Keyboard device header. More...

Collaboration diagram for Keyboard device:

Detailed Description

Keyboard device header.

Data Structures

struct  kbd_event_t
 Keyboard event structure. More...
 

Enumerations

enum  keycode_t {
  KBD_NONE = 0x00 , KBD_ERR_OVF = 0x01 , KBD_POST_FAIL = 0x02 , KBD_ERR_UNDEFINED = 0x03 ,
  KBD_A = 0x04 , KBD_B = 0x05 , KBD_C = 0x06 , KBD_D = 0x07 ,
  KBD_E = 0x08 , KBD_F = 0x09 , KBD_G = 0x0A , KBD_H = 0x0B ,
  KBD_I = 0x0C , KBD_J = 0x0D , KBD_K = 0x0E , KBD_L = 0x0F ,
  KBD_M = 0x10 , KBD_N = 0x11 , KBD_O = 0x12 , KBD_P = 0x13 ,
  KBD_Q = 0x14 , KBD_R = 0x15 , KBD_S = 0x16 , KBD_T = 0x17 ,
  KBD_U = 0x18 , KBD_V = 0x19 , KBD_W = 0x1A , KBD_X = 0x1B ,
  KBD_Y = 0x1C , KBD_Z = 0x1D , KBD_1 = 0x1E , KBD_2 = 0x1F ,
  KBD_3 = 0x20 , KBD_4 = 0x21 , KBD_5 = 0x22 , KBD_6 = 0x23 ,
  KBD_7 = 0x24 , KBD_8 = 0x25 , KBD_9 = 0x26 , KBD_0 = 0x27 ,
  KBD_ENTER = 0x28 , KBD_ESC = 0x29 , KBD_BACKSPACE = 0x2A , KBD_TAB = 0x2B ,
  KBD_SPACE = 0x2C , KBD_MINUS = 0x2D , KBD_EQUAL = 0x2E , KBD_LEFT_BRACE = 0x2F ,
  KBD_RIGHT_BRACE = 0x30 , KBD_BACKSLASH = 0x31 , KBD_HASHTILDE = 0x32 , KBD_SEMICOLON = 0x33 ,
  KBD_APOSTROPHE = 0x34 , KBD_GRAVE = 0x35 , KBD_COMMA = 0x36 , KBD_PERIOD = 0x37 ,
  KBD_SLASH = 0x38 , KBD_CAPS_LOCK = 0x39 , KBD_F1 = 0x3A , KBD_F2 = 0x3B ,
  KBD_F3 = 0x3C , KBD_F4 = 0x3D , KBD_F5 = 0x3E , KBD_F6 = 0x3F ,
  KBD_F7 = 0x40 , KBD_F8 = 0x41 , KBD_F9 = 0x42 , KBD_F10 = 0x43 ,
  KBD_F11 = 0x44 , KBD_F12 = 0x45 , KBD_SYSRQ = 0x46 , KBD_SCROLL_LOCK = 0x47 ,
  KBD_PAUSE = 0x48 , KBD_INSERT = 0x49 , KBD_HOME = 0x4A , KBD_PAGE_UP = 0x4B ,
  KBD_DELETE = 0x4C , KBD_END = 0x4D , KBD_PAGE_DOWN = 0x4E , KBD_RIGHT = 0x4F ,
  KBD_LEFT = 0x50 , KBD_DOWN = 0x51 , KBD_UP = 0x52 , KBD_NUM_LOCK = 0x53 ,
  KBD_KP_SLASH = 0x54 , KBD_KP_ASTERISK = 0x55 , KBD_KP_MINUS = 0x56 , KBD_KP_PLUS = 0x57 ,
  KBD_KP_ENTER = 0x58 , KBD_KP_1 = 0x59 , KBD_KP_2 = 0x5A , KBD_KP_3 = 0x5B ,
  KBD_KP_4 = 0x5C , KBD_KP_5 = 0x5D , KBD_KP_6 = 0x5E , KBD_KP_7 = 0x5F ,
  KBD_KP_8 = 0x60 , KBD_KP_9 = 0x61 , KBD_KP_0 = 0x62 , KBD_KP_PERIOD = 0x63 ,
  KBD_102ND = 0x64 , KBD_COMPOSE = 0x65 , KBD_POWER = 0x66 , KBD_KP_EQUAL = 0x67 ,
  KBD_F13 = 0x68 , KBD_F14 = 0x69 , KBD_F15 = 0x6A , KBD_F16 = 0x6B ,
  KBD_F17 = 0x6C , KBD_F18 = 0x6D , KBD_F19 = 0x6E , KBD_F20 = 0x6F ,
  KBD_F21 = 0x70 , KBD_F22 = 0x71 , KBD_F23 = 0x72 , KBD_F24 = 0x73 ,
  KBD_OPEN = 0x74 , KBD_HELP = 0x75 , KBD_PROPS = 0x76 , KBD_FRONT = 0x77 ,
  KBD_STOP = 0x78 , KBD_AGAIN = 0x79 , KBD_UNDO = 0x7A , KBD_CUT = 0x7B ,
  KBD_COPY = 0x7C , KBD_PASTE = 0x7D , KBD_FIND = 0x7E , KBD_MUTE = 0x7F ,
  KBD_VOLUME_UP = 0x80 , KBD_VOLUME_DOWN = 0x81 , KBD_LOCKING_CAPS_LOCK = 0x82 , KBD_LOCKING_NUM_LOCK = 0x83 ,
  KBD_LOCKING_SCROLL_LOCK = 0x84 , KBD_KP_COMMA = 0x85 , KBD_KP_EQUAL_SIGN = 0x86 , KBD_RO = 0x87 ,
  KBD_KATAKANAHIRAGANA = 0x88 , KBD_YEN = 0x89 , KBD_HENKAN = 0x8A , KBD_MUHENKAN = 0x8B ,
  KBD_KP_JPCOMMA = 0x8C , KBD_INTERNATIONAL7 = 0x8D , KBD_INTERNATIONAL8 = 0x8E , KBD_INTERNATIONAL9 = 0x8F ,
  KBD_HANGEUL = 0x90 , KBD_HANJA = 0x91 , KBD_KATAKANA = 0x92 , KBD_HIRAGANA = 0x93 ,
  KBD_ZENKAKUHANKAKU = 0x94 , KBD_LANG6 = 0x95 , KBD_LANG7 = 0x96 , KBD_LANG8 = 0x97 ,
  KBD_LANG9 = 0x98 , KBD_ALTERNATE_ERASE = 0x99 , KBD_SYSREQ = 0x9A , KBD_CANCEL = 0x9B ,
  KBD_CLEAR = 0x9C , KBD_PRIOR = 0x9D , KBD_RETURN = 0x9E , KBD_SEPARATOR = 0x9F ,
  KBD_OUT = 0xA0 , KBD_OPER = 0xA1 , KBD_CLEAR_AGAIN = 0xA2 , KBD_CRSEL_PROPS = 0xA3 ,
  KBD_EXSEL = 0xA4 , KBD_KP_00 = 0xB0 , KBD_KP_000 = 0xB1 , KBD_THOUSANDS_SEPARATOR = 0xB2 ,
  KBD_DECIMAL_SEPARATOR = 0xB3 , KBD_CURRENCY_UNIT = 0xB4 , KBD_CURRENCY_SUBUNIT = 0xB5 , KBD_KP_LEFT_PAREN = 0xB6 ,
  KBD_KP_RIGHT_PAREN = 0xB7 , KBD_KP_LEFT_BRACE = 0xB8 , KBD_KP_RIGHT_BRACE = 0xB9 , KBD_KP_TAB = 0xBA ,
  KBD_KP_BACKSPACE = 0xBB , KBD_KP_A = 0xBC , KBD_KP_B = 0xBD , KBD_KP_C = 0xBE ,
  KBD_KP_D = 0xBF , KBD_KP_E = 0xC0 , KBD_KP_F = 0xC1 , KBD_KP_XOR = 0xC2 ,
  KBD_KP_CARET = 0xC3 , KBD_KP_PERCENT = 0xC4 , KBD_KP_LESS = 0xC5 , KBD_KP_GREATER = 0xC6 ,
  KBD_KP_AMPERSAND = 0xC7 , KBD_KP_DOUBLE_AMPERSAND = 0xC8 , KBD_KP_PIPE = 0xC9 , KBD_KP_DOUBLE_PIPE = 0xCA ,
  KBD_KP_COLON = 0xCB , KBD_KP_HASH = 0xCC , KBD_KP_SPACE = 0xCD , KBD_KP_AT = 0xCE ,
  KBD_KP_EXCLAMATION = 0xCF , KBD_KP_MEMORY_STORE = 0xD0 , KBD_KP_MEMORY_RECALL = 0xD1 , KBD_KP_MEMORY_CLEAR = 0xD2 ,
  KBD_KP_MEMORY_ADD = 0xD3 , KBD_KP_MEMORY_SUBTRACT = 0xD4 , KBD_KP_MEMORY_MULTIPLY = 0xD5 , KBD_KP_MEMORY_DIVIDE = 0xD6 ,
  KBD_KP_PLUS_MINUS = 0xD7 , KBD_KP_CLEAR = 0xD8 , KBD_KP_CLEAR_ENTRY = 0xD9 , KBD_KP_BINARY = 0xDA ,
  KBD_KP_OCTAL = 0xDB , KBD_KP_DECIMAL = 0xDC , KBD_KP_HEXADECIMAL = 0xDD , KBD_LEFT_CTRL = 0xE0 ,
  KBD_LEFT_SHIFT = 0xE1 , KBD_LEFT_ALT = 0xE2 , KBD_LEFT_SUPER = 0xE3 , KBD_RIGHT_CTRL = 0xE4 ,
  KBD_RIGHT_SHIFT = 0xE5 , KBD_RIGHT_ALT = 0xE6 , KBD_RIGHT_SUPER = 0xE7 , KBD_MEDIA_PLAY_PAUSE = 0xE8 ,
  KBD_MEDIA_STOP_CD = 0xE9 , KBD_MEDIA_PREVIOUS_SONG = 0xEA , KBD_MEDIA_NEXT_SONG = 0xEB , KBD_MEDIA_EJECT_CD = 0xEC ,
  KBD_MEDIA_VOLUME_UP = 0xED , KBD_MEDIA_VOLUME_DOWN = 0xEE , KBD_MEDIA_MUTE = 0xEF , KBD_MEDIA_WWW = 0xF0 ,
  KBD_MEDIA_BACK = 0xF1 , KBD_MEDIA_FORWARD = 0xF2 , KBD_MEDIA_STOP = 0xF3 , KBD_MEDIA_FIND = 0xF4 ,
  KBD_MEDIA_SCROLL_UP = 0xF5 , KBD_MEDIA_SCROLL_DOWN = 0xF6 , KBD_MEDIA_EDIT = 0xF7 , KBD_MEDIA_SLEEP = 0xF8 ,
  KBD_MEDIA_COFFEE = 0xF9 , KBD_MEDIA_REFRESH = 0xFA , KBD_MEDIA_CALC = 0xFB
}
 Keyboard keycode type. More...
 
enum  kbd_event_type_t { KBD_PRESS = 0 , KBD_RELEASE = 1 }
 Keyboard event type. More...
 
enum  kbd_mods_t {
  KBD_MOD_NONE = 0 , KBD_MOD_CAPS = 1 << 0 , KBD_MOD_SHIFT = 1 << 1 , KBD_MOD_CTRL = 1 << 2 ,
  KBD_MOD_ALT = 1 << 3 , KBD_MOD_SUPER = 1 << 4
}
 Keyboard modifiers type. More...
 

Enumeration Type Documentation

◆ keycode_t

enum keycode_t

Keyboard keycode type.

Enumerator
KBD_NONE 

None.

KBD_ERR_OVF 

Keyboard error overflow.

KBD_POST_FAIL 

POST failure.

KBD_ERR_UNDEFINED 

Undefined error.

KBD_A 

Key A.

KBD_B 

Key B.

KBD_C 

Key C.

KBD_D 

Key D.

KBD_E 

Key E.

KBD_F 

Key F.

KBD_G 

Key G.

KBD_H 

Key H.

KBD_I 

Key I.

KBD_J 

Key J.

KBD_K 

Key K.

KBD_L 

Key L.

KBD_M 

Key M.

KBD_N 

Key N.

KBD_O 

Key O.

KBD_P 

Key P.

KBD_Q 

Key Q.

KBD_R 

Key R.

KBD_S 

Key S.

KBD_T 

Key T.

KBD_U 

Key U.

KBD_V 

Key V.

KBD_W 

Key W.

KBD_X 

Key X.

KBD_Y 

Key Y.

KBD_Z 

Key Z.

KBD_1 

Key 1.

KBD_2 

Key 2.

KBD_3 

Key 3.

KBD_4 

Key 4.

KBD_5 

Key 5.

KBD_6 

Key 6.

KBD_7 

Key 7.

KBD_8 

Key 8.

KBD_9 

Key 9.

KBD_0 

Key 0.

KBD_ENTER 

Enter key.

KBD_ESC 

Escape key.

KBD_BACKSPACE 

Backspace key.

KBD_TAB 

Tab key.

KBD_SPACE 

Space key.

KBD_MINUS 

Minus key.

KBD_EQUAL 

Equal key.

KBD_LEFT_BRACE 

Left brace key.

KBD_RIGHT_BRACE 

Right brace key.

KBD_BACKSLASH 

Backslash key.

KBD_HASHTILDE 

Hashtilde key.

KBD_SEMICOLON 

Semicolon key.

KBD_APOSTROPHE 

Apostrophe key.

KBD_GRAVE 

Grave accent key.

KBD_COMMA 

Comma key.

KBD_PERIOD 

Period key.

KBD_SLASH 

Slash key.

KBD_CAPS_LOCK 

Caps Lock key.

KBD_F1 

F1 key.

KBD_F2 

F2 key.

KBD_F3 

F3 key.

KBD_F4 

F4 key.

KBD_F5 

F5 key.

KBD_F6 

F6 key.

KBD_F7 

F7 key.

KBD_F8 

F8 key.

KBD_F9 

F9 key.

KBD_F10 

F10 key.

KBD_F11 

F11 key.

KBD_F12 

F12 key.

KBD_SYSRQ 

SysRq key.

KBD_SCROLL_LOCK 

Scroll Lock key.

KBD_PAUSE 

Pause key.

KBD_INSERT 

Insert key.

KBD_HOME 

Home key.

KBD_PAGE_UP 

Page Up key.

KBD_DELETE 

Delete key.

KBD_END 

End key.

KBD_PAGE_DOWN 

Page Down key.

KBD_RIGHT 

Right arrow key.

KBD_LEFT 

Left arrow key.

KBD_DOWN 

Down arrow key.

KBD_UP 

Up arrow key.

KBD_NUM_LOCK 

Num Lock key.

KBD_KP_SLASH 

Keypad Slash.

KBD_KP_ASTERISK 

Keypad Asterisk.

KBD_KP_MINUS 

Keypad Minus.

KBD_KP_PLUS 

Keypad Plus.

KBD_KP_ENTER 

Keypad Enter.

KBD_KP_1 

Keypad 1.

KBD_KP_2 

Keypad 2.

KBD_KP_3 

Keypad 3.

KBD_KP_4 

Keypad 4.

KBD_KP_5 

Keypad 5.

KBD_KP_6 

Keypad 6.

KBD_KP_7 

Keypad 7.

KBD_KP_8 

Keypad 8.

KBD_KP_9 

Keypad 9.

KBD_KP_0 

Keypad 0.

KBD_KP_PERIOD 

Keypad Period.

KBD_102ND 

102nd key

KBD_COMPOSE 

Compose key.

KBD_POWER 

Power key.

KBD_KP_EQUAL 

Keypad Equal.

KBD_F13 

F13 key.

KBD_F14 

F14 key.

KBD_F15 

F15 key.

KBD_F16 

F16 key.

KBD_F17 

F17 key.

KBD_F18 

F18 key.

KBD_F19 

F19 key.

KBD_F20 

F20 key.

KBD_F21 

F21 key.

KBD_F22 

F22 key.

KBD_F23 

F23 key.

KBD_F24 

F24 key.

KBD_OPEN 

Open key.

KBD_HELP 

Help key.

KBD_PROPS 

Props key.

KBD_FRONT 

Front key.

KBD_STOP 

Stop key.

KBD_AGAIN 

Again key.

KBD_UNDO 

Undo key.

KBD_CUT 

Cut key.

KBD_COPY 

Copy key.

KBD_PASTE 

Paste key.

KBD_FIND 

Find key.

KBD_MUTE 

Mute key.

KBD_VOLUME_UP 

Volume Up key.

KBD_VOLUME_DOWN 

Volume Down key.

KBD_LOCKING_CAPS_LOCK 

Locking Caps Lock key.

KBD_LOCKING_NUM_LOCK 

Locking Num Lock key.

KBD_LOCKING_SCROLL_LOCK 

Locking Scroll Lock key.

KBD_KP_COMMA 

Keypad Comma.

KBD_KP_EQUAL_SIGN 

Keypad Equal Sign.

KBD_RO 

RO key.

KBD_KATAKANAHIRAGANA 

Katakana/Hiragana key.

KBD_YEN 

Yen key.

KBD_HENKAN 

Henkan key.

KBD_MUHENKAN 

Muhenkan key.

KBD_KP_JPCOMMA 

Keypad Japanese Comma.

KBD_INTERNATIONAL7 

International 7 key.

KBD_INTERNATIONAL8 

International 8 key.

KBD_INTERNATIONAL9 

International 9 key.

KBD_HANGEUL 

Hangeul key.

KBD_HANJA 

Hanja key.

KBD_KATAKANA 

Katakana key.

KBD_HIRAGANA 

Hiragana key.

KBD_ZENKAKUHANKAKU 

Zenkaku/Hankaku key.

KBD_LANG6 

Language 6 key.

KBD_LANG7 

Language 7 key.

KBD_LANG8 

Language 8 key.

KBD_LANG9 

Language 9 key.

KBD_ALTERNATE_ERASE 

Alternate Erase key.

KBD_SYSREQ 

SysReq key.

KBD_CANCEL 

Cancel key.

KBD_CLEAR 

Clear key.

KBD_PRIOR 

Prior key.

KBD_RETURN 

Return key.

KBD_SEPARATOR 

Separator key.

KBD_OUT 

Out key.

KBD_OPER 

Oper key.

KBD_CLEAR_AGAIN 

Clear Again key.

KBD_CRSEL_PROPS 

CrSel/Props key.

KBD_EXSEL 

ExSel key.

KBD_KP_00 

Keypad 00.

KBD_KP_000 

Keypad 000.

KBD_THOUSANDS_SEPARATOR 

Thousands Separator key.

KBD_DECIMAL_SEPARATOR 

Decimal Separator key.

KBD_CURRENCY_UNIT 

Currency Unit key.

KBD_CURRENCY_SUBUNIT 

Currency Subunit key.

KBD_KP_LEFT_PAREN 

Keypad Left Parenthesis.

KBD_KP_RIGHT_PAREN 

Keypad Right Parenthesis.

KBD_KP_LEFT_BRACE 

Keypad Left Brace.

KBD_KP_RIGHT_BRACE 

Keypad Right Brace.

KBD_KP_TAB 

Keypad Tab.

KBD_KP_BACKSPACE 

Keypad Backspace.

KBD_KP_A 

Keypad A.

KBD_KP_B 

Keypad B.

KBD_KP_C 

Keypad C.

KBD_KP_D 

Keypad D.

KBD_KP_E 

Keypad E.

KBD_KP_F 

Keypad F.

KBD_KP_XOR 

Keypad XOR.

KBD_KP_CARET 

Keypad Caret.

KBD_KP_PERCENT 

Keypad Percent.

KBD_KP_LESS 

Keypad Less.

KBD_KP_GREATER 

Keypad Greater.

KBD_KP_AMPERSAND 

Keypad Ampersand.

KBD_KP_DOUBLE_AMPERSAND 

Keypad Double Ampersand.

KBD_KP_PIPE 

Keypad Pipe.

KBD_KP_DOUBLE_PIPE 

Keypad Double Pipe.

KBD_KP_COLON 

Keypad Colon.

KBD_KP_HASH 

Keypad Hash.

KBD_KP_SPACE 

Keypad Space.

KBD_KP_AT 

Keypad At.

KBD_KP_EXCLAMATION 

Keypad Exclamation.

KBD_KP_MEMORY_STORE 

Keypad Memory Store.

KBD_KP_MEMORY_RECALL 

Keypad Memory Recall.

KBD_KP_MEMORY_CLEAR 

Keypad Memory Clear.

KBD_KP_MEMORY_ADD 

Keypad Memory Add.

KBD_KP_MEMORY_SUBTRACT 

Keypad Memory Subtract.

KBD_KP_MEMORY_MULTIPLY 

Keypad Memory Multiply.

KBD_KP_MEMORY_DIVIDE 

Keypad Memory Divide.

KBD_KP_PLUS_MINUS 

Keypad Plus/Minus.

KBD_KP_CLEAR 

Keypad Clear.

KBD_KP_CLEAR_ENTRY 

Keypad Clear Entry.

KBD_KP_BINARY 

Keypad Binary.

KBD_KP_OCTAL 

Keypad Octal.

KBD_KP_DECIMAL 

Keypad Decimal.

KBD_KP_HEXADECIMAL 

Keypad Hexadecimal.

KBD_LEFT_CTRL 

Left Control key.

KBD_LEFT_SHIFT 

Left Shift key.

KBD_LEFT_ALT 

Left Alt key.

KBD_LEFT_SUPER 

Left Super key.

KBD_RIGHT_CTRL 

Right Control key.

KBD_RIGHT_SHIFT 

Right Shift key.

KBD_RIGHT_ALT 

Right Alt key.

KBD_RIGHT_SUPER 

Right Super key.

KBD_MEDIA_PLAY_PAUSE 

Media Play/Pause key.

KBD_MEDIA_STOP_CD 

Media Stop CD key.

KBD_MEDIA_PREVIOUS_SONG 

Media Previous Song key.

KBD_MEDIA_NEXT_SONG 

Media Next Song key.

KBD_MEDIA_EJECT_CD 

Media Eject CD key.

KBD_MEDIA_VOLUME_UP 

Media Volume Up key.

KBD_MEDIA_VOLUME_DOWN 

Media Volume Down key.

KBD_MEDIA_MUTE 

Media Mute key.

KBD_MEDIA_WWW 

Media WWW key.

KBD_MEDIA_BACK 

Media Back key.

KBD_MEDIA_FORWARD 

Media Forward key.

KBD_MEDIA_STOP 

Media Stop key.

KBD_MEDIA_FIND 

Media Find key.

KBD_MEDIA_SCROLL_UP 

Media Scroll Up key.

KBD_MEDIA_SCROLL_DOWN 

Media Scroll Down key.

KBD_MEDIA_EDIT 

Media Edit key.

KBD_MEDIA_SLEEP 

Media Sleep key.

KBD_MEDIA_COFFEE 

Media Coffee key.

KBD_MEDIA_REFRESH 

Media Refresh key.

KBD_MEDIA_CALC 

Media Calculator key.

Definition at line 26 of file kbd.h.

◆ kbd_event_type_t

Keyboard event type.

Enumerator
KBD_PRESS 

Key press event.

KBD_RELEASE 

Key release event.

Definition at line 285 of file kbd.h.

◆ kbd_mods_t

enum kbd_mods_t

Keyboard modifiers type.

Enumerator
KBD_MOD_NONE 

No modifier.

KBD_MOD_CAPS 

Caps Lock modifier.

KBD_MOD_SHIFT 

Shift modifier.

KBD_MOD_CTRL 

Control modifier.

KBD_MOD_ALT 

Alt modifier.

KBD_MOD_SUPER 

Super (Windows/Command) modifier.

Definition at line 296 of file kbd.h.