mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-26 10:00:34 +00:00
3c20f2396e
This is quite a big change: a new way to invoke action widgets. The advantage is that it solves #2217 and #1564, a long running problem that prevented us from adding action widgets to widgets that modify the store. This commit adds the new technique for the button and keyboard widgets, but also extends the select widget to trigger action widgets for the first time
36 lines
1.4 KiB
Plaintext
36 lines
1.4 KiB
Plaintext
caption: keyboard
|
|
created: 20140302192136805
|
|
modified: 20160429175258940
|
|
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 |
|
|
|
|
! 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>.
|
|
|
|
For example:
|
|
|
|
```
|
|
A
|
|
shift+A
|
|
shift+escape
|
|
ctrl+enter
|
|
ctrl+shift+alt+A
|
|
```
|