@amperka/button
Библиотека для работы с Troyka-кнопкой и другими тактовыми кнопками.
Используйте события press
и release
, чтобы поймать моменты нажатия и отжатия кнопки. А события click
и hold
для создания продвинутых пользовательских интерфейсов, где короткое нажатие и длительное удерживание клавиш приводят к разному поведению.
var myButton = require('@amperka/button') .connect(P4, { holdTime: 0.5 }); myButton.on('press', function() { console.log("I'm just pressed"); }); myButton.on('hold', function() { console.log("I'm hold down for 0.5 seconds"); });
Функции модуля
Создаёт новый объект Button
для кнопки на пине pin
. Принимает необязательный объект opts
с настройками поведения:
holdTime
— время в секундах, после которого вызывается событиеhold
. По умолчанию — 1 секунда.normalSignal
— 0 или 1, определяет сигнал при отпущенной кнопке. По умолчанию — 1.debounce
— время в миллисекундах на подавление дребезга сигнала при переключении. По умолчанию —10
.
В зависимости от значения normalSignal
настраивается соответствующая ему стяжка или подтяжка на пине.
Класс для работы с кнопкой. Для создания экземпляра используйте функцию connect
модуля.
Возвращает true
, если кнопка зажата.
Возникает в момент нажатия кнопки.
Возникает в момент отжатия кнопки.
Возникает при отжатии кнопки, если с момента нажатия прошло не более holdTime
секунд. holdTime
задаётся в качестве опции функции connect
.
Возникает, когда кнопку нажали и не отпускают holdTime
секунд. holdTime
задаётся в качестве опции функции connect
.
Событие click
не генерируется после отжатия кнопки, если в рамках нажатия уже возникло событие hold
.