Оптические и механические переключатели мыши: откуда берется debounce и зачем его убирают

Один физический клик не всегда выглядит для электроники как одно чистое переключение. В механическом микропереключателе контакты после соприкосновения могут несколько раз кратко разомкнуться и замкнуться. Контроллеру приходится отделять этот дребезг от настоящих повторных кликов.

6ab4c87ad65e8.webp

Почему механический контакт дребезжит

В микропереключателе нажатие сводит металлические контакты. Из-за упругости деталей и состояния поверхностей сигнал может несколько раз сменить состояние, прежде чем стабилизируется. Texas Instruments отмечает, что физические переключатели способны дребезжать сотни микросекунд, тогда как цифровая логика реагирует намного быстрее. Поэтому среди моделей на сайте https://telemart.ua/mouse/ тип переключателя нельзя оценивать только по ощущению клика.

Без фильтрации один нажим мог бы быть воспринят как несколько событий. Для этого и нужен debounce — фильтрация быстрых переходов.

Debounce не равен всей задержке мыши

Программный debounce обычно ждет стабильного состояния либо игнорирует слишком быстрые повторные переходы. Конкретное время задает производитель, универсального значения нет. На итоговую задержку влияют и другие этапы:

  • момент срабатывания переключателя;
  • обработка сигнала контроллером;
  • частота передачи отчетов;
  • обработка ввода системой и игрой.

Поэтому уменьшение debounce сокращает только один участок пути, а не всю задержку мыши.

Что меняется в оптическом переключателе

В оптической схеме клик определяется не замыканием электрической пары контактов. У Razer, например, нажатие открывает путь инфракрасному лучу, после чего регистрируется срабатывание. Поскольку ждать стабилизации контакта не нужно, производитель прямо указывает отсутствие debounce delay.

Механика при этом остается: она формирует ход и ощущение кнопки. Но момент срабатывания считывается светом. Поэтому при выборе мышки в каталоге Telemart тип переключателей стоит рассматривать отдельно от сенсора, DPI и polling rate: параметры отвечают за разные части ввода.

Зачем убирать debounce

Даже короткий фильтр становится частью времени между нажатием и регистрацией события. Если его исключить, из цепочки ввода убирается один этап. Одновременно исчезает риск ложных повторных срабатываний именно из-за дребезга контактной пары.

Механические переключатели при этом не становятся автоматически медленными. Их результат зависит от конструкции и настроек контроллера. Главное различие в принципе регистрации: механический вариант должен учитывать bounce, а оптический может фиксировать световой порог без такой фильтрации.