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

Авторство
  Copyright SayoriOS Team (c) 2022-2024

См. определение в файле 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