~onboard/onboard/1.1

1023 by marmuta
Add layout templates and move common key definitions to the new file 'templates.xml'.
1
<?xml version='1.0' encoding='UTF-8'?>
1024 by marmuta
Allow to move include tags to the topmost level of the layout tree. Always add one additional item as root, representing the 'keyboard' tag, where stuff (e.g. templates) can be included into.
2
<keyboard format='2.2'>
1031 by marmuta
Show nicer labels in the number block. New layout tag keysym_rule to define keysym-specific labels. Provide keysym rules for the number block. Requires python-virtkey >= 0.62.
3
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
4
    <!-- common key definitions -->
5
6
    <key_template id='AB01' keycode='52'/>
7
    <key_template id='AB02' keycode='53'/>
8
    <key_template id='AB03' keycode='54'/>
9
    <key_template id='AB04' keycode='55'/>
10
    <key_template id='AB05' keycode='56'/>
11
    <key_template id='AB06' keycode='57'/>
12
    <key_template id='AB07' keycode='58'/>
13
    <key_template id='AB08' keycode='59'/>
14
    <key_template id='AB09' keycode='60'/>
15
    <key_template id='AB10' keycode='61'/>
16
    <key_template id='AC01' keycode='38'/>
17
    <key_template id='AC02' keycode='39'/>
18
    <key_template id='AC03' keycode='40'/>
19
    <key_template id='AC04' keycode='41'/>
20
    <key_template id='AC05' keycode='42'/>
21
    <key_template id='AC06' keycode='43'/>
22
    <key_template id='AC07' keycode='44'/>
23
    <key_template id='AC08' keycode='45'/>
24
    <key_template id='AC09' keycode='46'/>
25
    <key_template id='AC10' keycode='47'/>
26
    <key_template id='AC11' keycode='48'/>
27
    <key_template id='AD01' keycode='24'/>
28
    <key_template id='AD02' keycode='25'/>
29
    <key_template id='AD03' keycode='26'/>
30
    <key_template id='AD04' keycode='27'/>
31
    <key_template id='AD05' keycode='28'/>
32
    <key_template id='AD06' keycode='29'/>
33
    <key_template id='AD07' keycode='30'/>
34
    <key_template id='AD08' keycode='31'/>
35
    <key_template id='AD09' keycode='32'/>
36
    <key_template id='AD10' keycode='33'/>
37
    <key_template id='AD11' keycode='34'/>
38
    <key_template id='AD12' keycode='35'/>
39
    <key_template id='AE01' keycode='10'/>
40
    <key_template id='AE02' keycode='11'/>
41
    <key_template id='AE03' keycode='12'/>
42
    <key_template id='AE04' keycode='13'/>
43
    <key_template id='AE05' keycode='14'/>
44
    <key_template id='AE06' keycode='15'/>
45
    <key_template id='AE07' keycode='16'/>
46
    <key_template id='AE08' keycode='17'/>
47
    <key_template id='AE09' keycode='18'/>
48
    <key_template id='AE10' keycode='19'/>
49
    <key_template id='AE11' keycode='20'/>
50
    <key_template id='AE12' keycode='21'/>
51
    <key_template id='TLDE' keycode='49'/>
52
    <key_template id='LSGT' keycode='94'/>
53
    <key_template id='BKSL' keycode='51'/>
54
55
    <key_template id='CAPS' keycode='66'  label='⇪'      modifier='caps'    sticky='true' label_x_align='0.0' sticky_behavior='lock' action='double-stroke'/>
1107 by marmuta
Switch a bunch of editing keys to send keycodes instead of keysyms, as AT-SPI apparently doesn't allow for key repeat when sending keysyms.'
56
    <key_template id='LFSH' keycode='62'  label='⇧'      modifier='shift'   sticky='true' label_x_align='0.0' action='single-stroke'/>
57
    <key_template id='RTSH' keycode='50'  label='⇧'      modifier='shift'   sticky='true' label_x_align='0.0' action='single-stroke'/>
58
    <key_template id='LCTL' keycode='37'  label='Ctrl'   modifier='control' sticky='true' action='single-stroke'/>
