Updates to CUB's layouts

This commit is contained in:
Oleg Kostyuk 2013-09-09 04:32:19 +03:00
parent 260d7b7707
commit 5aaf797455
10 changed files with 2957 additions and 19 deletions

View file

@ -0,0 +1,18 @@
#!/bin/sh
if [ "`id -u`" = "0" ]; then
[ -d /usr/share/kde4/apps/ktouch/ ] && cp ~/etc/layout/ktouch/workman* /usr/share/kde4/apps/ktouch/
cp ~/etc/layout/xkb/workman /usr/share/X11/xkb/symbols/workman
cat /usr/share/X11/xkb/symbols.dir | grep -v workman > /usr/share/X11/xkb/symbols.dir.new
cat ~/etc/layout/xkb/symbols.dir.workman >> /usr/share/X11/xkb/symbols.dir.new
mv /usr/share/X11/xkb/symbols.dir.new /usr/share/X11/xkb/symbols.dir
echo "Now you could run these command to set Workman-Dvorak-P, Workman-Cub-P, Dvorak-P or QWERTY layouts:"
echo " setxkbmap -layout workman,ru -variant wdp,"
echo " setxkbmap -layout workman,ru -variant wcp, # for usual keyboard"
echo " setxkbmap -layout workman,ru -variant wce, # for Ergodox keyboard"
echo " setxkbmap -layout us,ru -variant dvp,"
echo " setxkbmap -layout us,ru -variant ,"
else
echo "You should run this from root account"
exit 1
fi

View file

@ -0,0 +1,24 @@
#!/bin/sh
opts='-model pc104 -option grp:caps_toggle,grp_led:scroll'
case "$1" in
dvorak)
setxkbmap "$opts" -layout us,ru -variant dvp,
;;
carpalx)
setxkbmap "$opts" -layout carpalx,ru -variant qgmlwb-p,
;;
workman)
variant='wcp,'
lsusb | grep -q feed:1112 || variant='wce,'
[ -e ~/.force_ergodox ] && variant='wce,'
[ -e ~/.force_plain ] && variant='wcp,'
setxkbmap "$opts" -layout workman,ru -variant "$variant"
;;
*)
# US or unknown layout - setting US
setxkbmap "$opts" -layout us,ru
;;
esac

View file

