Mac Keylayout Testing Tool
This is an online tool for viewing, editing, and debugging .keylayout files (XML keyboard layout definitions) for macOS.
1
<?xml version="1.1" encoding="UTF-8"?>2
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">3
<keyboard group="126" id="-1494" name="MyKeyboard" maxout="1">4
<layouts>5
<layout first="0" last="17" mapSet="ANSI" modifiers="Modifiers"/>6
<layout first="18" last="18" mapSet="JIS" modifiers="Modifiers"/>7
<layout first="21" last="23" mapSet="JIS" modifiers="Modifiers"/>8
<layout first="30" last="30" mapSet="JIS" modifiers="Modifiers"/>9
<layout first="33" last="33" mapSet="JIS" modifiers="Modifiers"/>10
<layout first="36" last="36" mapSet="JIS" modifiers="Modifiers"/>11
<layout first="194" last="194" mapSet="JIS" modifiers="Modifiers"/>12
<layout first="197" last="197" mapSet="JIS" modifiers="Modifiers"/>13
<layout first="200" last="201" mapSet="JIS" modifiers="Modifiers"/>14
<layout first="206" last="207" mapSet="JIS" modifiers="Modifiers"/>15
</layouts>16
<modifierMap id="Modifiers" defaultIndex="6">17
<keyMapSelect mapIndex="0">18
<modifier keys=""/>19
</keyMapSelect>20
<keyMapSelect mapIndex="1">21
<modifier keys="anyShift"/>22
</keyMapSelect>23
<keyMapSelect mapIndex="2">24
<modifier keys="anyOption"/>25
</keyMapSelect>26
<keyMapSelect mapIndex="3">27
<modifier keys="anyShift caps? anyOption"/>28
</keyMapSelect>29
<keyMapSelect mapIndex="4">30
<modifier keys="command"/>31
</keyMapSelect>32
<keyMapSelect mapIndex="5">33
<modifier keys="caps"/>34
</keyMapSelect>35
<keyMapSelect mapIndex="6">36
<modifier keys="anyControl"/>37
</keyMapSelect>38
</modifierMap>39
<keyMapSet id="ANSI">40
<keyMap index="0">41
<key code="0" output=""/>42
<key code="1" output=""/>43
<key code="2" output=""/>44
<key code="3" output="h"/>45
<key code="4" output="l"/>46
<key code="5" output="e"/>47
<key code="6" output=""/>48
<key code="7" output=""/>49
<key code="8" output=""/>50
<key code="9" output=""/>51
<key code="10" output=""/>52
<key code="11" output=""/>53
<key code="12" output=""/>54
<key code="13" output=""/>55
<key code="14" output=""/>56
<key code="15" output=""/>57
<key code="16" output=""/>58
<key code="17" output=""/>59
<key code="18" output=""/>60
<key code="19" output=""/>61
<key code="20" output=""/>62
<key code="21" output=""/>63
<key code="22" output=""/>64
<key code="23" output=""/>65
<key code="24" output=""/>66
<key code="25" output=""/>67
<key code="26" output=""/>68
<key code="27" output=""/>69
<key code="28" output=""/>70
<key code="29" output=""/>71
<key code="30" output=""/>72
<key code="31" output=""/>73
<key code="32" output=""/>74
<key code="33" output=""/>75
<key code="34" output=""/>76
<key code="35" output=""/>77
<key code="36" output="
"/>78
<key code="37" output=""/>79
<key code="38" output="o"/>80
<key code="39" output=""/>81
<key code="40" output=""/>82
<key code="41" output=""/>83
<key code="42" output=""/>84
<key code="43" output=""/>85
<key code="44" output=""/>86
<key code="45" output=""/>87
<key code="46" output=""/>88
<key code="47" output=""/>89
<key code="48" output="	"/>90
<key code="49" output=""/>91
<key code="50" output=""/>92
<key code="51" output=""/>93
<key code="53" output=""/>94
<key code="64" output=""/>95
<key code="65" output=""/>96
<key code="66" output=""/>97
<key code="67" output=""/>98
<key code="69" output=""/>99
<key code="70" output=""/>100
<key code="71" output=""/>101
<key code="72" output=""/>102
<key code="75" output=""/>103
<key code="76" output=""/>104
<key code="77" output=""/>105
<key code="78" output=""/>106
<key code="79" output=""/>107
<key code="80" output=""/>108
<key code="81" output=""/>109
<key code="82" output=""/>110
<key code="83" output=""/>111
<key code="84" output=""/>112
<key code="85" output=""/>113
<key code="86" output=""/>114
<key code="87" output=""/>115
<key code="88" output=""/>116
<key code="89" output=""/>117
<key code="91" output=""/>118
<key code="92" output=""/>119
<key code="96" output=""/>120
<key code="97" output=""/>121
<key code="98" output=""/>122
<key code="99" output=""/>123
<key code="100" output=""/>124
<key code="101" output=""/>125
<key code="103" output=""/>126
<key code="105" output=""/>127
<key code="106" output=""/>128
<key code="107" output=""/>129
<key code="109" output=""/>130
<key code="111" output=""/>131
<key code="113" output=""/>132
<key code="114" output=""/>133
<key code="115" output=""/>134
<key code="116" output=""/>135
<key code="117" output=""/>136
<key code="118" output=""/>137
<key code="119" output=""/>138
<key code="120" output=""/>139
<key code="121" output=""/>140
<key code="122" output=""/>141
<key code="123" output=""/>142
<key code="124" output=""/>143
<key code="125" output=""/>144
<key code="126" output=""/>145
</keyMap>146
<keyMap index="1">147
<key code="0" output=""/>148
<key code="36" output="
"/>149
<key code="48" output="	"/>150
<key code="51" output=""/>151
<key code="53" output=""/>152
<key code="64" output=""/>153
<key code="66" output=""/>154
<key code="70" output=""/>155
<key code="71" output=""/>156
<key code="72" output=""/>157
<key code="76" output=""/>158
<key code="77" output=""/>159
<key code="79" output=""/>160
<key code="80" output=""/>161
<key code="96" output=""/>162
<key code="97" output=""/>163
<key code="98" output=""/>164
<key code="99" output=""/>165
<key code="100" output=""/>166
<key code="101" output=""/>167
<key code="103" output=""/>168
<key code="105" output=""/>169
<key code="106" output=""/>170
<key code="107" output=""/>171
<key code="109" output=""/>172
<key code="111" output=""/>173
<key code="113" output=""/>174
<key code="114" output=""/>175
<key code="115" output=""/>176
<key code="116" output=""/>177
<key code="117" output=""/>178
<key code="118" output=""/>179
<key code="119" output=""/>180
<key code="120" output=""/>181
<key code="121" output=""/>182
<key code="122" output=""/>183
<key code="123" output=""/>184
<key code="124" output=""/>185
<key code="125" output=""/>186
<key code="126" output=""/>187
</keyMap>188
<keyMap index="2">189
<key code="0" output=""/>190
<key code="36" output="
"/>191
<key code="48" output="	"/>192
<key code="51" output=""/>193
<key code="53" output=""/>194
<key code="64" output=""/>195
<key code="66" output=""/>196
<key code="70" output=""/>197
<key code="71" output=""/>198
<key code="72" output=""/>199
<key code="76" output=""/>200
<key code="77" output=""/>201
<key code="79" output=""/>202
<key code="80" output=""/>203
<key code="96" output=""/>204
<key code="97" output=""/>205
<key code="98" output=""/>206
<key code="99" output=""/>207
<key code="100" output=""/>208
<key code="101" output=""/>209
<key code="103" output=""/>210
<key code="105" output=""/>211
<key code="106" output=""/>212
<key code="107" output=""/>213
<key code="109" output=""/>214
<key code="111" output=""/>215
<key code="113" output=""/>216
<key code="114" output=""/>217
<key code="115" output=""/>218
<key code="116" output=""/>219
<key code="117" output=""/>220
<key code="118" output=""/>221
<key code="119" output=""/>222
<key code="120" output=""/>223
<key code="121" output=""/>224
<key code="122" output=""/>225
<key code="123" output=""/>226
<key code="124" output=""/>227
<key code="125" output=""/>228
<key code="126" output=""/>229
</keyMap>230
<keyMap index="3">231
<key code="0" output=""/>232
<key code="36" output="
"/>233
<key code="48" output="	"/>234
<key code="51" output=""/>235
<key code="53" output=""/>236
<key code="64" output=""/>237
<key code="66" output=""/>238
<key code="70" output=""/>239
<key code="71" output=""/>240
<key code="72" output=""/>241
<key code="76" output=""/>242
<key code="77" output=""/>243
<key code="79" output=""/>244
<key code="80" output=""/>245
<key code="96" output=""/>246
<key code="97" output=""/>247
<key code="98" output=""/>248
<key code="99" output=""/>249
<key code="100" output=""/>250
<key code="101" output=""/>251
<key code="103" output=""/>252
<key code="105" output=""/>253
<key code="106" output=""/>254
<key code="107" output=""/>255
<key code="109" output=""/>256
<key code="111" output=""/>257
<key code="113" output=""/>258
<key code="114" output=""/>259
<key code="115" output=""/>260
<key code="116" output=""/>261
<key code="117" output=""/>262
<key code="118" output=""/>263
<key code="119" output=""/>264
<key code="120" output=""/>265
<key code="121" output=""/>266
<key code="122" output=""/>267
<key code="123" output=""/>268
<key code="124" output=""/>269
<key code="125" output=""/>270
<key code="126" output=""/>271
</keyMap>272
<keyMap index="4">273
<key code="0" output=""/>274
<key code="36" output="
"/>275
<key code="48" output="	"/>276
<key code="51" output=""/>277
<key code="53" output=""/>278
<key code="64" output=""/>279
<key code="66" output=""/>280
<key code="70" output=""/>281
<key code="71" output=""/>282
<key code="72" output=""/>283
<key code="76" output=""/>284
<key code="77" output=""/>285
<key code="79" output=""/>286
<key code="80" output=""/>287
<key code="96" output=""/>288
<key code="97" output=""/>289
<key code="98" output=""/>290
<key code="99" output=""/>291
<key code="100" output=""/>292
<key code="101" output=""/>293
<key code="103" output=""/>294
<key code="105" output=""/>295
<key code="106" output=""/>296
<key code="107" output=""/>297
<key code="109" output=""/>298
<key code="111" output=""/>299
<key code="113" output=""/>300
<key code="114" output=""/>301
<key code="115" output=""/>302
<key code="116" output=""/>303
<key code="117" output=""/>304
<key code="118" output=""/>305
<key code="119" output=""/>306
<key code="120" output=""/>307
<key code="121" output=""/>308
<key code="122" output=""/>309
<key code="123" output=""/>310
<key code="124" output=""/>311
<key code="125" output=""/>312
<key code="126" output=""/>313
</keyMap>314
<keyMap index="5">315
<key code="0" output=""/>316
<key code="36" output="
"/>317
<key code="48" output="	"/>318
<key code="51" output=""/>319
<key code="53" output=""/>320
<key code="64" output=""/>321
<key code="66" output=""/>322
<key code="70" output=""/>323
<key code="71" output=""/>324
<key code="72" output=""/>325
<key code="76" output=""/>326
<key code="77" output=""/>327
<key code="79" output=""/>328
<key code="80" output=""/>329
<key code="96" output=""/>330
<key code="97" output=""/>331
<key code="98" output=""/>332
<key code="99" output=""/>333
<key code="100" output=""/>334
<key code="101" output=""/>335
<key code="103" output=""/>336
<key code="105" output=""/>337
<key code="106" output=""/>338
<key code="107" output=""/>339
<key code="109" output=""/>340
<key code="111" output=""/>341
<key code="113" output=""/>342
<key code="114" output=""/>343
<key code="115" output=""/>344
<key code="116" output=""/>345
<key code="117" output=""/>346
<key code="118" output=""/>347
<key code="119" output=""/>348
<key code="120" output=""/>349
<key code="121" output=""/>350
<key code="122" output=""/>351
<key code="123" output=""/>352
<key code="124" output=""/>353
<key code="125" output=""/>354
<key code="126" output=""/>355
</keyMap>356
<keyMap index="6">357
<key code="0" output=""/>358
<key code="36" output="
"/>359
<key code="48" output="	"/>360
<key code="51" output=""/>361
<key code="53" output=""/>362
<key code="64" output=""/>363
<key code="66" output=""/>364
<key code="70" output=""/>365
<key code="71" output=""/>366
<key code="72" output=""/>367
<key code="76" output=""/>368
<key code="77" output=""/>369
<key code="79" output=""/>370
<key code="80" output=""/>371
<key code="96" output=""/>372
<key code="97" output=""/>373
<key code="98" output=""/>374
<key code="99" output=""/>375
<key code="100" output=""/>376
<key code="101" output=""/>377
<key code="103" output=""/>378
<key code="105" output=""/>379
<key code="106" output=""/>380
<key code="107" output=""/>381
<key code="109" output=""/>382
<key code="111" output=""/>383
<key code="113" output=""/>384
<key code="114" output=""/>385
<key code="115" output=""/>386
<key code="116" output=""/>387
<key code="117" output=""/>388
<key code="118" output=""/>389
<key code="119" output=""/>390
<key code="120" output=""/>391
<key code="121" output=""/>392
<key code="122" output=""/>393
<key code="123" output=""/>394
<key code="124" output=""/>395
<key code="125" output=""/>396
<key code="126" output=""/>397
</keyMap>398
</keyMapSet>399
<keyMapSet id="JIS">400
<keyMap index="0" baseMapSet="ANSI" baseIndex="0">401
<key code="512" output=""/>402
</keyMap>403
<keyMap index="1" baseMapSet="ANSI" baseIndex="1">404
<key code="512" output=""/>405
</keyMap>406
<keyMap index="2" baseMapSet="ANSI" baseIndex="2">407
<key code="512" output=""/>408
</keyMap>409
<keyMap index="3" baseMapSet="ANSI" baseIndex="3">410
<key code="512" output=""/>411
</keyMap>412
<keyMap index="4" baseMapSet="ANSI" baseIndex="4">413
<key code="512" output=""/>414
</keyMap>415
<keyMap index="5" baseMapSet="ANSI" baseIndex="5">416
<key code="512" output=""/>417
</keyMap>418
<keyMap index="6" baseMapSet="ANSI" baseIndex="6">419
<key code="512" output=""/>420
</keyMap>421
</keyMapSet>422
</keyboard>The keyboard layout to preview.
delete
tab
caps lock
return
shift
shift
test
control
option
command
command
option
left
up
down
right
Recommended for you
Product
Ea.
Solar System Poster, Lezgian-Labeled
A poster featuring the Solar System diagram.
$29.99
Mandaic Alphabet Chart, 8.3 x 11.7 in (21.0 x 29.7 cm, Desk Chart, Laminated), Spanish-Labeled
The Mandaic alphabet chart with Spanish metatext.
$14.99
Benzene Molecule Poster, Ball-and-Stick Model, Stylized, Slovak-Labeled
A poster featuring the ball-and-stick model (stylized) of the benzene molecule.
$19.99
2026 Wall Calendar, Australian Kriol/English-Labeled, Monday-Start Layout, Wire-Bound, 11 x 8.5 in (27.9 x 21.6 cm)
An Australian Kriol-language wall calendar (2026, Monday-start format) with English translations.
$24.99
αλφάβητο Poster
A poster featuring the word "αλφάβητο".
$14.99
See also
1.
KMN Editor
A simple online editor for Keyman keyboard source files (Keyman keyboard language files, .kmn files).
2.
ZMK Keymap Editor
A simple online editor for ZMK .keymap files based on the devicetree syntax.
3.
Converting fonts with FontForge using the command line on macOS
How to convert font files using FontForge's scripting language on macOS?
4.
Bashkir Word of the Day
Discover a new Bashkir word every day.
5.
Constellations in Lao
The list of names of constellations in the Lao language.