59
    <key_template id='RCTL' keycode='105' label='Ctrl'   modifier='control' sticky='true' action='single-stroke'/>
60
    <key_template id='LALT' keycode='64'  label='Alt'    modifier='mod1'    sticky='true' action='single-stroke'/>
61
    <key_template id='RALT' keycode='108' label='Alt Gr' modifier='mod5'    sticky='true' action='single-stroke'/>
62
    <key_template id='LWIN' keycode='133' label='Win'    modifier='mod4'    sticky='true' action='single-stroke'/>
63
    <key_template id='RWIN' keycode='134' label='Win'    modifier='mod4'    sticky='true' action='single-stroke'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
64
1107 by marmuta
Switch a bunch of editing keys to send keycodes instead of keysyms, as AT-SPI apparently doesn't allow for key repeat when sending keysyms.'
65
    <key_template id='TAB'  keycode='23'  label='⇥'  label_x_align='0.0' action='single-stroke'/>
66
    <key_template id='BKSP' keycode='22'  image='erase-left.svg' action='single-stroke'/>
1680 by marmuta
Keep the 'Return' arrow slightly away from right key edges. Helps in Grid, Phone, Small.
67
    <key_template id='RTRN' keycode='36'  label='⏎'  label_x_align='0.1' action='single-stroke'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
68
    <key_template id='MENU' keycode='135' label='Menu'  action='delayed-stroke'/>
69
1497 by marmuta
No more key repeat for the space key. Reduces risk of accidentally inserted multiples spaces while the spell checker is busy.
70
    <key_template id='SPCE' keycode='65'/>
1107 by marmuta
Switch a bunch of editing keys to send keycodes instead of keysyms, as AT-SPI apparently doesn't allow for key repeat when sending keysyms.'
71
72
    <key_template id='Prnt'   keysym='65377' label='Prnt' action='single-stroke'/>
73
    <key_template id='Pause'  keysym='65299' label='Pause' action='single-stroke'/>
74
    <key_template id='Scroll' keysym='65300' label='Scroll' action='single-stroke'/>
75
76
    <key_template id='LEFT' keycode='113' label='←' action='single-stroke'/>
77
    <key_template id='RGHT' keycode='114' label='→' action='single-stroke'/>
78
    <key_template id='UP'   keycode='111' label='↑' action='single-stroke'/>
79
    <key_template id='DOWN' keycode='116' label='↓' action='single-stroke'/>
80
    <key_template id='INS'  keycode='118' label='Ins' action='single-stroke'/>
81
    <key_template id='DELE' keycode='119' label=''  image='erase.svg' action='single-stroke'/>
82
    <key_template id='HOME' keycode='110' label='Hm' action='single-stroke'/>
83
    <key_template id='END'  keycode='115' label='End' action='single-stroke'/>
84
    <key_template id='PGUP' keycode='112' label='Pg&#10;Up' action='single-stroke'/>
85
    <key_template id='PGDN' keycode='117' label='Pg&#10;Dn' action='single-stroke'/>
86
    <key_template id='ESC'  keycode='9'   label='Esc' action='single-stroke'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
87
88
    <!-- function keys -->
1107 by marmuta
Switch a bunch of editing keys to send keycodes instead of keysyms, as AT-SPI apparently doesn't allow for key repeat when sending keysyms.'
89
    <key_template id='F1' keysym='65470' label='F1' action='single-stroke'/>
90
    <key_template id='F2' keysym='65471' label='F2' action='single-stroke'/>
91
    <key_template id='F3' keysym='65472' label='F3' action='single-stroke'/>
92
    <key_template id='F4' keysym='65473' label='F4' action='single-stroke'/>
93
    <key_template id='F5' keysym='65474' label='F5' action='single-stroke'/>
94
    <key_template id='F6' keysym='65475' label='F6' action='single-stroke'/>
95
    <key_template id='F7' keysym='65476' label='F7' action='single-stroke'/>
96
    <key_template id='F8' keysym='65477' label='F8' action='single-stroke'/>
