<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windows CE Programming &#187; CN3</title>
	<atom:link href="http://www.hjgode.de/wp/tag/cn3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hjgode.de/wp</link>
	<description>Windows Mobile Development and usage</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:53:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<!--CodeProjectFeeder channel--><category>CodeProject</category><generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DirectKeyUI, a tool to manage direct keys on ITC devices</title>
		<link>http://www.hjgode.de/wp/2009/07/14/directkeyui-a-tool-to-manage-direct-keys-on-itc-devices/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=directkeyui-a-tool-to-manage-direct-keys-on-itc-devices</link>
		<comments>http://www.hjgode.de/wp/2009/07/14/directkeyui-a-tool-to-manage-direct-keys-on-itc-devices/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 07:34:30 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[700 color]]></category>
		<category><![CDATA[CK3]]></category>
		<category><![CDATA[CN3]]></category>
		<category><![CDATA[CV30]]></category>
		<category><![CDATA[DirectKeyUI]]></category>
		<category><![CDATA[ITC]]></category>
		<category><![CDATA[keyboard remapping]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=81</guid>
		<description><![CDATA[Remap keyboard direct keys of ITC devices]]></description>
			<content:encoded><![CDATA[<p>Although ITC offers a nice keyboard remapper (part of the device resource kit) there is no tool to remap the &#8216;direct&#8217; keys. Direct keys are for example the blue side buttons on a CN3(e), the PTT key on a CK3 or the front keys of a CV30. To remap those keys you need to change the registry. As fiddling with the registry is not always easy, I did this small tool: DirectKeyUI</p>
<h2>New (14. july 2009):</h2>
<ul>
<li>Added ArmV4 version as needed to use the tool on 700 color devices<br />
Although the tool is mainly targetting ITC WM5 devices it is also usefull to map keys on ITC WM2003 devices as the 700 color series. The remapper for the WM2003 devices does not offer all possibly mappings and so DirectKeyUI may be usefull for you.</li>
<li>Added source code as of 29. june 2009</li>
<li>Fixed some bugs in v1.2</li>
</ul>
<p><span id="more-81"></span><img class="alignnone size-medium wp-image-82" title="directkeyui1" src="http://www.hjgode.de/wp/wp-content/uploads/2009/06/directkeyui1-225x300.gif" alt="directkeyui1" width="225" height="300" /></p>
<p>After you started the tool, you select the plane and then the key to reassign. Please note, that not all values are mapped to keys. For example the first and last two entries near &#8216;Select Key&#8217; are not of use on CN3&#8242;s.</p>
<p><img class="alignnone size-medium wp-image-83" title="directkeyui2" src="http://www.hjgode.de/wp/wp-content/uploads/2009/06/directkeyui2-225x300.gif" alt="directkeyui2" width="225" height="300" /></p>
<p>Here I selected the third key entry, which is the upper left blue side key on the CN3 I tested here. Then I select VK_F22 as the new VK value.</p>
<p><img class="alignnone size-medium wp-image-84" title="directkeyui3" src="http://www.hjgode.de/wp/wp-content/uploads/2009/06/directkeyui3-225x300.gif" alt="directkeyui3" width="225" height="300" /></p>
<p>You have to save each change immediately, if you like to have it applied.</p>
<p>As F22 is mapped to Lock function, the device is now locked immediately, if you press the upper button on the left side of the CN3.</p>
<p>Now start playing with the tool. You can assign VK values, events, multi keys and app button to any of the direct keys. Please do not use undefined values as 0&#215;02, 0&#215;04, 0&#215;06 and -undef- as Key Type.</p>
<p>This is for testing and/or demo purpose only. Watch your step when playing with the tool.</p>
<p><b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=7" title="Downloaded 281 times">DirectKeyUI Windows Mobile 5/6 Executable</a> -  (Hits: 281, size: 72.19 KB)<br />
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=30" title="Downloaded 212 times">DirectKeyUI Windows Mobile 2003/5/6 CE4,5 VS2005 Source v1.2</a> -  (Hits: 212, size: 170.25 KB)<br />
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=31" title="Downloaded 182 times">DirectKeyUI Windows CE4/5 - Mobile 5/6 Executable, v1.2</a> -  (Hits: 182, size: 72.05 KB)<br />
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=32" title="Downloaded 179 times">DirectKeyUI Windows CE4 - Mobile 2003 Executable, v1.2</a> -  (Hits: 179, size: 73.56 KB)</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F&amp;title=DirectKeyUI%2C+a+tool+to+manage+direct+keys+on+ITC+devices" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F&amp;title=DirectKeyUI%2C+a+tool+to+manage+direct+keys+on+ITC+devices" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F&amp;title=DirectKeyUI%2C+a+tool+to+manage+direct+keys+on+ITC+devices" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F&amp;T=DirectKeyUI%2C+a+tool+to+manage+direct+keys+on+ITC+devices" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F07%2F14%2Fdirectkeyui-a-tool-to-manage-direct-keys-on-itc-devices%2F&amp;t=DirectKeyUI%2C+a+tool+to+manage+direct+keys+on+ITC+devices" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/07/14/directkeyui-a-tool-to-manage-direct-keys-on-itc-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP ITS Mobile: Intermec Browser contra iBrowse</title>
		<link>http://www.hjgode.de/wp/2009/06/30/sap-its-mobile-intermec-broswer-contra-ibrowse/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sap-its-mobile-intermec-broswer-contra-ibrowse</link>
		<comments>http://www.hjgode.de/wp/2009/06/30/sap-its-mobile-intermec-broswer-contra-ibrowse/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 17:59:08 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[700 color]]></category>
		<category><![CDATA[CN3]]></category>
		<category><![CDATA[iBrowse]]></category>
		<category><![CDATA[iBrowse_OnKey]]></category>
		<category><![CDATA[IB_OnKey]]></category>
		<category><![CDATA[intermec browser]]></category>
		<category><![CDATA[ITS mobile]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=175</guid>
		<description><![CDATA[iBrowse and Intermec Browser code incompatible due to name changes iBrowse_xxx is now IB_xxx]]></description>
			<content:encoded><![CDATA[<p>Recently we were faced with following problem:</p>
<p>Customer wants to use SAP ITS Mobile with Intermec Browser on CN3 and iBrowse on 700 color. The problem we found is, that intermec browser uses different META tags than iBrowse did. As you know, Intermec Browser is the successor of iBrowse, but it is not available for 700 color devices.</p>
<p><span id="more-175"></span>The META tags causing problems are the ones for checking/processing function keys:</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x70&#8243; content=&#8221;Javascript:setFKey(&#8217;1&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x71&#8243; content=&#8221;Javascript:setFKey(&#8217;2&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x72&#8243; content=&#8221;Javascript:setFKey(&#8217;3&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x73&#8243; content=&#8221;Javascript:setFKey(&#8217;4&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x74&#8243; content=&#8221;Javascript:setFKey(&#8217;5&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x75&#8243; content=&#8221;Javascript:setFKey(&#8217;6&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x76&#8243; content=&#8221;Javascript:setFKey(&#8217;7&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x77&#8243; content=&#8221;Javascript:setFKey(&#8217;8&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x78&#8243; content=&#8221;Javascript:setFKey(&#8217;9&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x79&#8243; content=&#8221;Javascript:setFKey(&#8217;10&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x7A&#8221; content=&#8221;Javascript:setFKey(&#8217;11&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x7B&#8221; content=&#8221;Javascript:setFKey(&#8217;12&#8242;);&#8221;&gt;</p>
<p>&lt;META HTTP-Equiv=&#8221;IB_OnKey0x000d&#8221; content=&#8221;Javascript:setOkCodeEnter();&#8221;&gt;</p>
<p>This code is OK for Intermec Browser but for iBrowse you have to replace ALL IB_OnKey by iBrowse_OnKey.</p>
<p>I dont know, why this has been changed and why the old syntax cannot be used anymore.</p>
<p>If you need html working with both locked down browsers, you can enter IB_OnKey and iBrowse_OnKey in parallel. The browser ignores what he does not recognize.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F&amp;title=SAP+ITS+Mobile%3A+Intermec+Browser+contra+iBrowse" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F&amp;title=SAP+ITS+Mobile%3A+Intermec+Browser+contra+iBrowse" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F&amp;title=SAP+ITS+Mobile%3A+Intermec+Browser+contra+iBrowse" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F&amp;T=SAP+ITS+Mobile%3A+Intermec+Browser+contra+iBrowse" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fsap-its-mobile-intermec-broswer-contra-ibrowse%2F&amp;t=SAP+ITS+Mobile%3A+Intermec+Browser+contra+iBrowse" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/06/30/sap-its-mobile-intermec-broswer-contra-ibrowse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>USBkey: keyboard remapping from cmd line (ITC only)</title>
		<link>http://www.hjgode.de/wp/2009/06/30/usbkey-keyboard-remapping-from-cmd-line-itc-only/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usbkey-keyboard-remapping-from-cmd-line-itc-only</link>
		<comments>http://www.hjgode.de/wp/2009/06/30/usbkey-keyboard-remapping-from-cmd-line-itc-only/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 08:52:29 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[CN3]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[remap]]></category>
		<category><![CDATA[remapping]]></category>
		<category><![CDATA[USBkey]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=171</guid>
		<description><![CDATA[remap usb keyboard of ITC devices]]></description>
			<content:encoded><![CDATA[<p>A simple keyboard remapper command line tool for devices having a USB keypad (CN3, CK61, CV30, CK3).</p>
<p>The ITC devices use a USB keyboard driver. You can remap keys of the keypad using the keby remapper tool from the Device Resource Kit. Unfortunately not all possible assignments are available with this remapper tool, so I wrote a tool that gives you full control. Be careful when using.</p>
<h2><span id="more-171"></span>Usage</h2>
<p>no args no work</p>
<pre>usbkey restore 0</pre>
<p style="padding-left: 30px;">restore keytable shiftplane numbered 0</p>
<p style="padding-left: 30px;">i.e. a CK3 numPad has 3 shiftplanes (0 to 2), with this command you can restore the original layout of a shiftplane.</p>
<pre>usbkey dump</pre>
<p style="padding-left: 30px;">this will dump the actual shiftplanes into a file: \usbkey.txt</p>
<p style="padding-left: 30px;">usbkey setNOOP 0 &#8220;Left gui&#8221;</p>
<p style="padding-left: 30px;">this will set the NOOP flag for the matching PS/2 key &#8220;Left Gui&#8221;, which is the windows key. This disables the Windows key. PS2 keynames here are not case sensitive.</p>
<pre>usbkey setNOOP 0 "1"</pre>
<p style="padding-left: 30px;">this will disable (NOOP = No Operation) of the 1 key in plane 0.</p>
<pre>usbkey resetNOOP 0 "Left GUI"</pre>
<p style="padding-left: 30px;">this will restore (unset) the NOOP flag for key &#8220;Left GUI&#8221; in plane 0.</p>
<pre>usbkey setPS2key 0 "1" "2"</pre>
<p style="padding-left: 30px;">setPS2key iPlane szOldKey szNewKey<br />
will change key assigned to &#8217;1&#8242; to produce a &#8217;2&#8242;</p>
<p>you can use the usb hex code of a key to specify the OldKey. You have to prefix the hex code by SCX (not case sensitive). In example:</p>
<pre><span style="font-weight: bold;">usbkey setPS2key 1 scx0x1E F1</span></pre>
<p style="padding-left: 30px;">will set the key with usb scancode 0x1e in plane 1 to produce a F1</p>
<p>Since version 1.1, usbkey supports remapping of keys to point to <strong>ModifiersKeys</strong>:</p>
<p>To map F3 to the Caps modifier key, use this:</p>
<pre>usbkey setKey2Mod 0 "F3" "Caps"</pre>
<p>To map F4 to the Alt modifier key, use this:</p>
<pre>usbkey setKey2Mod 0 "F4" "Alt"</pre>
<p>The output of dump has been extended to show ModifiersKeys and Keys, that are not mapped to a PS2 key now are listed with there pointer. In example:</p>
<pre>iUSBkey[30] hex: 0x0C,0xE9,0x00,0x02,0x01,0x01	CodePage:0x0C, ScanCode:0xE9, 'SHIFTKEY INDEX-&gt;1'</pre>
<p>says: key with USB scancode 0xE9 is mapped as ShiftKey (dont see this as Shifted Key, &#8216;ShiftKey&#8217; is used here as indicator for keys that change the shift plane).</p>
<h3>General</h3>
<p>Quotes are only needed around arguments containing spaces.<br />
SCX syntax to specify key to change using USB code in hex can be used for setNoop, ResetNoop, SetKey2Mod and setPS2key. To get a list of available USB scan codes use the dump command argument: &#8216;usbkey dump&#8217;. The second byte is the USB scanCode to use.</p>
<p>In example:</p>
<pre>
    iUSBkey[8] hex: 0x07,0x22,0x00,0x00,0x00,0x2E    ... 'keyName='5'
                           ^
                           This is the entry for USB scancode: 0x22
                           The PS2 code created here is 0x2E,

                           which will produce '5'</pre>
<p>If you specify one of the implicit VKEY values (F13 to F24) as newKey, you must specify the correct spelled name. Example: &#8216;setPS2key 0 scX0x1e F13&#8242; &#8211; the F13 will be looked up in aPS2 table which says, this is a VKEY and then the tool will look in the VKEY table and look for &#8216;VK_F13&#8242; to get the scancode.</p>
<h3>Remarks</h3>
<p>USBkey uses a table to search against a given keyname string. This search is using the number of characters specified and is not case sensitive actually. This means, if you specify only &#8220;Left&#8221; as keyname, the tool will use the first found &#8216;left&#8217; from a table, this may result in finding the entry for &#8216;Left Arrow&#8217; or &#8216;Left GUI&#8217; or anything else that I have in my keyname table starting with &#8216;left&#8217;. Here is the actual keyname table (PS2).</p>
<pre>
//UNASSIGNED replaced by 0xffff
//RESERVED   replaced by 0xAAAA
//NONE       replaced by 0xFFFE
//UNDEFINED  replaced by 0xFFFD
//vkey = 0xFFFA
//extended is 0xE0__

//"Key Name"	, HID Usage Page	, HID Usage ID	, PS/2 Set
usbPageUsageID usbPageUsageIDs[] = {
    {L"System Power", 0x01, 0x81, 0xE037},
    {L"System Sleep", 0x01, 0x82, 0xE03F},
    {L"System Wake", 0x01, 0x83, 0xE05E},
    {L"No Event", 0x07, 0x00, 0xFFFE},
    {L"Overrun Error", 0x07, 0x01, 0x00},
    {L"POST Fail", 0x07, 0x02, 0xFC},
    {L"Error Undefined", 0x07, 0x03, 0xFFFF},
    {L"a A", 0x07, 0x04, 0x1C},
    {L"b B", 0x07, 0x05, 0x32},
    {L"c C", 0x07, 0x06, 0x21},
    {L"d D", 0x07, 0x07, 0x23},
    {L"e E", 0x07, 0x08, 0x24},
    {L"f F", 0x07, 0x09, 0x2B},
    {L"g G", 0x07, 0x0A, 0x34},
    {L"h H", 0x07, 0x0B, 0x33},
    {L"i I", 0x07, 0x0C, 0x43},
    {L"j J", 0x07, 0x0D, 0x3B},
    {L"k K", 0x07, 0x0E, 0x42},
    {L"l L", 0x07, 0x0F, 0x4B},
    {L"m M", 0x07, 0x10, 0x3A},
    {L"n N", 0x07, 0x11, 0x31},
    {L"o O", 0x07, 0x12, 0x44},
    {L"p P", 0x07, 0x13, 0x4D},
    {L"q Q", 0x07, 0x14, 0x15},
    {L"r R", 0x07, 0x15, 0x2D},
    {L"s S", 0x07, 0x16, 0x1B},
    {L"t T", 0x07, 0x17, 0x2C},
    {L"u U", 0x07, 0x18, 0x3C},
    {L"v V", 0x07, 0x19, 0x2A},
    {L"w W", 0x07, 0x1A, 0x1D},
    {L"x X", 0x07, 0x1B, 0x22},
    {L"y Y", 0x07, 0x1C, 0x35},
    {L"z Z", 0x07, 0x1D, 0x1A},
    {L"1 !", 0x07, 0x1E, 0x16},
    {L"2 @", 0x07, 0x1F, 0x1E},
    {L"3 #", 0x07, 0x20, 0x26},
    {L"4 $", 0x07, 0x21, 0x25},
    {L"5 %%", 0x07, 0x22, 0x2E},
    {L"6 ^", 0x07, 0x23, 0x36},
    {L"7 &amp;", 0x07, 0x24, 0x3D},
    {L"8 *", 0x07, 0x25, 0x3E},
    {L"9 (", 0x07, 0x26, 0x46},
    {L"0 )", 0x07, 0x27, 0x45},
    {L"Return", 0x07, 0x28, 0x5A},
    {L"Escape", 0x07, 0x29, 0x76},
    {L"Backspace", 0x07, 0x2A, 0x66},
    {L"Tab", 0x07, 0x2B, 0x0D},
    {L"Space", 0x07, 0x2C, 0x29},
    {L"-_", 0x07, 0x2D, 0x4E},
    {L"= +", 0x07, 0x2E, 0x55},
    {L"[ {L", 0x07, 0x2F, 0x54},
    {L"] }", 0x07, 0x30, 0x5B},
    {L"\\ |", 0x07, 0x31, 0x5D},
    {L"Europe 1", 0x07, 0x32, 0x5D},
    {L"; :", 0x07, 0x33, 0x4C},
    {L"‘ \"", 0x07, 0x34, 0x52},
    {L"` ~", 0x07, 0x35, 0x0E},
    {L", &lt;", 0x07, 0x36, 0x41},
    {L". &gt;", 0x07, 0x37, 0x49},
    {L"/ ?", 0x07, 0x38, 0x4A},
    {L"Caps Lock", 0x07, 0x39, 0x58},
    {L"F1", 0x07, 0x3A, 0x05},
    {L"F2", 0x07, 0x3B, 0x06},
    {L"F3", 0x07, 0x3C, 0x04},
    {L"F4", 0x07, 0x3D, 0x0C},
    {L"F5", 0x07, 0x3E, 0x03},
    {L"F6", 0x07, 0x3F, 0x0B},
    {L"F7", 0x07, 0x40, 0x83},
    {L"F8", 0x07, 0x41, 0x0A},
    {L"F9", 0x07, 0x42, 0x01},
    {L"F10", 0x07, 0x43, 0x09},
    {L"F11", 0x07, 0x44, 0x78},
    {L"F12", 0x07, 0x45, 0x07},
    {L"Print Screen", 0x07, 0x46, 0xE07C},
    {L"Scroll Lock", 0x07, 0x47, 0x7E},
    {L"Break", 0x07, 0x48, 0xE07E},
    {L"Pause", 0x07, 0x48, 0xfffD},
    {L"Insert", 0x07, 0x49, 0xE070},
    {L"Home", 0x07, 0x4A, 0xE06C},
    {L"Page Up", 0x07, 0x4B, 0xE07D},
    {L"Delete", 0x07, 0x4C, 0xE071},
    {L"End", 0x07, 0x4D, 0xE069},
    {L"Page Down", 0x07, 0x4E, 0xE07A},
    {L"Right Arrow", 0x07, 0x4F, 0xE074},
    {L"Left Arrow", 0x07, 0x50, 0xE06B},
    {L"Down Arrow", 0x07, 0x51, 0xE072},
    {L"Up Arrow", 0x07, 0x52, 0xE075},
    {L"Num Lock", 0x07, 0x53, 0x77},
    {L"Keypad /", 0x07, 0x54, 0xE04A},
    {L"Keypad *", 0x07, 0x55, 0xE07C},
    {L"Keypad -", 0x07, 0x56, 0xE07B},
    {L"Keypad +", 0x07, 0x57, 0x79},
    {L"Keypad Enter", 0x07, 0x58, 0xE05A},
    {L"Keypad 1", 0x07, 0x59, 0x69},
    {L"Keypad 2", 0x07, 0x5A, 0x72},
    {L"Keypad 3", 0x07, 0x5B, 0x7A},
    {L"Keypad 4", 0x07, 0x5C, 0x79},
    {L"Keypad 5", 0x07, 0x5D, 0x73},
    {L"Keypad 6", 0x07, 0x5E, 0x74},
    {L"Keypad 7", 0x07, 0x5F, 0x6C},
    {L"Keypad 8", 0x07, 0x60, 0x75},
    {L"Keypad 9", 0x07, 0x61, 0x7D},
    {L"Keypad 0", 0x07, 0x62, 0x70},
    {L"Keypad .", 0x07, 0x63, 0x71},
    {L"Europe 2", 0x07, 0x64, 0x61},
    {L"App", 0x07, 0x65, 0xE02F},
    {L"Keyboard Power", 0x07, 0x66, 0xE037},
    {L"Keypad =", 0x07, 0x67, 0x0F},
    {L"F13", 0x07, 0x68, 0xFFFA},
    {L"F14", 0x07, 0x69, 0xFFFA},
    {L"F15", 0x07, 0x6A, 0xFFFA},
    {L"F16", 0x07, 0x6B, 0xFFFA},
    {L"F17", 0x07, 0x6C, 0xFFFA},
    {L"F18", 0x07, 0x6D, 0xFFFA},
    {L"F19", 0x07, 0x6E, 0xFFFA},
    {L"F20", 0x07, 0x6F, 0xFFFA},
    {L"F21", 0x07, 0x70, 0xFFFA},
    {L"F22", 0x07, 0x71, 0xFFFA},
    {L"F23", 0x07, 0x72, 0xFFFA},
    {L"F24", 0x07, 0x73, 0xFFFA},
    {L"Keyboard Execute", 0x07, 0x74, 0xFFFF},
    {L"Keyboard Help", 0x07, 0x75, 0xFFFF},
    {L"Keyboard Menu", 0x07, 0x76, 0xFFFF},
    {L"Keyboard Select", 0x07, 0x77, 0xFFFF},
    {L"Keyboard Stop", 0x07, 0x78, 0xFFFF},
    {L"Keyboard Again", 0x07, 0x79, 0xFFFF},
    {L"Keyboard Undo", 0x07, 0x7A, 0xFFFF},
    {L"Keyboard Cut", 0x07, 0x7B, 0xFFFF},
    {L"Keyboard Copy", 0x07, 0x7C, 0xFFFF},
    {L"Keyboard Paste", 0x07, 0x7D, 0xFFFF},
    {L"Keyboard Find", 0x07, 0x7E, 0xFFFF},
    {L"Keyboard Mute", 0x07, 0x7F, 0xFFFF},
    {L"Keyboard Volume Up", 0x07, 0x80, 0xFFFF},
    {L"Keyboard Volume Down", 0x07, 0x81, 0xFFFF},
    {L"Keyboard Locking Caps Lock", 0x07, 0x82, 0xFFFF},
    {L"Keyboard Locking Num Lock", 0x07, 0x83, 0xFFFF},
    {L"Keyboard Locking Scroll Lock", 0x07, 0x84, 0xFFFF},
    {L"Keypad ,", 0x07, 0x85, 0xFFFF},
    {L"Keyboard Equal Sign", 0x07, 0x86, 0xFFFF},
    {L"Keyboard Int’l 1", 0x07, 0x87, 0xFFFF},
    {L"Keyboard Int’l 2", 0x07, 0x88, 0xFFFF},
    {L"Keyboard Int’l 3", 0x07, 0x89, 0xFFFF},
    {L"Keyboard Int’l 4", 0x07, 0x8A, 0xFFFF},
    {L"Keyboard Int’l 5", 0x07, 0x8B, 0xFFFF},
    {L"Keyboard Int’l 6", 0x07, 0x8C, 0xFFFF},
    {L"Keyboard Int’l 7", 0x07, 0x8D, 0xFFFF},
    {L"Keyboard Int’l 8", 0x07, 0x8E, 0xFFFF},
    {L"Keyboard Int’l 9", 0x07, 0x8F, 0xFFFF},
    {L"Keyboard Lang 1", 0x07, 0x90, 0xFFFF},
    {L"Keyboard Lang 2", 0x07, 0x91, 0xFFFF},
    {L"Keyboard Lang 3", 0x07, 0x92, 0xFFFF},
    {L"Keyboard Lang 4", 0x07, 0x93, 0xFFFF},
    {L"Keyboard Lang 5", 0x07, 0x94, 0xFFFF},
    {L"Keyboard Lang 6", 0x07, 0x95, 0xFFFF},
    {L"Keyboard Lang 7", 0x07, 0x96, 0xFFFF},
    {L"Keyboard Lang 8", 0x07, 0x97, 0xFFFF},
    {L"Keyboard Lang 9", 0x07, 0x98, 0xFFFF},
    {L"Keyboard Alternate Erase", 0x07, 0x99, 0xFFFF},
    {L"Keyboard SysReq/Attention", 0x07, 0x9A, 0xFFFF},
    {L"Keyboard Cancel", 0x07, 0x9B, 0xFFFF},
    {L"Keyboard Clear", 0x07, 0x9C, 0xFFFF},
    {L"Keyboard Prior", 0x07, 0x9D, 0xFFFF},
    {L"Keyboard Return", 0x07, 0x9E, 0xFFFF},
    {L"Keyboard Separator", 0x07, 0x9F, 0xFFFF},
    {L"Keyboard Out", 0x07, 0xA0, 0xFFFF},
    {L"Keyboard Oper", 0x07, 0xA1, 0xFFFF},
    {L"Keyboard Clear/Again", 0x07, 0xA2, 0xFFFF},
    {L"Keyboard CrSel/Props", 0x07, 0xA3, 0xFFFF},
    {L"Keyboard ExSel", 0x07, 0xA4, 0xFFFF},
    {L"RESERVED", 0x07, 0xA5, 0xAAAA},
    //
    {L"RESERVED", 0x07, 0xDF, 0xAAAA},
    {L"Left Control", 0x07, 0xE0, 0x14},
    {L"Left Shift", 0x07, 0xE1, 0x12},
    {L"Left Alt", 0x07, 0xE2, 0x11},
    {L"Left GUI", 0x07, 0xE3, 0xE01F},
    {L"Right Control", 0x07, 0xE4, 0xE014},
    {L"Right Shift", 0x07, 0xE5, 0x59},
    {L"Right Alt", 0x07, 0xE6, 0xE011},
    {L"Right GUI", 0x07, 0xE7, 0xE027},
    {L"RESERVED", 0x07, 0xE8, 0xAAAA},
	{L"RESERVED", 0x07, 0xFFFF, 0xAAAA},
	{NULL, 0x00, 0x00, 0x00} //last marker
};</pre>
<h2>Sample Dump</h2>
<p>Here is a sample of the USB HID scan codes of a ITC device.</p>
<h3>Warning</h3>
<p>the 62h, 61h, 05h, 71h and 52h keys at the top are NOT part of the USB keypad, they are direct keys (see my post about DirectKeyUI):</p>
<p><img class="alignnone size-full wp-image-172" title="CK61num_scancodes" src="http://www.hjgode.de/wp/wp-content/uploads/2009/06/CK61num_scancodes.jpeg" alt="CK61num_scancodes" width="323" height="446" /></p>
<p>Unfortunately, I dont have these mappings for all devices and keypads and so you have to evaluate the dump files, to find the right scan codes.</p>
<p>Here is a sample of usbkey.txt of a CN3 with numeric phone style keypad:</p>
<pre>
######## dump of plane 0 ###########
iUSBkey[0] hex: 0x07,0x00,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x00, KeyName:'No Event'
iUSBkey[1] hex: 0x07,0x01,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x01, KeyName:'Overrun Error'
iUSBkey[2] hex: 0x07,0x02,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x02, KeyName:'POST Fail'
iUSBkey[3] hex: 0x07,0x03,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x03, KeyName:'Error Undefined'
iUSBkey[4] hex: 0x07,0x1E,0x00,0x00,0x00,0x16	CodePage:0x07, ScanCode:0x1E, KeyName:'1 !'
iUSBkey[5] hex: 0x07,0x1F,0x00,0x00,0x00,0x1E	CodePage:0x07, ScanCode:0x1F, KeyName:'2 @'
iUSBkey[6] hex: 0x07,0x20,0x00,0x00,0x00,0x26	CodePage:0x07, ScanCode:0x20, KeyName:'3 #'
iUSBkey[7] hex: 0x07,0x21,0x00,0x00,0x00,0x25	CodePage:0x07, ScanCode:0x21, KeyName:'4 $'
iUSBkey[8] hex: 0x07,0x22,0x00,0x00,0x00,0x2E	CodePage:0x07, ScanCode:0x22, KeyName:'5 %%'
iUSBkey[9] hex: 0x07,0x23,0x00,0x00,0x00,0x36	CodePage:0x07, ScanCode:0x23, KeyName:'6 ^'
iUSBkey[10] hex: 0x07,0x24,0x00,0x00,0x00,0x3D	CodePage:0x07, ScanCode:0x24, KeyName:'7 &amp;'
iUSBkey[11] hex: 0x07,0x25,0x00,0x00,0x00,0x3E	CodePage:0x07, ScanCode:0x25, KeyName:'8 *'
iUSBkey[12] hex: 0x07,0x26,0x00,0x00,0x00,0x46	CodePage:0x07, ScanCode:0x26, KeyName:'9 ('
iUSBkey[13] hex: 0x07,0x27,0x00,0x00,0x00,0x45	CodePage:0x07, ScanCode:0x27, KeyName:'0 )'
iUSBkey[14] hex: 0x07,0x28,0x00,0x00,0x00,0x5A	CodePage:0x07, ScanCode:0x28, KeyName:'Return'
iUSBkey[15] hex: 0x07,0x29,0x00,0x00,0x00,0x76	CodePage:0x07, ScanCode:0x29, KeyName:'Escape'
iUSBkey[16] hex: 0x07,0x2A,0x00,0x00,0x00,0x66	CodePage:0x07, ScanCode:0x2A, KeyName:'Backspace'
iUSBkey[17] hex: 0x07,0x2B,0x00,0x00,0x00,0x0D	CodePage:0x07, ScanCode:0x2B, KeyName:'Tab'
iUSBkey[18] hex: 0x07,0x37,0x00,0x00,0x00,0x49	CodePage:0x07, ScanCode:0x37, KeyName:'. &gt;'
iUSBkey[19] hex: 0x07,0x41,0x00,0x20,0x00,0x3E	CodePage:0x07, ScanCode:0x41, KeyName:'F8'
iUSBkey[20] hex: 0x07,0x42,0x00,0x20,0x00,0x26	CodePage:0x07, ScanCode:0x42, KeyName:'F9'
iUSBkey[21] hex: 0x07,0x51,0x00,0x01,0x00,0x72	CodePage:0x07, ScanCode:0x51, KeyName:'Down Arrow'
iUSBkey[22] hex: 0x07,0x52,0x00,0x01,0x00,0x75	CodePage:0x07, ScanCode:0x52, KeyName:'Up Arrow'
iUSBkey[23] hex: 0x07,0xE3,0x00,0x01,0x00,0x1F	CodePage:0x07, ScanCode:0xE3, KeyName:'Left GUI'
iUSBkey[24] hex: 0x07,0x3A,0x00,0x00,0x00,0x05	CodePage:0x07, ScanCode:0x3A, KeyName:'F1'
iUSBkey[25] hex: 0x07,0x3B,0x00,0x00,0x00,0x06	CodePage:0x07, ScanCode:0x3B, KeyName:'F2'
iUSBkey[26] hex: 0x07,0x3C,0x00,0x00,0x00,0x04	CodePage:0x07, ScanCode:0x3C, KeyName:'F3'
iUSBkey[27] hex: 0x07,0x3D,0x00,0x00,0x00,0x0C	CodePage:0x07, ScanCode:0x3D, KeyName:'F4'
iUSBkey[28] hex: 0x07,0x8B,0x00,0x02,0x01,0x02	CodePage:0x07, ScanCode:0x8B, KeyName:'Keyboard Int’l 5'
iUSBkey[29] hex: 0x07,0x90,0x00,0x02,0x02,0x01	CodePage:0x07, ScanCode:0x90, KeyName:'Keyboard Lang 1'
iUSBkey[30] hex: 0x0C,0xE9,0x00,0x02,0x01,0x01	CodePage:0x0C, ScanCode:0xE9, KeyName:'undefined'
--------------------------------------
######## dump of plane 1 ###########
iUSBkey[0] hex: 0x07,0x00,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x00, KeyName:'No Event'
iUSBkey[1] hex: 0x07,0x01,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x01, KeyName:'Overrun Error'
iUSBkey[2] hex: 0x07,0x02,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x02, KeyName:'POST Fail'
iUSBkey[3] hex: 0x07,0x03,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x03, KeyName:'Error Undefined'
iUSBkey[4] hex: 0x07,0x1E,0x00,0x00,0x00,0x05	CodePage:0x07, ScanCode:0x1E, KeyName:'1 !'
iUSBkey[5] hex: 0x07,0x1F,0x00,0x00,0x00,0x1E	CodePage:0x07, ScanCode:0x1F, KeyName:'2 @'
iUSBkey[6] hex: 0x07,0x20,0x00,0x00,0x00,0x06	CodePage:0x07, ScanCode:0x20, KeyName:'3 #'
iUSBkey[7] hex: 0x07,0x21,0x00,0x00,0x00,0x25	CodePage:0x07, ScanCode:0x21, KeyName:'4 $'
iUSBkey[8] hex: 0x07,0x22,0x00,0x00,0x00,0x2E	CodePage:0x07, ScanCode:0x22, KeyName:'5 %%'
iUSBkey[9] hex: 0x07,0x23,0x00,0x00,0x00,0x36	CodePage:0x07, ScanCode:0x23, KeyName:'6 ^'
iUSBkey[10] hex: 0x07,0x24,0x00,0x00,0x00,0x3D	CodePage:0x07, ScanCode:0x24, KeyName:'7 &amp;'
iUSBkey[11] hex: 0x07,0x25,0x00,0x00,0x00,0x3E	CodePage:0x07, ScanCode:0x25, KeyName:'8 *'
iUSBkey[12] hex: 0x07,0x26,0x00,0x00,0x00,0x46	CodePage:0x07, ScanCode:0x26, KeyName:'9 ('
iUSBkey[13] hex: 0x07,0x27,0x00,0x00,0x00,0x45	CodePage:0x07, ScanCode:0x27, KeyName:'0 )'
iUSBkey[14] hex: 0x07,0x28,0x00,0x00,0x00,0x5A	CodePage:0x07, ScanCode:0x28, KeyName:'Return'
iUSBkey[15] hex: 0x07,0x29,0x00,0x02,0x04,0x02	CodePage:0x07, ScanCode:0x29, KeyName:'Escape'
iUSBkey[16] hex: 0x07,0x2A,0x00,0x00,0x00,0x66	CodePage:0x07, ScanCode:0x2A, KeyName:'Backspace'
iUSBkey[17] hex: 0x07,0x2B,0x00,0x00,0x04,0x03	CodePage:0x07, ScanCode:0x2B, KeyName:'Tab'
iUSBkey[18] hex: 0x07,0x37,0x00,0x02,0x02,0x03	CodePage:0x07, ScanCode:0x37, KeyName:'. &gt;'
iUSBkey[19] hex: 0x07,0x41,0x00,0x00,0x00,0x4E	CodePage:0x07, ScanCode:0x41, KeyName:'F8'
iUSBkey[20] hex: 0x07,0x42,0x00,0x20,0x00,0x55	CodePage:0x07, ScanCode:0x42, KeyName:'F9'
iUSBkey[21] hex: 0x07,0x51,0x00,0x01,0x00,0x74	CodePage:0x07, ScanCode:0x51, KeyName:'Down Arrow'
iUSBkey[22] hex: 0x07,0x52,0x00,0x01,0x00,0x6B	CodePage:0x07, ScanCode:0x52, KeyName:'Up Arrow'
iUSBkey[23] hex: 0x07,0xE3,0x00,0x10,0x00,0x1F	CodePage:0x07, ScanCode:0xE3, KeyName:'Left GUI'
iUSBkey[24] hex: 0x07,0x3C,0x00,0x00,0x00,0x04	CodePage:0x07, ScanCode:0x3C, KeyName:'F3'
iUSBkey[25] hex: 0x07,0x3D,0x00,0x00,0x00,0x0C	CodePage:0x07, ScanCode:0x3D, KeyName:'F4'
iUSBkey[26] hex: 0x07,0x8B,0x00,0x02,0x01,0x02	CodePage:0x07, ScanCode:0x8B, KeyName:'Keyboard Int’l 5'
iUSBkey[27] hex: 0x07,0x90,0x00,0x02,0x02,0x01	CodePage:0x07, ScanCode:0x90, KeyName:'Keyboard Lang 1'
iUSBkey[28] hex: 0x0C,0xE9,0x00,0x02,0x01,0x01	CodePage:0x0C, ScanCode:0xE9, KeyName:'undefined'
--------------------------------------
######## dump of plane 2 ###########
iUSBkey[0] hex: 0x07,0x00,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x00, KeyName:'No Event'
iUSBkey[1] hex: 0x07,0x01,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x01, KeyName:'Overrun Error'
iUSBkey[2] hex: 0x07,0x02,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x02, KeyName:'POST Fail'
iUSBkey[3] hex: 0x07,0x03,0x00,0x00,0x00,0x00	CodePage:0x07, ScanCode:0x03, KeyName:'Error Undefined'
iUSBkey[4] hex: 0x07,0x1E,0x00,0x00,0x08,0x04	CodePage:0x07, ScanCode:0x1E, KeyName:'1 !'
iUSBkey[5] hex: 0x07,0x1F,0x00,0x02,0x40,0x01	CodePage:0x07, ScanCode:0x1F, KeyName:'2 @'
iUSBkey[6] hex: 0x07,0x20,0x00,0x02,0x40,0x02	CodePage:0x07, ScanCode:0x20, KeyName:'3 #'
iUSBkey[7] hex: 0x07,0x21,0x00,0x02,0x40,0x03	CodePage:0x07, ScanCode:0x21, KeyName:'4 $'
iUSBkey[8] hex: 0x07,0x22,0x00,0x02,0x40,0x04	CodePage:0x07, ScanCode:0x22, KeyName:'5 %%'
iUSBkey[9] hex: 0x07,0x23,0x00,0x02,0x40,0x05	CodePage:0x07, ScanCode:0x23, KeyName:'6 ^'
iUSBkey[10] hex: 0x07,0x24,0x00,0x02,0x40,0x06	CodePage:0x07, ScanCode:0x24, KeyName:'7 &amp;'
iUSBkey[11] hex: 0x07,0x25,0x00,0x02,0x40,0x07	CodePage:0x07, ScanCode:0x25, KeyName:'8 *'
iUSBkey[12] hex: 0x07,0x26,0x00,0x02,0x40,0x08	CodePage:0x07, ScanCode:0x26, KeyName:'9 ('
iUSBkey[13] hex: 0x07,0x27,0x00,0x00,0x00,0x29	CodePage:0x07, ScanCode:0x27, KeyName:'0 )'
iUSBkey[14] hex: 0x07,0x28,0x00,0x00,0x00,0x5A	CodePage:0x07, ScanCode:0x28, KeyName:'Return'
iUSBkey[15] hex: 0x07,0x29,0x00,0x00,0x00,0x76	CodePage:0x07, ScanCode:0x29, KeyName:'Escape'
iUSBkey[16] hex: 0x07,0x2A,0x00,0x00,0x00,0x66	CodePage:0x07, ScanCode:0x2A, KeyName:'Backspace'
iUSBkey[17] hex: 0x07,0x2B,0x00,0x00,0x00,0x0D	CodePage:0x07, ScanCode:0x2B, KeyName:'Tab'
iUSBkey[18] hex: 0x07,0x37,0x00,0x00,0x00,0x49	CodePage:0x07, ScanCode:0x37, KeyName:'. &gt;'
iUSBkey[19] hex: 0x07,0x41,0x00,0x20,0x00,0x3E	CodePage:0x07, ScanCode:0x41, KeyName:'F8'
iUSBkey[20] hex: 0x07,0x42,0x00,0x20,0x00,0x26	CodePage:0x07, ScanCode:0x42, KeyName:'F9'
iUSBkey[21] hex: 0x07,0x51,0x00,0x01,0x00,0x74	CodePage:0x07, ScanCode:0x51, KeyName:'Down Arrow'
iUSBkey[22] hex: 0x07,0x52,0x00,0x01,0x00,0x6B	CodePage:0x07, ScanCode:0x52, KeyName:'Up Arrow'
iUSBkey[23] hex: 0x07,0xE3,0x00,0x10,0x00,0x1F	CodePage:0x07, ScanCode:0xE3, KeyName:'Left GUI'
iUSBkey[24] hex: 0x07,0x3C,0x00,0x00,0x00,0x04	CodePage:0x07, ScanCode:0x3C, KeyName:'F3'
iUSBkey[25] hex: 0x07,0x3D,0x00,0x00,0x00,0x0C	CodePage:0x07, ScanCode:0x3D, KeyName:'F4'
iUSBkey[26] hex: 0x07,0x8B,0x00,0x02,0x01,0x02	CodePage:0x07, ScanCode:0x8B, KeyName:'Keyboard Int’l 5'
iUSBkey[27] hex: 0x07,0x90,0x00,0x02,0x02,0x01	CodePage:0x07, ScanCode:0x90, KeyName:'Keyboard Lang 1'
iUSBkey[28] hex: 0x0C,0xE9,0x00,0x02,0x01,0x01	CodePage:0x0C, ScanCode:0xE9, KeyName:'undefined'
--------------------------------------</pre>
<p>See also readme.txt and sample dump included in attached file</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=26" title="Downloaded 419 times">USBkey</a> -  (Hits: 419, size: 67.6 KB)
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F&amp;title=USBkey%3A+keyboard+remapping+from+cmd+line+%28ITC+only%29" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F&amp;title=USBkey%3A+keyboard+remapping+from+cmd+line+%28ITC+only%29" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F&amp;title=USBkey%3A+keyboard+remapping+from+cmd+line+%28ITC+only%29" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F&amp;T=USBkey%3A+keyboard+remapping+from+cmd+line+%28ITC+only%29" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F30%2Fusbkey-keyboard-remapping-from-cmd-line-itc-only%2F&amp;t=USBkey%3A+keyboard+remapping+from+cmd+line+%28ITC+only%29" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/06/30/usbkey-keyboard-remapping-from-cmd-line-itc-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Control the green and orange keyboard shift planes on ITC device</title>
		<link>http://www.hjgode.de/wp/2009/06/26/control-the-green-and-orange-keyboard-shift-planes-on-itc-device/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=control-the-green-and-orange-keyboard-shift-planes-on-itc-device</link>
		<comments>http://www.hjgode.de/wp/2009/06/26/control-the-green-and-orange-keyboard-shift-planes-on-itc-device/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 13:59:58 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CN3]]></category>
		<category><![CDATA[CN3e]]></category>
		<category><![CDATA[ITC]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[plane]]></category>
		<category><![CDATA[shift]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=158</guid>
		<description><![CDATA[Using the keyboard shift API on ITC handhelds]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p>as this is asked from time to tim, here is a sample and a class in C# (VS2005) that enables you to switch the green and orange keyboard shift plane of the keyboards on ITC CN3, CN3e and possibly other ruggedized ITC handheld devices.</p>
<p>You can control the keyboard shift state and you can subscribe to an event to get information about changes in the keyboard shift panel state. With the latter, you can create an application that is always aware of the active keyboard shift plane.</p>
<p><span id="more-158"></span><img class="alignnone size-full wp-image-159" title="KeyboardShiftAPI" src="http://www.hjgode.de/wp/wp-content/uploads/2009/06/KeyboardShiftAPI.jpg" alt="KeyboardShiftAPI" width="741" height="331" /></p>
<p>On the left image you see, that no shift plane is active. In the mid image, the Orange button was pressed. If you had pressed the orange key on the keypad, the Lock mode would be Locked. On the right image the green button was pressed.</p>
<p>As soon as a state change is detected (polling frequency is 200ms), the focus is moved to the right TextBox and the background color of the upper TextBox changes.</p>
<p>The code is written in C# and uses the native WIn32 APIs KernelIOControl, DeviceIOControl and CreateFile. You can either ask the current state of the shift plane and set it directly using the provided static class, or you can use the dynamic class object. The dynamic class fires an event, if the keypad shift panle status changes.</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=20" title="Downloaded 110 times">KeyshiftAPI_cs executable</a> -  (Hits: 110, size: 14 KB)
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=21" title="Downloaded 227 times">KeyboardShiftAPI_CS VS2005 compact framework C# code</a> -  (Hits: 227, size: 79.95 KB)
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F&amp;title=Control+the+green+and+orange+keyboard+shift+planes+on+ITC+device" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F&amp;title=Control+the+green+and+orange+keyboard+shift+planes+on+ITC+device" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F&amp;title=Control+the+green+and+orange+keyboard+shift+planes+on+ITC+device" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F&amp;T=Control+the+green+and+orange+keyboard+shift+planes+on+ITC+device" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F06%2F26%2Fcontrol-the-green-and-orange-keyboard-shift-planes-on-itc-device%2F&amp;t=Control+the+green+and+orange+keyboard+shift+planes+on+ITC+device" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/06/26/control-the-green-and-orange-keyboard-shift-planes-on-itc-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

