mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-24 10:37:20 +00:00
2f55a8808c
Add railroad for key strings.
46 lines
1.8 KiB
Plaintext
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
|
|
```
|