97
    <key_template id='F9' keysym='65478' label='F9' action='single-stroke'/>
98
    <key_template id='F10' keysym='65479' label='F10' action='single-stroke'/>
99
    <key_template id='F11' keysym='65480' label='F11' action='single-stroke'/>
100
    <key_template id='F12' keysym='65481' label='F12' action='single-stroke'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
101
102
    <!-- number pad -->
1043 by marmuta
Return modifiers to setting the X modifier state in addition to sending keycodes. Return NumLock to sending keycodes. The states of at least CAPS and Numlock did get out of sync when working with a hardware keyboard in parallel.
103
    <key_template id='NMLK' keycode='77' label='Nm&#10;Lk' modifier='mod2' sticky='true' sticky_behavior='lock' action='double-stroke'/>
1107 by marmuta
Switch a bunch of editing keys to send keycodes instead of keysyms, as AT-SPI apparently doesn't allow for key repeat when sending keysyms.'
104
    <key_template id='KPDV' keycode='106' action='single-stroke'/>
105
    <key_template id='KPMU' keycode='63' action='single-stroke'/>
106
    <key_template id='KPSU' keycode='82' action='single-stroke'/>
107
    <key_template id='KPAD' keycode='86' action='single-stroke'/>
108
    <key_template id='KP0'  keycode='90' action='single-stroke'/>
109
    <key_template id='KP1'  keycode='87' action='single-stroke'/>
110
    <key_template id='KP2'  keycode='88' action='single-stroke'/>
111
    <key_template id='KP3'  keycode='89' action='single-stroke'/>
112
    <key_template id='KP4'  keycode='83' action='single-stroke'/>
113
    <key_template id='KP5'  keycode='84' action='single-stroke'/>
114
    <key_template id='KP6'  keycode='85' action='single-stroke'/>
115
    <key_template id='KP7'  keycode='79' action='single-stroke'/>
116
    <key_template id='KP8'  keycode='80' action='single-stroke'/>
117
    <key_template id='KP9'  keycode='81' action='single-stroke'/>
118
    <key_template id='KPDL' keycode='91' action='single-stroke'/>
119
    <key_template id='KPEN' keycode='104' action='single-stroke'/>
1031 by marmuta
Show nicer labels in the number block. New layout tag keysym_rule to define keysym-specific labels. Provide keysym rules for the number block. Requires python-virtkey >= 0.62.
120
1041 by marmuta
Switch numpad operators to keycodes and give them nicer labels with keysym_rules.
121
    <keysym_rule keysym='0xffaf' label='÷'/>         <!-- KP_Divide -->
122
    <keysym_rule keysym='0xffaa' label='×'/>         <!-- KP_Multiply -->
123
    <keysym_rule keysym='0xffad' label='−'/>         <!-- KP_Subtract -->
1048 by Francesco Fumanti
Fix wrong comment
124
    <keysym_rule keysym='0xffab' label='+'/>         <!-- KP_Add -->
1041 by marmuta
Switch numpad operators to keycodes and give them nicer labels with keysym_rules.
125
1031 by marmuta
Show nicer labels in the number block. New layout tag keysym_rule to define keysym-specific labels. Provide keysym rules for the number block. Requires python-virtkey >= 0.62.
126
    <!-- number pad labels for NumLock=off -->
127
    <keysym_rule keysym='0xff96' label='←'/>         <!-- KP_Left -->
128
    <keysym_rule keysym='0xff98' label='→'/>         <!-- KP_Right -->
129
    <keysym_rule keysym='0xff97' label='↑'/>         <!-- KP_Up -->
130
    <keysym_rule keysym='0xff99' label='↓'/>         <!-- KP_Down -->
131
    <keysym_rule keysym='0xff95' label='Hm'/>        <!-- KP_Home -->
132
    <keysym_rule keysym='0xff9c' label='End'/>       <!-- KP_End -->
133
    <keysym_rule keysym='0xff9a' label='Pg&#10;Up'/> <!-- KP_Prior -->
134
    <keysym_rule keysym='0xff9b' label='Pg&#10;Dn'/> <!-- KP_Next -->
