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

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


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


'''Двойное (Double)''' нажатие детектируется по нескольким признакам:
'''Двойное (Double)''' нажатие детектируется по нескольким признакам:
* ширина первого импульса меньше Long Press Time
* ширина первого импульса меньше Long Press Time;
* второй импульс начинается через время Second Press Waiting Time после окончания первого импульса
* второй импульс начинается после первого, но через время, меньшее чем указано в Second Press Waiting Time;
* ширина второго импульса меньше Long Press Time
* ширина второго импульса меньше Long Press Time.


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


'''Короткое, а затем длинное (Shortlong)''' нажатие детектируется:
'''Короткое, а затем длинное (Shortlong)''' нажатие детектируется:
* ширина первого импульса меньше Long Press Time
* ширина первого импульса меньше Long Press Time;
* второй импульс начинается через время Second Press Waiting Time после окончания первого импульса
* второй импульс начинается после первого, но через время, меньшее чем указано в Second Press Waiting Time;
* ширина второго импульса больше, чем Long Press Time
* ширина второго импульса больше, чем Long Press Time

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

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

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

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

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

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

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

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

Короткое (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