Всем привет. Разработкой расширений раньше не занимался, но появилась необходимость реализовать имитацию пользовательского ввода , что привело меня к расширениям. Вопрос следующий :
При запуске событий клавиатуры (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 , то нужный символ вводится нормально .
В общем, очень много вопросов, а ответы я самостоятельно не смог найти. Даже в документации.