@ -0,0 +1,294 @@
<KTouchKeyboard>
<Title>English Workman layout for programmers from cub@uanic (old)</Title>
<Comment>English Workman layout for programmers from cub@uanic (old)</Comment>
<Language>en (English)</Language>
<Keys>
<Key Width="80" X="180" Y="200" Height="80" Type="FINGER">
<Char Unicode="65" Position="TopLeft">A</Char>
</Key>
<Key Width="80" X="280" Y="200" Height="80" Type="FINGER">
<Char Unicode="83" Position="TopLeft">S</Char>
</Key>
<Key Width="80" X="380" Y="200" Height="80" Type="FINGER">
<Char Unicode="72" Position="TopLeft">H</Char>
</Key>
<Key Width="80" X="480" Y="200" Height="80" Type="FINGER">
<Char Unicode="84" Position="TopLeft">T</Char>
</Key>
<Key Width="80" X="780" Y="200" Height="80" Type="FINGER">
<Char Unicode="78" Position="TopLeft">N</Char>
</Key>
<Key Width="80" X="880" Y="200" Height="80" Type="FINGER">
<Char Unicode="69" Position="TopLeft">E</Char>
</Key>
<Key Width="80" X="980" Y="200" Height="80" Type="FINGER">
<Char Unicode="79" Position="TopLeft">O</Char>
</Key>
<Key Width="80" X="1080" Y="200" Height="80" Type="FINGER">
<Char Unicode="73" Position="TopLeft">I</Char>
</Key>
<Key Width="130" X="0" Y="100" Height="80" Type="TAB"/>
<Key Width="100" X="1380" Y="100" Height="180" Type="ENTER"/>
<Key Width="250" X="1230" Y="300" Height="80" Type="SHIFT"/>
<Key Width="130" X="1200" KeyText="AltGr" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="1350" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="150" KeyText="Alt" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="0" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="880" X="300" Y="400" Height="80" Type="SPACE"/>
<Key Width="110" X="0" Y="300" Height="80" Type="SHIFT"/>
<Key Width="160" X="0" Y="200" Height="80" Type="CAPSLOCK"/>
<Key Width="160" X="1310" Y="0" Height="80" Type="BACKSPACE"/>
<Key Width="80" X="0" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="96" Position="TopLeft">`</Char>
<Char Unicode="126" Position="BottomLeft">~</Char>
</Key>
<Key Width="80" X="100" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="49" Position="TopLeft">1</Char>
<Char Unicode="33" Position="BottomLeft">!</Char>
</Key>
<Key Width="80" X="200" Y="0" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="50" Position="TopLeft">2</Char>
<Char Unicode="123" Position="BottomLeft">{</Char>
</Key>
<Key Width="80" X="300" Y="0" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="51" Position="TopLeft">3</Char>
<Char Unicode="35" Position="BottomLeft">#</Char>
</Key>
<Key Width="80" X="400" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="52" Position="TopLeft">4</Char>
<Char Unicode="59" Position="BottomLeft">;</Char>
</Key>
<Key Width="80" X="500" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="53" Position="TopLeft">5</Char>
<Char Unicode="125" Position="BottomLeft">}</Char>
</Key>
<Key Width="80" X="600" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="54" Position="TopLeft">6</Char>
<Char Unicode="91" Position="BottomLeft">[</Char>
</Key>
<Key Width="80" X="700" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="55" Position="TopLeft">7</Char>
<Char Unicode="38" Position="BottomLeft">&amp;</Char>
</Key>
<Key Width="80" X="800" Y="0" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="56" Position="TopLeft">8</Char>
<Char Unicode="42" Position="BottomLeft">*</Char>
</Key>
<Key Width="80" X="900" Y="0" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="57" Position="TopLeft">9</Char>
<Char Unicode="40" Position="BottomLeft">(</Char>
</Key>
<Key Width="80" X="1000" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="48" Position="TopLeft">0</Char>
<Char Unicode="41" Position="BottomLeft">)</Char>
</Key>
<Key Width="80" X="1100" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="37" Position="TopLeft">%</Char>
<Char Unicode="93" Position="BottomLeft">]</Char>
</Key>
<Key Width="80" X="1200" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="43" Position="TopLeft">+</Char>
<Char Unicode="61" Position="BottomLeft">=</Char>
</Key>
<Key Width="80" X="150" Y="100" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="81" Position="TopLeft">Q</Char>
</Key>
<Key Width="80" X="250" Y="100" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="68" Position="TopLeft">D</Char>
</Key>
<Key Width="80" X="350" Y="100" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="82" Position="TopLeft">R</Char>
</Key>
<Key Width="80" X="450" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="87" Position="TopLeft">W</Char>
</Key>
<Key Width="80" X="550" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="66" Position="TopLeft">B</Char>
</Key>
<Key Width="80" X="650" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="74" Position="TopLeft">J</Char>
</Key>
<Key Width="80" X="750" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="70" Position="TopLeft">F</Char>
</Key>
<Key Width="80" X="850" Y="100" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="85" Position="TopLeft">U</Char>
</Key>
<Key Width="80" X="950" Y="100" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="80" Position="TopLeft">P</Char>
</Key>
<Key Width="80" X="1050" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="64" Position="TopLeft">@</Char>
<Char Unicode="36" Position="BottomLeft">$</Char>
</Key>
<Key Width="80" X="1150" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="94" Position="TopLeft">^</Char>
<Char Unicode="58" Position="BottomLeft">:</Char>
</Key>
<Key Width="80" X="1250" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="34" Position="TopLeft">"</Char>
<Char Unicode="39" Position="BottomLeft">'</Char>
</Key>
<Key Width="80" X="580" Y="200" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="71" Position="TopLeft">G</Char>
</Key>
<Key Width="80" X="680" Y="200" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="89" Position="TopLeft">Y</Char>
</Key>
<Key Width="80" X="1180" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="95" Position="TopLeft">_</Char>
<Char Unicode="45" Position="BottomLeft">-</Char>
</Key>
<Key Width="80" X="1280" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="124" Position="TopLeft">|</Char>
<Char Unicode="92" Position="BottomLeft">\</Char>
</Key>
<Key Width="80" X="130" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="62" Position="BottomLeft">></Char>
</Key>
<Key Width="80" X="230" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="90" Position="TopLeft">Z</Char>
</Key>
<Key Width="80" X="330" Y="300" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="88" Position="TopLeft">X</Char>
</Key>
<Key Width="80" X="430" Y="300" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="77" Position="TopLeft">M</Char>
</Key>
<Key Width="80" X="530" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="67" Position="TopLeft">C</Char>
</Key>
<Key Width="80" X="630" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="86" Position="TopLeft">V</Char>
</Key>
<Key Width="80" X="730" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="75" Position="TopLeft">K</Char>
</Key>
<Key Width="80" X="830" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="76" Position="TopLeft">L</Char>
</Key>
<Key Width="80" X="930" Y="300" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="44" Position="BottomLeft">,</Char>
</Key>
<Key Width="80" X="1030" Y="300" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="62" Position="TopLeft">></Char>
<Char Unicode="46" Position="BottomLeft">.</Char>
</Key>
<Key Width="80" X="1130" Y="300" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="63" Position="TopLeft">?</Char>
<Char Unicode="47" Position="BottomLeft">/</Char>
</Key>
</Keys>
<Connections>
<KeyConnector TargetKeyIndex="0" KeyUnicode="97" />
<KeyConnector TargetKeyIndex="0" KeyUnicode="65" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="115"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="83" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="104"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="72" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="116"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="84" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="4" KeyUnicode="110"/>
<KeyConnector TargetKeyIndex="4" KeyUnicode="78" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="101"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="69" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="111"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="79" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="105"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="73" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="8" KeyUnicode="260"/>
<KeyConnector TargetKeyIndex="9" KeyUnicode="13" />
<KeyConnector TargetKeyIndex="10" KeyUnicode="257"/>
<KeyConnector TargetKeyIndex="11" KeyUnicode="264"/>
<KeyConnector TargetKeyIndex="12" KeyUnicode="265"/>
<KeyConnector TargetKeyIndex="13" KeyUnicode="263"/>
<KeyConnector TargetKeyIndex="14" KeyUnicode="262"/>
<KeyConnector TargetKeyIndex="15" KeyUnicode="32" />
<KeyConnector TargetKeyIndex="16" KeyUnicode="258"/>
<KeyConnector TargetKeyIndex="17" KeyUnicode="259"/>
<KeyConnector TargetKeyIndex="18" KeyUnicode="8" />
<KeyConnector TargetKeyIndex="19" KeyUnicode="126"/>
<KeyConnector TargetKeyIndex="19" KeyUnicode="96" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="20" KeyUnicode="33" />
<KeyConnector TargetKeyIndex="20" KeyUnicode="49" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="21" KeyUnicode="123"/>
<KeyConnector TargetKeyIndex="21" KeyUnicode="50" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="22" KeyUnicode="35" />
<KeyConnector TargetKeyIndex="22" KeyUnicode="51" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="23" KeyUnicode="59" />
<KeyConnector TargetKeyIndex="23" KeyUnicode="52" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="24" KeyUnicode="125"/>
<KeyConnector TargetKeyIndex="24" KeyUnicode="53" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="25" KeyUnicode="91" />
<KeyConnector TargetKeyIndex="25" KeyUnicode="54" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="26" KeyUnicode="38" />
<KeyConnector TargetKeyIndex="26" KeyUnicode="55" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="27" KeyUnicode="42" />
<KeyConnector TargetKeyIndex="27" KeyUnicode="56" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="28" KeyUnicode="40" />
<KeyConnector TargetKeyIndex="28" KeyUnicode="57" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="29" KeyUnicode="41" />
<KeyConnector TargetKeyIndex="29" KeyUnicode="48" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="30" KeyUnicode="93" />
<KeyConnector TargetKeyIndex="30" KeyUnicode="37" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="31" KeyUnicode="61" />
<KeyConnector TargetKeyIndex="31" KeyUnicode="43" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="32" KeyUnicode="113"/>
<KeyConnector TargetKeyIndex="32" KeyUnicode="81" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="100"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="68" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="114"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="82" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="119"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="87" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="36" KeyUnicode="98" />
<KeyConnector TargetKeyIndex="36" KeyUnicode="66" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="37" KeyUnicode="106"/>
<KeyConnector TargetKeyIndex="37" KeyUnicode="74" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="102"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="70" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="117"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="85" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="112"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="80" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="41" KeyUnicode="36" />
<KeyConnector TargetKeyIndex="41" KeyUnicode="64" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="42" KeyUnicode="58" />
<KeyConnector TargetKeyIndex="42" KeyUnicode="94" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="43" KeyUnicode="39" />
<KeyConnector TargetKeyIndex="43" KeyUnicode="34" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="103"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="71" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="121"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="89" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="46" KeyUnicode="45" />
<KeyConnector TargetKeyIndex="46" KeyUnicode="95" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="47" KeyUnicode="92" />
<KeyConnector TargetKeyIndex="47" KeyUnicode="124" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="48" KeyUnicode="62" />
<KeyConnector TargetKeyIndex="48" KeyUnicode="60" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="49" KeyUnicode="122"/>
<KeyConnector TargetKeyIndex="49" KeyUnicode="90" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="120"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="88" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="51" KeyUnicode="109"/>
<KeyConnector TargetKeyIndex="51" KeyUnicode="77" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="52" KeyUnicode="99" />
<KeyConnector TargetKeyIndex="52" KeyUnicode="67" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="118"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="86" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="107"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="75" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="108"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="76" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="56" KeyUnicode="44" />
<KeyConnector TargetKeyIndex="56" KeyUnicode="60" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="57" KeyUnicode="46" />
<KeyConnector TargetKeyIndex="57" KeyUnicode="62" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="58" KeyUnicode="47" />
<KeyConnector TargetKeyIndex="58" KeyUnicode="63" ModifierIndex="10"/>
</Connections>
</KTouchKeyboard>

View file

@ -0,0 +1,294 @@
<KTouchKeyboard>
<Title>English Workman layout for programmers from cub@uanic</Title>
<Comment>English Workman layout for programmers from cub@uanic</Comment>
<Language>en (English)</Language>
<Keys>
<Key Width="80" X="180" Y="200" Height="80" Type="FINGER">
<Char Unicode="65" Position="TopLeft">A</Char>
</Key>
<Key Width="80" X="280" Y="200" Height="80" Type="FINGER">
<Char Unicode="83" Position="TopLeft">S</Char>
</Key>
<Key Width="80" X="380" Y="200" Height="80" Type="FINGER">
<Char Unicode="72" Position="TopLeft">H</Char>
</Key>
<Key Width="80" X="480" Y="200" Height="80" Type="FINGER">
<Char Unicode="84" Position="TopLeft">T</Char>
</Key>
<Key Width="80" X="780" Y="200" Height="80" Type="FINGER">
<Char Unicode="78" Position="TopLeft">N</Char>
</Key>
<Key Width="80" X="880" Y="200" Height="80" Type="FINGER">
<Char Unicode="69" Position="TopLeft">E</Char>
</Key>
<Key Width="80" X="980" Y="200" Height="80" Type="FINGER">
<Char Unicode="79" Position="TopLeft">O</Char>
</Key>
<Key Width="80" X="1080" Y="200" Height="80" Type="FINGER">
<Char Unicode="73" Position="TopLeft">I</Char>
</Key>
<Key Width="130" X="0" Y="100" Height="80" Type="TAB"/>
<Key Width="100" X="1380" Y="100" Height="180" Type="ENTER"/>
<Key Width="250" X="1230" Y="300" Height="80" Type="SHIFT"/>
<Key Width="130" X="1200" KeyText="AltGr" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="1350" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="150" KeyText="Alt" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="0" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="880" X="300" Y="400" Height="80" Type="SPACE"/>
<Key Width="110" X="0" Y="300" Height="80" Type="SHIFT"/>
<Key Width="160" X="0" Y="200" Height="80" Type="CAPSLOCK"/>
<Key Width="160" X="1310" Y="0" Height="80" Type="BACKSPACE"/>
<Key Width="80" X="0" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="96" Position="TopLeft">`</Char>
<Char Unicode="126" Position="BottomLeft">~</Char>
</Key>
<Key Width="80" X="100" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="49" Position="TopLeft">1</Char>
<Char Unicode="59" Position="BottomLeft">;</Char>
</Key>
<Key Width="80" X="200" Y="0" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="50" Position="TopLeft">2</Char>
<Char Unicode="33" Position="BottomLeft">!</Char>
</Key>
<Key Width="80" X="300" Y="0" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="51" Position="TopLeft">3</Char>
<Char Unicode="35" Position="BottomLeft">#</Char>
</Key>
<Key Width="80" X="400" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="52" Position="TopLeft">4</Char>
<Char Unicode="123" Position="BottomLeft">{</Char>
</Key>
<Key Width="80" X="500" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="53" Position="TopLeft">5</Char>
<Char Unicode="125" Position="BottomLeft">}</Char>
</Key>
<Key Width="80" X="600" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="54" Position="TopLeft">6</Char>
<Char Unicode="91" Position="BottomLeft">[</Char>
</Key>
<Key Width="80" X="700" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="55" Position="TopLeft">7</Char>
<Char Unicode="93" Position="BottomLeft">]</Char>
</Key>
<Key Width="80" X="800" Y="0" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="56" Position="TopLeft">8</Char>
<Char Unicode="42" Position="BottomLeft">*</Char>
</Key>
<Key Width="80" X="900" Y="0" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="57" Position="TopLeft">9</Char>
<Char Unicode="40" Position="BottomLeft">(</Char>
</Key>
<Key Width="80" X="1000" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="48" Position="TopLeft">0</Char>
<Char Unicode="41" Position="BottomLeft">)</Char>
</Key>
<Key Width="80" X="1100" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="37" Position="TopLeft">%</Char>
<Char Unicode="38" Position="BottomLeft">&amp;</Char>
</Key>
<Key Width="80" X="1200" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="43" Position="TopLeft">+</Char>
<Char Unicode="61" Position="BottomLeft">=</Char>
</Key>
<Key Width="80" X="150" Y="100" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="81" Position="TopLeft">Q</Char>
</Key>
<Key Width="80" X="250" Y="100" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="68" Position="TopLeft">D</Char>
</Key>
<Key Width="80" X="350" Y="100" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="82" Position="TopLeft">R</Char>
</Key>
<Key Width="80" X="450" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="87" Position="TopLeft">W</Char>
</Key>
<Key Width="80" X="550" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="66" Position="TopLeft">B</Char>
</Key>
<Key Width="80" X="650" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="74" Position="TopLeft">J</Char>
</Key>
<Key Width="80" X="750" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="70" Position="TopLeft">F</Char>
</Key>
<Key Width="80" X="850" Y="100" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="85" Position="TopLeft">U</Char>
</Key>
<Key Width="80" X="950" Y="100" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="80" Position="TopLeft">P</Char>
</Key>
<Key Width="80" X="1050" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="64" Position="TopLeft">@</Char>
<Char Unicode="36" Position="BottomLeft">$</Char>
</Key>
<Key Width="80" X="1150" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="94" Position="TopLeft">^</Char>
<Char Unicode="58" Position="BottomLeft">:</Char>
</Key>
<Key Width="80" X="1250" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="34" Position="TopLeft">"</Char>
<Char Unicode="39" Position="BottomLeft">'</Char>
</Key>
<Key Width="80" X="580" Y="200" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="71" Position="TopLeft">G</Char>
</Key>
<Key Width="80" X="680" Y="200" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="89" Position="TopLeft">Y</Char>
</Key>
<Key Width="80" X="1180" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="95" Position="TopLeft">_</Char>
<Char Unicode="45" Position="BottomLeft">-</Char>
</Key>
<Key Width="80" X="1280" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="124" Position="TopLeft">|</Char>
<Char Unicode="92" Position="BottomLeft">\</Char>
</Key>
<Key Width="80" X="130" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="62" Position="BottomLeft">></Char>
</Key>
<Key Width="80" X="230" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="90" Position="TopLeft">Z</Char>
</Key>
<Key Width="80" X="330" Y="300" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="88" Position="TopLeft">X</Char>
</Key>
<Key Width="80" X="430" Y="300" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="77" Position="TopLeft">M</Char>
</Key>
<Key Width="80" X="530" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="67" Position="TopLeft">C</Char>
</Key>
<Key Width="80" X="630" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="86" Position="TopLeft">V</Char>
</Key>
<Key Width="80" X="730" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="75" Position="TopLeft">K</Char>
</Key>
<Key Width="80" X="830" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="76" Position="TopLeft">L</Char>
</Key>
<Key Width="80" X="930" Y="300" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="44" Position="BottomLeft">,</Char>
</Key>
<Key Width="80" X="1030" Y="300" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="62" Position="TopLeft">></Char>
<Char Unicode="46" Position="BottomLeft">.</Char>
</Key>
<Key Width="80" X="1130" Y="300" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="63" Position="TopLeft">?</Char>
<Char Unicode="47" Position="BottomLeft">/</Char>
</Key>
</Keys>
<Connections>
<KeyConnector TargetKeyIndex="0" KeyUnicode="97" />
<KeyConnector TargetKeyIndex="0" KeyUnicode="65" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="115"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="83" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="104"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="72" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="116"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="84" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="4" KeyUnicode="110"/>
<KeyConnector TargetKeyIndex="4" KeyUnicode="78" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="101"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="69" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="111"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="79" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="105"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="73" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="8" KeyUnicode="260"/>
<KeyConnector TargetKeyIndex="9" KeyUnicode="13" />
<KeyConnector TargetKeyIndex="10" KeyUnicode="257"/>
<KeyConnector TargetKeyIndex="11" KeyUnicode="264"/>
<KeyConnector TargetKeyIndex="12" KeyUnicode="265"/>
<KeyConnector TargetKeyIndex="13" KeyUnicode="263"/>
<KeyConnector TargetKeyIndex="14" KeyUnicode="262"/>
<KeyConnector TargetKeyIndex="15" KeyUnicode="32" />
<KeyConnector TargetKeyIndex="16" KeyUnicode="258"/>
<KeyConnector TargetKeyIndex="17" KeyUnicode="259"/>
<KeyConnector TargetKeyIndex="18" KeyUnicode="8" />
<KeyConnector TargetKeyIndex="19" KeyUnicode="126"/>
<KeyConnector TargetKeyIndex="19" KeyUnicode="96" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="20" KeyUnicode="59" />
<KeyConnector TargetKeyIndex="20" KeyUnicode="49" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="21" KeyUnicode="33" />
<KeyConnector TargetKeyIndex="21" KeyUnicode="50" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="22" KeyUnicode="35" />
<KeyConnector TargetKeyIndex="22" KeyUnicode="51" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="23" KeyUnicode="123"/>
<KeyConnector TargetKeyIndex="23" KeyUnicode="52" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="24" KeyUnicode="125"/>
<KeyConnector TargetKeyIndex="24" KeyUnicode="53" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="25" KeyUnicode="91" />
<KeyConnector TargetKeyIndex="25" KeyUnicode="54" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="26" KeyUnicode="93" />
<KeyConnector TargetKeyIndex="26" KeyUnicode="55" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="27" KeyUnicode="42" />
<KeyConnector TargetKeyIndex="27" KeyUnicode="56" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="28" KeyUnicode="40" />
<KeyConnector TargetKeyIndex="28" KeyUnicode="57" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="29" KeyUnicode="41" />
<KeyConnector TargetKeyIndex="29" KeyUnicode="48" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="30" KeyUnicode="38" />
<KeyConnector TargetKeyIndex="30" KeyUnicode="37" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="31" KeyUnicode="61" />
<KeyConnector TargetKeyIndex="31" KeyUnicode="43" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="32" KeyUnicode="113"/>
<KeyConnector TargetKeyIndex="32" KeyUnicode="81" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="100"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="68" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="114"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="82" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="119"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="87" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="36" KeyUnicode="98" />
<KeyConnector TargetKeyIndex="36" KeyUnicode="66" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="37" KeyUnicode="106"/>
<KeyConnector TargetKeyIndex="37" KeyUnicode="74" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="102"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="70" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="117"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="85" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="112"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="80" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="41" KeyUnicode="36" />
<KeyConnector TargetKeyIndex="41" KeyUnicode="64" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="42" KeyUnicode="58" />
<KeyConnector TargetKeyIndex="42" KeyUnicode="94" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="43" KeyUnicode="39" />
<KeyConnector TargetKeyIndex="43" KeyUnicode="34" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="103"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="71" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="121"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="89" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="46" KeyUnicode="45" />
<KeyConnector TargetKeyIndex="46" KeyUnicode="95" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="47" KeyUnicode="92" />
<KeyConnector TargetKeyIndex="47" KeyUnicode="124" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="48" KeyUnicode="62" />
<KeyConnector TargetKeyIndex="48" KeyUnicode="60" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="49" KeyUnicode="122"/>
<KeyConnector TargetKeyIndex="49" KeyUnicode="90" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="120"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="88" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="51" KeyUnicode="109"/>
<KeyConnector TargetKeyIndex="51" KeyUnicode="77" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="52" KeyUnicode="99" />
<KeyConnector TargetKeyIndex="52" KeyUnicode="67" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="118"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="86" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="107"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="75" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="108"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="76" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="56" KeyUnicode="44" />
<KeyConnector TargetKeyIndex="56" KeyUnicode="60" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="57" KeyUnicode="46" />
<KeyConnector TargetKeyIndex="57" KeyUnicode="62" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="58" KeyUnicode="47" />
<KeyConnector TargetKeyIndex="58" KeyUnicode="63" ModifierIndex="10"/>
</Connections>
</KTouchKeyboard>

