Wiki source code of XWiki Keyboard Shortcuts

Version 26.1 by Clément Aubin on 2017/11/27

Show last authors
1 {{velocity}}
2 $xwiki.ssx.use("Features.KeyboardShortcuts")
3 {{/velocity}}
4
5 {{box cssClass="floatinginfobox" title="**Contents**"}}
6 {{toc/}}
7 {{/box}}
8
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.
10
11 = Using keyboard shortcuts =
12
13 == View Mode ==
14
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}}
18
19 === a) Edit Actions ===
20
21 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate edit actions" %)
22 | (% class="shortcut" %)
23 (((
24 (% class="key" %)E
25 )))|Edit the page using the default edition mode
26 | (% class="shortcut" %)
27 (((
28 (% class="key" %)K
29 )))|Edit the page in wiki edition mode
30 | (% class="shortcut" %)
31 (((
32 (% class="key" %)G
33 )))|Edit the page using the WYSIWYG editor
34 | (% class="shortcut" %)
35 (((
36 (% class="key" %)F
37 )))|Inline Form
38 | (% class="shortcut" %)
39 (((
40 (% class="key" %)R
41 )))|Edit page access rights
42 | (% class="shortcut" %)
43 (((
44 (% class="key" %)O
45 )))|Edit page objects
46 | (% class="shortcut" %)
47 (((
48 (% class="key" %)S
49 )))|Edit class
50
51 === b) View Actions ===
52
53 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate view actions" %)
54 | (% class="shortcut" %)
55 (((
56 (% class="key" %)C
57 )))|Go to page comments
58 | (% class="shortcut" %)
59 (((
60 (% class="key" %)A
61 )))|Go to page attachments
62 | (% class="shortcut" %)
63 (((
64 (% class="key" %)H
65 )))|Go to page history
66 | (% class="shortcut" %)
67 (((
68 (% class="key" %)I
69 )))|Go to page information
70 | (% class="shortcut" %)
71 (((
72 (% class="key" %)D
73 )))|View page wiki code
74
75 === c) Other Actions ===
76
77 (% class="keyboard" summary="Keyboard Shortcuts for View Mode in order to activate other actions" %)
78 | (% class="shortcut" %)
79 (((
80 (% class="key" %)F2
81 )))|Rename page
82 | (% class="shortcut" %)
83 (((
84 (% class="key" %)Delete
85 )))|Delete page
86
87 == Edit Wiki & Edit Inline Mode ==
88
89 {{warning}}
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.
91 {{/warning}}
92
93 (% class="keyboard" summary="Keyboard Shortcuts for Edit Wiki and Inline Mode" %)
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
110
111 == Edit WYSIWYG Mode ==
112
113 {{include document="platform:Features.WysiwygEditorShortcuts"/}}
114
115 == Preview Mode ==
116
117 (% class="keyboard" summary="Keyboard Shortcuts for Preview Mode" %)
118 | (% class="shortcut" %)
119 (((
120 (% class="key" %)Alt(%%) + (% class="key" %)C
121 )))|Cancel edition
122 | (% class="shortcut" %)
123 (((
124 (% class="key" %)Alt(%%) + (% class="key" %)B
125 )))|Back to the edition
126 | (% class="shortcut" %)
127 (((
128 (% class="key" %)Alt(%%) + (% class="key" %)Shift(%%) + (% class="key" %)S
129 )))|Save and continue to edit the page
130 | (% class="shortcut" %)
131 (((
132 (% class="key" %)Alt(%%) + (% class="key" %)S
133 )))|Save and view the page
134
135 == Annotations ==
136
137 (% class="keyboard" summary="Keyboard Shortcuts for Annotations" %)
138 | (% class="shortcut" %)
139 (((
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
142 )))|Annotate a piece of text
143
144 == Navigation ==
145
146 (% class="keyboard" summary="Keyboard Shortcuts for Navigation" %)
147 | (% class="shortcut" %)
148 (((
149 (% class="key" %)Ctrl(%%) + (% class="key" %)G
150 )))(% class="separator" %)or(%%) (% class="shortcut" %)
151 (((
152 (% class="key" %)Meta(%%) + (% class="key" %)G
153 )))|Jump to any page in the wiki
154
155 == Developer shortcuts ==
156
157 {{info}}Since 9.11{{/info}}, the following key sequences can be used to toggle specific actions on the current logged in user:
158
159 (% class="keyboard" summary="Keyboard Shortcuts for developers" %)
160 | (% class="shortcut" %)
161 (((
162 (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)a
163 )))|Toggle advanced user mode for the current user.
164
165 (% class="keyboard" summary="Keyboard Shortcuts for developers" %)
166 | (% class="shortcut" %)
167 (((
168 (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)x(%%) (% class="key" %)h
169 )))|Toggle hidden pages for the current user.
170 ~{~{/Since}}
171
172 = Configuring keyboard shortcuts =
173
174 == Modifying keyboard shortcuts ==
175
176 * Create a new page in your wiki, for example //XWiki.KeyboardShortcuts// and paste the following content inside:(((
177 {{code}}
178 core.shortcuts.view.edit=e
179 core.shortcuts.view.wiki=k
180 core.shortcuts.view.wysiwyg=g
181 core.shortcuts.view.inline=f
182 core.shortcuts.view.rights=r
183 core.shortcuts.view.objects=o
184 core.shortcuts.view.class=s
185 core.shortcuts.view.comments=c
186 core.shortcuts.view.attachments=a
187 core.shortcuts.view.history=h
188 core.shortcuts.view.information=i
189 core.shortcuts.view.code=d
190 core.shortcuts.view.delete=Delete
191 core.shortcuts.view.rename=F2
192 core.shortcuts.edit.cancel=Alt+C
193 core.shortcuts.edit.backtoedit=Alt+B
194 core.shortcuts.edit.preview=Alt+P
195 core.shortcuts.edit.saveandcontinue=Alt+Shift+S
196 core.shortcuts.edit.saveandview=Alt+S
197 {{/code}}
198 )))
199 * Modify entries in this list at your convenience
200 * Save the page
201 * Go to the wiki administration into the "//Programming//" category
202 * At the bottom, add //XWiki.KeyboardShortcuts// to the "//Internationalization Document Bundles//" list
203
204 == Adding your own shortcuts ==
205
206 You can add your own keyboard shortcuts in a few javascript lines :
207
208 {{code language="html"}}
209 <script type="text/javascript">
210 //<![CDATA[
211 shortcut.add("Ctrl+Alt+n", function() { alert("Hey there! Congratulations on typing this one ;)"); });
212 //]]>
213 </script>
214 {{/code}}
215
216 {{html clean="false"}}
217 <script type="text/javascript">
218 shortcut.add("Ctrl+Alt+n", function() { alert("Hey there! Congratulations on typing this one ;)"); }, {'propagate':false} );
219 </script>
220 {{/html}}
221
222 Try the snippet by pressing (% class="key" %)**Ctrl**(%%) + (% class="key" %)**Alt**(%%) + (% class="key" %)**n**(%%).
223
224 Also check the [[complete documentation>>https://dmauro.github.io/Keypress/]].
225
226 == Removing keyboard shortcuts ==
227
228 To remove a shortcut adapt this snippet to your needs :
229
230 {{code language="html"}}
231 <script type="text/javascript">
232 //<![CDATA[
233 shortcut.remove("Ctrl+Alt+n");
234 //]]>
235 </script>
236 {{/code}}
237
238 {{html clean="false"}}
239 <script type="text/javascript">
240 function removeCtrlAltN() {
241 shortcut.remove("Ctrl+Alt+n");
242 }
243 </script>
244 <a onclick="removeCtrlAltN(); return false;" href="#">Click here to try the snippet, it will remove the Ctrl+Alt+n shortcut</a>.
245 {{/html}}
246
247 == Removing all shortcuts at once ==
248
249 {{code language="html"}}
250 <script type="text/javascript">
251 //<![CDATA[
252 for (binding in shortcut.all_shortcuts()) {
253 shortcut.remove(binding.keys.join(' '));
254 }
255 //]]>
256 </script>
257 {{/code}}
258
259 {{velocity}}
260 #if (!$isGuest && $isAdvancedUser)
261 {{html clean="false"}}
262 <script type="text/javascript">
263 //<![CDATA[
264 function removeAll() {
265 for (binding in shortcut.all_shortcuts) {
266 shortcut.remove(binding);
267 }
268 }
269 //]]>
270 </script>
271 <a onclick="removeAll(); return false;" href="#">Click here to try the snippet, it will disable all keyboard shortcuts</a>.
272 {{/html}}
273 #end
274 {{/velocity}}
275
276 == Credits ==
277
278 XWiki keyboard shortcuts are powered by [[Keypress JS shortcut library>>https://dmauro.github.io/Keypress/]].

Get Connected