/*
|
|
* Copyright (C) 2021 Christopher J. Howard
|
|
*
|
|
* This file is part of Antkeeper source code.
|
|
*
|
|
* Antkeeper source code is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Antkeeper source code is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef ANTKEEPER_INPUT_SCANCODE_HPP
|
|
#define ANTKEEPER_INPUT_SCANCODE_HPP
|
|
|
|
namespace input {
|
|
|
|
/**
|
|
* Enumerates keyboard scancodes.
|
|
*/
|
|
enum class scancode
|
|
{
|
|
unknown,
|
|
a,
|
|
b,
|
|
c,
|
|
d,
|
|
e,
|
|
f,
|
|
g,
|
|
h,
|
|
i,
|
|
j,
|
|
k,
|
|
l,
|
|
m,
|
|
n,
|
|
o,
|
|
p,
|
|
q,
|
|
r,
|
|
s,
|
|
t,
|
|
u,
|
|
v,
|
|
w,
|
|
x,
|
|
y,
|
|
z,
|
|
one,
|
|
two,
|
|
three,
|
|
four,
|
|
five,
|
|
six,
|
|
seven,
|
|
eight,
|
|
nine,
|
|
zero,
|
|
enter,
|
|
escape,
|
|
backspace,
|
|
tab,
|
|
space,
|
|
minus,
|
|
equal,
|
|
left_brace,
|
|
right_brace,
|
|
backslash,
|
|
non_us_hash,
|
|
semicolon,
|
|
apostrophe,
|
|
grave,
|
|
comma,
|
|
dot,
|
|
slash,
|
|
caps_lock,
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
f10,
|
|
f11,
|
|
f12,
|
|
print_screen,
|
|
scroll_lock,
|
|
pause,
|
|
insert,
|
|
home,
|
|
page_up,
|
|
del,
|
|
end,
|
|
page_down,
|
|
right,
|
|
left,
|
|
down,
|
|
up,
|
|
num_lock,
|
|
kp_slash,
|
|
kp_asterisk,
|
|
kp_minus,
|
|
kp_plus,
|
|
kp_enter,
|
|
kp_1,
|
|
kp_2,
|
|
kp_3,
|
|
kp_4,
|
|
kp_5,
|
|
kp_6,
|
|
kp_7,
|
|
kp_8,
|
|
kp_9,
|
|
kp_0,
|
|
kp_dot,
|
|
non_us_backslash,
|
|
application,
|
|
power,
|
|
kp_equal,
|
|
f13,
|
|
f14,
|
|
f15,
|
|
f16,
|
|
f17,
|
|
f18,
|
|
f19,
|
|
f20,
|
|
f21,
|
|
f22,
|
|
f23,
|
|
f24,
|
|
execute,
|
|
help,
|
|
menu,
|
|
select,
|
|
stop,
|
|
again,
|
|
undo,
|
|
cut,
|
|
copy,
|
|
paste,
|
|
find,
|
|
mute,
|
|
volume_up,
|
|
volume_down,
|
|
locking_caps_lock,
|
|
locking_num_lock,
|
|
locking_scroll_lock,
|
|
kp_comma,
|
|
kp_equal_as400,
|
|
international_1,
|
|
international_2,
|
|
international_3,
|
|
international_4,
|
|
international_5,
|
|
international_6,
|
|
international_7,
|
|
international_8,
|
|
international_9,
|
|
lang_1,
|
|
lang_2,
|
|
lang_3,
|
|
lang_4,
|
|
lang_5,
|
|
lang_6,
|
|
lang_7,
|
|
lang_8,
|
|
lang_9,
|
|
alt_erase,
|
|
sys_req,
|
|
cancel,
|
|
clear,
|
|
prior,
|
|
return_2,
|
|
separator,
|
|
_out,
|
|
oper,
|
|
clear_again,
|
|
cr_sel,
|
|
ex_sel,
|
|
kp_00,
|
|
kp_000,
|
|
thousands_separator,
|
|
decimal_separator,
|
|
currency_unit,
|
|
currency_sub_unit,
|
|
kp_left_paren,
|
|
kp_right_paren,
|
|
kp_left_brace,
|
|
kp_right_brace,
|
|
kp_tab,
|
|
kp_backspace,
|
|
kp_a,
|
|
kp_b,
|
|
kp_c,
|
|
kp_d,
|
|
kp_e,
|
|
kp_f,
|
|
kp_xor,
|
|
kp_power,
|
|
kp_percent,
|
|
kp_less,
|
|
kp_greater,
|
|
kp_ampersand,
|
|
kp_double_ampersand,
|
|
kp_vertical_bar,
|
|
kp_double_vertical_bar,
|
|
kp_colon,
|
|
kp_hash,
|
|
kp_space,
|
|
kp_at,
|
|
kp_exclam,
|
|
kp_mem_store,
|
|
kp_mem_recall,
|
|
kp_mem_clear,
|
|
kp_mem_add,
|
|
kp_mem_subtract,
|
|
kp_mem_multiply,
|
|
kp_mem_divide,
|
|
kp_plus_minus,
|
|
kp_clear,
|
|
kp_clear_entry,
|
|
kp_binary,
|
|
kp_octal,
|
|
kp_decimal,
|
|
kp_hexadecimal,
|
|
left_ctrl,
|
|
left_shift,
|
|
left_alt,
|
|
left_gui,
|
|
right_ctrl,
|
|
right_shift,
|
|
right_alt,
|
|
right_gui,
|
|
mode,
|
|
audio_next,
|
|
audio_prev,
|
|
audio_stop,
|
|
audio_play,
|
|
audio_mute,
|
|
media_select,
|
|
www,
|
|
mail,
|
|
calculator,
|
|
computer,
|
|
ac_search,
|
|
ac_home,
|
|
ac_back,
|
|
ac_forward,
|
|
ac_stop,
|
|
ac_refresh,
|
|
ac_bookmarks,
|
|
brightness_down,
|
|
brightness_up,
|
|
display_switch,
|
|
kbd_illum_toggle,
|
|
kbd_illum_down,
|
|
kbd_illum_up,
|
|
eject,
|
|
sleep,
|
|
app_1,
|
|
app_2,
|
|
audio_rewind,
|
|
audio_fast_forward
|
|
};
|
|
|
|
} // namespace input
|
|
|
|
#endif // ANTKEEPER_INPUT_SCANCODE_HPP
|
|
|