Wiki source code of XWiki Keyboard Shortcuts

Version 29.3 by Ecaterina Moraru (Valica) on 2018/07/06

Hide last authors
Sorin Burjan 12.4 1 {{velocity}}
2 $xwiki.ssx.use("Features.KeyboardShortcuts")
3 {{/velocity}}
Ecaterina Moraru (Valica) 12.1 4
Thomas Mortagne 8.1 5 {{box cssClass="floatinginfobox" title="**Contents**"}}
6 {{toc/}}
7 {{/box}}
Jean-Vincent Drean 1.1 8
Ecaterina Moraru (Valica) 14.1 9 **Since XWiki version 1.4M1**, you can use keyboard shortcuts to use some XWiki features. Keyboard shortcuts help you save time since you never have to take your hands off the keyboard to use the mouse.
Jean-Vincent Drean 1.1 10
Ecaterina Moraru (Valica) 12.1 11 = Using keyboard shortcuts =
Jean-Vincent Drean 1.1 12
Ecaterina Moraru (Valica) 12.1 13 == View Mode ==
Jean-Vincent Drean 1.1 14
Thomas Mortagne 8.1 15 {{info}}
16 View keyboard shortcuts are only available to advanced users, preventing simple users to get unexpected behavior when pressing keyboard keys by mistake
17 {{/info}}
Jean-Vincent Drean 1.1 18
Ecaterina Moraru (Valica) 12.1 19 === a) Edit Actions ===
Jean-Vincent Drean 1.1 20
Sorin Burjan 12.4 21 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate edit actions" %)
22 | (% class="shortcut" %)
23 (((
24 (% class="key" %)E
Eduard Moraru 13.2 25 )))|Edit the page using the default edition mode
Sorin Burjan 12.4 26 | (% class="shortcut" %)
27 (((
28 (% class="key" %)K
Eduard Moraru 13.2 29 )))|Edit the page in wiki edition mode
Sorin Burjan 12.4 30 | (% class="shortcut" %)
31 (((
32 (% class="key" %)G
Eduard Moraru 13.2 33 )))|Edit the page using the WYSIWYG editor
Sorin Burjan 12.4 34 | (% class="shortcut" %)
35 (((
36 (% class="key" %)F
Eduard Moraru 13.2 37 )))|Inline Form
Sorin Burjan 12.4 38 | (% class="shortcut" %)
39 (((
40 (% class="key" %)R
Eduard Moraru 13.2 41 )))|Edit page access rights
Sorin Burjan 12.4 42 | (% class="shortcut" %)
43 (((
44 (% class="key" %)O
Eduard Moraru 13.2 45 )))|Edit page objects
Sorin Burjan 12.4 46 | (% class="shortcut" %)
47 (((
48 (% class="key" %)S
Eduard Moraru 13.2 49 )))|Edit class
Jean-Vincent Drean 1.1 50
Ecaterina Moraru (Valica) 12.1 51 === b) View Actions ===
Jean-Vincent Drean 1.1 52
Sorin Burjan 12.4 53 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate view actions" %)
54 | (% class="shortcut" %)
55 (((
56 (% class="key" %)C
Eduard Moraru 13.2 57 )))|Go to page comments
Sorin Burjan 12.4 58 | (% class="shortcut" %)
59 (((
60 (% class="key" %)A
Eduard Moraru 13.2 61 )))|Go to page attachments
Sorin Burjan 12.4 62 | (% class="shortcut" %)
63 (((
64 (% class="key" %)H
Eduard Moraru 13.2 65 )))|Go to page history
Sorin Burjan 12.4 66 | (% class="shortcut" %)
67 (((
Marius Dumitru Florea 13.1 68 (% class="key" %)I
Eduard Moraru 13.2 69 )))|Go to page information
Marius Dumitru Florea 13.1 70 | (% class="shortcut" %)
71 (((
Sorin Burjan 12.4 72 (% class="key" %)D
Eduard Moraru 13.2 73 )))|View page wiki code
Jean-Vincent Drean 1.1 74
Ecaterina Moraru (Valica) 12.1 75 === c) Other Actions ===
Jean-Vincent Drean 1.1 76
Sorin Burjan 12.4 77 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate other actions" %)
78 | (% class="shortcut" %)
79 (((
80 (% class="key" %)F2
Eduard Moraru 13.2 81 )))|Rename page
Sorin Burjan 12.4 82 | (% class="shortcut" %)
83 (((
84 (% class="key" %)Delete
Eduard Moraru 13.2 85 )))|Delete page
Jean-Vincent Drean 1.1 86
Ecaterina Moraru (Valica) 12.1 87 == Edit Wiki & Edit Inline Mode ==
Jean-Vincent Drean 1.1 88
Thomas Mortagne 8.1 89 {{warning}}
Sorin Burjan 12.4 90 While in Inline Edit mode and focusing on a WYSIWYG edit area, the keyboard shortcuts listed below won't work since the WYSIWYG editor grabs all the key pressed events.
Thomas Mortagne 8.1 91 {{/warning}}
92
Ecaterina Moraru (Valica) 12.1 93 (% class="keyboard" summary="Keyboard Shortcuts for Edit Wiki and Inline Mode" %)
Sorin Burjan 12.4 94 | (% class="shortcut" %)
95 (((
96 (% class="key" %)Alt(%%) + (% class="key" %)C
97 )))|Cancel edition
98 | (% class="shortcut" %)
99 (((
100 (% class="key" %)Alt(%%) + (% class="key" %)P
101 )))|Preview the page without saving
102 | (% class="shortcut" %)
103 (((
104 (% class="key" %)Alt(%%) + (% class="key" %)Shift(%%) + (% class="key" %)S
105 )))|Save and continue to edit the page
106 | (% class="shortcut" %)
107 (((
108 (% class="key" %)Alt(%%) + (% class="key" %)S
109 )))|Save and view the page
Jean-Vincent Drean 1.1 110
Ecaterina Moraru (Valica) 12.1 111 == Edit WYSIWYG Mode ==
Jean-Vincent Drean 1.1 112
Vincent Massol 14.3 113 {{include document="platform:Features.WysiwygEditorShortcuts"/}}
Jean-Vincent Drean 1.1 114
Ecaterina Moraru (Valica) 12.1 115 == Preview Mode ==
116
117 (% class="keyboard" summary="Keyboard Shortcuts for Preview Mode" %)
Sorin Burjan 12.4 118 | (% class="shortcut" %)
119 (((
120 (% class="key" %)Alt(%%) + (% class="key" %)C
Eduard Moraru 13.2 121 )))|Cancel edition
Sorin Burjan 12.4 122 | (% class="shortcut" %)
123 (((
124 (% class="key" %)Alt(%%) + (% class="key" %)B
Eduard Moraru 13.2 125 )))|Back to the edition
Sorin Burjan 12.4 126 | (% class="shortcut" %)
127 (((
128 (% class="key" %)Alt(%%) + (% class="key" %)Shift(%%) + (% class="key" %)S
Eduard Moraru 13.2 129 )))|Save and continue to edit the page
Sorin Burjan 12.4 130 | (% class="shortcut" %)
131 (((
132 (% class="key" %)Alt(%%) + (% class="key" %)S
Eduard Moraru 13.2 133 )))|Save and view the page
Ecaterina Moraru (Valica) 12.1 134
Silvia Macovei 11.1 135 == Annotations ==
136
Ecaterina Moraru (Valica) 12.1 137 (% class="keyboard" summary="Keyboard Shortcuts for Annotations" %)
Sorin Burjan 12.4 138 | (% class="shortcut" %)
139 (((
Eduard Moraru 13.3 140 (% class="key" %)Ctrl(%%) + (% class="key" %)M(%%) (% class="separator" %)or(%%) (% class="key" %)Meta(%%) + (% class="key" %)M(%%)
141 (% class="key" %)Ctrl(%%) + (% class="key" %)I(%%) (% class="separator" %)or(%%) (% class="key" %)Meta(%%) + (% class="key" %)I
Eduard Moraru 13.2 142 )))|Annotate a piece of text
Ecaterina Moraru (Valica) 29.3 143 | (% class="shortcut" %)
144 (((
145 (% class="key" %)Alt(%%) + (% class="key" %)A
146 )))|Show annotations
Silvia Macovei 11.1 147
Ecaterina Moraru (Valica) 12.1 148 == Navigation ==
Jean-Vincent Drean 7.1 149
Ecaterina Moraru (Valica) 12.1 150 (% class="keyboard" summary="Keyboard Shortcuts for Navigation" %)
Sorin Burjan 12.4 151 | (% class="shortcut" %)
152 (((
153 (% class="key" %)Ctrl(%%) + (% class="key" %)G
Eduard Moraru 13.2 154 )))(% class="separator" %)or(%%) (% class="shortcut" %)
Sorin Burjan 12.4 155 (((
156 (% class="key" %)Meta(%%) + (% class="key" %)G
157 )))|Jump to any page in the wiki
Ecaterina Moraru (Valica) 12.1 158
Clément Aubin 24.1 159 == Developer shortcuts ==
160
Clément Aubin 26.1 161 {{info}}Since 9.11{{/info}}, the following key sequences can be used to toggle specific actions on the current logged in user:
Clément Aubin 24.1 162
163 (% class="keyboard" summary="Keyboard Shortcuts for developers" %)
164 | (% class="shortcut" %)
165 (((
166 (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)a
167 )))|Toggle advanced user mode for the current user.
168
169 (% class="keyboard" summary="Keyboard Shortcuts for developers" %)
170 | (% class="shortcut" %)
171 (((
172 (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)h
173 )))|Toggle hidden pages for the current user.
174
Ecaterina Moraru (Valica) 12.1 175 = Configuring keyboard shortcuts =
176
177 == Modifying keyboard shortcuts ==
178
Vincent Massol 29.2 179 * Create a new page in your wiki, for example ##XWiki.KeyboardShortcuts## and paste the following content inside:(((
Sorin Burjan 12.4 180 {{code}}
181 core.shortcuts.view.edit=e
Jean-Vincent Drean 7.1 182 core.shortcuts.view.wiki=k
183 core.shortcuts.view.wysiwyg=g
184 core.shortcuts.view.inline=f
185 core.shortcuts.view.rights=r
186 core.shortcuts.view.objects=o
187 core.shortcuts.view.class=s
188 core.shortcuts.view.comments=c
189 core.shortcuts.view.attachments=a
190 core.shortcuts.view.history=h
191 core.shortcuts.view.information=i
192 core.shortcuts.view.code=d
Clément Aubin 21.2 193 core.shortcuts.view.delete=Delete
194 core.shortcuts.view.rename=F2
195 core.shortcuts.edit.cancel=Alt+C
196 core.shortcuts.edit.backtoedit=Alt+B
197 core.shortcuts.edit.preview=Alt+P
198 core.shortcuts.edit.saveandcontinue=Alt+Shift+S
199 core.shortcuts.edit.saveandview=Alt+S
Sorin Burjan 12.4 200 {{/code}}
201 )))
Jean-Vincent Drean 7.1 202 * Modify entries in this list at your convenience
203 * Save the page
Vincent Massol 29.2 204 * Go to the wiki administration, edit the attached XObject (change the URL to ##/edit/XWiki/XWikiPreferences?editor=object##)
205 * Add ##XWiki.KeyboardShortcuts## to the "Internationalization Document Bundles" field
Jean-Vincent Drean 7.1 206
Ecaterina Moraru (Valica) 12.1 207 == Adding your own shortcuts ==
Jean-Vincent Drean 1.1 208
209 You can add your own keyboard shortcuts in a few javascript lines :
210
Thomas Mortagne 8.1 211 {{code language="html"}}
Jean-Vincent Drean 1.1 212 <script type="text/javascript">
213 //<![CDATA[
Clément Aubin 23.1 214 shortcut.add("Ctrl+Alt+n", function() { alert("Hey there! Congratulations on typing this one ;)"); });
Jean-Vincent Drean 1.1 215 //]]>
216 </script>
Silvia Macovei 2.1 217 {{/code}}
Jean-Vincent Drean 1.1 218
Jean-Vincent Drean 6.1 219 {{html clean="false"}}
Jean-Vincent Drean 1.1 220 <script type="text/javascript">
Clément Aubin 23.1 221 shortcut.add("Ctrl+Alt+n", function() { alert("Hey there! Congratulations on typing this one ;)"); }, {'propagate':false} );
Jean-Vincent Drean 1.1 222 </script>
Jean-Vincent Drean 5.1 223 {{/html}}
224
Sorin Burjan 12.4 225 Try the snippet by pressing (% class="key" %)**Ctrl**(%%) + (% class="key" %)**Alt**(%%) + (% class="key" %)**n**(%%).
Jean-Vincent Drean 5.1 226
Clément Aubin 24.1 227 Also check the [[complete documentation>>https://dmauro.github.io/Keypress/]].
Jean-Vincent Drean 1.1 228
Ecaterina Moraru (Valica) 12.1 229 == Removing keyboard shortcuts ==
Jean-Vincent Drean 1.1 230
231 To remove a shortcut adapt this snippet to your needs :
232
Thomas Mortagne 9.1 233 {{code language="html"}}
Jean-Vincent Drean 1.1 234 <script type="text/javascript">
235 //<![CDATA[
Clément Aubin 23.1 236 shortcut.remove("Ctrl+Alt+n");
Jean-Vincent Drean 1.1 237 //]]>
238 </script>
Silvia Macovei 2.1 239 {{/code}}
Jean-Vincent Drean 1.1 240
Jean-Vincent Drean 6.1 241 {{html clean="false"}}
Jean-Vincent Drean 1.1 242 <script type="text/javascript">
Jean-Vincent Drean 6.4 243 function removeCtrlAltN() {
Clément Aubin 23.1 244 shortcut.remove("Ctrl+Alt+n");
Jean-Vincent Drean 1.1 245 }
246 </script>
Jean-Vincent Drean 6.6 247 <a onclick="removeCtrlAltN(); return false;" href="#">Click here to try the snippet, it will remove the Ctrl+Alt+n shortcut</a>.
Jean-Vincent Drean 5.1 248 {{/html}}
Jean-Vincent Drean 1.1 249
Ecaterina Moraru (Valica) 12.1 250 == Removing all shortcuts at once ==
Jean-Vincent Drean 5.1 251
Thomas Mortagne 10.1 252 {{code language="html"}}
Jean-Vincent Drean 5.1 253 <script type="text/javascript">
254 //<![CDATA[
Clément Aubin 24.1 255 for (binding in shortcut.all_shortcuts()) {
256 shortcut.remove(binding.keys.join(' '));
Jean-Vincent Drean 5.1 257 }
258 //]]>
259 </script>
260 {{/code}}
261
262 {{velocity}}
Jean-Vincent Drean 6.5 263 #if (!$isGuest && $isAdvancedUser)
Jean-Vincent Drean 6.1 264 {{html clean="false"}}
Jean-Vincent Drean 5.1 265 <script type="text/javascript">
266 //<![CDATA[
Jean-Vincent Drean 6.6 267 function removeAll() {
Clément Aubin 27.1 268 for (binding in shortcut.all_shortcuts()) {
269 shortcut.remove(binding.keys.join(' '));
Jean-Vincent Drean 5.1 270 }
Jean-Vincent Drean 6.6 271 }
Jean-Vincent Drean 5.1 272 //]]>
273 </script>
Jean-Vincent Drean 6.6 274 <a onclick="removeAll(); return false;" href="#">Click here to try the snippet, it will disable all keyboard shortcuts</a>.
Jean-Vincent Drean 5.1 275 {{/html}}
276 #end
Silvia Macovei 7.3 277 {{/velocity}}
Jean-Vincent Drean 5.1 278
Ecaterina Moraru (Valica) 12.1 279 == Credits ==
Jean-Vincent Drean 1.1 280
Clément Aubin 24.1 281 XWiki keyboard shortcuts are powered by [[Keypress JS shortcut library>>https://dmauro.github.io/Keypress/]].

Get Connected