Wiki source code of XWiki Keyboard Shortcuts

Version 22.2 by Clément Aubin on 2017/11/07

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 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
171 = Configuring keyboard shortcuts =
172
173 == Modifying keyboard shortcuts ==
174
175 * Create a new page in your wiki, for example //XWiki.KeyboardShortcuts// and paste the following content inside:(((
176 {{code}}
177 core.shortcuts.view.edit=e
178 core.shortcuts.view.wiki=k
179 core.shortcuts.view.wysiwyg=g
180 core.shortcuts.view.inline=f
181 core.shortcuts.view.rights=r
182 core.shortcuts.view.objects=o
183 core.shortcuts.view.class=s
184 core.shortcuts.view.comments=c
185 core.shortcuts.view.attachments=a
186 core.shortcuts.view.history=h
187 core.shortcuts.view.information=i
188 core.shortcuts.view.code=d
189 core.shortcuts.view.delete=Delete
190 core.shortcuts.view.rename=F2
191 core.shortcuts.edit.cancel=Alt+C
192 core.shortcuts.edit.backtoedit=Alt+B
193 core.shortcuts.edit.preview=Alt+P
194 core.shortcuts.edit.saveandcontinue=Alt+Shift+S
195 core.shortcuts.edit.saveandview=Alt+S
196 {{/code}}
197 )))
198 * Modify entries in this list at your convenience
199 * Save the page
200 * Go to the wiki administration into the "//Programming//" category
201 * At the bottom, add //XWiki.KeyboardShortcuts// to the "//Internationalization Document Bundles//" list
202
203 == Adding your own shortcuts ==
204
205 You can add your own keyboard shortcuts in a few javascript lines :
206
207 {{code language="html"}}
208 <script type="text/javascript">
209 //<![CDATA[
210 shortcut.add("Ctrl+Alt+N", function() { alert("Hey there! Congratulations on typing this one ;)"); });
211 //]]>
212 </script>
213 {{/code}}
214
215 {{html clean="false"}}
216 <script type="text/javascript">
217 shortcut.add("Ctrl+Alt+N", function() { alert("Hey there! Congratulations on typing this one ;)"); });
218 </script>
219 {{/html}}
220
221 Try the snippet by pressing (% class="key" %)**Ctrl**(%%) + (% class="key" %)**Alt**(%%) + (% class="key" %)**n**(%%).
222
223 Also check the [[complete documentation>>https://dmauro.github.io/Keypress/]].
224
225 == Removing keyboard shortcuts ==
226
227 To remove a shortcut adapt this snippet to your needs :
228
229 {{code language="html"}}
230 <script type="text/javascript">
231 //<![CDATA[
232 shortcut.remove("Ctrl+Alt+N");
233 //]]>
234 </script>
235 {{/code}}
236
237 {{html clean="false"}}
238 <script type="text/javascript">
239 function removeCtrlAltN() {
240 shortcut.remove("Ctrl+Alt+N");
241 }
242 </script>
243 <a onclick="removeCtrlAltN(); return false;" href="#">Click here to try the snippet, it will remove the Ctrl+Alt+n shortcut</a>.
244 {{/html}}
245
246 == Removing all shortcuts at once ==
247
248 {{code language="html"}}
249 <script type="text/javascript">
250 //<![CDATA[
251 for (binding in shortcut.all_shortcuts()) {
252 shortcut.remove(binding.keys.join(' '));
253 }
254 //]]>
255 </script>
256 {{/code}}
257
258 {{velocity}}
259 #if (!$isGuest && $isAdvancedUser)
260 {{html clean="false"}}
261 <script type="text/javascript">
262 //<![CDATA[
263 function removeAll() {
264 for (binding in shortcut.all_shortcuts()) {
265 shortcut.remove(binding.keys.join(' '));
266 }
267 }
268 //]]>
269 </script>
270 <a onclick="removeAll(); return false;" href="#">Click here to try the snippet, it will disable all keyboard shortcuts</a>.
271 {{/html}}
272 #end
273 {{/velocity}}
274
275 == Credits ==
276
277 XWiki keyboard shortcuts are powered by [[Keypress JS shortcut library>>https://dmauro.github.io/Keypress/]].

Get Connected