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.
Periodic Table Chart, 33.1 x 23.4 in (84.1 x 59.4 cm, Poster / Wall Chart), 32-Column Layout, Welsh/English-Labeled
A Welsh-language periodic table of the elements with English translations.
$28.99
2026 Wall Calendar, Wolof-Labeled, Sunday-Start Layout, Wire-Bound, 11.7 x 8.3 in (29.7 x 21.0 cm)
A Wolof-language wall calendar (2026, Sunday-start format).
$24.99
лагранжиан IPA Transcription Poster
A poster featuring the phonetic transcription of "лагранжиан" in the International Phonetic Alphabet (IPA).
$14.99
咖啡 Poster
A poster featuring the word "咖啡".
$14.99
Wien Bridge Oscillator Poster
A poster featuring the Wien bridge oscillator circuit diagram.
$29.99
See also
1.
ZMK Keymap Editor
A simple online editor for ZMK .keymap files based on the devicetree syntax.
2.
KMN Editor
A simple online editor for Keyman keyboard source files (Keyman keyboard language files, .kmn files).
3.
Amino acids in Yakut
The list of names of amino acids in the Yakut language.
4.
Phonetics Crossword
A daily crossword puzzle for phonetics terms.
5.
Marine biology terms in Polish
The list of marine biology terms in the Polish language.