Cauldron2D.Net.Keys (Cauldron2D.Net v0.1.3)

Copy Markdown View Source

A game's keymap as a browser reads it: Cauldron2D.Input key specs become KeyboardEvent.code names, and mouse buttons the button numbers cauldron.js takes.

Cauldron2D.Net.Keys.browser_keymap(%{left: [:a, :left], fire: [:" ", {:mouse, :left}]})
#=> %{"KeyA" => "left", "ArrowLeft" => "left", "Space" => "fire", "mouse" => %{"0" => "fire"}}

A key with no browser code is left out.

Summary

Functions

A keymap as cauldron.js takes it.

The browser's name for a key spec, or nil when it has none.

Functions

browser_keymap(keymap)

@spec browser_keymap(Cauldron2D.Input.keymap()) :: map()

A keymap as cauldron.js takes it.

code(key)

@spec code(Cauldron2D.Input.key_spec()) :: String.t() | {:mouse, String.t()} | nil

The browser's name for a key spec, or nil when it has none.