diff --git a/core/modules/utils/dom/keyboard.js b/core/modules/utils/dom/keyboard.js new file mode 100644 index 000000000..f8bd1c5b9 --- /dev/null +++ b/core/modules/utils/dom/keyboard.js @@ -0,0 +1,60 @@ +/*\ +title: $:/core/modules/utils/dom/keyboard.js +type: application/javascript +module-type: utils + +Keyboard utilities + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +var namedKeys = { + "backspace": 8, + "tab": 9, + "enter": 13, + "escape": 27 +}; + +/* +Parses a key descriptor into the structure: +{ + keyCode: numeric keycode + shiftKey: boolean + altKey: boolean + ctrlKey: boolean +} +Key descriptors have the following format: + ctrl+enter + ctrl+A +*/ +exports.parseKeyDescriptor = function(keyDescriptor) { + var components = keyDescriptor.split("+"), + info = { + keyCode: 0, + shiftKey: false, + altKey: false, + ctrlKey: false + }; + for(var t=0; t>>
>><$list filter="[is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] [!is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] +[tag[$:/tags/EditTemplate]]" variable="listItem"><$transclude tiddler=<>/>
+<$set name="storyTiddler" value=<>>
>><$keyboard key="escape" message="tw-cancel-tiddler"><$keyboard key="ctrl+enter" message="tw-save-tiddler"><$list filter="[is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] [!is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] +[tag[$:/tags/EditTemplate]]" variable="listItem"><$transclude tiddler=<>/>