SayoriOS  0.3.3
Файл mouse.c

Драйвер мыши Подробнее...

#include <io/ports.h>
#include <sys/trigger.h>
#include <drv/input/mouse.h>
#include "io/screen.h"
#include "sys/isr.h"
#include "drv/ps2.h"

См. исходные тексты.

Структуры данных

struct  mouse_flags_byte
 Структура данных пакета от мыши Подробнее...
 

Функции

struct mouse_flags_byte __attribute__ ((packed))
 Структура данных пакета от мыши Подробнее...
 
bool isMouseInit ()
 Инициализирована ли мышь? Подробнее...
 
void mouse_parse_packet (const char *buf, uint8_t has_wheel, uint8_t has_5_buttons)
 Парсинг пакета мыши Подробнее...
 
void mouse_handler (__attribute__((unused)) struct registers r)
 Обработчик мыши Подробнее...
 
void mouse_wait (uint8_t a_type)
 Ожидание ответа мыши Подробнее...
 
void mouse_write (uint8_t a_write)
 Отправка данных для мыши Подробнее...
 
uint8_t mouse_read ()
 Считывание данных с мыши Подробнее...
 
void mouse_install ()
 Установщик драйвера мыши Подробнее...
 
void ps2_mouse_install_irq ()
 
uint32_t mouse_get_x ()
 
uint32_t mouse_get_y ()
 
uint8_t mouse_get_b1 ()
 
uint8_t mouse_get_b2 ()
 
uint8_t mouse_get_b3 ()
 
uint8_t mouse_get_b4 ()
 
uint8_t mouse_get_b5 ()
 

Переменные

uint8_t mouse_ready = 0
 Готова ли мышь к работе
 
uint32_t mouse_x = 0
 Позиция мыши по X.
 
uint32_t mouse_y = 0
 Позиция мыши по Y.
 
int32_t mouse_ox = 0
 Позиция мыши по X (старое значение)
 
int32_t mouse_oy = 0
 Позиция мыши по Y (старое значение)
 
uint32_t mouse_b1 = 0
 Левая кнопка мыши
 
uint32_t mouse_b2 = 0
 Правая кнопка мыши
 
uint32_t mouse_b3 = 0
 Средняя кнопка мыши
 
uint32_t mouse_b4 = 0
 ???
 
uint32_t mouse_b5 = 0
 ???
 
int mouse_wheel = 0
 После каждого чтения меняем на 0.
 
unsigned int left_button
 
unsigned int right_button
 
unsigned int middle_button
 
unsigned int always1
 
unsigned int x_sign
 
unsigned int y_sign
 
unsigned int x_overflow
 
unsigned int y_overflow
 
 ps2m_buffer
 

Подробное описание

Драйвер мыши

Автор
Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru), Рустем Гимадутдинов (https://github.com/rgimad/EOS)
Версия
0.3.5
Дата
2022-12-11

См. определение в файле mouse.c

Функции

◆ __attribute__()

struct mouse_flags_byte __attribute__ ( (packed)  )

Структура данных пакета от мыши

14+

Структура данных пакета от мыши

См. определение в файле mouse.c строка 32

◆ isMouseInit()

bool isMouseInit ( )

Инициализирована ли мышь?

Возвращает
bool - Да/Нет

См. определение в файле mouse.c строка 68

◆ mouse_handler()

void mouse_handler ( __attribute__((unused)) struct registers  r)

Обработчик мыши

Предупреждения
Не нужно вызывать самостоятельно, только для обработчика ядра!

См. определение в файле mouse.c строка 118

◆ mouse_install()

void mouse_install ( )

Установщик драйвера мыши

Предупреждения
Не нужно вызывать самостоятельно, только для обработчика мыши!

См. определение в файле mouse.c строка 203

◆ mouse_parse_packet()

void mouse_parse_packet ( const char *  buf,
uint8_t  has_wheel,
uint8_t  has_5_buttons 
)

Парсинг пакета мыши

Предупреждения
Не нужно вызывать самостоятельно, только для обработчика мыши!

См. определение в файле mouse.c строка 77

◆ mouse_read()

uint8_t mouse_read ( )

Считывание данных с мыши

Предупреждения
Не нужно вызывать самостоятельно, только для обработчика мыши!

См. определение в файле mouse.c строка 191

◆ mouse_wait()

void mouse_wait ( uint8_t  a_type)

Ожидание ответа мыши

Аргументы
a_type- Тип отправляемых данных
Предупреждения
Не нужно вызывать самостоятельно, только для обработчика мыши!

См. определение в файле mouse.c строка 149

◆ mouse_write()

void mouse_write ( uint8_t  a_write)

Отправка данных для мыши

Предупреждения
Не нужно вызывать самостоятельно, только для обработчика мыши!

См. определение в файле mouse.c строка 173