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.
2027 Wall Calendar, Coptic-Labeled, Monday-Start Layout, Poster / Wall Print, 23.4 x 33.1 in (59.4 x 84.1 cm)
A Coptic-language wall calendar (2027, Monday-start format).
$27.49
Days of the Week Poster, Azerbaijani-Labeled
A poster featuring the names of the days of the week.
$19.99
разговорник Morphemic Analysis Poster
A poster featuring the morphemic analysis of the Russian word разговорник.
$14.99
2026 Wall Calendar, Tibetan/English-Labeled, Monday-Start Layout, Wire-Bound, 11.7 x 8.3 in (29.7 x 21.0 cm)
A Tibetan-language wall calendar (2026, Monday-start format) with English translations.
$24.99
правило IPA Transcription Poster
A poster featuring the phonetic transcription of "правило" in the International Phonetic Alphabet (IPA).
$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.
Music theory terms in Macedonian
The list of music theory terms in the Macedonian language.
4.
Oceanography terms in Tigrinya
The list of oceanography terms in the Tigrinya language.
5.
Philosophy pronunciation guide
A pronunciation guide for philosophy terms and names.