forked from lolo859/vystem
Vystem 0.2
This commit is contained in:
39
shelter/lib/include/devs/input/event.h
Normal file
39
shelter/lib/include/devs/input/event.h
Normal file
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
#ifndef SH_LIB_EVENT_H
|
||||
#define SH_LIB_EVENT_H
|
||||
#include "std/type.h"
|
||||
// Events types
|
||||
typedef sh_uint8 sh_event_TYPE;
|
||||
#define SH_EVENT_TYPE_PS2_NORMAL 0U
|
||||
#define SH_EVENT_TYPE_PS2_E0 1U
|
||||
#define SH_EVENT_TYPE_KBD_CONTEXT 2U
|
||||
#define SH_EVENT_TYPE_KBD_PAUSE 3U
|
||||
// Keyboard events context flags
|
||||
#define SH_KBD_EVENT_SHIFT_ACTIVE (1u<<0)
|
||||
#define SH_KBD_EVENT_WIN_ACTIVE (1u<<1)
|
||||
#define SH_KBD_EVENT_LEFT_ACTIVE (1u<<1)
|
||||
#define SH_KBD_EVENT_RIGHT_ACTIVE (1u<<0)
|
||||
#define SH_KBD_EVENT_NUMLOCK_ACTIVE (1u<<0)
|
||||
#define SH_KBD_EVENT_CAPSLOCK_ACTIVE (1u<<1)
|
||||
// Keyboard contexts key scancodes
|
||||
#define SH_KBD_CONTEXT_LSHIFT 0U
|
||||
#define SH_KBD_CONTEXT_RSHIFT 1U
|
||||
#define SH_KBD_CONTEXT_LCTRL 2U
|
||||
#define SH_KBD_CONTEXT_RCTRL 3U
|
||||
#define SH_KBD_CONTEXT_LALT 4U
|
||||
#define SH_KBD_CONTEXT_RALT 5U
|
||||
#define SH_KBD_CONTEXT_WIN 6U
|
||||
#define SH_KBD_CONTEXT_NUMLOCK 7U
|
||||
#define SH_KBD_CONTEXT_CAPSLOCK 8U
|
||||
// Keyboard event structure
|
||||
typedef struct {
|
||||
sh_uint16 scancode;
|
||||
sh_bool pressed;
|
||||
sh_uint8 context_shift_win;
|
||||
sh_uint8 context_alt;
|
||||
sh_uint8 context_ctrl;
|
||||
sh_uint8 context_lock_status;
|
||||
sh_uint8 event_type;
|
||||
sh_uint64 timestamp; // tsc
|
||||
} sh_kbd_EVENT;
|
||||
#endif
|
||||
Reference in New Issue
Block a user