While the input system takes care of separating actions from actual inputs in your code, you will still need to do the inverse when prompting players for an action. Trial offers a system to do this, and an integration with the PromptFont font to make the display of the prompts trivial.
To get the string to display to a user, simply call
prompt-string. The function accepts a keyword naming a specific prompt glyph to show, a symbol naming an action to display the prompt for, an
action instance, or even an
input-event for which to match the prompt. You can also specifically request prompts for a certain input type, by passing
:keyboard or a gamepad
device. It is important to pass a gamepad device instance, as Trial will try to match the glyphs to the actual button labelling on the device.
When showing a configuration dialogue for inputs, it can also be useful to list all the buttons that can trigger an action. To do so, use
action-strings which returns a list of glyph strings, or
action-string which just joins the strings into one.
Once you have a glyph string, all you need to do is present it by rendering the text with the PromptFont font.