view libmlk-core/mlk/core/key.h @ 465:01f5580e43d1

core: panic -> mlk_panic
author David Demelier <markand@malikania.fr>
date Mon, 27 Feb 2023 10:03:52 +0100
parents b26dd49f69ff
children 3d004b068744
line wrap: on
line source

/*
 * key.h -- keyboard definitions
 *
 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr>
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef MLK_CORE_KEY_H
#define MLK_CORE_KEY_H

enum mlk_key {
	MLK_KEY_UNKNOWN,
	MLK_KEY_ENTER,
	MLK_KEY_ESCAPE,
	MLK_KEY_BACKSPACE,
	MLK_KEY_TAB,
	MLK_KEY_SPACE,
	MLK_KEY_EXCLAIM,
	MLK_KEY_DOUBLE_QUOTE,
	MLK_KEY_HASH,
	MLK_KEY_PERCENT,
	MLK_KEY_DOLLAR,
	MLK_KEY_AMPERSAND,
	MLK_KEY_QUOTE,
	MLK_KEY_LEFT_PAREN,
	MLK_KEY_RIGHT_PAREN,
	MLK_KEY_ASTERISK,
	MLK_KEY_PLUS,
	MLK_KEY_COMMA,
	MLK_KEY_MINUS,
	MLK_KEY_PERIOD,
	MLK_KEY_SLASH,
	MLK_KEY_0,
	MLK_KEY_1,
	MLK_KEY_2,
	MLK_KEY_3,
	MLK_KEY_4,
	MLK_KEY_5,
	MLK_KEY_6,
	MLK_KEY_7,
	MLK_KEY_8,
	MLK_KEY_9,
	MLK_KEY_COLON,
	MLK_KEY_SEMICOLON,
	MLK_KEY_LESS,
	MLK_KEY_EQUALS,
	MLK_KEY_GREATER,
	MLK_KEY_QUESTION,
	MLK_KEY_AT,
	MLK_KEY_LEFT_BRACKET,
	MLK_KEY_BACKSLASH,
	MLK_KEY_RIGHT_BRACKET,
	MLK_KEY_CARET,
	MLK_KEY_UNDERSCORE,
	MLK_KEY_BACKQUOTE,
	MLK_KEY_a,
	MLK_KEY_b,
	MLK_KEY_c,
	MLK_KEY_d,
	MLK_KEY_e,
	MLK_KEY_f,
	MLK_KEY_g,
	MLK_KEY_h,
	MLK_KEY_i,
	MLK_KEY_j,
	MLK_KEY_k,
	MLK_KEY_l,
	MLK_KEY_m,
	MLK_KEY_n,
	MLK_KEY_o,
	MLK_KEY_p,
	MLK_KEY_q,
	MLK_KEY_r,
	MLK_KEY_s,
	MLK_KEY_t,
	MLK_KEY_u,
	MLK_KEY_v,
	MLK_KEY_w,
	MLK_KEY_x,
	MLK_KEY_y,
	MLK_KEY_z,
	MLK_KEY_CAPSLOCK,
	MLK_KEY_F1,
	MLK_KEY_F2,
	MLK_KEY_F3,
	MLK_KEY_F4,
	MLK_KEY_F5,
	MLK_KEY_F6,
	MLK_KEY_F7,
	MLK_KEY_F8,
	MLK_KEY_F9,
	MLK_KEY_F10,
	MLK_KEY_F11,
	MLK_KEY_F12,
	MLK_KEY_F13,
	MLK_KEY_F14,
	MLK_KEY_F15,
	MLK_KEY_F16,
	MLK_KEY_F17,
	MLK_KEY_F18,
	MLK_KEY_F19,
	MLK_KEY_F20,
	MLK_KEY_F21,
	MLK_KEY_F22,
	MLK_KEY_F23,
	MLK_KEY_F24,
	MLK_KEY_PRINTSCREEN,
	MLK_KEY_SCROLL_LOCK,
	MLK_KEY_PAUSE,
	MLK_KEY_INSERT,
	MLK_KEY_HOME,
	MLK_KEY_PAGEUP,
	MLK_KEY_DELETE,
	MLK_KEY_END,
	MLK_KEY_PAGEDOWN,
	MLK_KEY_RIGHT,
	MLK_KEY_LEFT,
	MLK_KEY_DOWN,
	MLK_KEY_UP,
	MLK_KEY_NUMLOCKCLEAR,
	MLK_KEY_KP_DIVIDE,
	MLK_KEY_KP_MULTIPLY,
	MLK_KEY_KP_MINUS,
	MLK_KEY_KP_PLUS,
	MLK_KEY_KP_ENTER,
	MLK_KEY_KP_00,
	MLK_KEY_KP_000,
	MLK_KEY_KP_1,
	MLK_KEY_KP_2,
	MLK_KEY_KP_3,
	MLK_KEY_KP_4,
	MLK_KEY_KP_5,
	MLK_KEY_KP_6,
	MLK_KEY_KP_7,
	MLK_KEY_KP_8,
	MLK_KEY_KP_9,
	MLK_KEY_KP_0,
	MLK_KEY_KP_PERIOD,
	MLK_KEY_KP_COMMA,
	MLK_KEY_MENU,
	MLK_KEY_MUTE,
	MLK_KEY_VOLUME_UP,
	MLK_KEY_VOLUME_DOWN,
	MLK_KEY_LCTRL,
	MLK_KEY_LSHIFT,
	MLK_KEY_LALT,
	MLK_KEY_LSUPER,
	MLK_KEY_RCTRL,
	MLK_KEY_RSHIFT,
	MLK_KEY_RALT,
	MLK_KEY_RSUPER,
};

enum mlk_key_mod {
	MLK_KEY_MOD_LSHIFT      = 1 << 0,
	MLK_KEY_MOD_LCTRL       = 1 << 1,
	MLK_KEY_MOD_LALT        = 1 << 2,
	MLK_KEY_MOD_LSUPER      = 1 << 3,
	MLK_KEY_MOD_RSHIFT      = 1 << 4,
	MLK_KEY_MOD_RCTRL       = 1 << 5,
	MLK_KEY_MOD_RALT        = 1 << 6,
	MLK_KEY_MOD_RSUPER      = 1 << 7
};

#endif /* !MLK_CORE_KEY_H */