{"id":54,"date":"2020-06-05T00:14:56","date_gmt":"2020-06-04T22:14:56","guid":{"rendered":"https:\/\/www.smartlux.com\/232keypro\/?page_id=54"},"modified":"2024-06-28T15:36:31","modified_gmt":"2024-06-28T13:36:31","slug":"documentation","status":"publish","type":"page","link":"https:\/\/www.smartlux.com\/232keypro\/documentation\/","title":{"rendered":"Documentation"},"content":{"rendered":"<p class=\"caution\">This documentation matches version 1.0 of our software. <a href=\"https:\/\/www.smartlux.com\/232keypro\/download\/\">Download the latest release here<\/a>.<\/p>\n<ol>\n<li><a href=\"#use\">Intended use<\/a><\/li>\n<li><a href=\"#connections\">Supported connections and protocols<\/a><\/li>\n<li><a href=\"#configuration\">Configuring 232key Pro<\/a>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"#device-tab\">Input tab<\/a>\n<ul>\n<li><a href=\"#com\">COM Port or TCP\/IP<\/a><\/li>\n<li><a href=\"#terminator\">Terminator or Timeout<\/a><\/li>\n<li><a href=\"#flow-control\">Flow control (handshaking)<\/a><\/li>\n<li><a href=\"#regex\">Customize the Regular Expression used to match data<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#timer-tab\">Control tab<\/a>\n<ul>\n<li><a href=\"#polling\">Polling with a hotkey (keyboard shortcut)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#process-tab\">Script tab<\/a>\n<ul>\n<li><a href=\"#ignore\">Ignore received lines consisting only of white-space characters<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#settings-tab\">Settings tab<\/a>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"#event-log-settings\">Event Log settings<\/a><\/li>\n<li><a href=\"#output-method\">Output method<\/a><\/li>\n<li><a href=\"#general-settings\">General settings<\/a><\/li>\n<li><a href=\"#auto-start\">Start automatically with program start<\/a><\/li>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"#start-with-windows\">Starting 232key Pro with Windows<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#reload-reset\">Reload and Reset<\/a><\/li>\n<li><a href=\"#copy-beta-settings\">Copy settings from beta version<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#daq\">Start and Stop<\/a><\/li>\n<\/ol>\n<h2><a name=\"use\"><\/a>Intended use<\/h2>\n<p data-new-link=\"true\">232key Pro is a <em>scriptable<\/em> keyboard wedge software. It captures data received from a connected device, runs it through your custom C# script and outputs it as simulated keyboard strokes.<\/p>\n<figure id=\"attachment_68\" aria-describedby=\"caption-attachment-68\" style=\"width: 670px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-68\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Data-Flow-simplified.png\" alt=\"Simplified 232key Pro Data Flow\" width=\"670\" height=\"169\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Data-Flow-simplified.png 670w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Data-Flow-simplified-300x76.png 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><figcaption id=\"caption-attachment-68\" class=\"wp-caption-text\">See <a href=\"https:\/\/www.smartlux.com\/232keypro\/documentation\/scripts\/\">Scripts page<\/a> for a more detailed diagram<\/figcaption><\/figure>\n<p data-new-link=\"true\">232key Pro was developed for advanced scenarios where the flexibility and power of a custom script is required. It is intended for users who are somewhat familiar with the <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/\">C# programming language<\/a>. Simpler versions of 232key can be found on <a href=\"https:\/\/www.232key.com\/versions\/index.html\">232key.com<\/a>.<\/p>\n<h2><a name=\"connections\"><\/a>Supported connections and protocols<\/h2>\n<p>232key Pro supports connections made through a COM port (<a href=\"https:\/\/en.wikipedia.org\/wiki\/RS-232\">RS232<\/a>, USB virtual COM port, Bluetooth Serial Port Profile, etc.) or over TCP\/IP (Ethernet, WLAN; the program acts as TCP client on a persistent connection). Your device should preferably send ASCII characters, though you could decode other formats and possibly add support for other protocols through your script.<\/p>\n<h2><a name=\"configuration\"><\/a>Configuring 232key Pro<\/h2>\n<p>232key Pro is organized in tabs. The <strong>Start<\/strong> tab is shown when the software is first launched:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-56\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-pro-start-tab-fresh-install.png\" alt=\"232key Pro Start tab (fresh installation)\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-pro-start-tab-fresh-install.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-pro-start-tab-fresh-install-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><br \/>\nTo configure 232key Pro, go to the <a href=\"#device-tab\"><strong>Input<\/strong><\/a> tab to make settings related to your connected device. The <a href=\"#file-tab\"><strong>Script<\/strong><\/a> tab allows you to enter your script (or load it from a file). Polling with a hotkey (keyboard shortcut) can be set up in the <a href=\"#timer-tab\"><strong>Control<\/strong><\/a> tab. The <a href=\"#settings\"><strong>Settings<\/strong><\/a> tab contains general program settings, most importantly the <a href=\"#output-method\"><strong>Output method<\/strong><\/a>\u00a0and <a href=\"#encoding\"><strong>Encoding<\/strong><\/a>. License keys can be entered and managed in the <a href=\"#license-tab\"><strong>License<\/strong><\/a> tab.<\/p>\n<h3><a name=\"device-tab\"><\/a>Input tab<\/h3>\n<p>Used for settings related to the connected device:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-70\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-input-tab.png\" alt=\"232key Pro input tab\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-input-tab.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-input-tab-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/>If your <strong>Device<\/strong> is included in the list, select it and press <strong>Set default parameters for device<\/strong> to automatically set the interface parameters (bits\/s, etc.) and the <strong>Terminator<\/strong>. If your device is not included, select either &#8220;Generic measuring instrument&#8221; or &#8220;Generic text device&#8221; (e.g. for bar code readers) and set the interface parameters and <strong>Terminator<\/strong> manually. It is essential that all settings match those of your device or communication will fail.<\/p>\n<h4>Currently included device profiles:<\/h4>\n<ul>\n<li>Generic measuring instrument<\/li>\n<li><em>Generic text device<\/em><\/li>\n<li data-new-link=\"true\"><a href=\"http:\/\/www.aandd.jp\/products\/weighing\/wproduct.html\" target=\"_blank\" rel=\"noopener noreferrer\">A&amp;D scales and balances<\/a><\/li>\n<li><a href=\"https:\/\/www.aandd.jp\/products\/weighing\/loadcell\/lccu21.html\">A&amp;D LCCU21 USB button load cell<\/a><\/li>\n<li>Acculab AL balances<\/li>\n<li data-new-link=\"true\">Adam Equipment CBK, GBK, GFK (GK indicator)<\/li>\n<li>Adam Equipment CPWplus<\/li>\n<li>Adam Equipment GBC, GFC (GC counting indicator)<\/li>\n<li>Adam Equipment HCB (&#8220;Highland&#8221;)<\/li>\n<li>Denver Instrument balances\u00a0 (same as Sartorius legacy)<\/li>\n<li>Kern 572, 573, KB, DS and FKB scales (also works for other Kern scales manufactured in Germany)<\/li>\n<li>Kern ABP, ABT, ACJ, ACS, PBJ, PBS balances\u00a0(same as Shimadzu)<\/li>\n<li>Kern DE series scales<\/li>\n<li>Kern KCP (Kern Communication Protocol)<\/li>\n<li>Kern KFB indicator (used by Kern IFB platform scales)<\/li>\n<li><a href=\"http:\/\/marsscale.com\/\">Mars Scale<\/a><\/li>\n<li><a href=\"https:\/\/www.mt.com\/\">Mettler-Toledo<\/a> MT-SICS protocol<\/li>\n<li><a href=\"https:\/\/myweigh.com\/product\/ultraship-u2\/\">MyWeigh Ultraship U-2<\/a> (only models which appear as a COM port when connected to a PC, polling is not supported by this scale)<\/li>\n<li>NCI serial communications protocol<\/li>\n<li><a href=\"https:\/\/www.ohaus.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ohaus scales and balances<\/a><\/li>\n<li>Ohaus (legacy), e.g. Scout Pro (SPU), Traveller (TA), older Navigator (NV, NVT) scales<\/li>\n<li><a href=\"https:\/\/www.precisa.com\/\">Precisa<\/a><\/li>\n<li><a href=\"https:\/\/radwag.com\/en\/\">Radwag<\/a><\/li>\n<li><a href=\"https:\/\/www.ricelake.com\/products\/1280-enterprise-series-programmable-weight-indicator-and-controller\/\">Rice Lake 1280 weight indicator (using the default data format)<\/a><\/li>\n<li><a href=\"https:\/\/www.sartorius.com\/\">Sartorius<\/a> balances:\n<ul>\n<li>Legacy devices,<\/li>\n<li>Sartorius Entris, EK, GK and GW,<\/li>\n<li>Sartorius SBI protocol,<\/li>\n<li>Sartorius SICS protocol.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/www.scalemanufacturers.org\/smastandards.htm\">Scale Manufacturers Association Standard Scale Serial Communication Protocol<\/a> (supported by several manufacturers)<\/li>\n<li><a href=\"https:\/\/www.shimadzu.com\/an\/products\/balances\/index.html\">Shimadzu<\/a><\/li>\n<\/ul>\n<p class=\"note\"><strong>If you&#8217;re a manufacturer and would like us to include your instruments<\/strong>, please <a href=\"https:\/\/www.smartlux.com\/contact-us\/\">contact us<\/a>.<\/p>\n<h4><a name=\"com\"><\/a>COM port or TCP\/IP<\/h4>\n<p>Choose between a\u00a0<strong>COM port <\/strong>(<strong>RS232, USB VCP, Bluetooth SPP)<\/strong>\u00a0or a\u00a0<strong>TCP\/IP<\/strong>\u00a0connection by selecting the appropriate radio button.<\/p>\n<p class=\"note\"><strong>Note:<\/strong> For TCP\/IP connections, we currently only support persistent connections where 232key Pro acts as the TCP client and connects to a device acting as the TCP server. 232key Pro gives you access to the &#8220;raw TCP&#8221; data, though you might be able to implement higher-level application protocol in your script.<\/p>\n<p>If you&#8217;re not sure which COM port your device is connected to, open the device manager in Windows and consult the &#8220;Ports (COM &amp; LPT)&#8221; section. When you plug in and unplug a USB VCP device, you should see a COM port appear or disappear:<\/p>\n<figure id=\"attachment_191\" aria-describedby=\"caption-attachment-191\" style=\"width: 367px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-191\" src=\"https:\/\/www.smartlux.com\/sdl\/wp-content\/uploads\/sites\/3\/2018\/07\/device-manager-usb-serial-port.png\" alt=\"Ohaus scale with USB interface appearing as COM4\" width=\"367\" height=\"410\" \/><figcaption id=\"caption-attachment-191\" class=\"wp-caption-text\">Windows Device Manager \/ Ports (COM &amp; LPT)<\/figcaption><\/figure>\n<h4><a name=\"terminator\"><\/a>Terminator or Timeout<\/h4>\n<p data-new-link=\"true\">The stream of bytes sent by your device has to be transformed into meaningful strings (&#8220;lines of data&#8221;). This can be achieved by using a <strong>Terminator<\/strong> (a.k.a delimiter) or a <strong>Timeout<\/strong>.<\/p>\n<p data-new-link=\"true\">The <strong>Terminator<\/strong> is the very last character in each line of data sent by your device. If your device is included in the device list and you&#8217;ve pressed the <strong>Set default parameters for device<\/strong>\u00a0button, the terminator will be set automatically. You can also select one of the values from the combo box or enter any\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/ASCII\" target=\"_blank\" rel=\"noopener noreferrer\">ASCII code<\/a>\u00a0as a\u00a0decimal\u00a0value.<\/p>\n<p data-new-link=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-59\" src=\"https:\/\/www.smartlux.com\/sdl\/wp-content\/uploads\/sites\/3\/2018\/03\/mt-data-format.png\" alt=\"Terminator example from a user manual\" width=\"362\" height=\"44\" \/><\/p>\n<figure class=\"w-richtext-align-normal w-richtext-figure-type-image\">\n<div><\/div>\n<\/figure>\n<p>In the example above, the very last character is &#8220;line feed&#8221; (ASCII code 10).<br \/>\n<a id=\"timeout\"><\/a><br \/>\nAs an alternative to using a terminator, 232key Pro also supports a <strong>Timeout<\/strong>: If no additional data has been received in the specified time, the program assumes that the line of data is complete. Enter the <strong>Timeout<\/strong> in milliseconds (100 ms is usually a good starting point) and leave the <strong>Terminator<\/strong> field empty (you can also use both, but this is usually not what you want).<\/p>\n<p><strong>Tip:<\/strong> If you don&#8217;t know which terminator your device uses,\u00a0leave the\u00a0<strong>Terminator<\/strong> field empty and try entering a\u00a0<strong>Timeout<\/strong> of 100 ms. Then, transfer some data from your device and take a look at the <strong>Event Log<\/strong> in the\u00a0<strong>Start<\/strong> tab. You&#8217;ll usually be able to identify the terminator as the last code received in each line (10 in the example below, numbers in &lt;brackets&gt; are decimal ASCII codes of non-printable characters). Once you&#8217;ve set the <strong>Terminator<\/strong>, don&#8217;t forget to delete the <strong>Timeout<\/strong> as it is no longer needed.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-71\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-find-terminator.png\" alt=\"232key Pro find terminator\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-find-terminator.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-find-terminator-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/p>\n<h4><a name=\"flow-control\"><\/a>Flow control (handshaking)<\/h4>\n<p>232key Pro supports <a href=\"https:\/\/en.wikipedia.org\/wiki\/Software_flow_control\">XON\/XOFF software flow control<\/a>\u00a0and <a href=\"https:\/\/en.wikipedia.org\/wiki\/RS-232#RTS,_CTS,_and_RTR\">RTS\/CTS hardware flow control<\/a> for COM ports (and a rarely used mode that uses both). In addition to these methods, you can also enable the &#8220;data terminal ready&#8221; (<strong>DTR<\/strong>) and &#8220;request to send&#8221; (<strong>RTS<\/strong>) control signals for the duration of the connection by clicking on the corresponding button:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-62\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Handshaking.png\" alt=\"232key Pro flow control (handshaking)\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Handshaking.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Handshaking-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/>Note: You cannot manually set the <strong>RTS<\/strong> signal when using RTS flow control.<\/p>\n<p class=\"note\">We recommend setting <strong>Flow control<\/strong> to &#8220;None&#8221; and only enabling it if required by your serial device.<\/p>\n<h4><a name=\"regex\"><\/a>Customize the Regular Expression used to match data<\/h4>\n<p>232key Pro uses a <strong>Regular Expression<\/strong> (regex) to match data which is then made available to your script.<\/p>\n<p>You can display and edit the regex by clicking on the <strong>Customize<\/strong> button:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Regular-Expression.png\" alt=\"Regular Expression in 232key Pro\" width=\"535\" height=\"623\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Regular-Expression.png 535w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Regular-Expression-258x300.png 258w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/p>\n<p class=\"caution\"><strong>Important: <\/strong>You must include a capturing group in your regular expression. The captured data will be made available to your script in the <strong>value<\/strong> variable, see the <a href=\"https:\/\/www.smartlux.com\/232keypro\/documentation\/scripts\/\">Scripts documentation<\/a> for further information.<\/p>\n<div class=\"note\">\n<p><strong>Notes:<\/strong><\/p>\n<ul>\n<li>Regular expressions use the <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/base-types\/regular-expression-language-quick-reference\">C# .NET syntax<\/a>.<\/li>\n<li>Customized regular expressions will not be overwritten unless you change the <strong>Device<\/strong>, press <strong>Set default parameters<\/strong> and confirm overwriting in the dialog that appears.<\/li>\n<\/ul>\n<\/div>\n<h3><a name=\"control-tab\"><\/a>Control tab<\/h3>\n<p>Use this tab to send a command to your device when the user presses a key combination:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-63\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-control-tab-hotkey.png\" alt=\"232key Pro control tab\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-control-tab-hotkey.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-control-tab-hotkey-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/p>\n<h4><a name=\"polling\"><\/a>Polling with a Hotkey (keyboard shortcut)<\/h4>\n<p><strong>Enable polling<\/strong> if you want to use a <strong>Hotkey<\/strong> to send a <strong>Command<\/strong> to your device. Example: Many scales and balances will send the current weight after receiving a corresponding command.<strong><br \/>\n<\/strong><\/p>\n<p>To change the <strong>Hotkey<\/strong>, click in the field and press a key combination with Ctrl, Alt or Shift and one other key.<\/p>\n<p>The command has to be entered as a 2 <strong>Hexadecimal<\/strong> characters per byte, separated by a blank space. The ASCII text is shown for reference purposes. In the screenshot above, &#8220;51\u00a0 0D 0A&#8221; results in &#8220;Q&#8221; followed by carriage control and line feed (the query command used by A&amp;D weighing instruments).<\/p>\n<p>If the <strong>Set default command<\/strong>\u00a0button is active, you can press it to set the default polling command for the selected device. Otherwise, please consult the manual of your device to and use tools like <a href=\"https:\/\/www.asciitohex.com\/\">asciitohex.com<\/a> for the conversion.<\/p>\n<div class=\"caution\">\n<p><strong>Note:<\/strong> If your device answers very quickly, the user might still be holding a modifier key when 232key starts typing, resulting in unexpected behaviour. Consider adding a delay in your script, e.g. 200 ms:<\/p>\n<pre>await System.Threading.Tasks.Task.Delay(200);<\/pre>\n<\/div>\n<h3><a name=\"process-tab\"><\/a>Script\u00a0tab<\/h3>\n<p>You can load your custom C# script from a file or enter it directly in the text box.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-64\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-script-tab.png\" alt=\"232key Pro script tab\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-script-tab.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-script-tab-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/>A very basic script is shown by default: <strong>value<\/strong> contains the string matched by the first capturing group of the <a href=\"#regex\">regular expression (defined in the <strong>Input<\/strong> tab)<\/a>. For most devices, <strong>value<\/strong> is the first number from each received line of data. If nothing has been matched, it contains an empty string.<\/p>\n<p>The script adds a newline character (to press the ENTER key) after the value and returns the string to 232key Pro for output as keystrokes.<\/p>\n<p>Further information can be found in the <a href=\"https:\/\/www.smartlux.com\/232keypro\/documentation\/scripts\/\">Scripts documentation<\/a>.<a name=\"ignore\"><\/a><\/p>\n<h3><a name=\"settings-tab\"><\/a>Settings tab<\/h3>\n<h4><a name=\"event-log-settings\"><\/a>Event Log settings<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-73\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Event-Log-settings.png\" alt=\"232key Pro Event Log settings\" width=\"495\" height=\"146\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Event-Log-settings.png 495w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-Event-Log-settings-300x88.png 300w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/p>\n<p>Un-check <strong>Show received data<\/strong> and <strong>Show sent data<\/strong> if you only want status and error messages to appear (but no data received from or sent to the connected device). This can be useful if data is sent at a very high rate and should generally not be necessary.<\/p>\n<p>Disable <strong>Auto scroll<\/strong> if you want to prevent 232key Pro from automatically scrolling to the latest entry in the event log.<\/p>\n<p>The number of <strong>Lines<\/strong> before the event log is restarted (overwritten) can be set from 10 to 1000.<\/p>\n<h4><a name=\"output-method\"><\/a>Output method<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-75\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-settings-tab-output-method.png\" alt=\"232key Pro Output Method: Default or GIDEI\" width=\"493\" height=\"74\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-settings-tab-output-method.png 493w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-settings-tab-output-method-300x45.png 300w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/p>\n<p>By default, 232key simulates keystrokes by sending the string returned from your script to the input buffer as Unicode characters. This allows all characters to be typed irrespective of keyboard layout settings.<\/p>\n<p>The downside of this method is that you cannot type non-alphanumerical keys (the only exception being \\t = TAB and \\n = ENTER). Pressing key combinations is also not possible. To overcome these issues, 232key Pro has (experimental) support for the General Input Device Emulating Interface (<strong>GIDEI<\/strong>) protocol, which was implemented in all versions of Windows up to XP as &#8220;SerialKeys&#8221;. Please see the GIDEI section on the <a href=\"https:\/\/www.smartlux.com\/232keypro\/documentation\/scripts\/#gidei\">scripts page<\/a> for further information on supported keys and commands.<\/p>\n<h4><a name=\"general-settings\"><\/a>General settings<\/h4>\n<p class=\"caution\"><strong>Note:<\/strong> We may change the grouping or tab location of these settings in future releases.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-76\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-general-settings.png\" alt=\"232key Pro general settings\" width=\"494\" height=\"108\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-general-settings.png 494w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-general-settings-300x66.png 300w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/p>\n<h5><a name=\"encoding\"><\/a>Encoding<\/h5>\n<p>Choose between ASCII, UTF-8 and ISO-8859-1. This only affects the initial decoding of bytes received from your device.<\/p>\n<h5><a name=\"ignore\"><\/a>Ignore received lines consisting only of white-space characters<\/h5>\n<p>232key Pro will ignore &#8220;empty&#8221; strings received from your device which only contain white-space characters like carriage return and line feed. This means that further processing will be skipped and these string will not be passed to your script.<\/p>\n<h5><a name=\"auto-start\"><\/a>Start automatically with program start<\/h5>\n<p>Eliminates the need to press the <strong>Start<\/strong> button. The program will connect to your device and start the script and keyboard output automatically.<\/p>\n<div class=\"note\">\n<p><strong>Notes:<\/strong><\/p>\n<ul>\n<li>If you want 232key Pro to run automatically when Windows starts, place a shortcut in the &#8220;startup&#8221; folder. See below for instructions.<\/li>\n<li>Compiling the script after the program has started will take a few seconds.<\/li>\n<li>If you&#8217;re using a trial version, you may have to acknowledge a message when the program starts.<\/li>\n<\/ul>\n<\/div>\n<h6><a name=\"start-with-windows\"><\/a>Starting 232key Pro with Windows<\/h6>\n<p class=\"caution\">This method does not work for the ClickOnce version of 232key. Please use the conventional installer.<\/p>\n<p>Locate 232key.exe by pasting the following path in the address bar of the File Explorer:<br \/>\n%ProgramFiles%\\Smartlux\\232key Pro<\/p>\n<p>To open a second File Explorer window with the startup folder, press the\u00a0<strong>Windows key<\/strong>\u00a0and\u00a0<strong>R<\/strong> and enter \u201cshell:startup\u201d (to start 232key Pro for the current user) or \u201cshell:common startup\u201d (to start it for all users).<\/p>\n<p><a href=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/shell-startup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-407 size-full\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/shell-startup.png\" alt=\"open startup folder\" width=\"437\" height=\"244\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/shell-startup.png 437w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/shell-startup-300x168.png 300w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/a><\/p>\n<p>Place both windows side-by-side. Hold the Alt key, click on 232key.exe and drag it to the startup folder. Release the mouse button before releasing Alt. This will create a link (shortcut):<\/p>\n<p><a href=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/232key-Pro-shortcut.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-401 size-full\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/232key-Pro-shortcut.png\" alt=\"232key Pro shortcut\" width=\"1023\" height=\"716\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/232key-Pro-shortcut.png 1023w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/232key-Pro-shortcut-300x210.png 300w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/232key-Pro-shortcut-768x538.png 768w\" sizes=\"auto, (max-width: 1023px) 100vw, 1023px\" \/><\/a><\/p>\n<p class=\"caution\">Be careful not to confuse 232key.exe and the 232key Pro.ico icon file!<\/p>\n<h4><a name=\"reload-reset\"><\/a>Reload and Reset<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-77\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-reload-or-reset-user-settings.png\" alt=\"232key Pro reload or reset user settings\" width=\"494\" height=\"54\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-reload-or-reset-user-settings.png 494w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-Pro-reload-or-reset-user-settings-300x33.png 300w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/p>\n<p>Press\u00a0<strong>Reload<\/strong>\u00a0to restore the last saved user settings (settings are saved automatically when the application is closed). This is useful if you want to undo changes that you\u2019ve made in the current session.\u00a0<strong>Reset<\/strong> will reset all user settings to their default values (as if you\u2019d just installed 232key Pro).<\/p>\n<h4><a name=\"copy-beta-settings\"><\/a>Copy settings from beta version<\/h4>\n<p><a href=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/copy-from-beta-version.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-408\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/copy-from-beta-version.png\" alt=\"Copy settings from beta version\" width=\"386\" height=\"71\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/copy-from-beta-version.png 386w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2024\/03\/copy-from-beta-version-300x55.png 300w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><\/p>\n<p>Press <strong>Copy from beta version<\/strong> if you have 232key Pro 9.9.9-beta installed and want to copy the settings to version 1.0.0 or later. This will overwrite all current settings.<\/p>\n<p class=\"note\"><strong>Note:<\/strong> If you have a license key, please enter it again as it cannot be copied.<\/p>\n<h2><a name=\"daq\"><\/a>Start and Stop<\/h2>\n<p>Return to the <strong>Start<\/strong> tab and press the <strong>Start<\/strong> button. Switch to the target application (where you want 232key Pro to enter the data).<\/p>\n<p class=\"caution\">If you do not switch to the target application before data from the connected device is received, 232key will likely press the <strong>Stop<\/strong> button on it&#8217;s on user interface.<\/p>\n<p>The <strong>Event Log<\/strong> will show data sent to and received from your device (unless configured otherwise) as well as error and status messages. The screenshot below shows <span style=\"color: #339966;\">sent<\/span> data and received data, with data in <span style=\"color: #3366ff;\">capturing group 1 in blue<\/span> (i.e the <strong>value<\/strong> variable passed to your script).<\/p>\n<p>Press <strong>Stop<\/strong> to stop 232key Pro:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-74\" src=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-polling-with-hotkey-event-log.png\" alt=\"232key polling with hotkey (event log)\" width=\"547\" height=\"635\" srcset=\"https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-polling-with-hotkey-event-log.png 547w, https:\/\/www.smartlux.com\/232keypro\/wp-content\/uploads\/sites\/5\/2020\/06\/232key-polling-with-hotkey-event-log-258x300.png 258w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This documentation matches version 1.0 of our software. Download the latest release here. Intended use Supported connections and protocols Configuring 232key Pro Input tab COM Port or TCP\/IP Terminator or Timeout Flow control (handshaking) Customize the Regular Expression used to match data Control tab Polling with a hotkey (keyboard shortcut) Script tab Ignore received lines &hellip; <a href=\"https:\/\/www.smartlux.com\/232keypro\/documentation\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Documentation<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[{"_seopress_pro_rich_snippets_type":"none"}],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"class_list":["post-54","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/pages\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":37,"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/pages\/54\/revisions"}],"predecessor-version":[{"id":467,"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/pages\/54\/revisions\/467"}],"wp:attachment":[{"href":"https:\/\/www.smartlux.com\/232keypro\/wp-json\/wp\/v2\/media?parent=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}