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
41
50mouse_t* mouse_new(const char* name);
51
60
71void mouse_push(mouse_t* mouse, mouse_buttons_t buttons, int64_t deltaX, int64_t deltaY);
72
#define MAX_NAME
Maximum length of names.
Definition MAX_NAME.h:11
mouse_t * mouse_new(const char *name)
Allocate and initialize a mouse structure.
Definition mouse.c:81
void mouse_free(mouse_t *mouse)
Free and deinitialize a mouse structure.
Definition mouse.c:141
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
#define MOUSE_MAX_EVENT
Maximum number of queued mouse events.
Definition mouse.h:24
mouse_buttons_t
Mouse buttons enum.
Definition mouse.h:31
static mouse_t * mouse
Definition ps2_mouse.c:9
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
__INT64_TYPE__ int64_t
Definition stdint.h:16
Directory entry structure.
Definition dentry.h:83
A simple ticket lock implementation.
Definition lock.h:43
Mouse event structure.
Definition mouse.h:45
Mouse structure.
Definition mouse.h:31
uint64_t writeIndex
Definition mouse.h:34
dentry_t * eventsFile
Definition mouse.h:38
dentry_t * nameFile
Definition mouse.h:39
wait_queue_t waitQueue
Definition mouse.h:35
dentry_t * dir
Definition mouse.h:37
lock_t lock
Definition mouse.h:36
Wait queue structure.
Definition wait.h:166