# `Cauldron2D.Wx.Keys`
[🔗](https://github.com/jaman/cauldron/blob/v0.1.3/cauldron_2d_wx/lib/cauldron_2d/wx/keys.ex#L1)

A game's keymap as a wx window reads it: `Cauldron2D.Input` key specs become wx key
codes, and mouse buttons stay `{:mouse, button}` as `Cauldron2D.Wx.Input` takes them.

    Cauldron2D.Wx.Keys.wx_keymap(%{left: [:a, :left], fire: [:" ", {:mouse, :left}]})
    #=> %{?A => :left, 314 => :left, 32 => :fire, {:mouse, :left} => :fire}

A key with no wx code is left out.

# `code`

```elixir
@spec code(Cauldron2D.Input.key_spec()) :: integer() | {:mouse, atom()} | nil
```

The wx key code for a key spec, `{:mouse, button}` for a button, or `nil` when it has none.

# `wx_keymap`

```elixir
@spec wx_keymap(Cauldron2D.Input.keymap()) :: map()
```

A keymap as `Cauldron2D.Wx.Input.new/2` takes it.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