135
    <keysym_rule keysym='0xff9d' label=''/>          <!-- KP_Begin -->
136
    <keysym_rule keysym='0xff9e' label='Ins'/>       <!-- KP_Insert -->
1047 by marmuta
Switch the remaining number pad keys Del and Enter to keycodes too. Assign keysym rules instead of hard-coded labels.
137
    <keysym_rule keysym='0xff9f' label='Del'/>       <!-- KP_Delete -->
138
    <keysym_rule keysym='0xff8b' label='Ent'/>       <!-- KP_Enter -->
1031 by marmuta
Show nicer labels in the number block. New layout tag keysym_rule to define keysym-specific labels. Provide keysym rules for the number block. Requires python-virtkey >= 0.62.
139
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
140
    <!-- snippets -->
141
    <key_template id='m0'  macro='0'/>
142
    <key_template id='m1'  macro='1'/>
143
    <key_template id='m2'  macro='2'/>
144
    <key_template id='m3'  macro='3'/>
145
    <key_template id='m4'  macro='4'/>
146
    <key_template id='m5'  macro='5'/>
147
    <key_template id='m6'  macro='6'/>
148
    <key_template id='m7'  macro='7'/>
149
    <key_template id='m8'  macro='8'/>
150
    <key_template id='m9'  macro='9'/>
151
    <key_template id='m10' macro='10'/>
152
    <key_template id='m11' macro='11'/>
153
    <key_template id='m12' macro='12'/>
154
    <key_template id='m13' macro='13'/>
155
    <key_template id='m14' macro='14'/>
156
    <key_template id='m15' macro='15'/>
157
158
    <!-- click helpers -->
159
    <key_template id='middleclick'    button='true' image='middle-click.svg' scannable='false' tooltip='Middle click'/>
160
    <key_template id='secondaryclick' button='true' image='right-click.svg'  scannable='false' tooltip='Right click'/>
161
    <key_template id='doubleclick'    button='true' image='double-click.svg' scannable='false' tooltip='Double click'/>
162
    <key_template id='dragclick'      button='true' image='drag-click.svg'   scannable='false' tooltip='Drag click'/>
163
    <key_template id='hoverclick'     button='true' image='hover-click.svg'  scannable='false' tooltip='Activate Hover Click'/>
164
165
    <!-- misc buttons -->
166
    <key_template id='quit'           button='true' label='Quit' tooltip='Quit Onboard'/>
167
    <key_template id='settings'       button='true' image='preferences.svg' tooltip='Preferences'/>
168
    <key_template id='hide'           button='true' image='close.svg' tooltip='Hide Onboard' scannable='false'/>
169
    <key_template id='move'           button='true' image='move.svg' tooltip='Move Onboard' scannable='false'/>
170
    <key_template id='showclick'      button='true' image='show-click.svg' tooltip='Toggle click helpers' scannable='false'/>
171
    <key_template id='layer0'         button='true' label='Abc' tooltip='Main keyboard'/>
172
    <key_template id='layer1'         button='true' label='123' tooltip='Number block and snippets'/>
1340 by marmuta
Add key templates for more layers.
173
    <key_template id='layer2'         button='true' image='snippets.svg' tooltip='Snippets'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
174
    <key_template id='layer3'         button='true'/>
175
    <key_template id='layer4'         button='true'/>
1340 by marmuta
Add key templates for more layers.
176
    <key_template id='layer5'         button='true'/>
177
    <key_template id='layer6'         button='true'/>
178
    <key_template id='layer7'         button='true'/>
1034 by marmuta
Get rid of the templates tag, have a key_template tag instead that can be joined by keysym_rule tags at the same nesting level.
179
187.1.267 by marmuta
Rework the input line: add working scrolling, display the caret, support LTR and RTL script directions (works with gedit at least).
180
    <!-- word prediction -->
181
    <key_template id='inputline' label='' button='true' scannable='false' label_x_align='0.0'/>
1023 by marmuta
Add layout templates and move common key definitions to the new file 'templates.xml'.
182
</keyboard>
183