View file

@ -0,0 +1,585 @@
<KTouchLecture>
<Title>Fast Workman + symbols from Dvorak for programme</Title>
<FontSuggestions>Courier 10 Pitch</FontSuggestions>
<Levels>
<Level>
<NewCharacters>ashtneoi</NewCharacters>
<Line>than oath tone tints tees nth hoe hahs tea eat ions</Line>
<Line>taint ho ass hoses ash test tan hot toes s ts soot one</Line>
<Line>hahs ion sises ash hosts ton hot tee tints taint shies</Line>
<Line>hen seas teen he tot hint the hoses son tost sine into</Line>
<Line>ho tens the noon sin hes shin shoo soon tins sit</Line>
<Line>hoot a ts ah neon tit heat toss sis in s host ions ton</Line>
<Line>nests note neat oaten nit sons inti inane shah soot</Line>
<Line>h inn is i nit he sets o this note test sans hash ton</Line>
<Line>stone neath those oh none sons sit tins tins ha</Line>
<Line>oath e sheen hos tee hosts ate neath hint ate h</Line>
<Line>snits tans tone h notes tie hes noons note tease shoe</Line>
<Line>tots ante thin s tot s tho aeon eon hits shin hat tine</Line>
<Line>is satin shoos sits sanes too sine es those shine neat</Line>
<Line>inane too thee sh hath the noes sass tee sots test</Line>
<Line>shins inns snot onto es an ten then shoo tons tees tine</Line>
<Line>tins ions sit ten stone s those son oh hoses on</Line>
<Line>tins aha tats state ate i o oaten noons is senna satin</Line>
<Line>sises sat tees sit hone teat sat shot neath that</Line>
<Line>stone sat tan ate ha tote shoe ton anti hoot shat</Line>
<Line>sat tea ani as sh test tea the ate thine sits t too</Line>
<Line>ins sises an tots thee shat ion sass nits hoses nose</Line>
<Line>hen in ahas the eh shine hens oath at he tine hoses noses</Line>
<Line>noon sites aeon eon at tints nits hes shes thine inane</Line>
<Line>this hes sate at hit eon tens hoot ion eons hies</Line>
<Line>tote ts shit shit ahas seas o non sane ease at not</Line>
<Line>sasses shit soon teat ah totes nannies sties sites tho</Line>
<Line>notes oats shins ions stats tin tonnes shits stats</Line>
<Line>inset sashes shoots host a anion tens hashes tenets</Line>
<Line>anoint ohos tee saith shone hats sh hostess ease</Line>
<Line>hash hoes hashes neat insist anoints hoists sanest</Line>
<Line>es ts anti sea theists asses sateen notion sane hen</Line>
<Line>shits shoot aeon nets hats sass hot hit session nests</Line>
<Line>attain son hose eats oaten sits seasons otiose sans</Line>
<Line>hate nets toes stoats sot settees nits not titan noes</Line>
<Line>sonatas toot tost tosses ante tins sons teens hoist</Line>
<Line>oh asses season soon antenna sashes steins oath</Line>
<Line>hits hoes heat the o toot tinnies sass hoots snoots tat</Line>
<Line>tents neat hotshot noshes snot satiate inti stoat</Line>
<Line>tie stoats tents sent sonata stones hints hate sises</Line>
<Line>sites testate then oat neatest sonnet noshes ohos</Line>
<Line>honest teethes soot satiate tattoo titan noses sass</Line>
<Line>anoint tans ah not neatest notion onion ass onsets</Line>
<Line>tees easies anti he tint nits sit saith anion note</Line>
<Line>henna hoists ants snoots tines siestas ten sonata tie</Line>
<Line>sites easiest sonnies anons session hoe theist ani</Line>
<Line>notions sties sheets ants insane estate hie in</Line>
<Line>hos noise teethes assets intense assents sat hoot</Line>
<Line>stash thee thee one teethes sheathe so seas tinnies his</Line>
<Line>sonata toot oh thin toss tattoos shines sheath nosies</Line>
<Line>inti hoists noons shoo toniest tint teats noose anise</Line>
</Level>
<Level>
<NewCharacters>qdrwfup$</NewCharacters>
<Line>thrush stride super apt $ups foe hairs trout wrests erupts</Line>
<Line>pita $pisses seres dons seeped dread option $feuded thus</Line>
<Line>praise pots pupa $pear drones swords runts preps prefer</Line>
<Line>snouts added unfit $theft rifted $front info$ winner</Line>
<Line>unset porn rosin troth opines swine operas $west rares</Line>
<Line>iffier opera heeded ware finest hers arrows atria</Line>
<Line>fifes panda quotas were rewire dots sadder aided wins</Line>
<Line>thrift nun dun psst queen $sorer piers frets dares</Line>
<Line>$ires darned $potato pared$ hue undies duffer errs reused</Line>
<Line>sweep earned ended touts poises shorts uteri fainer free</Line>
<Line>widows pips hide roared $arson pas doffs frond parent shadow</Line>
<Line>dunno purr$ putt west weds$ tauter swaps teed truth</Line>
<Line>pupas quip rips strop purse sored sered trod whited</Line>
<Line>aria dried $paths shorts did pees $haws whoops hewn</Line>
<Line>runt pepper stow wanna woofs hut shined aft rod what</Line>
<Line>dense aides air$ $outed $whets pea$ sands herpes$ raped</Line>
<Line>dote stows quips pips pets quasar sores twos urea</Line>
<Line>upon shiner $spades dotted roofs post $niter $dared darned</Line>
<Line>heeded$ $warned sifts twee tared dread$ fond$ apes</Line>
<Line>soup puff $troop panda report osiers $puffs eddies redrew</Line>
<Line>nutted strap$ weired udder wind fetid fain rapes sear</Line>
<Line>swats rotate entrap waders$ or hue nu road eased reran</Line>
<Line>feta tutors sander $shows for eddied $hoofs rs herons</Line>
<Line>truer theed sowed fores fern dope nadirs fat aerate pis</Line>
<Line>few turner purrs darn peers sauted tauter dated$ show</Line>
<Line>$warrior airs sprier quitted adepter potter niftier pouted</Line>
<Line>wadi rhea$ froth quire sups pet opined firsts redound</Line>
<Line>$footed dirties forties arrows$ snorer present fiesta</Line>
<Line>appease shape noshed seeded$ winded $urns swoops outs</Line>
<Line>rifted outdid perhaps hairpin ratio fended heir$ wrap</Line>
<Line>$pundit spade hasp adopts fains suture suers refuted</Line>
<Line>dint thrifts $partied $squads renter tied turnout roded</Line>
<Line>arid whiffed power$ terrors opinion $poops nippier hearth</Line>
<Line>denier fiestas suited nearest waif horses tore</Line>
<Line>hairdo frond fades dodo soprano sinew fattier downed</Line>
<Line>disused persist pariah roaster arrears $soups owned</Line>
<Line>feeders orates errata fear senders snipers hither upped</Line>
<Line>waif teethed $shodden sun$ renter sue poises doff dwarfed</Line>
<Line>troupes rinds earths append draft rooster peeper</Line>
<Line>rereads finner upsets potpies stopped $showers sprites</Line>
<Line>teeters radios roofed twits radiant $wears steers fritter</Line>
<Line>sworded swap diets$ hosed honors won arouse weirder speed</Line>
<Line>dare nerds pendent $protons poohed tardies$ $stripe shade</Line>
<Line>outers hooted ids psst hosted sour editors pewters sered</Line>
<Line>edition weirs $truer tented unison spriest opus peons</Line>
<Line>outwit quiet writhed readies peso swatter tape$ pennon</Line>
<Line>$snorts spats ships harpist town $swathes shapes fa</Line>
<Line>trotter aspirin odds $iffier howdah sortied pains wand</Line>
<Line>$sorts $entwine turrets tartars unstop inner$ inside prior</Line>
<Line>who trades starter duh intoned$ artiste sensors fain</Line>
</Level>
<Level>
<NewCharacters>bjgycvkl</NewCharacters>
<Line>$creek fjord leans eureka rowel vagued cage pickup holler</Line>
<Line>ogre lanced $churls bidets cots glow $chows bean satiny</Line>
<Line>bags capons bulbed$ ulcer beech bogey going vials novel</Line>
<Line>dusk jabbed $cysts dactyl covert herb forgo belied buffet</Line>
<Line>$foray abbeys$ avows lubing tawny chant loudly$ last</Line>
<Line>hack stork$ divan cleans sight ebbed venal$ flower pal</Line>
<Line>$darken growl vacant ballad cased scab yonder pickup</Line>
<Line>beeves $leans hyphen beck scoop chart$ dyer guff beers</Line>
<Line>casks lovely piker junta $cannon panel horsy wackos</Line>
<Line>convoy dales tank claws lavish subdue birth fluffy jaguar</Line>
<Line>alone bonier region lever $cellar paltry kicks hooked ribald</Line>
<Line>livens rights$ $boater gouty gooks ballad gosh leans</Line>
<Line>$ranks belief ghoul pulls punch cops wry coyote weaver</Line>
<Line>loans nil surrey dicks tyrant awoke kabob glided bribe</Line>
<Line>surrey $donkey elide$ welds ruby$ pilaf cleat story uncle</Line>
<Line>dewlap$ $petrol lushes ceded lush blahs jury$ slob gofers</Line>
<Line>above dweeb$ chaste knives rung leggy ploys richer vices</Line>
<Line>rakish $hubs treks swirl wall life appal evils$ greys</Line>
<Line>arrays $longs cloths squawk viands ironic plows fitful</Line>
<Line>flown $bouts relays$ pilaff doled citric trench hailed</Line>
<Line>dauber bind $cost avasts $befit petal flea hoagie colic</Line>
<Line>edging geckos etcher cyclic$ typed jack splays reckon</Line>
<Line>cuss alter you lieges cools wage taco gaping$ dahlia</Line>
<Line>juts rabbit panty pinked trowel unsay cubit bounty</Line>
<Line>lisp$ knave hanky drub agave$ shrank dodge $baboon jags</Line>
<Line>flunked $ogres ravaged $enrols tikes sickles flee parolee</Line>
<Line>brain avid legatee$ ethnic nailing blanch cawing$ solve</Line>
<Line>nesting fury avenges swanky placers delete berried taller</Line>
<Line>sorrels befalls pueblos janitor gnaw bright glueing$ facts</Line>
<Line>griped justify bounty sloe$ clatter$ chichi cyanide weedy</Line>
<Line>flub scion piggies$ lisped succor shivery $doings charge</Line>
<Line>etched opting higher nick advents $chains $equably join</Line>
<Line>geodes clarion detects gable $lassie scythes eerily</Line>
<Line>says cubs things dowager gaping$ viewing$ scraped wiliest</Line>
<Line>fateful scorn brinks collude drills beside ovoid stilt</Line>
<Line>$victory glut savvier $leach such$ $rubiest concord jape</Line>
<Line>vagary burps rifled barred retract rooting ranks glad</Line>
<Line>auburn losing swirly burgles ascends rabbles canine dove</Line>
<Line>curing throngs fueling wangles balls relied gas cloths</Line>
<Line>repays quoting creates browner carpi nils stooges scuttle</Line>
<Line>slakes hibachi $wetland gayer corsage revues clue</Line>
<Line>falters staled recur frolic palsied splashy evils geckos</Line>
<Line>bloc kisser slued gluts browser$ fluent pullets pile</Line>
<Line>caterer $bearish lagoon target chicory wingers ocelots</Line>
<Line>serials blob lessor quirked gods $intake coaling kneeing</Line>
<Line>unlikes viol winging brogues loving booting bonkers</Line>
<Line>socks $slanted $stacks thongs cite $ranking whalers$ unwary</Line>
<Line>henpeck chairs foetal$ sausage shyness vegans laciest</Line>
<Line>snitch$ $acres lacked sleek $entail ilks budge recoils</Line>
<Line>florae aspic deject kookier gain cleanse ingot rising</Line>
</Level>
<Level>
<NewCharacters>zxm,./:'\-</NewCharacters>
<Line>clump manges moth raceme tuxes empire ,mashes mowers fixed</Line>
<Line>blazes, mid/ -monks fixity chimps hansom \hoaxes merged</Line>
<Line>opium .dioxin emir grazes lament, times chomp 'atom sexes</Line>
<Line>smit moo gamed zed /jammed stumps monger\ rummy mute</Line>
<Line>groom- impede rhombi lumber mores seized omelet moder</Line>
<Line>eczema/ mosque' crazy miler/ damp hymn maizes thumbs' mantis</Line>
<Line>meeker clime prom' \blintz .molder mapped atom miffs domain</Line>
<Line>.zodiac humors/ champ boom$ 'hemmed cameo -dams mimosa</Line>
<Line>emirs manics atom caroms pygmy hoaxed. stanza dogmas</Line>
<Line>expert- jazzed- macing medics gram' muggy -mull makeup</Line>
<Line>mammas:: vamped$ emoted:: merely oxbow sambas, semi</Line>
<Line>bums\ bums' thymus barman\ blooms- farm malign smiles</Line>
<Line>spumed \rime gambit -scuzzy femur mull/ .scrimp chrome</Line>
<Line>swampy \make marshy zinc sums rumble nixed calmed dimes</Line>
<Line>smells tumble ,name klutz, jumbos blame\ muting. numbly</Line>
<Line>ampuls- disarm stumps ::motor mar. medal 'slalom flaxen</Line>
<Line>\ermine -amaze micra cervix -aroma more $mainly disarm</Line>
<Line>::morn timbre/ forums manned lump mucks, grime named</Line>
<Line>topaz, zeta .dame slum\ hum roomer /limns sizing ritzy</Line>
<Line>mashed fluxes ,qualm ,minis humors' ::gyms mussed' misdo</Line>
<Line>mutts .demote manner amazes umped minxes manned x</Line>
<Line>ampuls -hexing ,exert -crimp muter' amused storm$ bimbo</Line>
<Line>bamboo exodus chrome macro remark merger$ monies carom</Line>
<Line>scummy. macing ::ms taxies\ smote laxer ::shames murky</Line>
<Line>mart' spume mocked/ flux shames hoaxes lambs ohm hammed</Line>
<Line>theme. domains. toolbox\ miters ,fizz murk /theism madly</Line>
<Line>amends mood flume hoaxes woodmen $musky plumage myopics</Line>
<Line>mufti ashram$ eminent ::poxes mangoes tumble ::expound motors</Line>
<Line>plazas meeker exit$ /jam airman homier mutter customs vizor</Line>
<Line>latex$ $marts myopics cameos anthem mooring lament damper</Line>
<Line>,merrier zero $sextant sputum\ ashamed/ animus' emitted</Line>
<Line>'makings muffler dualism' symbols froze meaning$ gizmos</Line>
<Line>amigos -clomps spumed noncom acme ::drummed misters comedy</Line>
<Line>$totemic malign' claimed himself norms. mange' immense</Line>
<Line>razzing tumbled dimness rumored slums mains magpies gunman</Line>
<Line>mucus dustmen mas- crumbed -hemlock \moulted bombed exacter</Line>
<Line>program. dam airmen\ becalm bronze diatom$ masts morsel</Line>
<Line>rimed morns 'moister umped rumbles clomps:: .gamin bombed</Line>
<Line>menfolk$ citizen midwife\ bramble capsize cameoed\ maze</Line>
<Line>mutants regimen temper roam dualism booze zonked, gummy</Line>
<Line>jasmine exiles .admiral damping- simile' mattock frogman</Line>
<Line>laments- denims zoom ampules mouse maiden:: boozier me</Line>
<Line>primed monitor mazes$ rhizome/ sixteen many- mammals mild</Line>
<Line>message motley\ purism milch sax barroom anytime romance</Line>
<Line>admirer mourned' limed doormat timpani simmer$ game</Line>
<Line>phloem womanly amasses merits -lama \limes 'newsmen reforms</Line>
<Line>$next midwife ,nomadic wizened vamps matures$ mousse mar</Line>
<Line>gourmet azimuth permute movies:: charms:: damp smoke</Line>
<Line>mooring similes zed -emerged plumb mummify /midway tamper</Line>
<Line>legmen ,waltz hertz, mowed emits waltz amber claims boatman</Line>
</Level>
<Level>
<NewCharacters>~;[{}(=*)+]%!</NewCharacters>
<Line>{fudge will cruets copse gash fumes town armies+ tannin</Line>
<Line>plunks! mauled. censer ravens .future tripe\ treed mu</Line>
<Line>gruels enrol dishes merry% oceans gouge ;while stars</Line>
<Line>+ploys edicts limber{ pounce =retain shove heath bonds</Line>
<Line>edgy allure clue arc scouts( hones\ bloods )titted purged</Line>
<Line>quark vector past; royals flaxen creed rowed [vising notice</Line>
<Line>-goose nooned bated whens }turf grub opted pluses iguana</Line>
<Line>lumps gnat! hoist ruffle! yore* -turfs gown entice guilt</Line>
<Line>aces{ metes sods slyly .easels \peps gamins law whets</Line>
<Line>]deeded job pokes cocoas %storey *thighs talker saw</Line>
<Line>nixed acrid $swells )hub toggle~ edicts grudge youth} perts</Line>
<Line>hid ducts pooh denim shoon wiggle~ stirs /bruins butte</Line>
<Line>opens\ !marts bravos discs man whited= taxis manner. mars</Line>
<Line>herons\ +tugs berms; lean flawed rifts aster worth outage</Line>
<Line>sold- axle liner) bolled blinds welled [enrage thwart boxers</Line>
<Line>]bugs =pooh .rheas tack [debts narks) baud %exes chumps</Line>
<Line>~fights rivals dines zonked toll stump melon flog gurus</Line>
<Line>brandy) divvy mien rosier, jurist quotes quiche stud</Line>
<Line>states tryout gobble !torso market tyros} plaque nobles</Line>
<Line>.wrong sloes) ports:: types sheave* depend obeys bother</Line>
<Line>trench saner pixy feuds deicer\ spud -stanks amiss r</Line>
<Line>%grad hexes joys plate crouch] pranks cede hype slink) duel</Line>
<Line>snotty- cunt bevel every% videos level- ~envoy seven hilly</Line>
<Line>holed{ }vowing humors coccis lilt vex[ ]fuse still rids</Line>
<Line>soiled ::shirk heal caplet] pearly) )soppy %outset coat</Line>
<Line>lacunae bans mods towered program' visuals whites titted</Line>
<Line>coheres- !ageing rent outwit\ largo, gambol bedroll= cagily</Line>
<Line>muumuu% tangier amassed leagued weeping- battens! leg</Line>
<Line>volley% guitars toying markups cupolas$ rawer ninepin% clique</Line>
<Line>rise} begged tramped roused) emblem. !gougers both strafes</Line>
<Line>hurrays herself daubing:: volt/ lubbers ,seek dampens reread</Line>
<Line>}twilled surname duck% %fulling ravels; outputs) vamps</Line>
<Line>satiate bodice /bits ::nighest foolish doffs graving badges</Line>
<Line>purveys fretful several shaker +pizzas sellers handle</Line>
<Line>+include likable towered ,tic airfare ;painful infidel</Line>
<Line>burgs egoists wasps reputed[ rafting (editor %scrams karate</Line>
<Line>alluvia bounty coifed }rescued guise( {sects /nomads true</Line>
<Line>}craning violet }settee foremen elitist homer jigging laser</Line>
<Line>teeter timider vale. spinner~ %holder \swerved rein</Line>
<Line>*chirrup excite guffaw wobbly (jetties -awaked waifing</Line>
<Line>afloat day% weirds \various ideally depend bosom spiffy</Line>
<Line>quarto quavery[ 'revenue )ankh whoops! 'hissing silkier</Line>
<Line>exhales/ diorama thins belched wash ionizes! 'woozy paddies</Line>
<Line>{bolts germ hammed oaken) imbibed wenches:: juncos decade</Line>
<Line>$calked dryly babes elitism[ outlets slave:: scenery fief</Line>
<Line>garnish) weeks) deigned tabling ~reduce chived reused</Line>
<Line>$impetus dithers+ aspics~ =troths fags gyros vagrant reared</Line>
<Line>tunics[ =golfer endure forcing' curd .yuckier }rhizome gazette</Line>
<Line>'armorer clicked} siding sinning hernias +munches caudal</Line>
<Line>}wiled renewal coffer furled pigskin; !valley pistil</Line>
</Level>
<Level>
<NewCharacters>0123456789</NewCharacters>
<Line>(saved moss tint:: tomb )cowers neath gosh; booty+ chive</Line>
<Line>pity canes ankhs( ~spoken cabal- moons$ poring laking froze</Line>
<Line>plugs toughs dilled [putty email 6vices harks alters% attar</Line>
<Line>sells pagers\ habit fest %cars yucked whited canine bahs</Line>
<Line>calked rehab hours. paunch sour{ trace, =pate mimosa props</Line>
<Line>harass tamer5 fa ::renown !mopes firms6 naive -motive clasp</Line>
<Line>dunks cubing found homier troupe blur gnarls drills8 trucks</Line>
<Line>sonic raze +rhyme \hymns rank salves boots ate knew clots</Line>
<Line>looter5 avasts {amigo stun, voled taut )vanned traces</Line>
<Line>1icier comas states/ crown black whams* apse inch/ kicked</Line>
<Line>byes. blent, burrs hotbed foist moats. egg neon4 splint</Line>
<Line>,cameo .annual raved sludge' {snit thrust foul absurd operas</Line>
<Line>amid soul except+ icebox owning single kiddo% socks9 braced</Line>
<Line>~hoping ulcers2 quake wades $tan fates 7blabs 5yogurt masks</Line>
<Line>rabid clumps (downed coital 3blue avian gotta+ runt cocoas</Line>
<Line>nomad %ridges huhs {victim stains9 twee hammed 5corn wish</Line>
<Line>cell:: ampuls dammed2 osprey 9moaned latent adorn goo</Line>
<Line>sagest 1dammed dim jinnis tents exits5 3ratios 4milieu gains</Line>
<Line>lining$ ~pangs knew yawed% pawed join= begs% honey prize</Line>
<Line>4erupts lowly= %lids unsaid stymie gaunts depend lousy</Line>
<Line>shoon rifest 1unpin sunny! slick wooer writer mail making</Line>
<Line>tire mentor* cans) tined brays% germ$ huff2 hymen coded</Line>
<Line>flaks ~deck dreary 7stud dizzy menial phone taps of</Line>
<Line>flanks:: .scary deeps] 3primp mainly[ 5areas 7hornet cabals</Line>
<Line>testes 4inure cheat pecan jest thaws brinks }fill abhor</Line>
<Line>'superb tares 7densest 7feign fiats1 ~hardens ::equines bums</Line>
<Line>pillbox= doused \pinch sonata pisses supine0 !woolier smears</Line>
<Line>petted (toiler wag jackets forgive peeves, pore enthuse</Line>
<Line>localed hawser begin excuse cancans celled \runner drags</Line>
<Line>lustily$ rottens carboys *livable japes= -framer maw</Line>
<Line>link heal touched ingrain attest romaine' gaging bobcat</Line>
<Line>oodles nicks tackles throne% z (bosser ashram gluts ringing</Line>
<Line>hideous] *bowls nutrias }hid thinly% radiate- bung( balk</Line>
<Line>example ::carpet layout 3sonny %read plot contact! fairway</Line>
<Line>-hardtop bops+ gruels surety !oddity 4trothed *partner grit</Line>
<Line>sulky} -demise gollies =afoot japan jollied elope reputed</Line>
<Line>comings lockets jape 7chisel jinxed( vagues \balder giving</Line>
<Line>wend groovy airways jinn* preppie ;sicks yogis( needs</Line>
<Line>jollies ;wizard [however hiss] }lions bones hollow- shaves</Line>
<Line>bun! 7gathers smooth' (eddy arches kopeks casket poured</Line>
<Line>dolling$ kidneys4 4bredes smile' infests discos$ sleazy</Line>
<Line>}revoked 1barred comic+ 1mutable ]jesters suiting[ rations</Line>
<Line>\hotter mu server. cartel salads 7teethed drills reused</Line>
<Line>lows hahs scenes satchel moonlit desires %bows inseams chops</Line>
<Line>chagrin; brutish{ [hurried cobbler thorn wagoner endowed</Line>
<Line>fount fuzes cricks pans studded5 recall woofers cupped</Line>
<Line>rack5 clerk chain =bronzes miller *masking 6maids tariffs</Line>
<Line>::rumpled sputum blacken (kneecap phonier= midland6 cupolas</Line>
<Line>pitches~ avoided 2niggle hitter{ totemic- nobody answers</Line>
<Line>meeter9 scarred$ inmates6 /lessees rhymed miser[ tabooed</Line>
</Level>
<Level>
<NewCharacters>&lt;>?#@^"|</NewCharacters>
<Line>fucker2 whams7 5drum 0wipes rewire ~outwit wander peer</Line>
<Line>laced wusses vivas his 7pluses mushes frugal goo bed</Line>
<Line>legs shorts 1poor threat fondly oil @basks skeet pimps</Line>
<Line>hooped 9brunt throe~ fir @fiver topped:: ages ]scald loaned</Line>
<Line>parry feint8 hoed:: hutch hominy mering4 {hydra fiver</Line>
<Line>globes >cusps makes jib ,uproar stout" sprig$ spare jives</Line>
<Line>grave gybe1 sheiks chile facets( 0ponder )amok enact</Line>
<Line>}diva pulsar *finger !laurel noted )pared jilt barren undue</Line>
<Line>odd aortae* sang +rest site .singe wile~ musky goof theed</Line>
<Line>ground razz &lt;bevels brogue cadre moral) sushi castle/ humbly</Line>
<Line>|saber linage 'killed piking baning mufti^ rude mambos</Line>
<Line>robing &lt;joked floor ]coccis stoats oaths) pupil pairs</Line>
<Line>tunnel 'sinker latent 6bursar 5clones hulks pith auk</Line>
<Line>size ?griefs pangs% murk chili cox tore tinges decode( foxes</Line>
<Line>0bland fetter taunt{ /ruins wisp= teat waive jinni. faced</Line>
<Line>undoes 0rears belie %la drawn. -nodule slime:: eking monks</Line>
<Line>;arctic 7slake =bumped ruler8 cabbie .angled 7rattan swipe</Line>
<Line>liens eels' 8prying pylon &lt;vanes .flap "funded nubs[ walls</Line>
<Line>shouts =poised evokes pied dub yacht:: hep larder{ yessed</Line>
<Line>churl payer prank scoff exist2 sulky wines +lid mazes. specs</Line>
<Line>under tramp posit drew larva0 4supply skit =common curs</Line>
<Line>"tumor flared jurist( pop milky 1glen whewed 3dots imbeds</Line>
<Line>rouse whirrs cohort pupil }cachet twill %heresy bogus</Line>
<Line>fa moose% bored{ seeks inside} =chinos 1lead slued| shekel</Line>
<Line>]smack $mashes ]tests harem layoff> bully ochre sexing</Line>
<Line>saucily4 anklet chiles >relapse crack+ sises( 5guyed crumby</Line>
<Line>7lees corpses neuron jets [puberty 9wighted baneful daunt</Line>
<Line>knack toggled5 bicker muse, caped momma. freeway* preen</Line>
<Line>seating, slink. lotus+ %quoits styes7 gel tone mists vagrant</Line>
<Line>pompous3 ranches .wimples /hived freak garbing fluent</Line>
<Line>mastoid 'recta salvo risky mining rife excites pacific" bulk</Line>
<Line>"maestro pundits- wittier. rudder= orbited/ tramped sprig</Line>
<Line>rents pains vowel +gill peeking moos| bottoms dubious isobars</Line>
<Line>2outrank croaked gabbed circle resume&lt; velvety- taring</Line>
<Line>(deputy nasal raffles6 loudest ooze* %chic waspish+ tusks</Line>
<Line>~cokes "gimme nobly dulled* #durably serener forums all</Line>
<Line>leavens 7settee davit guzzles mud&lt; =travels 'gawky creams</Line>
<Line>>imbeds snip bulky gee 4draftee cause meteors6 scone deep</Line>
<Line>"waxen 1retypes already- gimlet3 smart {upswing exempts</Line>
<Line>fusible 5wiled 8blessed behold manhunt bloomer pastes</Line>
<Line>rinsed" +terms gosling> 5sandbox 'stirrer ruddied pileup</Line>
<Line>hoot tripod blown{ imagery3 dignity] quaking fez9 slain</Line>
<Line>ivies fazed softens# anise mantis maps carver! gear lancers</Line>
<Line>imply lids ~gulling phoenix torques crocked coughs- busies</Line>
<Line>.finds pet 7fright pokeys layaway| making$ 6weirdos rawest</Line>
<Line>1comedic #intuit tumors toddle ,lighter =found paced</Line>
<Line>spider [yawing |stamp trusses 5zipper stable excite| maroon</Line>
<Line>2kopecks reams pocks lineup carmine wick {sices stank</Line>
<Line>|biggie echoes elides pupils; !timbres laundry! outlook</Line>
<Line>[grubby wittier punster/ cups pulpit( studio turnkey busses</Line>
</Level>
<Level>
<NewCharacters>Everything</NewCharacters>
<Line>bloat Avery cliffs heir's5 whacks onset( }lusty shod</Line>
<Line>gorier oboes Lyra's lonely amok/ cs's[ Niobe @odors timid</Line>
<Line>matzo Tiber odium koalas body's 1evenly dotes. musing- Han</Line>
<Line>Walden% smites Easter- tango &lt;bus's seeded %tinkle savior</Line>
<Line>spies emery mutual5 Allan, _hides garble= muffle tackle</Line>
<Line>hasps 7Allie massed twang 3racism dress% Hymen Gall</Line>
<Line>York deuces ::Eu's Abe's0 Lie hare shunts dyer's half</Line>
<Line>shanty3 spicy Zelma entrap .poke /propel loathe| flail</Line>
<Line>snob- ant bike/ baton 1roamed ::nickel hazing [toked vs</Line>
<Line>Katie )Billie piling. duff lied6 bowel strews sleigh= Andean</Line>
<Line>outset root's -Olive 4smoke pool's, shrink Brant jailor</Line>
<Line>luaus 2clam 1vend truism befoul[ duct doted known Mouthe</Line>
<Line>chic_ %Roxy's @Gd autism&lt; Ladoga 8Willis slunk9 poorer</Line>
<Line>Lean] bone's( wroth- nobly' rumple cord's county shock</Line>
<Line>eves} =rim (spud's manors+ tramp 2Nieves \fained Josue</Line>
<Line>pave' 7sizing feints6 anode socket' 3ruler Aisha1 Yale</Line>
<Line>Left 4Tuscon lops= semen weed $Cody's humbly, larynx maizes</Line>
<Line>gooey Tagus spoof Nita mailed5 evils_ woo Nile's deigns</Line>
<Line>tumble- racers claw >doubt bowl's5 5Sepoy bulb's darn</Line>
<Line>lobes Sister+ Lee hawker7 gulag Henson Efren )Gloria grow</Line>
<Line>pose gopher. |twang vital. smash deeply blow6 ,Slavs Sung's</Line>
<Line>cilia |cons wives Baez 6cowed ragtag =Eula spars Prut's</Line>
<Line>sot. {ramps )madras remit $deploy tonal brews 3avians bleach</Line>
<Line>F's 9geode kin's perm mole coops Olen ,Gary's lo0 ticks</Line>
<Line>vial yolks riots yeti's7 &lt;Sm Gina8 ::world Klimt Subaru</Line>
<Line>tattoos burnout/ rid [pilots wingtip Ci. fascism whitest</Line>
<Line>wiretap combing rupee grottos8 razing9 Boston\ Nehru's</Line>
<Line>bellow propane jetsam fray's sped/ pans flyover reissue</Line>
<Line>cycle mutter 'broncos laud sphinx cabal's2 tardier Julies</Line>
<Line>sanders Lowe's_ Grimm Kitty pointer pawls ::dowries Huerta</Line>
<Line>sting Poles traffic layaway )Rocha's Horatio [vagued scorn's</Line>
<Line>fang's riles7 bolero arbiter torched6 ]hamster runt's</Line>
<Line>phylae0 sills gazers flambes tanager 6wholes ,Holbein fib</Line>
<Line>juice's Freddie&lt; 0dosages cruised necking ::Aron lens</Line>
<Line>ampere+ graved torched 5Urdu {unitary Dilbert chill's</Line>
<Line>Kinko's] }wieners celli6 _will Helga morgue scores color's</Line>
<Line>Burt drover pealed{ blast's- galoshe{ Grafton gasket Niobe</Line>
<Line>Jilin Occam wills9 Saran's {hats 5minding infuses foyer's</Line>
<Line>::boiled bedtime> carboy {bossy emperor$ unstop Tbilisi</Line>
<Line>figures %Owens men 2sops anyone, epic's( dew liar- undo</Line>
<Line>%alertly 4goddamn vets 2powwows upset &lt;Terkel Stan's:: gazing</Line>
<Line>papery _expects disbars 4malaise donated &lt;balsas cooker</Line>
<Line>shamans ]plume Mimosa excepts Zukor's[ ask Cajun penal</Line>
<Line>veals fines -loosely ::seven }pummels bills 6majorly chant</Line>
<Line>4buckram machine =regions Karin's spikier %autoing planing</Line>
<Line>friends facile@ Wotan{ impurer+ @counter narcs@ cattail</Line>
<Line>)Jayne \speck genres akin:: hello> 6cocoa's wraiths) loci's</Line>
<Line>Muir [dunging Mani\ Cairo's Rita's stages =messy Osbert</Line>
<Line>-Douglas Kharkov whiner- slue threw( tempera, axises evading</Line>
<Line>brood's coursed 5lea's idea )McKee /horsed Nate pivotal</Line>
<Line>milker +Roy's weeded weird vet Elbe's1 3blown 7calves Rome's</Line>
<Line>four% [bade razzes vial 6Lawson chalk7 _wholly fluid jostle</Line>
<Line>-rind's Dylan agree Kitty bootee2 Ty toasts %mussed ninety</Line>
<Line>creep 2final bassi omen's/ |girdle diary9 Shinto Selma</Line>
<Line>shiver gait huge} fends genie hump's raze It 3masks vinyls</Line>
<Line>arrows turds Hess's( 6muzzle cocky8 chose brandy easies</Line>
<Line>laces fuzzes Ike godly@ civic \ebb 4maven herb- notary snare</Line>
<Line>Dave junior/ 2furrow trap's +Dick's prior) Juan's pocked</Line>
<Line>goofy 'racily élan clever clangs gunny Sean beat lad</Line>
<Line>.data's curb\ 7bitmap Haney Lu's] glance arbors Olav's</Line>
<Line>|Amalia Millay_ pedals1 9elite gulags husks umbel lithe</Line>
<Line>paunch Dorcas oblige% riser) 3moist ,Annam }Oprah bunny</Line>
<Line>8Elroy yaws[ pouts| /Tuscan (waging brigs lacks. coax</Line>
<Line>foetid\ Trina Eula sued6 slew@ &lt;shahs =Myers echo Euclid</Line>
<Line>Dix's) Taiwan batty/ nuke's} $ascots -Keven Kurile Nice</Line>
<Line>Sal's[ abject LyX verify) Louis backup:: ruses Leakey yelped</Line>
<Line>1yell widest tarpon butte tire Ira's 1sadism pols bay</Line>
<Line>bodkin jinnis -dills warden% thud 1wont's jerkin calyx</Line>
<Line>{panty 6Marcel larvae weer 0pi /gadget leeks flan[ jest's</Line>
<Line>0lynch refuse) Medea( Paul sword6 6rafter divert Aspell</Line>
<Line>surtax( Tubman )damped )solo's 8seduce tuxedo wigged0 risks</Line>
<Line>7Todd $living lash's eras siesta3 Jeeps kopek> Eva Nb's</Line>
<Line>bummed lewdly lamer }hared -Bettye oats Helios |floras weirs</Line>
<Line>3Jean facing$ pod Rob 5Siva's Kim's% /slump defers pubbed</Line>
<Line>[Nair's Creon_ data's\ orgasm bank's hats realty reef's</Line>
<Line>bib's fast }rewires probe, Elsie sitar's] Ypres's infer</Line>
<Line>bedded hep culture beacons [stabler 2sanely /Samar's rhea</Line>
<Line>seceded removal3 +Malacca eery coolers Miami [Co's nosegay</Line>
<Line>zoom Berlin desires_ glacier Betty4 =alright wrist's donors</Line>
<Line>8costar poesies:: brimful snowy Brandi 3rounder cult's</Line>
<Line>unlike+ heaven Marc's$ ratify5 tearful@ Frankie4 audit</Line>
<Line>adviser1 rose's buildup, 9legated spruces primes, Brno</Line>
<Line>'N's Wonder} Crystal befalls Ziploc5 elixir amours wrinkle</Line>
<Line>2decide gluier snubs Lille's Clare's -wasn't =sincere resend</Line>
<Line>Leigh's Brokaw suede- ]pillion 0yoga garages soon supper</Line>
<Line>iamb's drooled skirt's' (icing Carey's pinions hotshot</Line>
<Line>senders] Fatima fury's Lear's blurry squad carbide/ Erato's</Line>
<Line>Ricky Demeter{ tasted5 Jenkins( Lloyd- knitted boldly</Line>
<Line>%Arctic passels@ 7expends wives's morgues] dimmers postman</Line>
<Line>Murat4 absorb:: Wyeth lance5 fleeced gushed corded triage</Line>
<Line>Tarazed 2hernias )hula caroms rubber 3pothook Pl plot's</Line>
<Line>dramas) Alps drools Balkan' gos| Lysenko- &lt;pixel spouse</Line>
<Line>allayed+ champed rails 0Jimenez dived helps markups+ denims</Line>
<Line>6monitor basemen [sledges kabob Tutsi> Ben's &lt;encored Knapp</Line>
<Line>spool= absinth {hoard Pooh's hijacks+ collude Z's Midwest</Line>
<Line>shocker bright/ mender1 prep:: paces\ lily braids&lt; ridge</Line>
<Line>payable Paris's Tojo's jailers booming 'mileage trap's</Line>
<Line>Saab's swarms lip's/ okaying8 Ariz's aerials &lt;plume Crimean</Line>
<Line>_rum's %enrols hanging hospice&lt; 4urging Gipsy 1roaring bias</Line>
<Line>salvo8 schemes 2mien's briny sprites +Park refuges galling</Line>
</Level>
<Level>
<NewCharacters>PERL: {}()[]&lt;>\#</NewCharacters>
<Line>if ($line=~/^[^ ]+\s+\(([^)]+)\)\s/) {</Line>
<Line>$this->conffiles([map { chomp; $_ } $this->runpipe($zero, "LANG=C rpm -qcp $file")]);</Line>
<Line>$this->conffiles([]);</Line>
<Line>$this->filelist([map { chomp; $_ } $this->runpipe($zero, "LANG=C rpm -qpl $file")]);</Line>
<Line>$this->filelist([]);</Line>
<Line>arch group slpkgversion}];</Line>
<Line>Label => [],</Line>
<Line>Comment => [],</Line>
<Line>Attachment => [],</Line>
<Line>DependsOn => [],</Line>
<Line>Precedes => [],</Line>
<Line>my $self = bless [], $class;</Line>
<Line>@{ $var->[$zero] || [] }</Line>
<Line>@{ defined $var->[$zero] ? $var->[$zero] : [] }</Line>
<Line>$fmt =~ s/([^\s\[]*)\[( [^\]]* )\]/\x$n\xt$m\xe/xgo;</Line>
<Line>Convert::ASNI::_dec_integer({},[],{},$tmp,$_[$zero],$pos,$len);</Line>
<Line>Convert::ASNI::_dec_boolean({},[],{},$tmp,$_[$zero],$pos,$len);</Line>
<Line>Convert::ASNI::_dec_string({},[],{},$tmp,$_[$zero],$pos,$len);</Line>
<Line>$_[$one]->[cLOOP] &amp;&amp; ($_[$three]=[]), #loop</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD] = ('COMPONENTS', $yyvs[$yyvsp-$e]);</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD,cLOOP,cOPT] = ($yyvs[$yyvsp-$d], [$yyvs[$yyvsp-$h]], $r, $yyvs[$yyvsp-$l]);</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD] = ('SEQUENCE', $yyvs[$yyvsp-$c]);</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD] = ('SET', $yyvs[$yyvsp-$b]);</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD] = ('CHOICE', $yyvs[$yyvsp-$a]);</Line>
<Line>@{$yyval = []}[cTYPE] = ('ENUM');</Line>
<Line>{ @{$yyval = []}[cTYPE] = $yyvs[$yyvsp-$a];</Line>
<Line>{ @{$yyval = []}[cTYPE] = $yyvs[$yyvsp-$b];</Line>
<Line>{ @{$yyval = []}[cTYPE] = $yyvs[$yyvsp-$c];</Line>
<Line>@{$yyval = []}[cTYPE,cCHILD,cDEFINE] = ('ANY',undef,$yyvs[$yyvsp-$z]);</Line>
<Line>{ @{$yyval = []}[cTYPE] = $yyvs[$yyvsp-$d];</Line>
<Line>{ $yyval = [];</Line>
<Line>([,{}]|::=)</Line>
<Line>io => [qw(asn_recv asn_send asn_read asn_write asn_get asn_ready)],</Line>
<Line>debug => [qw(asn_dump asn_hexdump)],</Line>
<Line>ASN_PRIMITIVE ASN_CONSTRUCTOR ASN_LONG_LEN ASN_EXTENSION_ID ASN_BIT)],</Line>
<Line>tag => [qw(asn_tag asn_decode_tag asn_decode_tag asn_encode_tag asn_decode_length asn_encode_length)]</Line>
<Line>eval { _encode($self->{options}, $self->{script}, $stash, [], $buf) }</Line>
<Line>my $me = ref($pkg) ? $pkg : bless [];</Line>
<Line>my $me = ref($pkg) ? $pkg : bless [], $pkg;</Line>
<Line>bless [], $type;</Line>
<Line>$$self{'data'}{'sections'}{'events'} = [];</Line>
<Line>$$self{'data'}{'sections'}{'holidays'} = [];</Line>
<Line>$$self{'data'}{'sections'}{$sect} = [];</Line>
<Line>'date' => [], # the parsed date split</Line>
<Line>'offset' => [], # The offset from GMT</Line>
<Line>'gmt' => [], # the date converted to GMT</Line>
<Line>'loc' => [], # the date converted to local timezone</Line>
<Line>$$dmb{'data'}{'holidays'}{'hols'} = [];</Line>
<Line>return [];</Line>
</Level>
<Level>
<NewCharacters>PERL: {}()[]&lt;>\# + 0123456789</NewCharacters>
<Line>if ($path !~ m|^/[^;\(\)]+|) {</Line>
<Line>if ($line =~ m/^tcp:\s+\[(\S+)\]\s+\S+\s+(\S+)\s*$/) {</Line>
<Line>my $storage_list = [];</Line>
<Line>my $cmd = ['/sbin/vgchange', '-aln', $scfg->{vgname}];</Line>
<Line>my $slist = [];</Line>
<Line>my $devlist = [];</Line>
<Line>while ($tmpl =~ m/([^{]+)?({([^}]+)})?/g) {</Line>
<Line>#'et' => [], # Ethopia or Estonia ??</Line>
<Line>#'th' => [],</Line>
<Line>my $kvmkeymaparray = [];</Line>
<Line>return $str ? [ Text::ParseWords::shellwords($str) ] : [];</Line>
<Line>my $lines = [];</Line>
<Line>my $cmd = ['lvremove', '-f', $di->{snapdev}];</Line>
<Line>return [];</Line>
<Line>my $res = [];</Line>
<Line>$skiplist = [] if !$skiplist;</Line>
<Line>my $bklist = [];</Line>
<Line>my $tasklist = [];</Line>
<Line>$task->{disks} = [];</Line>
<Line>my $vollist = [];</Line>
<Line>=item B&lt;shell_quote> [I&lt;string>]...</Line>
<Line>=item B&lt;shell_quote_best_effort> [I&lt;string>]...</Line>
<Line>=item B&lt;shell_comment_quote> [I&lt;string>]</Line>
<Line>RFC2732 => qr/[^A-Za-z0-9\-_.!~*'()]/,</Line>
<Line>return $1 if $_[0] =~ s,^\\\\([^\\]+),,; # UNC</Line>
<Line>return $1 if $_[0] =~ s,^\\\\([^\\]+),,; # UNC</Line>
<Line>return $path =~ m,^[a-zA-Z]:, || $path =~ m,^[/\\],;</Line>
<Line># gopher://&lt;host>[:&lt;port>]/&lt;gopher-path></Line>
<Line>'us' => [qw(www.ACME.gov www.ACME.mil)],</Line>
<Line>'gb' => [qw(www.ACME.co.uk www.ACME.org.uk www.ACME.ac.uk)],</Line>
<Line>'au' => [qw(www.ACME.com.au www.ACME.org.au www.ACME.edu.au)],</Line>
<Line>'il' => [qw(www.ACME.co.il www.ACME.org.il www.ACME.net.il)],</Line>
<Line>m,^[a-zA-Z]:[/\\],) # dosish file name</Line>
<Line>$reserved = q(;/?:@&amp;=+$,[]);</Line>
<Line>$u->query_param($key, []);</Line>
<Line>$key =~ s/([;\/?:@&amp;=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg;</Line>
<Line>$val =~ s/([;\/?:@&amp;=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg;</Line>
<Line>for (@copy) { s/([;\/?:@&amp;=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg; }</Line>
<Line>$old =~ s{^\[(.*)\]$}{$1}; # remove brackets around IPv6 (RFC 3986 3.2.2)</Line>
<Line>bless [URI::file->new_abs(shift)], $class;</Line>
<Line>return eval { $thingy->can( 'as_string' ) } ? $thingy->as_string([]) : $thingy;</Line>
<Line>my $self = bless [], $class;</Line>
<Line>return [] if $string eq '[]';</Line>
<Line>$hash->{$key} = [];</Line>
<Line>$lines[-1] .= ' []';</Line>
<Line>$string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;</Line>
<Line>$line .= ' []';</Line>
<Line>$line .= ' []';</Line>
<Line>and mappings, support for the constructs [] (empty sequence) and {}</Line>
<Line>--- []</Line>
</Level>
</Levels>
</KTouchLecture>

View file

@ -0,0 +1,294 @@
<KTouchKeyboard>
<Title>English Workman with Dvorak-for-Programmers</Title>
<Comment>English Workman WDP Keyboard Layout</Comment>
<Language>en (English)</Language>
<Keys>
<Key Width="80" X="180" Y="200" Height="80" Type="FINGER">
<Char Unicode="65" Position="TopLeft">A</Char>
</Key>
<Key Width="80" X="280" Y="200" Height="80" Type="FINGER">
<Char Unicode="83" Position="TopLeft">S</Char>
</Key>
<Key Width="80" X="380" Y="200" Height="80" Type="FINGER">
<Char Unicode="72" Position="TopLeft">H</Char>
</Key>
<Key Width="80" X="480" Y="200" Height="80" Type="FINGER">
<Char Unicode="84" Position="TopLeft">T</Char>
</Key>
<Key Width="80" X="780" Y="200" Height="80" Type="FINGER">
<Char Unicode="78" Position="TopLeft">N</Char>
</Key>
<Key Width="80" X="880" Y="200" Height="80" Type="FINGER">
<Char Unicode="69" Position="TopLeft">E</Char>
</Key>
<Key Width="80" X="980" Y="200" Height="80" Type="FINGER">
<Char Unicode="79" Position="TopLeft">O</Char>
</Key>
<Key Width="80" X="1080" Y="200" Height="80" Type="FINGER">
<Char Unicode="73" Position="TopLeft">I</Char>
</Key>
<Key Width="130" X="0" Y="100" Height="80" Type="TAB"/>
<Key Width="100" X="1380" Y="100" Height="180" Type="ENTER"/>
<Key Width="250" X="1230" Y="300" Height="80" Type="SHIFT"/>
<Key Width="130" X="1200" KeyText="AltGr" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="1350" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="150" KeyText="Alt" Y="400" Height="80" Type="OTHER"/>
<Key Width="130" X="0" KeyText="Ctrl" Y="400" Height="80" Type="OTHER"/>
<Key Width="880" X="300" Y="400" Height="80" Type="SPACE"/>
<Key Width="110" X="0" Y="300" Height="80" Type="SHIFT"/>
<Key Width="160" X="0" Y="200" Height="80" Type="CAPSLOCK"/>
<Key Width="160" X="1310" Y="0" Height="80" Type="BACKSPACE"/>
<Key Width="80" X="0" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="96" Position="TopLeft">`</Char>
<Char Unicode="126" Position="BottomLeft">~</Char>
</Key>
<Key Width="80" X="100" Y="0" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="38" Position="TopLeft">&amp;</Char>
<Char Unicode="59" Position="BottomLeft">;</Char>
</Key>
<Key Width="80" X="200" Y="0" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="55" Position="TopLeft">7</Char>
<Char Unicode="91" Position="BottomLeft">[</Char>
</Key>
<Key Width="80" X="300" Y="0" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="53" Position="TopLeft">5</Char>
<Char Unicode="123" Position="BottomLeft">{</Char>
</Key>
<Key Width="80" X="400" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="51" Position="TopLeft">3</Char>
<Char Unicode="125" Position="BottomLeft">}</Char>
</Key>
<Key Width="80" X="500" Y="0" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="49" Position="TopLeft">1</Char>
<Char Unicode="40" Position="BottomLeft">(</Char>
</Key>
<Key Width="80" X="600" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="57" Position="TopLeft">9</Char>
<Char Unicode="61" Position="BottomLeft">=</Char>
</Key>
<Key Width="80" X="700" Y="0" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="48" Position="TopLeft">0</Char>
<Char Unicode="42" Position="BottomLeft">*</Char>
</Key>
<Key Width="80" X="800" Y="0" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="50" Position="TopLeft">2</Char>
<Char Unicode="41" Position="BottomLeft">)</Char>
</Key>
<Key Width="80" X="900" Y="0" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="52" Position="TopLeft">4</Char>
<Char Unicode="43" Position="BottomLeft">+</Char>
</Key>
<Key Width="80" X="1000" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="54" Position="TopLeft">6</Char>
<Char Unicode="93" Position="BottomLeft">]</Char>
</Key>
<Key Width="80" X="1100" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="56" Position="TopLeft">8</Char>
<Char Unicode="37" Position="BottomLeft">%</Char>
</Key>
<Key Width="80" X="1200" Y="0" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="35" Position="TopLeft">#</Char>
<Char Unicode="33" Position="BottomLeft">!</Char>
</Key>
<Key Width="80" X="150" Y="100" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="81" Position="TopLeft">Q</Char>
</Key>
<Key Width="80" X="250" Y="100" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="68" Position="TopLeft">D</Char>
</Key>
<Key Width="80" X="350" Y="100" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="82" Position="TopLeft">R</Char>
</Key>
<Key Width="80" X="450" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="87" Position="TopLeft">W</Char>
</Key>
<Key Width="80" X="550" Y="100" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="66" Position="TopLeft">B</Char>
</Key>
<Key Width="80" X="650" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="74" Position="TopLeft">J</Char>
</Key>
<Key Width="80" X="750" Y="100" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="70" Position="TopLeft">F</Char>
</Key>
<Key Width="80" X="850" Y="100" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="85" Position="TopLeft">U</Char>
</Key>
<Key Width="80" X="950" Y="100" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="80" Position="TopLeft">P</Char>
</Key>
<Key Width="80" X="1050" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="64" Position="TopLeft">@</Char>
<Char Unicode="36" Position="BottomLeft">$</Char>
</Key>
<Key Width="80" X="1150" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="94" Position="TopLeft">^</Char>
<Char Unicode="58" Position="BottomLeft">:</Char>
</Key>
<Key Width="80" X="1250" Y="100" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="34" Position="TopLeft">"</Char>
<Char Unicode="39" Position="BottomLeft">'</Char>
</Key>
<Key Width="80" X="580" Y="200" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="71" Position="TopLeft">G</Char>
</Key>
<Key Width="80" X="680" Y="200" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="89" Position="TopLeft">Y</Char>
</Key>
<Key Width="80" X="1180" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="95" Position="TopLeft">_</Char>
<Char Unicode="45" Position="BottomLeft">-</Char>
</Key>
<Key Width="80" X="1280" Y="200" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="124" Position="TopLeft">|</Char>
<Char Unicode="92" Position="BottomLeft">\</Char>
</Key>
<Key Width="80" X="130" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="62" Position="BottomLeft">></Char>
</Key>
<Key Width="80" X="230" Y="300" Height="80" FingerKeyIndex="0" Type="NORMAL">
<Char Unicode="90" Position="TopLeft">Z</Char>
</Key>
<Key Width="80" X="330" Y="300" Height="80" FingerKeyIndex="1" Type="NORMAL">
<Char Unicode="88" Position="TopLeft">X</Char>
</Key>
<Key Width="80" X="430" Y="300" Height="80" FingerKeyIndex="2" Type="NORMAL">
<Char Unicode="77" Position="TopLeft">M</Char>
</Key>
<Key Width="80" X="530" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="67" Position="TopLeft">C</Char>
</Key>
<Key Width="80" X="630" Y="300" Height="80" FingerKeyIndex="3" Type="NORMAL">
<Char Unicode="86" Position="TopLeft">V</Char>
</Key>
<Key Width="80" X="730" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="75" Position="TopLeft">K</Char>
</Key>
<Key Width="80" X="830" Y="300" Height="80" FingerKeyIndex="4" Type="NORMAL">
<Char Unicode="76" Position="TopLeft">L</Char>
</Key>
<Key Width="80" X="930" Y="300" Height="80" FingerKeyIndex="5" Type="NORMAL">
<Char Unicode="60" Position="TopLeft">&lt;</Char>
<Char Unicode="44" Position="BottomLeft">,</Char>
</Key>
<Key Width="80" X="1030" Y="300" Height="80" FingerKeyIndex="6" Type="NORMAL">
<Char Unicode="62" Position="TopLeft">></Char>
<Char Unicode="46" Position="BottomLeft">.</Char>
</Key>
<Key Width="80" X="1130" Y="300" Height="80" FingerKeyIndex="7" Type="NORMAL">
<Char Unicode="63" Position="TopLeft">?</Char>
<Char Unicode="47" Position="BottomLeft">/</Char>
</Key>
</Keys>
<Connections>
<KeyConnector TargetKeyIndex="0" KeyUnicode="97"/>
<KeyConnector TargetKeyIndex="0" KeyUnicode="65" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="115"/>
<KeyConnector TargetKeyIndex="1" KeyUnicode="83" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="104"/>
<KeyConnector TargetKeyIndex="2" KeyUnicode="72" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="116"/>
<KeyConnector TargetKeyIndex="3" KeyUnicode="84" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="4" KeyUnicode="110" />
<KeyConnector TargetKeyIndex="4" KeyUnicode="78" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="101"/>
<KeyConnector TargetKeyIndex="5" KeyUnicode="69" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="111"/>
<KeyConnector TargetKeyIndex="6" KeyUnicode="79" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="105"/>
<KeyConnector TargetKeyIndex="7" KeyUnicode="73" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="8" KeyUnicode="260"/>
<KeyConnector TargetKeyIndex="9" KeyUnicode="13" />
<KeyConnector TargetKeyIndex="10" KeyUnicode="257"/>
<KeyConnector TargetKeyIndex="11" KeyUnicode="264"/>
<KeyConnector TargetKeyIndex="12" KeyUnicode="265"/>
<KeyConnector TargetKeyIndex="13" KeyUnicode="263"/>
<KeyConnector TargetKeyIndex="14" KeyUnicode="262"/>
<KeyConnector TargetKeyIndex="15" KeyUnicode="32" />
<KeyConnector TargetKeyIndex="16" KeyUnicode="258"/>
<KeyConnector TargetKeyIndex="17" KeyUnicode="259"/>
<KeyConnector TargetKeyIndex="18" KeyUnicode="8" />
<KeyConnector TargetKeyIndex="19" KeyUnicode="126"/>
<KeyConnector TargetKeyIndex="19" KeyUnicode="96" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="20" KeyUnicode="59" />
<KeyConnector TargetKeyIndex="20" KeyUnicode="38" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="21" KeyUnicode="91" />
<KeyConnector TargetKeyIndex="21" KeyUnicode="55" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="22" KeyUnicode="123"/>
<KeyConnector TargetKeyIndex="22" KeyUnicode="53" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="23" KeyUnicode="125"/>
<KeyConnector TargetKeyIndex="23" KeyUnicode="51" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="24" KeyUnicode="40" />
<KeyConnector TargetKeyIndex="24" KeyUnicode="49" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="25" KeyUnicode="61" />
<KeyConnector TargetKeyIndex="25" KeyUnicode="57" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="26" KeyUnicode="42" />
<KeyConnector TargetKeyIndex="26" KeyUnicode="48" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="27" KeyUnicode="41" />
<KeyConnector TargetKeyIndex="27" KeyUnicode="50" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="28" KeyUnicode="43" />
<KeyConnector TargetKeyIndex="28" KeyUnicode="52" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="29" KeyUnicode="93" />
<KeyConnector TargetKeyIndex="29" KeyUnicode="54" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="30" KeyUnicode="37" />
<KeyConnector TargetKeyIndex="30" KeyUnicode="56" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="31" KeyUnicode="35" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="31" KeyUnicode="33" />
<KeyConnector TargetKeyIndex="32" KeyUnicode="113"/>
<KeyConnector TargetKeyIndex="32" KeyUnicode="81" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="100"/>
<KeyConnector TargetKeyIndex="33" KeyUnicode="68" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="114"/>
<KeyConnector TargetKeyIndex="34" KeyUnicode="82" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="119"/>
<KeyConnector TargetKeyIndex="35" KeyUnicode="87" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="36" KeyUnicode="98"/>
<KeyConnector TargetKeyIndex="36" KeyUnicode="66" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="37" KeyUnicode="106" />
<KeyConnector TargetKeyIndex="37" KeyUnicode="74" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="102"/>
<KeyConnector TargetKeyIndex="38" KeyUnicode="70" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="117"/>
<KeyConnector TargetKeyIndex="39" KeyUnicode="85" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="112"/>
<KeyConnector TargetKeyIndex="40" KeyUnicode="80" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="41" KeyUnicode="36" />
<KeyConnector TargetKeyIndex="41" KeyUnicode="64" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="42" KeyUnicode="58" />
<KeyConnector TargetKeyIndex="42" KeyUnicode="94" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="43" KeyUnicode="39" />
<KeyConnector TargetKeyIndex="43" KeyUnicode="34" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="103"/>
<KeyConnector TargetKeyIndex="44" KeyUnicode="71" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="121"/>
<KeyConnector TargetKeyIndex="45" KeyUnicode="89" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="46" KeyUnicode="45" />
<KeyConnector TargetKeyIndex="46" KeyUnicode="95" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="47" KeyUnicode="124" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="47" KeyUnicode="92" />
<KeyConnector TargetKeyIndex="48" KeyUnicode="60" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="48" KeyUnicode="62" />
<KeyConnector TargetKeyIndex="49" KeyUnicode="122"/>
<KeyConnector TargetKeyIndex="49" KeyUnicode="90" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="120"/>
<KeyConnector TargetKeyIndex="50" KeyUnicode="88" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="51" KeyUnicode="109" />
<KeyConnector TargetKeyIndex="51" KeyUnicode="77" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="52" KeyUnicode="99"/>
<KeyConnector TargetKeyIndex="52" KeyUnicode="67" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="118"/>
<KeyConnector TargetKeyIndex="53" KeyUnicode="86" ModifierIndex="16"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="107"/>
<KeyConnector TargetKeyIndex="54" KeyUnicode="75" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="108"/>
<KeyConnector TargetKeyIndex="55" KeyUnicode="76" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="56" KeyUnicode="44" />
<KeyConnector TargetKeyIndex="56" KeyUnicode="60" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="57" KeyUnicode="46" />
<KeyConnector TargetKeyIndex="57" KeyUnicode="62" ModifierIndex="10"/>
<KeyConnector TargetKeyIndex="58" KeyUnicode="47" />
<KeyConnector TargetKeyIndex="58" KeyUnicode="63" ModifierIndex="10"/>
</Connections>
</KTouchKeyboard>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
-dp----- a------- workman(wkm)
--p----- a------- workman(wco)
--p----- a------- workman(wcp)
--p----- a------- workman(wce)
--p----- a------- workman(wdp)

View file

@ -0,0 +1,180 @@
// workman layouts
// see http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
// xkb keymap prepared by Oleg Kostyuk <cub@cub.org.ua>
// copyright 2012, bsd license
// to use, copy to /usr/share/X11/xkb/symbols/workman and add the following
// lines to /usr/share/X11/xkb/symbols.dir:
//
// -dp----- a------- workman(wkm)
// --p----- a------- workman(wcp)
// --p----- a------- workman(wco)
// --p----- a------- workman(wdp)
//
// then load with, e.g.
//
// setxkbmap workman # default layout
// setxkbmap -layout workman -variant wdp # to select other variants
default
partial alphanumeric_keys
xkb_symbols "wkm" {
name[Group1] = "The Workman Keyboard Layout";
include "latin"
include "latin(nodeadkeys)"
name[Group1] = "QFMLWY - full optimization, QWERTY lettermask";
// Unmodified Shift AltGr Shift+AltGr
key <AD01> { [ q, Q, at, Greek_OMEGA ] };
key <AD02> { [ d, D, dstroke, ordfeminine ] };
key <AD03> { [ r, R, mu, masculine ] };
key <AD04> { [ w, W, lstroke, Lstroke ] };
key <AD05> { [ b, B, lstroke, Lstroke ] };
key <AD06> { [ j, J, leftarrow, yen ] };
key <AD07> { [ f, F, downarrow, uparrow ] };
key <AD08> { [ u, U, oslash, Ooblique ] };
key <AD09> { [ p, P, rightdoublequotemark, rightsinglequotemark ] };
key <AD10> { [ semicolon, colon, rightdoublequotemark, rightsinglequotemark ] };
// Unmodified Shift AltGr Shift+AltGr
key <AC01> { [ a, A, eth, ETH ] };
key <AC02> { [ s, S, ssharp, section ] };
key <AC03> { [ h, H, tslash, Tslash ] };
key <AC04> { [ t, T ] };
key <AC05> { [ g, G, paragraph, registered ] };
key <AC06> { [ y, Y, rightarrow, idotless ] };
key <AC07> { [ n, N, ae, AE ] };
key <AC08> { [ e, E, EuroSign ] };
key <AC09> { [ o, O, hstroke, Hstroke ] };
key <AC10> { [ i, I, hstroke, Hstroke ] };
// Unmodified Shift AltGr Shift+AltGr
key <AB01> { [ z, Z, guillemotleft, less ] };
key <AB02> { [ x, X, leftdoublequotemark, leftsinglequotemark ] };
key <AB03> { [ m, M, eng, ENG ] };
key <AB04> { [ c, C, cent, copyright ] };
key <AB05> { [ v, V, guillemotright, greater ] };
key <AB06> { [ k, K, thorn, THORN ] };
key <AB07> { [ l, L, kra, ampersand ] };
};
partial alphanumeric_keys
xkb_symbols "wco" {
include "workman(wkm)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic (old)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <TLDE> { [ asciitilde, grave, dead_grave ] };
key <AE01> { [ exclam, 1, exclamdown ] };
key <AE02> { [ braceleft, 2, currency ] };
key <AE03> { [ numbersign, 3, cent ] };
key <AE04> { [ semicolon, 4, yen ] };
key <AE05> { [ braceright, 5, EuroSign ] };
key <AE06> { [ bracketleft, 6, sterling ] };
// symbols row, right side
key <AE07> { [ ampersand, 7 ] };
key <AE08> { [ asterisk, 8, onehalf ] };
key <AE09> { [ parenleft, 9 ] };
key <AE10> { [ parenright, 0 ] };
key <AE11> { [ bracketright, percent ] };
key <AE12> { [ equal, plus ] };
key <BKSP> { [ BackSpace ] };
// upper row, right side
key <AD10> { [ dollar, at, dead_acute, dead_doubleacute ] };
key <AD11> { [ colon, asciicircum, dead_circumflex, dead_caron ] };
key <AD12> { [ apostrophe, quotedbl ] };
// home row, right side
key <AC11> { [ minus, underscore, hyphen ] };
// lower row, left side
key <LSGT> { [ greater, less, bar, brokenbar ] };
};
partial alphanumeric_keys
xkb_symbols "wcp" {
include "workman(wco)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <AE01> { [ semicolon, 1, exclamdown ] };
key <AE02> { [ exclam, 2, currency ] };
key <AE04> { [ braceleft, 4, yen ] };
// symbols row, right side
key <AE07> { [ bracketright, 7 ] };
key <AE11> { [ ampersand, percent ] };
};
partial alphanumeric_keys
xkb_symbols "wce" {
include "workman(wcp)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic, for Ergodox";
// Unmodified Shift AltGr Shift+AltGr
key <AD11> { [ apostrophe, quotedbl ] };
key <AD12> { [ asciicircum, backslash ] };
key <AC11> { [ colon, percent ] };
key <AE11> { [ underscore, minus, hyphen ] };
key <BKSL> { [ bar, ampersand ] };
};
partial alphanumeric_keys
xkb_symbols "wdp" {
include "workman(wkm)"
name[Group1] = "Workman for Programmers, with modifications from Dvorak for programmers";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <TLDE> { [ asciitilde, grave, dead_grave ] };
key <AE01> { [ semicolon, ampersand ] };
key <AE02> { [ bracketleft, 7, currency ] };
key <AE03> { [ braceleft, 5, cent ] };
key <AE04> { [ braceright, 3, yen ] };
key <AE05> { [ parenleft, 1, EuroSign ] };
key <AE06> { [ equal, 9, sterling ] };
// symbols row, right side
key <AE07> { [ asterisk, 0 ] };
key <AE08> { [ parenright, 2, onehalf ] };
key <AE09> { [ plus, 4 ] };
key <AE10> { [ bracketright, 6 ] };
key <AE11> { [ percent, 8 ] };
key <AE12> { [ exclam, numbersign, exclamdown ] };
key <BKSP> { [ BackSpace ] };
// upper row, right side
key <AD10> { [ dollar, at, dead_acute, dead_doubleacute ] };
key <AD11> { [ colon, asciicircum, dead_circumflex, dead_caron ] };
key <AD12> { [ apostrophe, quotedbl ] };
// home row, right side
key <AC11> { [ minus, underscore, hyphen ] };
// lower row, left side
key <LSGT> { [ greater, less, bar, brokenbar ] };
};

View file

@ -1,40 +1,109 @@
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Default Layer
/*
* Keymap: Default Layer in QWERTY
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ~ | 1 | 2 | 3 | 4 | 5 | \ | | ' | 6 | 7 | 8 | 9 | 0 | = |
* | ~ | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | ~Fn1 | | ~Fn3 | Y | U | I | O | P | [ |
* | Tab | Q | W | E | R | T | ~L1 | | ~L3 | Y | U | I | O | P | ' |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | RShift |
* |--------+------+------+------+------+------| Fn0 | | ~Fn4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | RCtrl |
* | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | - FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | \ FN15 |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~Fn1 | ~Fn2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~Fn4 |
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +Fn2 | Home | | PgUp | Del |
* | +L2 | Home | | PgUp | Del |
* ,------|------|------| |------+------+------.
* | | | End | | PgDn | | |
* | BkSp | ESC |------| |------| Enter| Space|
* | | | Spc | | Ins | | |
* `--------------------' `--------------------'
*
*
*
****************************************************************************************************
*
* Under XOrg, I use my own mapping from QWERTY to "Workman for Programmers"
* See XOrg files in ./addons/ subdirectory.
*
* I have to do so, because of two things:
* 1) my native language is Russian, and XOrg keymap for it is based on QWERTY layout
* 2) I want to have non-standart shifted keys, like $ (as normal) and @ (as shifted), or _ and -
*
* And even if (2) could be solved using FN* keys (but there is limit in firmware for only 32 such
* keys), then (1) can't be solved at firmware level at all.
*
* So, I have to stick with QWERTY as my main layout + my own XOrg keyboard layout for English.
* But sometimes I have to input something when XOrg is not active - for example, in Linux console,
* or in firmware console (while debugging firmware), or when keyboard is connected to not my computer.
*
* For such cases I have Layer5 :)
* // hint: switch to Layer5 is only at Layer4
*
****************************************************************************************************
*
*
*
* Keymap: Default Layer in Workman
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ~ | ; | ! | # | { | } | ' | | ^ | [ | ] | * | ( | ) | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | D | R | W | B | ~L1 | | ~L3 | J | F | U | P | $ | : |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | _ FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | | FN15 |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +L2 | Home | | PgUp | Del |
* ,------|------|------| |------+------+------.
* | | | End | | PgDn | | |
* | BkSp | ESC |------| |------| Enter| Space|
* | | | Spc | | Ins | | |
* `--------------------' `--------------------'
*
* Keymap: Default Layer in Workman / with Shift
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | " | | \ | 6 | 7 | 8 | 9 | 0 | + |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | D | R | W | B | ~L1 | | ~L3 | J | F | U | P | @ | % |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LShift | A | S | H | T | G |------| |------| Y | N | E | O | I | - FN14 |
* |--------+------+------+------+------+------| L0 | | ~L4 |------+------+------+------+------+--------|
* | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | & FN15 |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | ~L1 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L4 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | +L2 | Home | | PgUp | Del |
* ,------|------|------| |------+------+------.
* | | | End | | PgDn | | |
* | BkSp | ESC |------| |------| Enter| Space|
* | | | Spc | | Ins | | |
* `--------------------' `--------------------'
*
*/
KEYMAP( // layout: layer 0: default
// left hand
GRV, 1, 2, 3, 4, 5, BSLS,
GRV, 1, 2, 3, 4, 5, LBRC,
TAB, Q, W, E, R, T, FN1,
LSFT,A, S, D, F, G,
FN16,FN18,S, D, F, G,
LCTL,Z, X, C, V, B, FN0,
FN1, FN6, CAPS,LALT,LGUI,
FN2, HOME,
END,
FN8, FN9, FN10,
// right hand
QUOT,6, 7, 8, 9, 0, EQL,
FN3, Y, U, I, O, P, LBRC,
FN16,J, K, L, SCLN,FN14,
RBRC,6, 7, 8, 9, 0, EQL,
FN3, Y, U, I, O, P, QUOT,
FN17,J, K, L, FN19,FN14,
FN4, N, M, COMM,DOT, SLSH,FN15,
LEFT,UP, DOWN,RGHT,FN4,
PGUP,DEL,
@ -86,9 +155,9 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KEYMAP( // layout: layer 3: F-keys only
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,F13, F14, F15, F16, NO, TRNS,
TRNS,F17, F18, F19, F20, NO,
TRNS,F17, F18, F19, F20, NO,
TRNS,F21, F22, F23, F24, NO, TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,
@ -147,14 +216,35 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TRNS,TRNS,TRNS
),
KEYMAP( // layout: layer 6: F-keys on home+1 row
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,F1, F2, F3, F4, F5, F11,
TRNS,TRNS,NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,TRNS,LALT,LGUI,
TRNS,TRNS,
TRNS,
LCTL,LSFT,TRNS,
// right hand
NO, NO, NO, NO, NO, NO, TRNS,
F12, F6, F7, F8, F9, F10, PGUP,
NO, NO, NO, NO, TRNS,PGDN,
TRNS,NO, NO, NO, NO, NO, TRNS,
RGUI,RALT,TRNS,TRNS,TRNS,
TRNS,TRNS,
TRNS,
TRNS,RSFT,RCTL
),
/*
// templates to copy from
KEYMAP( // layout: layer N: transparent on edges, all others are empty
// left hand
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO,
TRNS,NO, NO, NO, NO, NO, TRNS,
TRNS,TRNS,TRNS,LALT,LGUI,
TRNS,TRNS,
@ -219,9 +309,12 @@ static const uint16_t PROGMEM fn_actions[] = {
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // FN12 = RShift with tap Enter
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_SPC), // FN13 = RCtrl with tap Space
ACTION_MODS_TAP_KEY(MOD_RSFT, KC_MINS), // FN14 = RShift with tap Enter
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RBRC), // FN15 = RCtrl with tap Space
ACTION_MODS_TAP_KEY(MOD_RCTL, KC_BSLS), // FN15 = RCtrl with tap Space
ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB), // FN16 = LShift with tap Tab
ACTION_LAYER_TAP_KEY(2, KC_H), // FN16 = L2 symbols on J key, to use with Mouse keys
ACTION_LAYER_TAP_KEY(2, KC_H), // FN17 = L2 symbols on J key, to use with Mouse keys
ACTION_LAYER_TAP_KEY(6, KC_A), // FN18 = L6 symbols on A key, to use with F* keys
ACTION_LAYER_TAP_KEY(6, KC_SCLN), // FN19 = L6 symbols on ; key, to use with F* keys
};
void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)