Voxia OS
v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
keymap.c
Go to the documentation of this file.
1
#include "
type.h
"
2
#include <
input.h
>
3
#include <
input/keymap.h
>
4
5
static
const
char
keymap_us
[512][2] = {
6
[
KEY_A
] = {
'a'
,
'A'
},
7
[
KEY_B
] = {
'b'
,
'B'
},
8
[
KEY_C
] = {
'c'
,
'C'
},
9
[
KEY_D
] = {
'd'
,
'D'
},
10
[
KEY_E
] = {
'e'
,
'E'
},
11
[
KEY_F
] = {
'f'
,
'F'
},
12
[
KEY_G
] = {
'g'
,
'G'
},
13
[
KEY_H
] = {
'h'
,
'H'
},
14
[
KEY_I
] = {
'i'
,
'I'
},
15
[
KEY_J
] = {
'j'
,
'J'
},
16
[
KEY_K
] = {
'k'
,
'K'
},
17
[
KEY_L
] = {
'l'
,
'L'
},
18
[
KEY_M
] = {
'm'
,
'M'
},
19
[
KEY_N
] = {
'n'
,
'N'
},
20
[
KEY_O
] = {
'o'
,
'O'
},
21
[
KEY_P
] = {
'p'
,
'P'
},
22
[
KEY_Q
] = {
'q'
,
'Q'
},
23
[
KEY_R
] = {
'r'
,
'R'
},
24
[
KEY_S
] = {
's'
,
'S'
},
25
[
KEY_T
] = {
't'
,
'T'
},
26
[
KEY_U
] = {
'u'
,
'U'
},
27
[
KEY_V
] = {
'v'
,
'V'
},
28
[
KEY_W
] = {
'w'
,
'W'
},
29
[
KEY_X
] = {
'x'
,
'X'
},
30
[
KEY_Y
] = {
'y'
,
'Y'
},
31
[
KEY_Z
] = {
'z'
,
'Z'
},
32
33
[
KEY_1
] = {
'1'
,
'!'
},
34
[
KEY_2
] = {
'2'
,
'@'
},
35
[
KEY_3
] = {
'3'
,
'#'
},
36
[
KEY_4
] = {
'4'
,
'$'
},
37
[
KEY_5
] = {
'5'
,
'%'
},
38
[
KEY_6
] = {
'6'
,
'^'
},
39
[
KEY_7
] = {
'7'
,
'&'
},
40
[
KEY_8
] = {
'8'
,
'*'
},
41
[
KEY_9
] = {
'9'
,
'('
},
42
[
KEY_0
] = {
'0'
,
')'
},
43
44
[
KEY_ENTER
] = {
'\n'
,
'\n'
},
45
[
KEY_BACKSPACE
] = {
'\b'
,
'\b'
},
46
[
KEY_TAB
] = {
'\t'
,
'\t'
},
47
[
KEY_SPACE
] = {
' '
,
' '
},
48
49
[
KEY_MINUS
] = {
'-'
,
'_'
},
50
[
KEY_EQUAL
] = {
'='
,
'+'
},
51
[
KEY_LEFTBRACE
] = {
'['
,
'{'
},
52
[
KEY_RIGHTBRACE
] = {
']'
,
'}'
},
53
[
KEY_BACKSLASH
] = {
'\\'
,
'|'
},
54
[
KEY_SEMICOLON
] = {
';'
,
':'
},
55
[
KEY_APOSTROPHE
] = {
'\''
,
'\"'
},
56
[
KEY_GRAVE
] = {
'`'
,
'~'
},
57
[
KEY_COMMA
] = {
','
,
'<'
},
58
[
KEY_DOT
] = {
'.'
,
'>'
},
59
[
KEY_SLASH
] = {
'/'
,
'?'
},
60
};
61
62
uint16_t
scancode_to_ascii
(
uint16_t
scancode,
boolean_t
shift) {
63
int
shift_idx = shift ? 1 : 0;
64
65
if
((
size_t
)scancode <
sizeof
(
keymap_us
)) {
66
return
(
uint16_t
)
keymap_us
[scancode][shift_idx];
67
}
68
return
0;
69
}
input.h
KEY_SPACE
@ KEY_SPACE
Definition
input.h:58
KEY_P
@ KEY_P
Definition
input.h:29
KEY_M
@ KEY_M
Definition
input.h:26
KEY_B
@ KEY_B
Definition
input.h:15
KEY_2
@ KEY_2
Definition
input.h:43
KEY_SEMICOLON
@ KEY_SEMICOLON
Definition
input.h:67
KEY_ENTER
@ KEY_ENTER
Definition
input.h:54
KEY_E
@ KEY_E
Definition
input.h:18
KEY_I
@ KEY_I
Definition
input.h:22
KEY_W
@ KEY_W
Definition
input.h:36
KEY_D
@ KEY_D
Definition
input.h:17
KEY_6
@ KEY_6
Definition
input.h:47
KEY_1
@ KEY_1
Definition
input.h:42
KEY_GRAVE
@ KEY_GRAVE
Definition
input.h:69
KEY_F
@ KEY_F
Definition
input.h:19
KEY_H
@ KEY_H
Definition
input.h:21
KEY_X
@ KEY_X
Definition
input.h:37
KEY_G
@ KEY_G
Definition
input.h:20
KEY_SLASH
@ KEY_SLASH
Definition
input.h:72
KEY_Y
@ KEY_Y
Definition
input.h:38
KEY_MINUS
@ KEY_MINUS
Definition
input.h:61
KEY_9
@ KEY_9
Definition
input.h:50
KEY_TAB
@ KEY_TAB
Definition
input.h:57
KEY_T
@ KEY_T
Definition
input.h:33
KEY_K
@ KEY_K
Definition
input.h:24
KEY_0
@ KEY_0
Definition
input.h:51
KEY_C
@ KEY_C
Definition
input.h:16
KEY_BACKSPACE
@ KEY_BACKSPACE
Definition
input.h:56
KEY_R
@ KEY_R
Definition
input.h:31
KEY_N
@ KEY_N
Definition
input.h:27
KEY_A
@ KEY_A
Definition
input.h:14
KEY_8
@ KEY_8
Definition
input.h:49
KEY_LEFTBRACE
@ KEY_LEFTBRACE
Definition
input.h:63
KEY_Z
@ KEY_Z
Definition
input.h:39
KEY_DOT
@ KEY_DOT
Definition
input.h:71
KEY_S
@ KEY_S
Definition
input.h:32
KEY_J
@ KEY_J
Definition
input.h:23
KEY_Q
@ KEY_Q
Definition
input.h:30
KEY_EQUAL
@ KEY_EQUAL
Definition
input.h:62
KEY_U
@ KEY_U
Definition
input.h:34
KEY_7
@ KEY_7
Definition
input.h:48
KEY_O
@ KEY_O
Definition
input.h:28
KEY_RIGHTBRACE
@ KEY_RIGHTBRACE
Definition
input.h:64
KEY_4
@ KEY_4
Definition
input.h:45
KEY_APOSTROPHE
@ KEY_APOSTROPHE
Definition
input.h:68
KEY_L
@ KEY_L
Definition
input.h:25
KEY_5
@ KEY_5
Definition
input.h:46
KEY_3
@ KEY_3
Definition
input.h:44
KEY_BACKSLASH
@ KEY_BACKSLASH
Definition
input.h:65
KEY_COMMA
@ KEY_COMMA
Definition
input.h:70
KEY_V
@ KEY_V
Definition
input.h:35
scancode_to_ascii
uint16_t scancode_to_ascii(uint16_t scancode, boolean_t shift)
Definition
keymap.c:62
keymap_us
static const char keymap_us[512][2]
Definition
keymap.c:5
keymap.h
type.h
uint16_t
unsigned short uint16_t
Definition
type.h:13
boolean_t
uint8_t boolean_t
Definition
type.h:89
kernel
input
keymap.c
Generated on Sat May 30 2026 11:09:57 for Voxia OS by
1.13.2