ahmapiz
@ahmapiz
Начинающий front-end программист, html верстальщик

Что за типы события rawKeyDown, char?

Всем привет. Разработкой расширений раньше не занимался, но появилась необходимость реализовать имитацию пользовательского ввода , что привело меня к расширениям. Вопрос следующий :
При запуске событий клавиатуры (Input.dispatchKeyEvent) есть 4 типа события keyDown, keyUp, rawKeyDown, char. Первые два типа события ясны , а насчет остальных не могу найти ничего абсолютно и нигде. Кроме этой страницы https://chromium.googlesource.com/chromium/blink/+...
Вот самая важная часть :
switch (type) {
        case PlatformEvent::KeyUp:
            return EventTypeNames::keyup;
        case PlatformEvent::RawKeyDown:
            return EventTypeNames::keydown;
        case PlatformEvent::Char:
            return EventTypeNames::keypress;
        case PlatformEvent::KeyDown:
            // The caller should disambiguate the combined event into RawKeyDown or Char events.
            break;
        default:
            break;
    }

Тут я внутренняя реализация этих методов или что ? Дайте пожалуйста ссылку где можно почитать про типы событий клавиатуры . И почему по ним так сложно найти какую-нибудь информацию ?
И еще один вопрос. Почему Input.dispatchKeyEvent с типом keyDown не вводит символ в текстовое поле ? Событие происходит, istrusted =true, нужный инпут находится успешно, но ввода в этот инпут нет .
Но если тип keyDown поменять на char , то нужный символ вводится нормально .
В общем, очень много вопросов, а ответы я самостоятельно не смог найти. Даже в документации.
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
@acwartz
Тут должна быть ваша реклама.
Правильный ответ - читайте исходники гугл. хрома, если уж очень хочется найти какой-то изъян.
То о чем вы спрашиваете - кросс-платформенная обертка над событийными моделями различных ОС, потому и зовётся PlatformEvent. raw полагаю событие нажатия не символьной клавиши, типа cmd/ctrl/enter и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы