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 定义的辅助函数:shiftctrlspace输入

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 当两者都关闭时为真,否则为假。