如何为 alt + o 或Elm中的任何其他键对创建信号?
是否有内置的方法可以做到这一点,还是我必须自己创建一些东西?
我对榆树很新,所以任何额外的解释总是受欢迎的。
答案 0 :(得分:5)
我自己想通了:
Signal.map2 (&&) Keyboard.alt (Keyboard.isDown <| Char.toCode 'O')
这会创建一个Signal Bool
,当两者都关闭时为真,否则为假。
答案 1 :(得分:2)
是的,elm中有一种内置方式来处理键盘输入
模块是keyboard.elm
从我的理解到能够使用它你必须
import keyboard
import Signal exposing ((<~))
keysDown 函数创建一个信号,通知当前正在按下哪些键
import Keyboard
import Signal exposing ((<~))
import Graphics.Element exposing (show)
main = show <~ Keyboard.keysDown
isDown 函数将关键代码作为其参数,并返回一个布尔信号,指示当前是否按下了给定的键。对于某些特殊键,还有 isDown 定义的辅助函数: shift , ctrl , space 和< EM>输入
import Char
import Graphics.Element exposing (show)
import Keyboard
import Signal exposing ((<~))
main = show <~ Keyboard.isDown (Char.toCode 'A')