Highlight the modifier keys when they're toggled.
[guacamole.git] / src / main / webapp / layouts / en-us-qwerty-mobile.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!DOCTYPE keyboard PUBLIC
4     "-//Guacamole/Guacamole Onscreen Keyboard DTD 0.6.0//EN"
5     "http://guac-dev.org/pub/dtd/guacamole-osk-0.6.0.dtd">
6
7 <!--
8     Guacamole - Clientless Remote Desktop
9     Copyright (C) 2010  Michael Jumper
10
11     This program is free software: you can redistribute it and/or modify
12     it under the terms of the GNU Affero General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
15
16     This program is distributed in the hope that it will be useful,
17     but WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19     GNU Affero General Public License for more details.
20
21     You should have received a copy of the GNU Affero General Public License
22     along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 -->
24
25 <keyboard lang="en_US" layout="qwerty" size="16.3">
26     <row>
27         <key size="1.5">
28             <cap keysym="0xFF09">Tab</cap>
29         </key>
30         <gap size="0.1"/>
31         <key>
32             <cap>q</cap>
33             <cap if="numsym">1</cap>
34             <cap if="shift">Q</cap>
35             <cap if="numsym,shift">q</cap>
36         </key>
37         <gap size="0.1"/>
38         <key>
39             <cap>w</cap>
40             <cap if="numsym">2</cap>
41             <cap if="shift">W</cap>
42             <cap if="numsym,shift">w</cap>
43         </key>
44         <gap size="0.1"/>
45         <key>
46             <cap>e</cap>
47             <cap if="numsym">3</cap>
48             <cap if="shift">E</cap>
49             <cap if="numsym,shift">e</cap>
50         </key>
51         <gap size="0.1"/>
52         <key>
53             <cap>r</cap>
54             <cap if="numsym">4</cap>
55             <cap if="shift">R</cap>
56             <cap if="numsym,shift">r</cap>
57         </key>
58         <gap size="0.1"/>
59         <key>
60             <cap>t</cap>
61             <cap if="numsym">5</cap>
62             <cap if="shift">T</cap>
63             <cap if="numsym,shift">t</cap>
64         </key>
65         <gap size="0.1"/>
66         <key>
67             <cap>y</cap>
68             <cap if="numsym">6</cap>
69             <cap if="shift">Y</cap>
70             <cap if="numsym,shift">y</cap>
71         </key>
72         <gap size="0.1"/>
73         <key>
74             <cap>u</cap>
75             <cap if="numsym">7</cap>
76             <cap if="shift">U</cap>
77             <cap if="numsym,shift">u</cap>
78         </key>
79         <gap size="0.1"/>
80         <key>
81             <cap>i</cap>
82             <cap if="numsym">8</cap>
83             <cap if="shift">I</cap>
84             <cap if="numsym,shift">i</cap>
85         </key>
86         <gap size="0.1"/>
87         <key>
88             <cap>o</cap>
89             <cap if="numsym">9</cap>
90             <cap if="shift">O</cap>
91             <cap if="numsym,shift">o</cap>
92         </key>
93         <gap size="0.1"/>
94         <key>
95             <cap>p</cap>
96             <cap if="numsym">0</cap>
97             <cap if="shift">P</cap>
98             <cap if="numsym,shift">p</cap>
99         </key>
100         <gap size="0.1"/>
101         <key>
102             <cap>[</cap>
103             <cap if="shift">{</cap>
104         </key>
105         <gap size="0.1"/>
106         <key>
107             <cap>]</cap>
108             <cap if="shift">}</cap>
109         </key>
110         <gap size="0.1"/>
111         <key size="1.5">
112             <cap keysym="0xFF08">Back</cap>
113         </key>
114     </row>
115
116     <row><gap size="0.1"/></row>
117
118     <row>
119         <key size="1.85" class="numsym">
120             <cap modifier="numsym" sticky="true">?123</cap>
121         </key>
122         <gap size="0.1"/>
123         <key>
124             <cap>a</cap>
125             <cap if="numsym">#</cap>
126             <cap if="shift">A</cap>
127             <cap if="numsym,shift">a</cap>
128         </key>
129         <gap size="0.1"/>
130         <key>
131             <cap>s</cap>
132             <cap if="numsym">$</cap>
133             <cap if="shift">S</cap>
134             <cap if="numsym,shift">s</cap>
135         </key>
136         <gap size="0.1"/>
137         <key>
138             <cap>d</cap>
139             <cap if="numsym">%</cap>
140             <cap if="shift">D</cap>
141             <cap if="numsym,shift">d</cap>
142         </key>
143         <gap size="0.1"/>
144         <key>
145             <cap>f</cap>
146             <cap if="numsym">&amp;</cap>
147             <cap if="shift">F</cap>
148             <cap if="numsym,shift">f</cap>
149         </key>
150         <gap size="0.1"/>
151         <key>
152             <cap>g</cap>
153             <cap if="numsym">*</cap>
154             <cap if="shift">G</cap>
155             <cap if="numsym,shift">g</cap>
156         </key>
157         <gap size="0.1"/>
158         <key>
159             <cap>h</cap>
160             <cap if="numsym">-</cap>
161             <cap if="shift">H</cap>
162             <cap if="numsym,shift">h</cap>
163         </key>
164         <gap size="0.1"/>
165         <key>
166             <cap>j</cap>
167             <cap if="numsym">+</cap>
168             <cap if="shift">J</cap>
169             <cap if="numsym,shift">j</cap>
170         </key>
171         <gap size="0.1"/>
172         <key>
173             <cap>k</cap>
174             <cap if="numsym">(</cap>
175             <cap if="shift">K</cap>
176             <cap if="numsym,shift">k</cap>
177         </key>
178         <gap size="0.1"/>
179         <key>
180             <cap>l</cap>
181             <cap if="numsym">)</cap>
182             <cap if="shift">L</cap>
183             <cap if="numsym,shift">l</cap>
184         </key>
185         <gap size="0.1"/>
186         <key>
187             <cap>;</cap>
188             <cap if="shift">:</cap>
189         </key>
190         <gap size="0.1"/>
191         <key>
192             <cap>'</cap>
193             <cap if="shift">"</cap>
194         </key>
195         <gap size="0.1"/>
196         <key size="2.25">
197             <cap keysym="0xFF0D">Enter</cap>
198         </key>
199     </row>
200
201     <row><gap size="0.1"/></row>
202
203     <row>
204         <key size="2.1" class="shift">
205             <cap modifier="shift" keysym="0xFFE1">Shift</cap>
206         </key>
207         <gap size="0.1"/>
208         <key>
209             <cap>z</cap>
210             <cap if="numsym">&lt;</cap>
211             <cap if="shift">Z</cap>
212             <cap if="numsym,shift">z</cap>
213         </key>
214         <gap size="0.1"/>
215         <key>
216             <cap>x</cap>
217             <cap if="numsym">&gt;</cap>
218             <cap if="shift">X</cap>
219             <cap if="numsym,shift">x</cap>
220         </key>
221         <gap size="0.1"/>
222         <key>
223             <cap>c</cap>
224             <cap if="numsym">=</cap>
225             <cap if="shift">C</cap>
226             <cap if="numsym,shift">c</cap>
227         </key>
228         <gap size="0.1"/>
229         <key>
230             <cap>v</cap>
231             <cap if="numsym">'</cap>
232             <cap if="shift">V</cap>
233             <cap if="numsym,shift">v</cap>
234         </key>
235         <gap size="0.1"/>
236         <key>
237             <cap>b</cap>
238             <cap if="numsym">;</cap>
239             <cap if="shift">B</cap>
240             <cap if="numsym,shift">b</cap>
241         </key>
242         <gap size="0.1"/>
243         <key>
244             <cap>n</cap>
245             <cap if="numsym">,</cap>
246             <cap if="shift">N</cap>
247             <cap if="numsym,shift">n</cap>
248         </key>
249         <gap size="0.1"/>
250         <key>
251             <cap>m</cap>
252             <cap if="numsym">.</cap>
253             <cap if="shift">M</cap>
254             <cap if="numsym,shift">m</cap>
255         </key>
256         <gap size="0.1"/>
257         <key>
258             <cap>,</cap>
259             <cap if="numsym">!</cap>
260             <cap if="shift">!</cap>
261             <cap if="numsym,shift">!</cap>
262         </key>
263         <gap size="0.1"/>
264         <key>
265             <cap>.</cap>
266             <cap if="numsym">?</cap>
267             <cap if="shift">?</cap>
268             <cap if="numsym,shift">?</cap>
269         </key>
270         <gap size="0.1"/>
271         <key>
272             <cap>/</cap>
273             <cap if="shift">?</cap>
274         </key>
275         <gap size="0.1"/>
276         <key size="3.1" class="shift">
277             <cap modifier="shift" keysym="0xFFE2">Shift</cap>
278         </key>
279     </row>
280
281     <row><gap size="0.1"/></row>
282
283     <row>
284         <key size="1.6" class="control">
285             <cap modifier="control" keysym="0xFFE3">Ctrl</cap>
286         </key>
287         <gap size="0.1"/>
288         <key size="1.6" class="super">
289             <cap modifier="super" keysym="0xFFEB">Super</cap>
290         </key>
291         <gap size="0.1"/>
292         <key size="1.6" class="alt">
293             <cap modifier="alt" keysym="0xFFE9">Alt</cap>
294         </key>
295         <gap size="0.1"/>
296         <key size="6.1">
297             <cap> </cap>
298         </key>
299         <gap size="0.1"/>
300         <key size="1.6" class="alt">
301             <cap modifier="alt" keysym="0xFFEA">Alt</cap>
302         </key>
303         <gap size="0.1"/>
304         <key size="1.6">
305             <cap keysym="0xFF67">Menu</cap>
306         </key>
307         <gap size="0.1"/>
308         <key size="1.6" class="control">
309             <cap modifier="control" keysym="0xFFE4">Ctrl</cap>
310         </key>
311     </row>
312 </keyboard>