====== @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''.