Заставьте сигнал кнопки на экране действовать как сигналы клавиатуры

Ядро Keyboard сигналы, Keyboard.space например, являются True когда данная клавиша нажата и False иначе. Я хочу дать сигнал от экранной кнопки того же свойства.

У меня есть кнопка, которая отправляет Bool в почтовый ящик, но он всегда остается True если я не отправлю другое сообщение, но не смогу найти чистый способ сделать это после того, как использую значение из сигнала, и было бы неплохо не беспокоиться, если я решу, чтобы несколько функций читали из одного и того же почтового ящика позже,

Я думаю, что может быть способ с этим Signal.foldp но если так, я не могу найти хороший пример чего-то подобного. Что было бы наиболее удобно, если бы была функция с подписью Signal Bool -> Signal Bool что бы преобразовать сигнал в тот, который послал False после каждого True отправлено.

1 ответ

Решение

Вы можете использовать что-то вроде:

Signal.dropRepeats <| Time.since Time.millisecond <| yourMailbox.signal

но желательно использовать архитектуру вяза и просто думать с точки зрения действий, а не опускаться до такого низкого уровня.

Другие вопросы по тегам