Wiki source code of XWiki Keyboard Shortcuts
Version 22.2 by Clément Aubin on 2017/11/07
Show last authors
author | version | line-number | content |
---|---|---|---|
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/]]. |