<?xml version="1.0" encoding="UTF-8"?>
<mappings>
    <!-- All the Kotoeri input methods may require a change of user's IME settings 
         in order to get the right keyboard. -->
    <mapping id="com.apple.inputmethod.Kotoeri.Japanese">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.Kotoeri.Japanese.FullWidthRoman">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.Kotoeri.Japanese.HalfWidthKana">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.Kotoeri.Japanese.Katakana">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.Kotoeri.Katakana">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.Kotoeri.Roman">
        <match type="identical" />
        <config language="0x0411" />
    </mapping>
    <mapping id="com.apple.inputmethod.kotoeri.Ainu">
        <match type="alternative"/>
        <config language="0x0411" />
    </mapping>
    <!-- All the Hangul input methods may require a change of user's IME settings
     in order to get the right keyboard. -->
    <mapping id="com.apple.keylayout.2SetHangul">
        <match type="identical" />
        <config language="0x0412" />
    </mapping>
    <mapping id="com.apple.keylayout.390Hangul">
        <!-- This maps to 3 Beolsik 390 but the IME is processed slightly differently. -->
        <match type="identical" />
        <config language="0x0412" />
    </mapping>
    <mapping id="com.apple.keylayout.3SetHangul">
        <!-- This maps to 3 Beolsik Final but the IME is processed slightly differently. -->
        <match type="identical" />
        <config language="0x0412" />
    </mapping>
    <mapping id="com.apple.keylayout.AfghanDari">
        <match type="identical" />
        <config language="0x048c" keyboardLayout="0x50429"/>
    </mapping>
    <mapping id="com.apple.keylayout.AfghanPashto">
        <match type="identical" />
        <config language="0x0463" />
    </mapping>
    <mapping id="com.apple.keylayout.AfghanUzbek">
        <!-- Matches to AfghanDari except for some shift characters...
             but this type of Uzbek is not a language on Windows. -->
        <match type="alternative"/>
        <config language="0x0443" />
    </mapping>
    <mapping id="com.apple.keylayout.Anjal">
        <!-- Has some of the same characters in Tamil on Windows, but the mapping is different. -->
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <!-- Some tips for trying to match Arabic keyboards: 
         - Observe where \ and / are, as well as the keys around those areas.
         - Observe whether or not the number keys are characters. 

         The keyboards on windows may have the same keyboad even if the locale identifier is different.
         e.g. Arabic (Saudi Arabia) and Arabic (Egypt) both use Arabic (101)
     -->
    <mapping id="com.apple.keylayout.Arabic">
        <!-- Was originally 0x0001. -->
        <match type="alternative" />
        <config language="0x0001" keyboardLayout="0x401" />
    </mapping>
    <mapping id="com.apple.keylayout.Arabic-QWERTY">
        <!-- Was originally 0x0001. -->
        <match type="alternative" />
        <config language="0x0c01" />
    </mapping>
    <mapping id="com.apple.keylayout.ArabicPC">
        <!-- Was originally 0x0001. -->
        <match type="alternative" />
        <config language="0x0c01" />
    </mapping>
    <mapping id="com.apple.keylayout.Armenian-HMQWERTY">
        <match type="alternative" />
        <config language="0x042b" />
    </mapping>
    <mapping id="com.apple.keylayout.Armenian-WesternQWERTY">
        <match type="alternative" />
        <config language="0x042b" />
    </mapping>
    <mapping id="com.apple.keylayout.Australian">
        <match type="identical" />
        <config language="0x0c09" />
    </mapping>
    <mapping id="com.apple.keylayout.Austrian">
        <match type="identical" />
        <config language="0x0c07" keyboardLayout="0x407" />
    </mapping>
    <mapping id="com.apple.keylayout.Azeri">
        <match type="identical" />
        <config language="0x042c" />
    </mapping>
    <mapping id="com.apple.keylayout.Bangla">
        <match type="alternative" />
        <config language="0x0445" keyboardLayout="0x20445" />
    </mapping>
    <mapping id="com.apple.keylayout.Bangla-QWERTY">
        <!-- Was originally 0x10845 -->
        <match type="alternative" />
        <config language="0x0445" keyboardLayout="0x20445" />
    </mapping>
    <mapping id="com.apple.keylayout.Belgian">
        <match type="identical" />
        <config language="0x0813" />
    </mapping>
    <mapping id="com.apple.keylayout.Brazilian">
        <match type="identical" />
        <config language="0x0416" />
    </mapping>
    <mapping id="com.apple.keylayout.British">
        <match type="identical" />
        <config language="0x0809" />
    </mapping>
    <mapping id="com.apple.keylayout.British-PC">
        <match type="identical" />
        <config language="0x0809" />
    </mapping>
    <mapping id="com.apple.keylayout.Bulgarian">
        <match type="identical" />
        <config language="0x0402" />
    </mapping>
    <mapping id="com.apple.keylayout.Bulgarian-Phonetic">
        <match type="identical" />
        <config language="0x0402" keyboardLayout="0x40402" />
    </mapping>
    <mapping id="com.apple.keylayout.Byelorussian">
        <!-- Policheck: this is an identifier which cannot be changed. -->
        <match type="identical" />
        <config language="0x0423" />
    </mapping>
    <mapping id="com.apple.keylayout.Canadian">
        <match type="identical" />
        <config language="0x1009" keyboardLayout="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Canadian-CSA">
        <match type="identical" />
        <config language="0x0c0c" keyboardLayout="0x11009" />
    </mapping>
    <mapping id="com.apple.keylayout.CangjieKeyboard">
        <!-- In the Microsoft Languages, this requires a change to "Microsoft ChangJie". -->
        <match type="identical" />
        <config language="0x0404" />
    </mapping>
    <mapping id="com.apple.keylayout.Cherokee-Nation">
        <match type="identical" />
        <config language="0x045c" />
    </mapping>
    <mapping id="com.apple.keylayout.Cherokee-QWERTY">
        <!-- Possibly maps to the keyboard layout 0x1045c. -->
        <match type="alternative" />
        <config language="0x045c" keyboardLayout="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Colemak">
        <match type="none" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Croatian">
        <match type="alternative" />
        <config language="0x041a" />
    </mapping>
    <mapping id="com.apple.keylayout.Croatian-PC">
        <match type="identical" />
        <config language="0x041a" />
    </mapping>
    <mapping id="com.apple.keylayout.Czech">
        <match type="identical" />
        <config language="0x0405" />
    </mapping>
    <mapping id="com.apple.keylayout.Czech-QWERTY">
        <match type="identical" />
        <config language="0x0405" keyboardLayout="0x10405" />
    </mapping>
    <mapping id="com.apple.keylayout.DVORAK-QWERTYCMD">
        <match type="identical" />
        <config language="0x0409" keyboardLayout="0x10409" />
    </mapping>
    <mapping id="com.apple.keylayout.Danish">
        <match type="identical" />
        <config language="0x0406" />
    </mapping>
    <mapping id="com.apple.keylayout.Devanagari">
        <match type="identical" />
        <config language="0x0439" />
    </mapping>
    <mapping id="com.apple.keylayout.Devanagari-QWERTY">
        <match type="alternative" />
        <config language="0x0439" />
    </mapping>
    <mapping id="com.apple.keylayout.Dutch">
        <match type="identical" />
        <config language="0x0413" keyboardLayout="0x20409" />
    </mapping>
    <mapping id="com.apple.keylayout.Dvorak">
        <match type="identical" />
        <config language="0x0409" keyboardLayout="0x10409" />
    </mapping>
    <mapping id="com.apple.keylayout.Dvorak-Left">
        <match type="identical" />
        <config language="0x0409" keyboardLayout="0x30409" />
    </mapping>
    <mapping id="com.apple.keylayout.Dvorak-Right">
        <match type="identical" />
        <config language="0x0409" keyboardLayout="0x40409" />
    </mapping>
    <mapping id="com.apple.keylayout.Estonian">
        <match type="identical" />
        <config language="0x0425" />
    </mapping>
    <mapping id="com.apple.keylayout.Faroese">
        <match type="identical" />
        <config language="0x0438" />
    </mapping>
    <mapping id="com.apple.keylayout.Finnish">
        <match type="identical" />
        <config language="0x040b" />
    </mapping>
    <mapping id="com.apple.keylayout.FinnishExtended">
        <match type="identical" />
        <config language="0x040b" keyboardLayout="0x2083b" />
    </mapping>
    <mapping id="com.apple.keylayout.FinnishSami-PC">
        <match type="identical" />
        <config language="0x040b" keyboardLayout="0x1083b" />
    </mapping>
    <mapping id="com.apple.keylayout.French">
        <match type="identical" />
        <config language="0x040c" keyboardLayout="0x080c" />
    </mapping>
    <mapping id="com.apple.keylayout.French-PC">
        <match type="identical" />
        <config language="0x040c" />
    </mapping>
    <mapping id="com.apple.keylayout.French-numerical">
        <match type="identical" />
        <config language="0x040c" keyboardLayout="0x080c" />
    </mapping>
    <mapping id="com.apple.keylayout.GJCRomaja">
        <match type="none" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Georgian-QWERTY">
        <match type="identical" />
        <config language="0x0437" keyboardLayout="0x10437" />
    </mapping>
    <mapping id="com.apple.keylayout.German">
        <match type="identical" />
        <config language="0x0407" />
    </mapping>
    <mapping id="com.apple.keylayout.Greek">
        <match type="identical" />
        <config language="0x0408" />
    </mapping>
    <mapping id="com.apple.keylayout.GreekPolytonic">
        <match type="alternative" />
        <config language="0x0408" keyboardLayout="0x60408" />
    </mapping>
    <mapping id="com.apple.keylayout.Gujarati">
        <match type="identical" />
        <config language="0x0447" />
    </mapping>
    <mapping id="com.apple.keylayout.Gujarati-QWERTY">
        <match type="alternative" />
        <config language="0x0447" />
    </mapping>
    <mapping id="com.apple.keylayout.Gurmukhi">
        <match type="identical" />
        <config language="0x0446" />
    </mapping>
    <mapping id="com.apple.keylayout.Gurmukhi-QWERTY">
        <match type="alternative" />
        <config language="0x0446" />
    </mapping>
    <mapping id="com.apple.keylayout.HNCRomaja">
        <match type="none" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Hawaiian">
        <match type="identical" />
        <config language="0x0475" />
    </mapping>
    <mapping id="com.apple.keylayout.Hebrew">
        <match type="alternative" />
        <config language="0x040d" />
    </mapping>
    <mapping id="com.apple.keylayout.Hebrew-PC">
        <match type="identical" />
        <config language="0x040d" />
    </mapping>
    <mapping id="com.apple.keylayout.Hebrew-QWERTY">
        <match type="alternative" />
        <config language="0x040d" />
    </mapping>
    <mapping id="com.apple.keylayout.Hungarian">
        <match type="identical" />
        <config language="0x0040e" />
    </mapping>
    <mapping id="com.apple.keylayout.Hungarian-QWERTY">
        <match type="alternative" />
        <config language="0x0040e" />
    </mapping>
    <mapping id="com.apple.keylayout.Icelandic">
        <match type="identical" />
        <config language="0x040f" />
    </mapping>
    <mapping id="com.apple.keylayout.Inuktitut-Nunavut">
        <match type="alternative" />
        <config language="0x045d" />
    </mapping>
    <mapping id="com.apple.keylayout.Inuktitut-Nutaaq">
        <match type="alternative" />
        <config language="0x045d" />
    </mapping>
    <mapping id="com.apple.keylayout.Inuktitut-QWERTY">
        <match type="alternative" />
        <config language="0x045d" />
    </mapping>
    <mapping id="com.apple.keylayout.InuttitutNunavik">
        <match type="alternative" />
        <config language="0x045d" />
    </mapping>
    <mapping id="com.apple.keylayout.Irish">
        <match type="alternative" />
        <config language="0x1809" />
    </mapping>
    <mapping id="com.apple.keylayout.IrishExtended">
        <match type="alternative" />
        <config language="0x083c" keyboardLayout="0x1809" />
    </mapping>
    <mapping id="com.apple.keylayout.Italian">
        <match type="alternative" />
        <config language="0x10410" />
    </mapping>
    <mapping id="com.apple.keylayout.Italian-Pro">
        <match type="alternative" />
        <config language="0x0410" />
    </mapping>
    <mapping id="com.apple.keylayout.Jawi-QWERTY">
        <match type="alternative" />
        <config language="0x0401" />
    </mapping>
    <mapping id="com.apple.keylayout.KANA">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.Kannada">
        <match type="alternative" />
        <config language="0x044b" />
    </mapping>
    <mapping id="com.apple.keylayout.Kannada-QWERTY">
        <match type="alternative" />
        <config language="0x044b" />
    </mapping>
    <mapping id="com.apple.keylayout.Kazakh">
        <match type="alternative" />
        <config language="0x043f" />
    </mapping>
    <mapping id="com.apple.keylayout.Khmer">
        <match type="alternative" />
        <config language="0x0453" keyboardLayout="0x10453" />
    </mapping>
    <mapping id="com.apple.keylayout.Kurdish-Sorani">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.Latvian">
        <match type="identical" />
        <config language="0x0427" />
    </mapping>
    <mapping id="com.apple.keylayout.Lithuanian">
        <match type="alternative" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Macedonian">
        <match type="alternative" />
        <config language="0x042f" />
    </mapping>
    <mapping id="com.apple.keylayout.Malayalam">
        <match type="alternative" />
        <config language="0x044c" />
    </mapping>
    <mapping id="com.apple.keylayout.Malayalam-QWERTY">
        <match type="alternative" />
        <config language="0x044c" />
    </mapping>
    <mapping id="com.apple.keylayout.Maltese">
        <match type="alternative" />
        <config language="0x043a" />
    </mapping>
    <mapping id="com.apple.keylayout.Maori">
        <match type="identical" />
        <config language="0x0481" />
    </mapping>
    <mapping id="com.apple.keylayout.Myanmar-QWERTY">
        <match type="none" />
        <config language="0x0455" />
    </mapping>
    <mapping id="com.apple.keylayout.Nepali">
        <match type="alternative" />
        <config language="0x0461" />
    </mapping>
    <mapping id="com.apple.keylayout.NorthernSami">
        <match type="alternative" />
        <config language="0x043b" />
    </mapping>
    <mapping id="com.apple.keylayout.Norwegian">
        <match type="alternative" />
        <config language="0x0414" />
    </mapping>
    <mapping id="com.apple.keylayout.NorwegianExtended">
        <match type="alternative" />
        <config language="0x0414" />
    </mapping>
    <mapping id="com.apple.keylayout.NorwegianSami-PC">
        <match type="alternative" />
        <config language="0x0414" />
    </mapping>
    <mapping id="com.apple.keylayout.Oriya">
        <match type="alternative" />
        <config language="0x0448" />
    </mapping>
    <mapping id="com.apple.keylayout.Oriya-QWERTY">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.Persian">
        <match type="alternative" />
        <config language="0x0429" keyboardLayout="0x50429" />
    </mapping>
    <mapping id="com.apple.keylayout.Persian-ISIRI2901">
        <match type="identical" />
        <config language="0x0429" keyboardLayout="0x50429" />
    </mapping>
    <mapping id="com.apple.keylayout.Persian-QWERTY">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.Polish">
        <match type="alternative" />
        <config language="0x0415" keyboardLayout="0x00010415" />
    </mapping>
    <!-- Polish Pro maps to US international -->
    <mapping id="com.apple.keylayout.PolishPro">
        <match type="identical" />
        <config language="0x0415" keyboardLayout="0x00020409" />
    </mapping>
    <mapping id="com.apple.keylayout.Portuguese">
        <match type="alternative" />
        <config language="0x0816" />
    </mapping>
    <mapping id="com.apple.keylayout.Romanian">
        <match type="identical" />
        <config language="0x0418" keyboardLayout="0x10418" />
    </mapping>
    <mapping id="com.apple.keylayout.Romanian-Standard">
        <match type="alternative" />
        <config language="0x0418" />
    </mapping>
    <mapping id="com.apple.keylayout.Russian">
        <match type="alternative" />
        <config language="0x0419" />
    </mapping>
    <mapping id="com.apple.keylayout.Russian-Phonetic">
        <match type="identical" />
        <config language="0x0419" keyboardLayout="0x20419" />
    </mapping>
    <mapping id="com.apple.keylayout.RussianWin">
        <match type="identical" />
        <config language="0x0419" />
    </mapping>
    <mapping id="com.apple.keylayout.Sami-PC">
        <match type="alternative" />
        <config language="0x083b" keyboardLayout="0x2083b" />
    </mapping>
    <mapping id="com.apple.keylayout.Serbian">
        <match type="identical" />
        <config language="0x1c1a" keyboardLayout="0x0c1a"/>
    </mapping>
    <mapping id="com.apple.keylayout.Serbian-Latin">
        <match type="identical" />
        <config language="0x181a" keyboardLayout="0x081a" />
    </mapping>
    <mapping id="com.apple.keylayout.Sinhala">
        <match type="identical" />
        <config language="0x045b" />
    </mapping>
    <mapping id="com.apple.keylayout.Sinhala-QWERTY">
        <match type="alternative" />
        <config language="0x045b" />
    </mapping>
    <mapping id="com.apple.keylayout.Slovak">
        <match type="identical" />
        <config language="0x041b" />
    </mapping>
    <mapping id="com.apple.keylayout.Slovak-QWERTY">
        <match type="identical" />
        <config language="0x041b" keyboardLayout="0x1041b" />
    </mapping>
    <mapping id="com.apple.keylayout.Slovenian">
        <match type="identical" />
        <config language="0x0424" />
    </mapping>
    <mapping id="com.apple.keylayout.Spanish">
        <match type="alternative" />
        <config language="0x040a" />
    </mapping>
    <mapping id="com.apple.keylayout.Spanish-ISO">
        <match type="identical" />
        <config language="0x0c0a" keyboardLayout="0x040a" />
    </mapping>
    <mapping id="com.apple.keylayout.Swedish">
        <match type="identical" />
        <config language="0x041d" />
    </mapping>
    <mapping id="com.apple.keylayout.Swedish-Pro">
        <match type="identical" />
        <config language="0x041d" />
    </mapping>
    <mapping id="com.apple.keylayout.SwedishSami-PC">
        <match type="identical" />
        <config language="0x041d" />
    </mapping>
    <mapping id="com.apple.keylayout.SwissFrench">
        <match type="identical" />
        <config language="0x100c" />
    </mapping>
    <mapping id="com.apple.keylayout.SwissGerman">
        <match type="identical" />
        <config language="0x0807" />
    </mapping>
    <mapping id="com.apple.keylayout.Tamil99">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.Telugu">
        <match type="identical" />
        <config language="0x044a" />
    </mapping>
    <mapping id="com.apple.keylayout.Telugu-QWERTY">
        <match type="alternative" />
        <config language="0x044a" />
    </mapping>
    <mapping id="com.apple.keylayout.Thai">
        <match type="identical" />
        <config language="0x041e" />
    </mapping>
    <mapping id="com.apple.keylayout.Thai-PattaChote">
        <match type="identical" />
        <config language="0x041e" keyboardLayout="0x1041e" />
    </mapping>
    <mapping id="com.apple.keylayout.Tibetan-QWERTY">
        <match type="alternative" />
        <config language="0x0451" />
    </mapping>
    <mapping id="com.apple.keylayout.Tibetan-Wylie">
        <match type="alternative" />
        <config language="0x0451" />
    </mapping>
    <mapping id="com.apple.keylayout.TibetanOtaniUS">
        <match type="alternative" />
        <config language="0x0451" />
    </mapping>
    <mapping id="com.apple.keylayout.Turkish">
        <match type="alternative" />
        <config language="0x041f" keyboardLayout="0x1041f" />
    </mapping>
    <mapping id="com.apple.keylayout.Turkish-QWERTY">
        <match type="alternative" />
        <config language="0x041f" />
    </mapping>
    <mapping id="com.apple.keylayout.Turkish-QWERTY-PC">
        <match type="identical" />
        <config language="0x041f" />
    </mapping>
    <mapping id="com.apple.keylayout.US">
        <match type="identical" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.USExtended">
        <match type="identical" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.USInternational-PC">
        <match type="identical" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Ukrainian">
        <match type="alternative" />
        <config language="0x0422" />
    </mapping>
    <mapping id="com.apple.keylayout.Ukrainian-PC">
        <match type="identical" />
        <config language="0x0422" />
    </mapping>
    <mapping id="com.apple.keylayout.UnicodeHexInput">
        <match type="identical" />
        <config language="0x0409" />
    </mapping>
    <mapping id="com.apple.keylayout.Urdu">
        <match type="identical" />
        <config language="0x0420" />
    </mapping>
    <mapping id="com.apple.keylayout.Uyghur">
        <match type="identical" />
        <config language="0x0480" />
    </mapping>
    <mapping id="com.apple.keylayout.Vietnamese">
        <!-- Different character on key Num7 -->
        <match type="identical" />
        <config language="0x042a" />
    </mapping>
    <mapping id="com.apple.keylayout.Welsh">
        <!-- United Kindgom Extended, @ and " swapped -->
        <match type="alternative" />
        <config language="0x0452" />
    </mapping>
    <mapping id="com.apple.keylayout.WubihuaKeyboard">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.WubixingKeyboard">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.ZhuyinBopomofo">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
    <mapping id="com.apple.keylayout.ZhuyinBopomofowithoutdynamicprompt">
        <match type="none" />
        <config language="0x0000" />
    </mapping>
</mappings>
