Elm:同时发出两个键盘键的信号?
Elm: signal for two keyboard keys together?
如何为 alt+o 或 Elm 中的任何其他键对创建信号?
是否有内置方法可以执行此操作,还是我必须自己创建一些东西?
我是 Elm 的新手,欢迎任何额外的解释。
是的,在 elm 中有一种内置的方式来处理键盘输入
模块是keyboard.elm
根据我的理解,要能够使用它,您必须
import keyboard
import Signal exposing ((<~))
keysDown 函数创建一个信号,通知当前正在按下哪些键
import Keyboard
import Signal exposing ((<~))
import Graphics.Element exposing (show)
main = show <~ Keyboard.keysDown
isDown 函数将一个键代码作为其参数,returns 一个布尔信号,指示当前是否正在按下给定的键。对于某些特殊键,还有根据 isDown 定义的辅助函数:shift、ctrl、space 和 输入。
import Char
import Graphics.Element exposing (show)
import Keyboard
import Signal exposing ((<~))
main = show <~ Keyboard.isDown (Char.toCode 'A')
我自己想出来了:
Signal.map2 (&&) Keyboard.alt (Keyboard.isDown <| Char.toCode 'O')
这将创建一个 Signal Bool
当两者都关闭时为真,否则为假。
如何为 alt+o 或 Elm 中的任何其他键对创建信号?
是否有内置方法可以执行此操作,还是我必须自己创建一些东西?
我是 Elm 的新手,欢迎任何额外的解释。
是的,在 elm 中有一种内置的方式来处理键盘输入
模块是keyboard.elm
根据我的理解,要能够使用它,您必须
import keyboard
import Signal exposing ((<~))
keysDown 函数创建一个信号,通知当前正在按下哪些键
import Keyboard
import Signal exposing ((<~))
import Graphics.Element exposing (show)
main = show <~ Keyboard.keysDown
isDown 函数将一个键代码作为其参数,returns 一个布尔信号,指示当前是否正在按下给定的键。对于某些特殊键,还有根据 isDown 定义的辅助函数:shift、ctrl、space 和 输入。
import Char
import Graphics.Element exposing (show)
import Keyboard
import Signal exposing ((<~))
main = show <~ Keyboard.isDown (Char.toCode 'A')
我自己想出来了:
Signal.map2 (&&) Keyboard.alt (Keyboard.isDown <| Char.toCode 'O')
这将创建一个 Signal Bool
当两者都关闭时为真,否则为假。