1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-07 18:39:57 +00:00
TiddlyWiki5/editions/tw5.com/tiddlers/widgets/KeyboardWidget.tid
twMat 2f55a8808c
Update KeyboardWidget.tid (#4606)
Add railroad for key strings.
2020-06-13 19:29:38 +01:00

46 lines
1.8 KiB
Plaintext

caption: keyboard
created: 20140302192136805
modified: 20161003114634019
tags: Widgets
title: KeyboardWidget
type: text/vnd.tiddlywiki
! Introduction
The keyboard widget allows ActionWidgets to be triggered by specific key combinations. There is also a shorthand for generating [[Messages]] via the `message` and `param` attributes.
! Content and Attributes
The content of the `<$keyboard>` widget is rendered normally. The keyboard shortcuts only take effect when the focus is within the contained content.
|!Attribute |!Description |
|actions |A string containing ActionWidgets to be triggered when the key combination is detected |
|message |The title of the [[WidgetMessage|Messages]] to generate |
|param |The parameter to be passed with the [[WidgetMessage|Messages]] |
|key |Key string identifying the key(s) to be trapped (see below) |
|class |A CSS class to be assigned to the generated HTML DIV element |
|tag|<<.from-version "5.1.14">> The html element the widget creates to capture the keyboard event, defaults to:<br>» `span` when parsed in inline-mode<br>» `div` when parsed in block-mode|
! Key Strings
Key strings are made up of one or more key specifiers separated by spaces. Each key specifier is zero or more of the modifiers <kbd>alt</kbd>, <kbd>shift</kbd>, <kbd>ctrl</kbd> or <kbd>meta</kbd> followed by the name of a key, all joined with "+" plus or "-" minus symbols. Key names are either the letter or digit printed on the key (eg "a" or "1"), or one of the special keys <kbd>backspace</kbd>, <kbd>tab</kbd>, <kbd>enter</kbd> or <kbd>escape</kbd>.
<$railroad text="""
[: {
("alt" | "shift" | "ctrl" |: "meta" ) +("+" | "-")
}
"+"
]
( "<a-z,0-9>" | "backspace" |: "tab" | "enter" | "escape" )
"""/>
For example:
```
A
shift+A
shift+escape
ctrl+enter
ctrl+shift+alt+A
```