====== @amperka/button ======
Библиотека для работы с [[amp>product/troyka-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");
});
===== Функции модуля =====
func:: connect(pin[, opts])
Создаёт новый объект ''Button'' для кнопки на пине ''pin''. Принимает необязательный объект ''opts'' с настройками поведения:
* ''holdTime'' — время в секундах, после которого вызывается событие ''hold''. По умолчанию — 1 секунда.
* ''normalSignal'' — 0 или 1, определяет сигнал при отпущенной кнопке. По умолчанию — 1.
* ''debounce'' — время в миллисекундах на подавление дребезга сигнала при переключении. По умолчанию — ''10''.
В зависимости от значения ''normalSignal'' настраивается соответствующая ему стяжка или подтяжка на пине.
class:: Button
Класс для работы с кнопкой. Для создания экземпляра используйте функцию ''connect'' модуля.
func:: Button.isPressed()
Возвращает ''true'', если кнопка зажата.
event:: Button.on('press', function() { … })
Возникает в момент нажатия кнопки.
event:: Button.on('release', function() { … })
Возникает в момент отжатия кнопки.
event:: Button.on('click', function() { … })
Возникает при отжатии кнопки, если с момента нажатия прошло не более ''holdTime'' секунд. ''holdTime'' задаётся в качестве опции функции ''connect''.
event:: Button.on('hold', function() { … })
Возникает, когда кнопку нажали и не отпускают ''holdTime'' секунд. ''holdTime'' задаётся в качестве опции функции ''connect''.
Событие ''click'' не генерируется после отжатия кнопки, если в рамках нажатия уже возникло событие ''hold''.