SayoriOS 0.3.3

Макросы | Функции | Переменные
Файл keyboard.c

Драйвер клавиатуры Подробнее...

`#include <lib/string.h>`
`#include <io/ports.h>`
`#include <sys/trigger.h>`
`#include "drv/input/keyboard.h"`
`#include "sys/sync.h"`
`#include "sys/timer.h"`
`#include "io/tty.h"`
`#include "drv/psf.h"`
`#include "sys/isr.h"`
`#include "drv/ps2.h"`

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

## Макросы
#define | KEY_BUFFER_SIZE 16
#define | KBD_IS_READDATA (1 << 0)
#define | KBD_IS_WRITEDATA (1 << 1)
#define | KBD_IS_RESET (1 << 2)
#define | KBD_IS_CMD (1 << 3)
#define | KBD_IS_LOCK (1 << 4)
#define | KBD_IS_MOUSEDATA (1 << 5)
#define | KBD_IS_TIMEOUT (1 << 6)
#define | KBD_IS_ODDERROR (1 << 7)
#define | KBD_CTRL_REG 0x61

## Функции
void | tty_backspace ()
| Удаление последнего символа
char * | __getCharKeyboard (char *en_s, char *en_b, char *ru_s, char *ru_b)
| Выводит правильный символ, в зависимости от языка и шифта Подробнее...
char * | getCharKeyboard (int key, bool mode)
| Выводит символ, в зависимости от кода полученного с клавиатуры Подробнее...
uint8_t | getPressReleaseKeyboard ()
void | keyboardctl (uint8_t param, bool value)
int | getCharRaw ()
bool | is_lctrl_key ()
int | getIntKeyboardWait ()
void * | getCharKeyboardWait (bool ints)
void | kbd_add_char (char *buf, char *key)
void | gets (char *buffer)
int | gets_max (char *buffer, int length)
void | keyboardHandler (registers_t regs)
| Обработчик клавиатуры Подробнее...
void | keyboardInit ()
| Выполняет инициализацию клавиатуры
void | ps2_keyboard_install_irq ()

## Переменные
bool | SHIFT = false
| Включен ли SHIFT.
bool | RU = false
| Печатаем русскими?
volatile int | lastKey = 0
| Последний индекс клавишы
uint8_t | kbdstatus = 0
| Статус клавиатуры
bool | echo = true
| Включен ли вывод?
bool | key_ctrl = false
bool | key_alt = false
volatile char | kmode = 0
volatile char * | curbuf = 0
volatile uint32_t | chartyped = 0

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

Драйвер клавиатуры

Автор
  Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru), NDRAEY >_ (pikac.nosp@m.hu_a.nosp@m.ndrey.nosp@m.@vk..nosp@m.com)

Версия
  0.3.5

Дата
  2022-11-01

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

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

## Функции

## ◆ __getCharKeyboard()

char* __getCharKeyboard | ( | char * | en_s,
|  | char * | en_b,
|  | char * | ru_s,
|  | char * | ru_b
| ) |  |

Выводит правильный символ, в зависимости от языка и шифта

Аргументы

  en_s | - Символ маленький англиский
  en_b | - Символ большой англиский
  ru_s | - Символ маленький русский
  ru_b | - Символ большой русский

Возвращает
  char* - Символ в зависимости от раскладки и языка

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

## ◆ getCharKeyboard()

char* getCharKeyboard | ( | int | key,
|  | bool | mode
| ) |  |

Выводит символ, в зависимости от кода полученного с клавиатуры

Аргументы

  key | - Код клавиатуры
  mode | - Какой-то режим

Возвращает
  char* - Или символ или код

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

## ◆ keyboardHandler()

void keyboardHandler | ( | registers_t | regs | ) |

Обработчик клавиатуры

< Вешаем событие на 5й аргумент

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