]> git.ozlabs.org Git - petitboot/blobdiff - ui/ncurses/ui-guidelines.text
ui/ncurses: Unify key bindings & key help text
[petitboot] / ui / ncurses / ui-guidelines.text
diff --git a/ui/ncurses/ui-guidelines.text b/ui/ncurses/ui-guidelines.text
new file mode 100644 (file)
index 0000000..c416fc7
--- /dev/null
@@ -0,0 +1,44 @@
+Petitboot ncurses UI guidelines
+
+General key bindings:
+
+ x: Exit the current screen
+    When the focus is on a text-input field, this key will be treated
+    litereally (ie, it inputs an 'x' in to the text field). Because of this,
+    we should avoid putting a text field as the first field on a screen.
+
+    We also support 'Esc' as a secondary exit key, but this can cause
+    problems with some terminals (because Esc is used to initiate an input
+    escape sequence, it causes ncurses to delay, waiting for more keys).
+    So, Esc should not be listed as a key in the UI help.
+
+ h: Show help
+
+    Same restrictions as the 'x' key with text input widgets. We support F1
+    too, but this is often used by the actual terminal emulator to show help
+    locally instead.
+
+Form key bindings:
+
+ tab: Next widget
+ shift+tab: Previous widget
+
+ down: Next widget
+ up: Previous widget
+
+Text screen key bindings:
+
+ up/down: scroll
+
+Menu key bindings:
+
+ up: Next item
+ down: Previous item
+
+ tab: Next item
+ shift+tab: Previous item
+
+ Enter: select item
+ Space: select item
+