PatchworkOS
Loading...
Searching...
No Matches
mouse.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
kernel/fs/sysfs.h
>
4
#include <
kernel/sched/wait.h
>
5
6
#include <
stdint.h
>
7
#include <
sys/mouse.h
>
8
24
#define MOUSE_MAX_EVENT 32
25
30
typedef
struct
31
{
32
char
name[
MAX_NAME
];
33
mouse_event_t
events[
MOUSE_MAX_EVENT
];
34
uint64_t
writeIndex
;
35
wait_queue_t
waitQueue
;
36
lock_t
lock
;
37
dentry_t
*
dir
;
38
dentry_t
*
eventsFile
;
39
dentry_t
*
nameFile
;
40
}
mouse_t
;
41
50
mouse_t
*
mouse_new
(
const
char
* name);
51
59
void
mouse_free
(
mouse_t
*
mouse
);
60
71
void
mouse_push
(
mouse_t
*
mouse
,
mouse_buttons_t
buttons,
int64_t
deltaX,
int64_t
deltaY);
72
MAX_NAME
#define MAX_NAME
Maximum length of names.
Definition
MAX_NAME.h:11
mouse_new
mouse_t * mouse_new(const char *name)
Allocate and initialize a mouse structure.
Definition
mouse.c:81
mouse_free
void mouse_free(mouse_t *mouse)
Free and deinitialize a mouse structure.
Definition
mouse.c:141
mouse_push
void mouse_push(mouse_t *mouse, mouse_buttons_t buttons, int64_t deltaX, int64_t deltaY)
Push a new mouse event to the mouse event queue.
Definition
mouse.c:147
MOUSE_MAX_EVENT
#define MOUSE_MAX_EVENT
Maximum number of queued mouse events.
Definition
mouse.h:24
mouse_buttons_t
mouse_buttons_t
Mouse buttons enum.
Definition
mouse.h:31
mouse.h
mouse
static mouse_t * mouse
Definition
ps2_mouse.c:9
stdint.h
uint64_t
__UINT64_TYPE__ uint64_t
Definition
stdint.h:17
int64_t
__INT64_TYPE__ int64_t
Definition
stdint.h:16
dentry_t
Directory entry structure.
Definition
dentry.h:83
lock_t
A simple ticket lock implementation.
Definition
lock.h:43
mouse_event_t
Mouse event structure.
Definition
mouse.h:45
mouse_t
Mouse structure.
Definition
mouse.h:31
mouse_t::writeIndex
uint64_t writeIndex
Definition
mouse.h:34
mouse_t::eventsFile
dentry_t * eventsFile
Definition
mouse.h:38
mouse_t::nameFile
dentry_t * nameFile
Definition
mouse.h:39
mouse_t::waitQueue
wait_queue_t waitQueue
Definition
mouse.h:35
mouse_t::dir
dentry_t * dir
Definition
mouse.h:37
mouse_t::lock
lock_t lock
Definition
mouse.h:36
wait_queue_t
Wait queue structure.
Definition
wait.h:166
sysfs.h
wait.h
include
kernel
drivers
abstractions
mouse.h
Generated by
1.9.8