Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
input.h
Go to the documentation of this file.
1#ifndef __INPUT_H__
2#define __INPUT_H__
3
4#include <type.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
12
13 // Letters
14 KEY_A = 0x04,
40
41 // Numbers
42 KEY_1 = 0x1E,
52
53 // Control & Whitespace
54 KEY_ENTER = 0x28,
55 KEY_ESC = 0x29,
57 KEY_TAB = 0x2B,
58 KEY_SPACE = 0x2C,
59
60 // Symbols
61 KEY_MINUS = 0x2D, // - and _
62 KEY_EQUAL = 0x2E, // = and +
63 KEY_LEFTBRACE = 0x2F, // [ and {
64 KEY_RIGHTBRACE = 0x30, // ] and }
65 KEY_BACKSLASH = 0x31, // \ and |
66 KEY_HASHTILDE = 0x32, // # and ~
67 KEY_SEMICOLON = 0x33, // ; and :
68 KEY_APOSTROPHE = 0x34, // ' and "
69 KEY_GRAVE = 0x35, // ` and ~
70 KEY_COMMA = 0x36, // , and <
71 KEY_DOT = 0x37, // . and >
72 KEY_SLASH = 0x38, // / and ?
73
74 // Modifiers (Requested at 0xA0)
75 LEFT_CTRL = 0xA0,
83
84 // Function Keys
85 KEY_F1 = 0xF1,
97
98 // Navigation & Control
112
113 // Keypad
131
132 // Other
135
136 // International & Special (e.g., ThinkPad, Japanese, Brazilian layouts)
137 KEY_RO = 0xC0, // International 1 (Brazilian / or ThinkPad between / and
138 // RShift)
140 KEY_YEN, // International 3 (Japanese Yen or ThinkPad near Backspace)
147
148 // Media & Extra (Standard USB HID Consumer Page mappings often handled
149 // via separate report, but some are in Keyboard Page)
153};
154
155struct ioforge_device;
156void input_report_key(struct ioforge_device* dev, uint16_t code, int value);
157
162
163#ifdef __cplusplus
164}
165#endif
166
167#endif // __INPUT_H__
void input_report_key(struct ioforge_device *dev, uint16_t code, int value)
Definition input.c:16
INPUT_KEY
Definition input.h:10
@ KEY_KP_0
Definition input.h:129
@ KEY_F4
Definition input.h:88
@ KEY_SPACE
Definition input.h:58
@ KEY_YEN
Definition input.h:140
@ KEY_UP
Definition input.h:111
@ KEY_P
Definition input.h:29
@ KEY_M
Definition input.h:26
@ KEY_B
Definition input.h:15
@ KEY_RO
Definition input.h:137
@ KEY_F9
Definition input.h:93
@ KEY_2
Definition input.h:43
@ KEY_F6
Definition input.h:90
@ KEY_INSERT
Definition input.h:102
@ KEY_KP_5
Definition input.h:124
@ KEY_KP_DIVIDE
Definition input.h:115
@ KEY_SEMICOLON
Definition input.h:67
@ KEY_ENTER
Definition input.h:54
@ KEY_E
Definition input.h:18
@ KEY_KP_7
Definition input.h:126
@ KEY_I
Definition input.h:22
@ KEY_W
Definition input.h:36
@ KEY_D
Definition input.h:17
@ KEY_6
Definition input.h:47
@ KEY_F7
Definition input.h:91
@ KEY_SCROLL_LOCK
Definition input.h:100
@ KEY_1
Definition input.h:42
@ KEY_GRAVE
Definition input.h:69
@ RIGHT_ALT
Definition input.h:81
@ KEY_F10
Definition input.h:94
@ KEY_F
Definition input.h:19
@ KEY_PRINT_SCREEN
Definition input.h:99
@ KEY_VOLUMEDOWN
Definition input.h:152
@ KEY_H
Definition input.h:21
@ KEY_X
Definition input.h:37
@ KEY_KP_4
Definition input.h:123
@ KEY_G
Definition input.h:20
@ KEY_SLASH
Definition input.h:72
@ KEY_KP_1
Definition input.h:120
@ KEY_Y
Definition input.h:38
@ KEY_MINUS
Definition input.h:61
@ KEY_9
Definition input.h:50
@ KEY_TAB
Definition input.h:57
@ KEY_LEFT
Definition input.h:109
@ KEY_T
Definition input.h:33
@ KEY_RIGHT
Definition input.h:108
@ KEY_F5
Definition input.h:89
@ KEY_K
Definition input.h:24
@ KEY_0
Definition input.h:51
@ KEY_FN
Definition input.h:134
@ KEY_HASHTILDE
Definition input.h:66
@ KEY_KP_ENTER
Definition input.h:119
@ KEY_KATAKANAHIRAGANA
Definition input.h:139
@ KEY_F12
Definition input.h:96
@ KEY_KP_9
Definition input.h:128
@ KEY_F2
Definition input.h:86
@ KEY_KP_3
Definition input.h:122
@ KEY_NONE
Definition input.h:11
@ KEY_INTL5
Definition input.h:145
@ LEFT_ALT
Definition input.h:77
@ KEY_F3
Definition input.h:87
@ KEY_KP_PLUS
Definition input.h:118
@ KEY_KP_MINUS
Definition input.h:117
@ KEY_C
Definition input.h:16
@ RIGHT_CTRL
Definition input.h:79
@ KEY_F8
Definition input.h:92
@ LEFT_GUI
Definition input.h:78
@ KEY_BACKSPACE
Definition input.h:56
@ KEY_R
Definition input.h:31
@ KEY_N
Definition input.h:27
@ LEFT_SHIFT
Definition input.h:76
@ LEFT_CTRL
Definition input.h:75
@ KEY_A
Definition input.h:14
@ KEY_END
Definition input.h:106
@ KEY_DOWN
Definition input.h:110
@ KEY_8
Definition input.h:49
@ KEY_LEFTBRACE
Definition input.h:63
@ KEY_Z
Definition input.h:39
@ KEY_MUTE
Definition input.h:150
@ KEY_DOT
Definition input.h:71
@ KEY_KP_DOT
Definition input.h:130
@ KEY_INTL4
Definition input.h:144
@ KEY_S
Definition input.h:32
@ KEY_J
Definition input.h:23
@ KEY_CAPS_LOCK
Definition input.h:133
@ KEY_INTL6
Definition input.h:146
@ KEY_Q
Definition input.h:30
@ KEY_HENKAN
Definition input.h:141
@ KEY_KP_MULTIPLY
Definition input.h:116
@ KEY_EQUAL
Definition input.h:62
@ KEY_VOLUMEUP
Definition input.h:151
@ KEY_PAUSE
Definition input.h:101
@ KEY_PAGE_UP
Definition input.h:104
@ KEY_U
Definition input.h:34
@ KEY_F11
Definition input.h:95
@ KEY_HOME
Definition input.h:103
@ KEY_KP_6
Definition input.h:125
@ KEY_NUM_LOCK
Definition input.h:114
@ RIGHT_SHIFT
Definition input.h:80
@ KEY_PAGE_DOWN
Definition input.h:107
@ KEY_KPJPCOMMA
Definition input.h:143
@ KEY_MUHENKAN
Definition input.h:142
@ KEY_KP_8
Definition input.h:127
@ KEY_ESC
Definition input.h:55
@ KEY_7
Definition input.h:48
@ KEY_DELETE
Definition input.h:105
@ KEY_O
Definition input.h:28
@ KEY_RIGHTBRACE
Definition input.h:64
@ KEY_4
Definition input.h:45
@ KEY_APOSTROPHE
Definition input.h:68
@ KEY_L
Definition input.h:25
@ KEY_5
Definition input.h:46
@ KEY_3
Definition input.h:44
@ RIGHT_GUI
Definition input.h:82
@ KEY_BACKSLASH
Definition input.h:65
@ KEY_COMMA
Definition input.h:70
@ KEY_V
Definition input.h:35
@ KEY_KP_2
Definition input.h:121
@ KEY_F1
Definition input.h:85
uint8_t code
Definition icmp.h:1
return value
Definition oct2bin.h:22
uint16_t code
Definition input.h:160
unsigned short uint16_t
Definition type.h:13