<?xml version="1.0" encoding="utf-8"?>
<instrumentationManifest
    xmlns="http://schemas.microsoft.com/win/2004/08/events"
    xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    >

  <instrumentation>
    <events>

      <!-- resourceFileName and messageFileName must be set at install time; we'll use a common
           default to make it easy for developers to install it from the source
      -->
      
      <provider name="Keyman-Debug-ETWProvider"
          guid="{DA621615-E08B-4283-918E-D2502D3757AE}"
          symbol="ProviderGuid"
          resourceFileName="%CommonProgramFiles(x86)%\keyman\keyman engine\keyman32.dll"
          messageFileName="%CommonProgramFiles(x86)%\keyman\keyman engine\keyman32.dll"
          message="$(string.Provider.Name)">
        <maps>
          <valueMap name="Platform">
            <map value="1" message="$(string.Map.x86)"/>
            <map value="2" message="$(string.Map.x64)"/>
          </valueMap>

          <valueMap name="ModifierState">
            <!-- For now, as Message Analyzer fails to report correctly on bitMap model, we'll list all sensible combinations -->
            <!-- Sensible combinations: If a user is silly enough to press both Alt keys at once, well fine. -->
            <map value="0x0" message="$(string.Map.UNMODIFIED)"/>
            <map value="0x1" message="$(string.Map.LCTRL)"/>
            <map value="0x2" message="$(string.Map.RCTRL)"/>
            <map value="0x4" message="$(string.Map.LALT)"/>
            <map value="0x5" message="$(string.Map.LCTRL_LALT)"/>
            <map value="0x8" message="$(string.Map.RALT)"/>
            <map value="0x9" message="$(string.Map.LCTRL_RALT)"/> <!-- Because Windows simulates this for AltGr in European keyboards -->
            <map value="0xA" message="$(string.Map.RCTRL_RALT)"/>

            <map value="0x10" message="$(string.Map.SHIFT)"/>
            <map value="0x11" message="$(string.Map.SHIFT_LCTRL)"/>
            <map value="0x12" message="$(string.Map.SHIFT_RCTRL)"/>
            <map value="0x14" message="$(string.Map.SHIFT_LALT)"/>
            <map value="0x15" message="$(string.Map.SHIFT_LCTRL_LALT)"/>
            <map value="0x18" message="$(string.Map.SHIFT_RALT)"/>
            <map value="0x1A" message="$(string.Map.SHIFT_RCTRL_RALT)"/>
            
            <map value="0x100" message="$(string.Map.CAPS)"/>
            <map value="0x101" message="$(string.Map.CAPS_LCTRL)"/>
            <map value="0x102" message="$(string.Map.CAPS_RCTRL)"/>
            <map value="0x104" message="$(string.Map.CAPS_LALT)"/>
            <map value="0x105" message="$(string.Map.CAPS_LCTRL_LALT)"/>
            <map value="0x108" message="$(string.Map.CAPS_RALT)"/>
            <map value="0x10A" message="$(string.Map.CAPS_RCTRL_RALT)"/>

            <map value="0x110" message="$(string.Map.CAPS_SHIFT)"/>
            <map value="0x111" message="$(string.Map.CAPS_SHIFT_LCTRL)"/>
            <map value="0x112" message="$(string.Map.CAPS_SHIFT_RCTRL)"/>
            <map value="0x114" message="$(string.Map.CAPS_SHIFT_LALT)"/>
            <map value="0x115" message="$(string.Map.CAPS_SHIFT_LCTRL_LALT)"/>
            <map value="0x118" message="$(string.Map.CAPS_SHIFT_RALT)"/>
            <map value="0x11A" message="$(string.Map.CAPS_SHIFT_RCTRL_RALT)"/>

            <map value="0x400" message="$(string.Map.NUM)"/>
            <map value="0x401" message="$(string.Map.NUM_LCTRL)"/>
            <map value="0x402" message="$(string.Map.NUM_RCTRL)"/>
            <map value="0x404" message="$(string.Map.NUM_LALT)"/>
            <map value="0x405" message="$(string.Map.NUM_LCTRL_LALT)"/>
            <map value="0x408" message="$(string.Map.NUM_RALT)"/>
            <map value="0x40A" message="$(string.Map.NUM_RCTRL_RALT)"/>

            <map value="0x410" message="$(string.Map.NUM_SHIFT)"/>
            <map value="0x411" message="$(string.Map.NUM_SHIFT_LCTRL)"/>
            <map value="0x412" message="$(string.Map.NUM_SHIFT_RCTRL)"/>
            <map value="0x414" message="$(string.Map.NUM_SHIFT_LALT)"/>
            <map value="0x415" message="$(string.Map.NUM_SHIFT_LCTRL_LALT)"/>
            <map value="0x418" message="$(string.Map.NUM_SHIFT_RALT)"/>
            <map value="0x41A" message="$(string.Map.NUM_SHIFT_RCTRL_RALT)"/>

            <map value="0x500" message="$(string.Map.NUM_CAPS)"/>
            <map value="0x501" message="$(string.Map.NUM_CAPS_LCTRL)"/>
            <map value="0x502" message="$(string.Map.NUM_CAPS_RCTRL)"/>
            <map value="0x504" message="$(string.Map.NUM_CAPS_LALT)"/>
            <map value="0x505" message="$(string.Map.NUM_CAPS_LCTRL_LALT)"/>
            <map value="0x508" message="$(string.Map.NUM_CAPS_RALT)"/>
            <map value="0x50A" message="$(string.Map.NUM_CAPS_RCTRL_RALT)"/>

            <map value="0x510" message="$(string.Map.NUM_CAPS_SHIFT)"/>
            <map value="0x511" message="$(string.Map.NUM_CAPS_SHIFT_LCTRL)"/>
            <map value="0x512" message="$(string.Map.NUM_CAPS_SHIFT_RCTRL)"/>
            <map value="0x514" message="$(string.Map.NUM_CAPS_SHIFT_LALT)"/>
            <map value="0x515" message="$(string.Map.NUM_CAPS_SHIFT_LCTRL_LALT)"/>
            <map value="0x518" message="$(string.Map.NUM_CAPS_SHIFT_RALT)"/>
            <map value="0x51A" message="$(string.Map.NUM_CAPS_SHIFT_RCTRL_RALT)"/>

            <!-- These values used only for ActualShiftState -->
            <map value="0x10010" message="$(string.Map.LSHIFT)"/>
            <map value="0x10011" message="$(string.Map.LSHIFT_LCTRL)"/>
            <map value="0x10012" message="$(string.Map.LSHIFT_RCTRL)"/>
            <map value="0x10014" message="$(string.Map.LSHIFT_LALT)"/>
            <map value="0x10015" message="$(string.Map.LSHIFT_LCTRL_LALT)"/>
            <map value="0x10018" message="$(string.Map.LSHIFT_RALT)"/>
            <map value="0x1001A" message="$(string.Map.LSHIFT_RCTRL_RALT)"/>

            <map value="0x10110" message="$(string.Map.CAPS_LSHIFT)"/>
            <map value="0x10111" message="$(string.Map.CAPS_LSHIFT_LCTRL)"/>
            <map value="0x10112" message="$(string.Map.CAPS_LSHIFT_RCTRL)"/>
            <map value="0x10114" message="$(string.Map.CAPS_LSHIFT_LALT)"/>
            <map value="0x10115" message="$(string.Map.CAPS_LSHIFT_LCTRL_LALT)"/>
            <map value="0x10118" message="$(string.Map.CAPS_LSHIFT_RALT)"/>
            <map value="0x1011A" message="$(string.Map.CAPS_LSHIFT_RCTRL_RALT)"/>

            <map value="0x10410" message="$(string.Map.NUM_LSHIFT)"/>
            <map value="0x10411" message="$(string.Map.NUM_LSHIFT_LCTRL)"/>
            <map value="0x10412" message="$(string.Map.NUM_LSHIFT_RCTRL)"/>
            <map value="0x10414" message="$(string.Map.NUM_LSHIFT_LALT)"/>
            <map value="0x10415" message="$(string.Map.NUM_LSHIFT_LCTRL_LALT)"/>
            <map value="0x10418" message="$(string.Map.NUM_LSHIFT_RALT)"/>
            <map value="0x1041A" message="$(string.Map.NUM_LSHIFT_RCTRL_RALT)"/>

            <map value="0x10510" message="$(string.Map.NUM_CAPS_LSHIFT)"/>
            <map value="0x10511" message="$(string.Map.NUM_CAPS_LSHIFT_LCTRL)"/>
            <map value="0x10512" message="$(string.Map.NUM_CAPS_LSHIFT_RCTRL)"/>
            <map value="0x10514" message="$(string.Map.NUM_CAPS_LSHIFT_LALT)"/>
            <map value="0x10515" message="$(string.Map.NUM_CAPS_LSHIFT_LCTRL_LALT)"/>
            <map value="0x10518" message="$(string.Map.NUM_CAPS_LSHIFT_RALT)"/>
            <map value="0x1051A" message="$(string.Map.NUM_CAPS_LSHIFT_RCTRL_RALT)"/>

            <map value="0x20010" message="$(string.Map.RSHIFT)"/>
            <map value="0x20011" message="$(string.Map.RSHIFT_LCTRL)"/>
            <map value="0x20012" message="$(string.Map.RSHIFT_RCTRL)"/>
            <map value="0x20014" message="$(string.Map.RSHIFT_LALT)"/>
            <map value="0x20015" message="$(string.Map.RSHIFT_LCTRL_LALT)"/>
            <map value="0x20018" message="$(string.Map.RSHIFT_RALT)"/>
            <map value="0x2001A" message="$(string.Map.RSHIFT_RCTRL_RALT)"/>

            <map value="0x20110" message="$(string.Map.CAPS_RSHIFT)"/>
            <map value="0x20111" message="$(string.Map.CAPS_RSHIFT_LCTRL)"/>
            <map value="0x20112" message="$(string.Map.CAPS_RSHIFT_RCTRL)"/>
            <map value="0x20114" message="$(string.Map.CAPS_RSHIFT_LALT)"/>
            <map value="0x20115" message="$(string.Map.CAPS_RSHIFT_LCTRL_LALT)"/>
            <map value="0x20118" message="$(string.Map.CAPS_RSHIFT_RALT)"/>
            <map value="0x2011A" message="$(string.Map.CAPS_RSHIFT_RCTRL_RALT)"/>

            <map value="0x20410" message="$(string.Map.NUM_RSHIFT)"/>
            <map value="0x20411" message="$(string.Map.NUM_RSHIFT_LCTRL)"/>
            <map value="0x20412" message="$(string.Map.NUM_RSHIFT_RCTRL)"/>
            <map value="0x20414" message="$(string.Map.NUM_RSHIFT_LALT)"/>
            <map value="0x20415" message="$(string.Map.NUM_RSHIFT_LCTRL_LALT)"/>
            <map value="0x20418" message="$(string.Map.NUM_RSHIFT_RALT)"/>
            <map value="0x2041A" message="$(string.Map.NUM_RSHIFT_RCTRL_RALT)"/>

            <map value="0x20510" message="$(string.Map.NUM_CAPS_RSHIFT)"/>
            <map value="0x20511" message="$(string.Map.NUM_CAPS_RSHIFT_LCTRL)"/>
            <map value="0x20512" message="$(string.Map.NUM_CAPS_RSHIFT_RCTRL)"/>
            <map value="0x20514" message="$(string.Map.NUM_CAPS_RSHIFT_LALT)"/>
            <map value="0x20515" message="$(string.Map.NUM_CAPS_RSHIFT_LCTRL_LALT)"/>
            <map value="0x20518" message="$(string.Map.NUM_CAPS_RSHIFT_RALT)"/>
            <map value="0x2051A" message="$(string.Map.NUM_CAPS_RSHIFT_RCTRL_RALT)"/>
          </valueMap>
        </maps>
        
        <channels>
          <channel name="Keyman-Debug-ETWProvider/Debug" chid="C1" type="Debug"  />
        </channels>
        
        <templates>
          <!-- This template must match the EventDataDescCreate calls in K32_DBG.CPP and Keyman.System.DebugLogClient.pas -->
          <template tid="DebugEntryTemplate">
            <data name="Platform" inType="win:UInt32" map="Platform" />
            <data name="Process" inType="win:UnicodeString" />
            <data name="PID" inType="win:UInt32" />
            <data name="TID" inType="win:UInt32" />
            <data name="ModifierState" inType="win:UInt32" map="ModifierState" />
            <data name="ActualModifierState" inType="win:UInt32" map="ModifierState" />
            <data name="TickCount" inType="win:UInt32" />
            <data name="FocusHWND" inType="win:UInt32" />
            <data name="ActiveHKL" inType="win:UInt32" />
            <data name="SourceFile" inType="win:UnicodeString" />
            <data name="SourceLine" inType="win:UInt32" />
            <data name="Message" inType="win:UnicodeString" />
          </template>

        </templates>

        <events>
          <!-- DebugEvent is defined in Keyman.System.DebugLogClient.pas and needs to be updated if this changes -->
          <event value="1"
              channel="C1"
              level="win:Informational"
              template="DebugEntryTemplate"
              symbol="DebugEvent"
              message="$(string.EventMessage)" />
        </events>
      </provider>
    </events>
  </instrumentation>

  <localization>
    <resources culture="en-US">
      <stringTable>

        <string id="Provider.Name" value="Keyman-Debug-ETWProvider"/>

        <string id="EventMessage" value="[%1] [%2] [%3] [%4] (%5 %6) %7 %8 %9 %10:%11 %12" />
        <string id="Map.x86" value="x86" />
        <string id="Map.x64" value="x64" />

        <string id="Map.UNMODIFIED" value="0" />

        <string id="Map.LCTRL" value="LCTRL" />
        <string id="Map.RCTRL" value="RCTRL" />
        <string id="Map.LALT" value="LALT" />
        <string id="Map.LCTRL_LALT" value="LCTRL+LALT" />
        <string id="Map.LCTRL_RALT" value="LCTRL+RALT" />
        <string id="Map.RALT" value="RALT" />
        <string id="Map.RCTRL_RALT" value="RCTRL+RALT" />

        <string id="Map.SHIFT" value="SHIFT" />
        <string id="Map.SHIFT_LCTRL" value="SHIFT+LCTRL" />
        <string id="Map.SHIFT_RCTRL" value="SHIFT+RCTRL" />
        <string id="Map.SHIFT_LALT" value="SHIFT+LALT" />
        <string id="Map.SHIFT_LCTRL_LALT" value="SHIFT+LCTRL+LALT" />
        <string id="Map.SHIFT_RALT" value="SHIFT+RALT" />
        <string id="Map.SHIFT_RCTRL_RALT" value="SHIFT+RCTRL+RALT" />

        <string id="Map.CAPS" value="CAPS" />
        <string id="Map.CAPS_LCTRL" value="CAPS+LCTRL" />
        <string id="Map.CAPS_RCTRL" value="CAPS+RCTRL" />
        <string id="Map.CAPS_LALT" value="CAPS+LALT" />
        <string id="Map.CAPS_LCTRL_LALT" value="CAPS+LCTRL+LALT" />
        <string id="Map.CAPS_RALT" value="CAPS+RALT" />
        <string id="Map.CAPS_RCTRL_RALT" value="CAPS+RCTRL+RALT" />

        <string id="Map.CAPS_SHIFT" value="CAPS+SHIFT" />
        <string id="Map.CAPS_SHIFT_LCTRL" value="CAPS+SHIFT+LCTRL" />
        <string id="Map.CAPS_SHIFT_RCTRL" value="CAPS+SHIFT+RCTRL" />
        <string id="Map.CAPS_SHIFT_LALT" value="CAPS+SHIFT+LALT" />
        <string id="Map.CAPS_SHIFT_LCTRL_LALT" value="CAPS+SHIFT+LCTRL+LALT" />
        <string id="Map.CAPS_SHIFT_RALT" value="CAPS+SHIFT+RALT" />
        <string id="Map.CAPS_SHIFT_RCTRL_RALT" value="CAPS+SHIFT+RCTRL+RALT" />

        <string id="Map.NUM" value="NUM" />
        <string id="Map.NUM_LCTRL" value="NUM+LCTRL" />
        <string id="Map.NUM_RCTRL" value="NUM+RCTRL" />
        <string id="Map.NUM_LALT" value="NUM+LALT" />
        <string id="Map.NUM_LCTRL_LALT" value="NUM+LCTRL+LALT" />
        <string id="Map.NUM_RALT" value="NUM+RALT" />
        <string id="Map.NUM_RCTRL_RALT" value="NUM+RCTRL+RALT" />

        <string id="Map.NUM_SHIFT" value="NUM+SHIFT" />
        <string id="Map.NUM_SHIFT_LCTRL" value="NUM+SHIFT+LCTRL" />
        <string id="Map.NUM_SHIFT_RCTRL" value="NUM+SHIFT+RCTRL" />
        <string id="Map.NUM_SHIFT_LALT" value="NUM+SHIFT+LALT" />
        <string id="Map.NUM_SHIFT_LCTRL_LALT" value="NUM+SHIFT+LCTRL+LALT" />
        <string id="Map.NUM_SHIFT_RALT" value="NUM+SHIFT+RALT" />
        <string id="Map.NUM_SHIFT_RCTRL_RALT" value="NUM+SHIFT+RCTRL+RALT" />

        <string id="Map.NUM_CAPS" value="NUM+CAPS" />
        <string id="Map.NUM_CAPS_LCTRL" value="NUM+CAPS+LCTRL" />
        <string id="Map.NUM_CAPS_RCTRL" value="NUM+CAPS+RCTRL" />
        <string id="Map.NUM_CAPS_LALT" value="NUM+CAPS+LALT" />
        <string id="Map.NUM_CAPS_LCTRL_LALT" value="NUM+CAPS+LCTRL+LALT" />
        <string id="Map.NUM_CAPS_RALT" value="NUM+CAPS+RALT" />
        <string id="Map.NUM_CAPS_RCTRL_RALT" value="NUM+CAPS+RCTRL+RALT" />

        <string id="Map.NUM_CAPS_SHIFT" value="NUM+CAPS+SHIFT" />
        <string id="Map.NUM_CAPS_SHIFT_LCTRL" value="NUM+CAPS+SHIFT+LCTRL" />
        <string id="Map.NUM_CAPS_SHIFT_RCTRL" value="NUM+CAPS+SHIFT+RCTRL" />
        <string id="Map.NUM_CAPS_SHIFT_LALT" value="NUM+CAPS+SHIFT+LALT" />
        <string id="Map.NUM_CAPS_SHIFT_LCTRL_LALT" value="NUM+CAPS+SHIFT+LCTRL+LALT" />
        <string id="Map.NUM_CAPS_SHIFT_RALT" value="NUM+CAPS+SHIFT+RALT" />
        <string id="Map.NUM_CAPS_SHIFT_RCTRL_RALT" value="NUM+CAPS+SHIFT+RCTRL+RALT" />

        <!-- These values used only for ActualShiftState -->
        <string id="Map.LSHIFT" value="LSHIFT" />
        <string id="Map.LSHIFT_LCTRL" value="LSHIFT+LCTRL" />
        <string id="Map.LSHIFT_RCTRL" value="LSHIFT+RCTRL" />
        <string id="Map.LSHIFT_LALT" value="LSHIFT+LALT" />
        <string id="Map.LSHIFT_LCTRL_LALT" value="LSHIFT+LCTRL+LALT" />
        <string id="Map.LSHIFT_RALT" value="LSHIFT+RALT" />
        <string id="Map.LSHIFT_RCTRL_RALT" value="LSHIFT+RCTRL+RALT" />

        <string id="Map.CAPS_LSHIFT" value="CAPS+LSHIFT" />
        <string id="Map.CAPS_LSHIFT_LCTRL" value="CAPS+LSHIFT+LCTRL" />
        <string id="Map.CAPS_LSHIFT_RCTRL" value="CAPS+LSHIFT+RCTRL" />
        <string id="Map.CAPS_LSHIFT_LALT" value="CAPS+LSHIFT+LALT" />
        <string id="Map.CAPS_LSHIFT_LCTRL_LALT" value="CAPS+LSHIFT+LCTRL+LALT" />
        <string id="Map.CAPS_LSHIFT_RALT" value="CAPS+LSHIFT+RALT" />
        <string id="Map.CAPS_LSHIFT_RCTRL_RALT" value="CAPS+LSHIFT+RCTRL+RALT" />

        <string id="Map.NUM_LSHIFT" value="NUM+LSHIFT" />
        <string id="Map.NUM_LSHIFT_LCTRL" value="NUM+LSHIFT+LCTRL" />
        <string id="Map.NUM_LSHIFT_RCTRL" value="NUM+LSHIFT+RCTRL" />
        <string id="Map.NUM_LSHIFT_LALT" value="NUM+LSHIFT+LALT" />
        <string id="Map.NUM_LSHIFT_LCTRL_LALT" value="NUM+LSHIFT+LCTRL+LALT" />
        <string id="Map.NUM_LSHIFT_RALT" value="NUM+LSHIFT+RALT" />
        <string id="Map.NUM_LSHIFT_RCTRL_RALT" value="NUM+LSHIFT+RCTRL+RALT" />

        <string id="Map.NUM_CAPS_LSHIFT" value="NUM+CAPS+LSHIFT" />
        <string id="Map.NUM_CAPS_LSHIFT_LCTRL" value="NUM+CAPS+LSHIFT+LCTRL" />
        <string id="Map.NUM_CAPS_LSHIFT_RCTRL" value="NUM+CAPS+LSHIFT+RCTRL" />
        <string id="Map.NUM_CAPS_LSHIFT_LALT" value="NUM+CAPS+LSHIFT+LALT" />
        <string id="Map.NUM_CAPS_LSHIFT_LCTRL_LALT" value="NUM+CAPS+LSHIFT+LCTRL+LALT" />
        <string id="Map.NUM_CAPS_LSHIFT_RALT" value="NUM+CAPS+LSHIFT+RALT" />
        <string id="Map.NUM_CAPS_LSHIFT_RCTRL_RALT" value="NUM+CAPS+LSHIFT+RCTRL+RALT" />

        <string id="Map.RSHIFT" value="RSHIFT" />
        <string id="Map.RSHIFT_LCTRL" value="RSHIFT+LCTRL" />
        <string id="Map.RSHIFT_RCTRL" value="RSHIFT+RCTRL" />
        <string id="Map.RSHIFT_LALT" value="RSHIFT+LALT" />
        <string id="Map.RSHIFT_LCTRL_LALT" value="RSHIFT+LCTRL+LALT" />
        <string id="Map.RSHIFT_RALT" value="RSHIFT+RALT" />
        <string id="Map.RSHIFT_RCTRL_RALT" value="RSHIFT+RCTRL+RALT" />

        <string id="Map.CAPS_RSHIFT" value="CAPS+RSHIFT" />
        <string id="Map.CAPS_RSHIFT_LCTRL" value="CAPS+RSHIFT+LCTRL" />
        <string id="Map.CAPS_RSHIFT_RCTRL" value="CAPS+RSHIFT+RCTRL" />
        <string id="Map.CAPS_RSHIFT_LALT" value="CAPS+RSHIFT+LALT" />
        <string id="Map.CAPS_RSHIFT_LCTRL_LALT" value="CAPS+RSHIFT+LCTRL+LALT" />
        <string id="Map.CAPS_RSHIFT_RALT" value="CAPS+RSHIFT+RALT" />
        <string id="Map.CAPS_RSHIFT_RCTRL_RALT" value="CAPS+RSHIFT+RCTRL+RALT" />

        <string id="Map.NUM_RSHIFT" value="NUM+RSHIFT" />
        <string id="Map.NUM_RSHIFT_LCTRL" value="NUM+RSHIFT+LCTRL" />
        <string id="Map.NUM_RSHIFT_RCTRL" value="NUM+RSHIFT+RCTRL" />
        <string id="Map.NUM_RSHIFT_LALT" value="NUM+RSHIFT+LALT" />
        <string id="Map.NUM_RSHIFT_LCTRL_LALT" value="NUM+RSHIFT+LCTRL+LALT" />
        <string id="Map.NUM_RSHIFT_RALT" value="NUM+RSHIFT+RALT" />
        <string id="Map.NUM_RSHIFT_RCTRL_RALT" value="NUM+RSHIFT+RCTRL+RALT" />

        <string id="Map.NUM_CAPS_RSHIFT" value="NUM+CAPS+RSHIFT" />
        <string id="Map.NUM_CAPS_RSHIFT_LCTRL" value="NUM+CAPS+RSHIFT+LCTRL" />
        <string id="Map.NUM_CAPS_RSHIFT_RCTRL" value="NUM+CAPS+RSHIFT+RCTRL" />
        <string id="Map.NUM_CAPS_RSHIFT_LALT" value="NUM+CAPS+RSHIFT+LALT" />
        <string id="Map.NUM_CAPS_RSHIFT_LCTRL_LALT" value="NUM+CAPS+RSHIFT+LCTRL+LALT" />
        <string id="Map.NUM_CAPS_RSHIFT_RALT" value="NUM+CAPS+RSHIFT+RALT" />
        <string id="Map.NUM_CAPS_RSHIFT_RCTRL_RALT" value="NUM+CAPS+RSHIFT+RCTRL+RALT" />
      </stringTable>
    </resources>
  </localization>

</instrumentationManifest>