Wbincludes:Inputs Press Events: различия между версиями

Материал из Wiren Board
Строка 1: Строка 1:
=== Обработка нажатий ===
=== Обработка нажатий ===
[[Image: wb press events.png |300px|thumb|right| Диаграма генерации событий для типов нажатий ]]
Модуль поддерживает распознавание четырёх типов нажатий: короткое, длинное, двойное и короткое, а за тем длинное.
Модуль поддерживает распознавание четырёх типов нажатий: короткое, длинное, двойное и короткое, а за тем длинное.


Алгоритм распознавания соответствуют стандарту IEC 62386-301, но с отличиями:
Алгоритм распознавания соответствуют стандарту IEC 62386-301, но с отличиями:
* добавлена ​​обработка короткого нажатия.
* добавлена ​​обработка короткого нажатия.
* событие двойного нажатия генерируется через Second Press Waiting Time, но по второму фронту.
* событие двойного нажатия генерируется через Second Press Waiting Time, но не по первому по второму фронту короткого импульса.


Доступны настройки:
Доступны настройки:
* Long Press Time (ms) — время удержания входа в замкнутом состоянии для фиксации долгого нажатия.
* Long Press Time (ms) — время удержания входа в замкнутом состоянии для фиксации долгого нажатия.
* Second Press Waiting Time (ms) время между концом первого клика и началом второго клика для обнаружения двойных и коротких нажатий.
* Second Press Waiting Time (ms) время между концом первого клика и началом второго клика для обнаружения двойных и коротких нажатий.
* Debounce — антидребезг.


'''Короткое (Short)''' нажатие детектируется, если ширина импульса меньше Long Press Time.
'''Короткое (Short)''' нажатие детектируется, если ширина импульса меньше Long Press Time.

Версия 13:08, 4 июля 2022

Обработка нажатий

Диаграма генерации событий для типов нажатий

Модуль поддерживает распознавание четырёх типов нажатий: короткое, длинное, двойное и короткое, а за тем длинное.

Алгоритм распознавания соответствуют стандарту IEC 62386-301, но с отличиями:

  • добавлена ​​обработка короткого нажатия.
  • событие двойного нажатия генерируется через Second Press Waiting Time, но не по первому по второму фронту короткого импульса.

Доступны настройки:

  • Long Press Time (ms) — время удержания входа в замкнутом состоянии для фиксации долгого нажатия.
  • Second Press Waiting Time (ms) время между концом первого клика и началом второго клика для обнаружения двойных и коротких нажатий.
  • Debounce — антидребезг.

Короткое (Short) нажатие детектируется, если ширина импульса меньше Long Press Time.

Двойное (Double) нажатие детектируется по нескольким признакам:

  • ширина первого импульса меньше Long Press Time
  • второй импульс начинается через время Second Press Waiting Time после окончания первого импульса
  • ширина второго импульса меньше Long Press Time

Длинное (Long) нажатие детектируется, если ширина импульса больше, чем Long Press Time.

Короткое, а затем длинное (Shortlong) нажатие детектируется:

  • ширина первого импульса меньше Long Press Time
  • второй импульс начинается через время Second Press Waiting Time после окончания первого импульса
  • ширина второго импульса больше, чем Long Press Time