Show Keybindings for 0 A.D. — version 1.2.3
============================================

Shows every hotkey on a virtual keyboard, labelled in the keyboard layout
selected in your operating system.


WHICH PACKAGE
-------------
  0 A.D. Release 28 (0.28.x)           -> show-keybindings-r28
  0 A.D. development build (0.29.0)    -> show-keybindings-r29

Both do exactly the same; each declares the game version it accepts, so the
wrong one shows up gray under Mod Selection and cannot be enabled.


INSTALL
-------
1. Unzip into a folder named exactly like the package (show-keybindings-r28
   or show-keybindings-r29) inside your mods folder, e.g. on Windows
   Documents\My Games\0ad\mods\show-keybindings-r28\
2. Start 0 A.D., open Settings > Mod Selection, enable the mod, then
   Save and Restart.


USE
---
Open Settings > Hotkeys (also available in a running game from the menu) and
press "Visualize".

  - Each key shows the name of the hotkey bound to it (for the modifiers
    currently held). Long names are wrapped and shortened to fit; a key
    bound more than once shows the first name and "+1", "+2", ...
    The window fills the screen, so the bigger your screen, the more of each
    name fits. On small screens, untick "Keypad and mouse" to make the other
    keys bigger, or untick "Names on keys" to show only the colours.
    Both choices are remembered.
  - Hover over a key to list the hotkeys that use it in full; click it to
    keep the list shown.
  - Click Shift, Ctrl, Alt or Super on the virtual keyboard to "hold" that
    modifier: the keyboard then shows the combinations with it
    (e.g. hold Ctrl to see Ctrl+1 ... Ctrl+0). Click again to release.
    "Clear selection" releases everything.
  - "Test keys" lets you press keys on your real keyboard: the key lights
    up green where it is on the drawing, and the panel below shows the
    combination as your keyboard labels it (e.g. Shift+Y on a German
    keyboard), as it is written in configuration files (Shift+Z), and which
    hotkeys it triggers. Nothing is carried out while testing, not even
    Escape. Pressed keys turn green and stay green until the next key.
    Mouse buttons and the wheel can be tested too. While testing, a red
    "Key test running..." banner is shown at the top. To stop, click the
    LEFT mouse button once, or hold Escape for about a second (a short
    Escape press is tested like any other key); the banner then turns green,
    "Key test ended", for a few seconds.
    Good to know: hotkeys have no upper or lower case. Shift is just one more
    key, and a hotkey still fires while extra keys are held, as long as no
    hotkey uses more of them - so if nothing is bound to Shift+Y, Shift+Y
    triggers the hotkey for Y. The test tells you when that happens.
  - Category limits the keyboard to one hotkey category, e.g. Camera.
  - Hotkeys bound to keys that are not on the drawing (media keys, F13 and
    up, ...) are listed below the keyboard when no key is hovered.

Colours:
  dark gray    no hotkey
  brown        the key is used, but only together with other modifiers
  gold         bound with exactly the modifiers currently held
  red          bound more than once with those modifiers - often fine
               (e.g. one for the map, one for the game setup), but worth a
               look if both happen in the same screen
  blue         a modifier you are holding

The keyboard shows the hotkeys as they currently are on the Hotkeys page,
including changes you have not saved yet. They come from all configuration
files together: the game's default.cfg, your user.cfg (where the Hotkeys page
saves), and any other .cfg you load.


KEYBOARD LAYOUT
---------------
0 A.D. binds hotkeys to key *positions*, named after a US keyboard: the
hotkey "Z" is the key right of left Shift. On a German keyboard that key
prints "Y", and the virtual keyboard labels it "Y" - in the same spot.
Labels are read from your operating system each time you press Visualize,
so switching the layout in the OS and pressing Visualize again updates them.

The shape of the keyboard (US-style ANSI with a wide left Shift, or
European-style ISO with the extra key next to it and a tall Enter) cannot be
asked from the operating system, so it is guessed from the layout. If the
guess is wrong, choose it under "Layout"; the choice is remembered.


KNOWN LIMITATIONS
-----------------
  - Left and right Shift, Ctrl, Alt and Super are one key each to the
    hotkey system, so both sides always light up together.
  - The mouse buttons X1/X2 are also called WheelLeft/WheelRight by the game;
    both names mean the same button.
  - Laptop keyboards without a numeric keypad still see one drawn.
  - Other mods that replace gui/hotkeys/hotkeys.xml conflict with this one:
    whichever is loaded last wins.


WHERE TO GET IT
---------------
This mod is published on mod.io, one page per game version:

  0 A.D. Release 28:      https://mod.io/g/0ad/m/show-keybindings-r28
  0 A.D. 0.29 (dev):      https://mod.io/g/0ad/m/show-keybindings-r29


LICENCE
-------
GPL version 2 or later, see License.txt. 0 A.D. is made by Wildfire Games.
