Keybindings
Press any key!
Individual keybindings are defined using the Keybinding
class found in the Terminaux.Writers.MiscWriters.Tools
namespace. They define what key or key combination, whether it's a mouse or a keyboard event, corresponds to what action that is described using text. You can define them using one of the following constructors:
Console key without any modifiers
string bindingName, ConsoleKey bindingKeyName
Console key with modifiers
string bindingName, ConsoleKey bindingKeyName, ConsoleModifiers bindingKeyModifiers
Mouse pointer button without button press state and modifier
string bindingName, PointerButton bindingPointerButton
Mouse pointer button with button press state, but without modifier
string bindingName, PointerButton bindingPointerButton, PointerButtonPress bindingPointerButtonPress
Mouse pointer button with button press state and modifier
string bindingName, PointerButton bindingPointerButton, PointerButtonPress bindingPointerButtonPress, PointerModifiers bindingButtonModifiers
These keybindings have no action, as it's mostly for informational purposes, but you can also use it to define keybindings with the appropriate actions. However, a user might want to know what are the available keybindings in your interactive applications. We've implemented the KeybindingsWriter
that contains the following functions:
One-line keybindings list
WriteKeybindings()
RenderKeybindings()
Keybindings list in an infobox
ShowKeybindingInfoboxPlain()
ShowKeybindingInfobox()
ShowKeybindingInfoboxColor()
ShowKeybindingInfoboxColorBack()
RenderKeybindingHelpText()
The Render
function variant returns a string that you can either write to the terminal or add as part of the screen buffer if you're planning to write a complex application.