<?xml version="1.0"?>
<keyhelper>

<!-- keyhelper mapping for C3000/C3100 -->

  <modifiers>

    <!-- enable shift key to toggle -->
    <define key="Shift" type="Shift" toggle="True"/> 

    <!-- enable fn key to toggle -->
    <define key="Fn" type="Fn" toggle="True"/> 
    
    <!-- enable ctrl key to toggle -->
    <define key="Control" type="Control" toggle="True"/> 

    <!-- map alt key to kana/hira key -->
    <define key="F26" type="Alt" mapping="True"/>

    <!-- map menu key to application shortcut key -->
    <define key="F11" type="User1"/> 

  </modifiers>
  <mappings>

    <!-- define alt key -->
    <define key="F26">
      <modifier Shift="Off"/>
      <map key="Alt"/>
      <map_modifier Shift="Off"/>
    </define>

    <!-- define ctrl menu to be alt f -->
    <define key="F11">
      <modifier Control="On"/>
      <map key="F"/>
      <map_modifier Control="Off" Alt="On"/>
      <map_unicode char="f"/>
    </define>

    <!-- define fn shift a to be alt a -->
    <define code="2017">
      <modifier Shift="On" Control="On"/>
      <map key="A"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="a"/>
    </define>

    <!-- define fn shift b To be alt b -->
    <define key="Underscore">
      <modifier Shift="On" Control="On"/>
      <map key="B"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="b"/>
    </define>

    <!-- define fn shift d to be alt d -->
    <define key="yen">
      <modifier Shift="On" Control="On"/>
      <map key="D"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="d"/>
    </define>

    <!-- define fn shift e to be alt e -->
    <define key="E">
      <modifier Shift="On" Control="On"/>
      <map key="E"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="e"/>
    </define>

    <!-- define fn shift f to be alt f -->
    <define key="Backslash">
      <modifier Shift="On" Control="On"/>
      <map key="F"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="f"/>
    </define>

    <!-- define fn shift g to be alt g -->
    <define key="Semicolon">
      <modifier Shift="On" Control="On"/>
      <map key="G"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="g"/>
    </define>

    <!-- define fn shift h to be alt h -->
    <define key="Colon">
      <modifier Shift="On" Control="On"/>
      <map key="H"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="h"/>
    </define>

    <!-- define fn shift i to be alt i -->
    <define key="sterling">
      <modifier Shift="On" Control="On"/>
      <map key="I"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="i"/>
    </define>

    <!-- define fn shift j to be alt j -->
    <define key="Asterisk">
      <modifier Shift="On" Control="On"/>
      <map key="J"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="j"/>
    </define>

    <!-- define fn shift k to be alt k -->
    <define key="Backslash">
      <modifier Shift="On" Control="On"/>
      <map key="K"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="k"/>
    </define>

    <!-- define fn shift l to be alt l -->
    <define key="Bar">
      <modifier Shift="On" Control="On"/>
      <map key="L"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="l"/>
    </define>

    <!-- define fn shift m to be alt m -->
    <define code="201a">
      <modifier Shift="On" Control="On"/>
      <map key="M"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="m"/>
    </define>

    <!-- define fn shift n to be alt n -->
    <define code="2019">
      <modifier Shift="On" Control="On"/>
      <map key="N"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="n"/>
    </define>

    <!-- define fn shift o to be alt o -->
    <define code="2015">
      <modifier Shift="On" Control="On"/>
      <map key="O"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="o"/>
    </define>

    <!-- define fn shift p to be alt p -->
    <define code="2016">
      <modifier Shift="On" Control="On"/>
      <map key="P"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="p"/>
    </define>

    <!-- define fn shift q to be alt q -->
    <define code="2014">
      <modifier Shift="On" Control="On"/>
      <map key="Q"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="q"/>
    </define>

    <!-- define fn shift r to be alt r -->
    <define key="Plus">
      <modifier Shift="On" Control="On"/>
      <map key="R"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="r"/>
    </define>

    <!-- define fn shift s to be alt s -->
    <define code="2018">
      <modifier Shift="On" Control="On"/>
      <map key="S"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="s"/>
    </define>

    <!-- define fn shift t to be alt t -->
    <define key="BracketLeft">
      <modifier Shift="On" Control="On"/>
      <map key="T"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="t"/>
    </define>

    <!-- define fn shift u to be alt u -->
    <define key="cent">
      <modifier Shift="On" Control="On"/>
      <map key="U"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="u"/>
    </define>

    <!-- define fn shift w to be alt w -->
    <define key="AsciiCircum">
      <modifier Shift="On" Control="On"/>
      <map key="W"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="w"/>
    </define>

    <!-- define fn shift y to be alt y -->
    <define key="BracketRight">
      <modifier Shift="On" Control="On"/>
      <map key="Y"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="y"/>
    </define>

    <!-- define fn shift z to be alt z -->
    <define code="2017">
      <modifier Shift="On" Control="On"/>
      <map key="Z"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="z"/>
    </define>

    <!-- define fn shift 1 to be alt 1 -->
    <define code="200f">
      <modifier Shift="On" Control="On"/>
      <map key="1"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="1"/>
    </define>

    <!-- define fn shift 2 to be alt 2 -->
    <define code="2010">
      <modifier Shift="On" Control="On"/>
      <map key="2"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="2"/>
    </define>

    <!-- define fn shift 3 to be alt 3 -->
    <define code="2012">
      <modifier Shift="On" Control="On"/>
      <map key="3"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="3"/>
    </define>

    <!-- define fn shift 4 to be alt 4 -->
    <define code="2011">
      <modifier Shift="On" Control="On"/>
      <map key="4"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="4"/>
    </define>

    <!-- define fn shift 5 to be alt 5 -->
    <define code="201b">
      <modifier Shift="On" Control="On"/>
      <map key="5"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="5"/>
    </define>

    <!-- define fn shift 6 to be alt 6 -->
    <define code="200a">
      <modifier Shift="On" Control="On"/>
      <map key="6"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="6"/>
    </define>

    <!-- define fn shift 7 to be alt 7 -->
    <define code="200b">
      <modifier Shift="On" Control="On"/>
      <map key="7"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="7"/>
    </define>

    <!-- define fn shift 8 to be alt 8 -->
    <define code="200c">
      <modifier Shift="On" Control="On"/>
      <map key="8"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="8"/>
    </define>

    <!-- define fn shift 9 to be alt 9 -->
    <define code="2007">
      <modifier Shift="On" Control="On"/>
      <map key="9"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="9"/>
    </define>

    <!-- define fn shift 0 to be alt 0 -->
    <define code="2008">
      <modifier Shift="On" Control="On"/>
      <map key="0"/>
      <map_modifier Shift="Off" Control="Off" Alt="On"/>
      <map_unicode char="0"/>
    </define>

    <!-- swap / and , -->
    <define key="Comma">
      <map key="Slash"/>
      <map_modifier Shift="On"/>
      <map_unicode shift_unicode="/"/>
    </define>
    <define key="Slash">
      <modifier Shift="On"/>
      <map key="Comma"/>
      <map_modifier Shift="Off"/>
    </define>
    <define key="Comma">
      <modifier Shift="On"/>
      <map key="Comma"/>
      <map_modifier Shift="Off"/>
    </define>

    <!-- define fn o to be open curly bracket -->
    <define code="2015">
      <map key="Less"/>
      <map_modifier Shift="On"/>
      <map_unicode shift_unicode="{"/>
    </define>

    <!-- define fn p to be close curly bracket -->
    <define code="2016">
      <map key="Greater"/>
      <map_modifier Shift="On"/>
      <map_unicode shift_unicode="}"/>
    </define>

    <!-- map ctrl m to circle -->
    <define key="M">
      <modifier Control="On"/>
      <map key="M"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0b0"/>
    </define>

    <!-- map ctrl a to umlaut a -->
    <define key="A">
      <modifier Control="On"/>
      <map key="A"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0e4"/>
    </define>
    
    <!-- map ctrl shift a to umlaut A -->
    <define key="A">
      <modifier Shift="On" Control="On"/>
      <map key="A"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0c4"/>
    </define>
    
    <!-- map ctrl o to umlaut o -->
    <define key="O">
      <modifier Control="On"/>
      <map key="O"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0f6"/>
    </define>

    <!-- map ctrl shift o to umlaut O -->
    <define key="O">
      <modifier Shift="On" Control="On"/>
      <map key="O"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0d6"/>
    </define>

    <!-- map ctrl u to umlaut u -->
    <define key="U">
      <modifier Control="On"/>
      <map key="U"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0fc"/>
    </define>

    <!-- map ctrl shift u to umlaut U -->
    <define key="U">
      <modifier Shift="On" Control="On"/>
      <map key="U"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0dc"/>
    </define>

    <!-- map ctrl i to circumflex i -->
    <define key="I">
      <modifier Control="On"/>
      <map key="I"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0ee"/>
    </define>

    <!-- map ctrl shift i to circumflex I -->
    <define key="I">
      <modifier Shift="On" Control="On"/>
      <map key="I"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0ce"/>
    </define>

    <!-- map ctrl e to ae -->
    <define key="E">
      <modifier Control="On"/>
      <map key="E"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0e6"/>
    </define>

    <!-- map ctrl shift e to AE -->
    <define key="E">
      <modifier Shift="On" Control="On"/>
      <map key="E"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0c6"/>
    </define>

    <!-- map ctrl s to eszett -->
    <define key="S">
      <modifier Control="On"/>
      <map key="S"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0df"/>
    </define>

    <!-- map ctrl shit d to D with eth -->
    <define key="D">
      <modifier Shift="On" Control="On"/>
      <map key="D"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0d0"/>
    </define>

    <!-- map ctrl 1 to e with grave -->
    <define key="1">
      <modifier Control="On"/>
      <map key="1"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0e8"/>
    </define>

    <!-- map ctrl 2 to E with grave -->
    <define key="2">
      <modifier Control="On"/>
      <map key="2"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0c8"/>
    </define>

    <!-- map ctrl 3 to e with acute -->
    <define key="3">
      <modifier Control="On"/>
      <map key="3"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0e9"/>
    </define>

    <!-- map ctrl 4 to E with acute -->
    <define key="4">
      <modifier Control="On"/>
      <map key="4"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0c9"/>
    </define>

    <!-- map ctrl 5 to e with circumflex -->
    <define key="5">
      <modifier Control="On"/>
      <map key="5"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0ea"/>
    </define>

    <!-- map ctrl 6 to E with circumflex -->
    <define key="6">
      <modifier Control="On"/>
      <map key="6"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0ca"/>
    </define>

    <!-- map ctrl 7 to e with diaeresis -->
    <define key="7">
      <modifier Control="On"/>
      <map key="7"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0eb"/>
    </define>

    <!-- map ctrl 8 to E with diaeresis -->
    <define key="8">
      <modifier Control="On"/>
      <map key="8"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0cb"/>
    </define>

    <!-- map ctrl 9 to c cedilla -->
    <define key="9">
      <modifier Control="On"/>
      <map key="9"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0e7"/>
    </define>

    <!-- map ctrl 0 to C cedilla -->
    <define key="0">
      <modifier Control="On"/>
      <map key="0"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0c7"/>
    </define>

    <!-- map ctrl t to left double angle quotation mark -->
    <define key="T">
      <modifier Control="On"/>
      <map key="T"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0ab"/>
    </define>

    <!-- map ctrl y to right double angle quotation mark -->
    <define key="Y">
      <modifier Control="On"/>
      <map key="Y"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0bb"/>
    </define>

    <!-- map ctrl w to multiplication sign -->
    <define key="W">
      <modifier Control="On"/>
      <map key="W"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0d7"/>
    </define>

    <!-- map ctrl r to division sign -->
    <define key="R">
      <modifier Control="On"/>
      <map key="R"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0f7"/>
    </define>

    <!-- map ctrl - to plus minus sign -->
    <define key="Minus">
      <modifier Control="On"/>
      <map key="Minus"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0b1"/>
    </define>

    <!-- map ctrl q to acute accent -->
    <define key="Q">
      <modifier Control="On"/>
      <map key="Q"/>
      <map_modifier Control="Off"/>
      <map_unicode code="0x0b4"/>
    </define>

    <!-- define fn q to be grave accent -->
    <define code="2014">
        <map key="Minus"/>
        <map_modifier Shift="On"/>
        <map_unicode char="`"/>
    </define>

    <!-- map fn a to pound sign -->
    <define code="2017">
      <map key="A"/>
      <map_unicode code="0x0a3"/>
    </define>

  </mappings>

  <repeater>
    <repeat delay="300" period="35"/>
  </repeater>

  <extensions>

    <!-- enable shift calendar to bring up settings menu -->
    <define key="F9" kind="menu1">
      <modifier Shift="On"/>
    </define>

    <!-- enable shift address to bring up documents menu -->
    <define key="F10" kind="menu2">
      <modifier Shift="On"/>
    </define>

    <!-- enable shift mail to bring up application menu -->
    <define key="F13" kind="menu">
      <modifier Shift="On"/>
    </define>

    <!-- enable shift menu to bring up task selector -->
    <define key="F11" kind="select">
      <modifier Shift="On"/>
    </define>

    <!-- enable shift home to switch tasks -->
    <define key="F12" kind="switch">
      <modifier Shift="On"/>
    </define>

    <!-- enable menu key to launch apps -->
    <define key="All" kind="launch">
      <modifier User1="On"/>
    </define>
    <define key="All" kind="launch1"/>

  </extensions>
</keyhelper>

