IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies

CrossScanner Advanced Notes

IMPORTANT: These notes are intended for the extremely advanced and technical user and/or System Administrator. There is absolutely no need for the end-user of CrossScanner to read these notes.

Version 4.02 (September 2012) supports Windows Vista/7, includes Bluetooth support.

Version 4.01 (November 2009) supports Windows 7

Version 4.00 (March 2008) supports Windows Vista

Version 3.40 (March 2008) is the final release for Windows 95/98/Me/NT/2000/XP.

Version 3.33/3.34 (2006/2007) were maintenance releases.

Version 3.32 (April 2006) adds a Double-Clicks Target override to the Advanced User Options to allow the default action in CrossScanner to be a Double-Click. Also, in FingerScan Settings, a selection of different colored pointers are now available.

Version 3.31 (November 2004) adds No Cursor Tracking if Menu and No IconWindow if Menu to the Advanced User Options (both default on) to resolve some menu scan issues.

Version 3.30 (September 2004) adds Inverse Scan and 2 Switch Step Scan options. Also includes the option to Show Awake / Asleep Notice, and the Sleep While Window Active... option. Moves Set Scan Area to Advanced.

Version 3.20 (August 2003) adds a Touchscreen option for the input device as Mouse Button, Left Button. This forces the action click to be where CrossScanner decides, not based on the actual click position.

Version 3.12 (July 2003) changes the default mode of the Release Required setting & adds a ReleaseMode entry to ScanSettings.

Version 3.11 (May 2002) is a maintenance release - only minor changes are included, along with updates to this Help file.

Version 3.10 (January 2002) fine-tuned and modified quite a number of settings based on user feedback and to ensure easier operation. Complete integration with OnScreen for all platforms & verification of support for Windows Me and Windows XP was also confirmed.

In Version 3.00 (March 2000), CrossScanner was reworked to cover all of the Win32 platforms (Windows 95, Windows 98, Windows NT, Windows 2000). The following notes have been adapted from the original INI (XSCAN.INI) documentation and still retain some of the "feel" related to an INI file. However, in conformance with the general intentions and future of the Windows platforms, all settings are contained in the System Registry. The relationship between the section headings and the keys in the registry are straightforward. If you have never used RegEdit, or have difficulty understanding the notes in the context provided, then these notes are not intended for you.

For Windows 3.1 operation, CrossScanner 2.30 is the final release supported for the Windows 3.0 / Windows 3.1 / Windows 3.11 platforms.

The root key for all settings is:

[HKEY_CURRENT_USER\Software\RJ Cooper & Associates\CrossScanner]

The only value is a string value indicating the current version of the software. If prior to the current version (and post 3.00) is found, several settings will be changed to address updates to the software, and the version will be set to the current version.

All INI sections are preserved as keys under the CrossScanner branch.

All Registry values are handled as String Values, and read in either as number values or text.

Any references to Windows 95 / Windows 98 can also be extended to Windows Me / NT / 2000 / XP.

Any notes about internal settings below refer to either obsolete features or features that were problematic, or deemed not relevant in later releases. The settings remain for flexibility in the future.

[ActiveModules] - CrossScanner Setup Dialog


This setting enables the Text Entry (OnScreen keyboard, or Other selected Keyboard Program) option, and adds a keyboard icon to the IconWindow when set to 1. When TEXTMode=0, no keyboard icon is presented. NOTE: For proper use of OnScreen with CrossScanner, OnScreen should only be accessed through the Text Entry/Keyboard icon.


This setting allows double clicks to be selected and processed from the IconWindow. When selected, the "Dbl-Click" indicator is attached to the FingerScan pointer, and a double-click is sent at the point indicated by the Finger. When DBLCLICKMode=0, no double click icon is presented, and double-clicks are disabled.


MENUBARMode=1 enables a special feature in CrossScanner. When the LineScan is over an active window that has a menu, the menu selections automatically pop-up, and the highlight moves through the Menu bar until a click, and then each item on the selected menu is highlighted until selected by a click. If MENUBARMode=0, then menus must be accessed through CrossScanning.


If DRAGMode=1 then the drag icon is presented in the IconWindow. If DRAGMode=0, then the drag icon is not available, and drags are disabled. The drag is implemented as follows: Set cursor position to first point (drag source) via CrossScanning This sets button-down state at first point Set cursor to drag destination via CrossScanning This triggers a button-up at drag destination Note: Some applications do not recognize this as a drag because they are more closely tied to the mouse hardware. Although this does not classify as a properly written Windows program, it does occur.


If AUTOMode=1 then the Auto icon is presented in the IconWindow. If AUTOMode=0, then the auto icon is not available When the Auto Mode is selected via the IconWindow or by clicking on the Icon (Win 3.x), or Task bar icon (Win 95, Win 98), the current state of the Auto-Repeat function will change to On or Off. CrossScanner will take a few seconds to prepare. 2.30 Note - The option for Scroll Keys (Down Arrow, Up Arrow) change the operation when Auto-Repeat is enabled, and the Automatic Scroll keys are only accessible if the AUTOMode is set on.

[Audio] - CrossScanner Setup Dialog


If SoundMode=1 then the windows default "Beep" is triggered at each click (switch hit). SoundMode=0 disables this feature.

[LineStyle] - LineStyle Dialog


This indicates the thickness of the LineScan bar. Use LineScan Settings in CrossScanner Setup to select the line thickness.


This indicates whether the bar is black, white, or inverse. All 16 colors included in 2.10. Use LineScan Settings in CrossScanner Setup to select the type of bar displayed.


This is used to indicate whether the horizontal line is shown during the Finger (horizontal) scan. Set LineGuide=0 to disable the horizontal line display while the FingerScan occurs.


This is an internal setting and should be left at 0.

[ScanSettings] - CrossScanner Setup Dialog (Scroll bars)


If this is set to 1, then the Inverse Scan mode is used. If 0, then the TwoSwitchScan is checked.


If this is set to 1, then the 2 Switch Step Scan mode is used. If 0, and InverseScan=0, then the default scan (Auto Scan) mode is used;


This is the setting in milliseconds used for the InverseScan mode to indicate how long a wait is necessary for an automatic click to occur (advance in the CrossScanning process).


This is the setting in milliseconds used by both InverseScan and TwoSwitchScan to indicate how long a period of inactivity is required to abort a CrossScanning sequence.



The ScanDelayV indicates the LineScan speed setting, and the ScanDelayH indicates the FingerScan speed setting. These are both delays ranging from 0-20. A delay of 0 indicates the fastest speed setting available.



These are used internally to increment the LineScan (ScanStepV) and the FingerScan (ScanStepH). Lower values will increase the resolution, but will also effectively slow down the CrossScanning process. Higher values may cause jumping or choppiness. The following tables show the Vertical speeds and Horizontal speeds from the faster to the slowest based on the setting of the scroll bars in the CrossScanner Setup Dialog. Vertical Scan speeds - ;{iScanDelayV = 0;iScanStepV = 8; } - Fastest ;{iScanDelayV = 0;iScanStepV = 7; } ;{iScanDelayV = 0;iScanStepV = 6; } ;{iScanDelayV = 0;iScanStepV = 5; } ;{iScanDelayV = 0;iScanStepV = 4; } ;{iScanDelayV = 0;iScanStepV = 3; } ;{iScanDelayV = 1;iScanStepV = 3; } ;{iScanDelayV = 2;iScanStepV = 3; } ;{iScanDelayV = 3;iScanStepV = 3; } ;{iScanDelayV = 4;iScanStepV = 3; } ;{iScanDelayV = 5;iScanStepV = 3; } ;{iScanDelayV = 6;iScanStepV = 3; } ;{iScanDelayV = 7;iScanStepV = 3; } ;{iScanDelayV = 8;iScanStepV = 3; } ;{iScanDelayV = 9;iScanStepV = 3; } ;{iScanDelayV = 10;iScanStepV = 3; } ;{iScanDelayV = 11;iScanStepV = 3; } ;{iScanDelayV = 12;iScanStepV = 3; } ;{iScanDelayV = 13;iScanStepV = 3; } ;{iScanDelayV = 14;iScanStepV = 3; } ;{iScanDelayV = 15;iScanStepV = 3; } ;{iScanDelayV = 16;iScanStepV = 3; } ;{iScanDelayV = 17;iScanStepV = 3; } ;{iScanDelayV = 18;iScanStepV = 3; } ;{iScanDelayV = 19;iScanStepV = 3; } ;{iScanDelayV = 20;iScanStepV = 3; } ;{iScanDelayV = 21;iScanStepV = 3; } ;{iScanDelayV = 22;iScanStepV = 3; } ;{iScanDelayV = 23;iScanStepV = 3; } - Slowest ;Horizontal Scan speeds - ;{iScanDelayH = 0;iScanStepH = 10; } - Fastest ;{iScanDelayH = 0;iScanStepH = 9; } ;{iScanDelayH = 0;iScanStepH = 8; } ;{iScanDelayH = 0;iScanStepH = 7; } ;{iScanDelayH = 0;iScanStepH = 6; } ;{iScanDelayH = 0;iScanStepH = 5; } ;{iScanDelayH = 0;iScanStepH = 4; } ;{iScanDelayH = 0;iScanStepH = 3; } ;{iScanDelayH = 0;iScanStepH = 2; } ;{iScanDelayH = 1;iScanStepH = 4; } ;{iScanDelayH = 1;iScanStepH = 3; } ;{iScanDelayH = 2;iScanStepH = 4; } ;{iScanDelayH = 3;iScanStepH = 4; } ;{iScanDelayH = 2;iScanStepH = 3; } ;{iScanDelayH = 1;iScanStepH = 2; } ;{iScanDelayH = 0;iScanStepH = 1; } ;{iScanDelayH = 3;iScanStepH = 3; } ;{iScanDelayH = 2;iScanStepH = 2; } ;{iScanDelayH = 1;iScanStepH = 1; } ;{iScanDelayH = 3;iScanStepH = 2; } ;{iScanDelayH = 2;iScanStepH = 1; } ;{iScanDelayH = 3;iScanStepH = 1; } ;{iScanDelayH = 4;iScanStepH = 1; } ;{iScanDelayH = 5;iScanStepH = 1; } ;{iScanDelayH = 6;iScanStepH = 1; } ;{iScanDelayH = 7;iScanStepH = 1; } ;{iScanDelayH = 8;iScanStepH = 1; } ;{iScanDelayH = 9;iScanStepH = 1; } ;{iScanDelayH = 10;iScanStepH = 1; } - Slowest

AfterClickDelay=0 - After-Click Delay Dialog

This is a setting in milliseconds used to indicate how long after each click (switch hit) no additional clicks will be accepted.

RightScan=0 - FingerScan Dialog

If RightScan=1 then the FingerScan stops at the right side of the screen, reverses and does a "Right-Click" (or "Right-Double click" or "Right Drag") scan. This is set to 1 automatically if installed in Windows 95 due to the extensive use of the right mouse button in Windows 95. If set to 0 the Right-Click scan is disabled.

ChordScan=0 - FingerScan Dialog

This setting allows for a Left-Right Click scan if set to 1. This is only available AFTER a Right-Click scan, and starts from the Left side of the screen. This scan sends a left-right chord (i.e. both buttons clicked at the same time). If set to 0, then the Chord scan is disabled.

Release=0 - CrossScanner Setup Dialog

This setting is used to indicate if a button or key release is required. Set Release=1 to enable the Release Required option. This changes the "trigger" from button or key DOWN to button or key UP. When set to 1, holding the button or key down does not have any affect on the operation of CrossScanner.

ReleaseMode=0 - Registry Setting Required

This setting was added in 3.12 to preserve the older approach of not reacting until the button-up event. Set ReleaseMode=1 to force a button UP before CrossScanner reacts to input. By default the setting ReleaseMode=0 stops all CrossScanner activity at button DOWN, but does not register the "click" until the button UP.


This is the TouchScreen setting in the Setup dialog. When TouchScreenAsMouse=1 is set, the actual location of the cursor when a click occurs is ignored, the click is ignored, and CrossScanner controls the position of the mouse & the click. Used when a touchscreen is the input device.

AutoRepeat=0 - Auto-Repeat Dialog

If AutoRepeat=1 then the Auto-Repeat function is enabled. If AutoRepeat=0 then this is feature is off. When Auto-Repeat is enabled, there is a wait time, and then a delay between clicks (see AutoBeginDelay and AutoClickDelay below.

AutoType=1 - Auto-Repeat Dialog

This is used to indicate which Automatic Repeat method is in use. If AutoType=0, then the AutoRepeat feature is set as a mouse click (left-click) when AutoRepeat=1. If AutoType=1, then the Scroll Keys (Down Arrow and Up Arrow keystrokes) are in use. The trigger to initiate the auto-repeat for these keystrokes is done in the IconWindow with the AUTOMode setting.

AutoBeginDelay=1000 - Auto-Repeat Dialog

This is a delay in milliseconds when AutoRepeat=1 before the first Automatic Click is sent. If another CrossScan is started before this delay occurs, then the delay is reset at the next single click via the FingerScan.

AutoClickDelay=1000 - Auto-Repeat Dialog

Once the automatic clicks begin, this is the delay in milliseconds before another Automatic Click is sent. Only used if AutoRepeat=1.

Accelerate=1 - FingerScan Dialog

If Accelerate=1 then the FingerScan accelerates over the length of the IconWindow. Also see MinAccelStep below. If Accelerate=0 then there is no acceleration, and the FingerScan always moves at the same rate as set by the Scrollbar in Setup.

LeftToRightScan=0 - CrossScanner Setup Dialog

If LeftToRightScan=1, then the beginning FingerScan starts at the left. If LeftToRightScan=0, then the beginning FingerScan starts at the right.

ToggleScan=1 - CrossScanner Setup Dialog

If ToggleScan=1 then an alternating FingerScan start direction is used. If ToggleScan=0, then the Left-to-Right or Right-to-Left FingerScan is consistent during CrossScanner operation. Note that the Drag Dest. scan is the same direction as the original FingerScan when Drag is selected (if Drag enabled).

MinAccelStep=0 - Advanced Dialog

If MinAccelStep=0 then this parameter is not used. If it is set to 1, 2, or 3 (or 1 less than ScanStepH), then this is the minimum step speed if Accelerate=1. This is an advanced option that allows a faster minimum speed if desired when the FingerScan Acceleration over the IconWindow is set on.

MenuForce=0 - Support Dialog

When MenuForce=1, CrossScanner forces a left & right keystroke prior to starting the down arrows on a popup menu. Software that modifies Windows' menus (such as Novell Client 32) can cause improper operation of CrossScanner - forcing these extra keystrokes seems to synchronize the modified menus with CrossScanner's intended menu scan operations.

MenuScanAll=0 - Support Dialog

This is an internal setting and should be left at 0.

MenuSpeedDelay=15 - Support Dialog

This is an internal setting and should be left at 15.

[ScanArea] - Set Scan Area Dialog





These settings define the scanning "rectangle" based on Screen coordinates. To ensure proper values, use CrossScanner Setup, Set Scan Area - to set the scanning area.

AutoSet=2 - Advanced Dialog

if AutoSet=1, then CrossScanner automatically resets the ScanArea to the Full Screen (at any resolution) everytime CrossScanner begins. To disable this action, set AutoSet=0. if AutoSet=2, then CrossScanner resets the ScanArea to the Full Screen for the current resolution, and then sets AutoSet=0 to disable this action in the future.


When ActiveScan=1, CrossScanner monitors the active window (e.g. GetForegroundWindow API), and modifies the ScanArea settings based on the size of the Active window.


KeyboardType=1 - Internal

This is the internal setting for CrossScanner Setup. This indicates which keyboard layout is select. Refer to the Keyboard setting in the OnScreen configuration file for details on available keyboards. In 2.10, this is no longer supported. The keyboard layout should be managed via the keyboard setup program.

KeyboardKey=32 - Set Keyboard Key Dialog

This is the key value as tracked in Windows for the Keyboard switch method (instead of mouse click). This can take on any virtual key number value. Refer to documentation on Windows virtual keys for complete coverage of keys and their values. The following lists some common keys: Space bar = 32 Return key = 13 Tab key = 9 Control key = 17 Esc key = 27 Letter keys take on their ASCII value, so A = 65, B = 66, etc. In 2.10, the ability to set some common keystrokes is included in the CrossScanner Setup program.

KeyboardOn=0 - CrossScanner Setup Dialog

This setting indicates whether the keyboard is used, or the mouse. KeyboardOn=1 indicates the physical keyboard (and KeyboardKey) is in use, while KeyboardOn=0 indicates the mouse (or Joystick) is used.

AltXAlways=0 - Advanced Dialog

This is used for debugging or technical support problems. If AltXAlways=1, then the Alt-X combination will always toggle CrossScanner operation regardless of the Activation Key set within CrossScanner Setup.

ActivationKey=Alt-X - Set CrossScanner Activation Key Dialog

This is the text used within CrossScanner & CrossScanner Setup to display which keyboard combination is in use for the Activation & De-Activation of CrossScanner. It is also what is used by CrossScanner to indicate which key combination is being used, and as such should NEVER be edited by hand in this file. Always use CrossScanner Setup to set the Activation Key!

KeyboardProg=[PATH][FileName] - CrossScanner Setup Dialog

This is used when the OnScreen Keyboard is not available, or when the user selects another keyboard as the Text Entry program for CrossScanner. It should contain the DOS path & program name of the program to be launched when the Text Icon is selected within CrossScanner. The Onscreen keyboard available in the Accessibility options within Microsoft Wndows does not work correctly with CrossScanner because of its implementation & low-level system conflicts - check with Microsoft for any updates or additional options for this software.

UseJoystick=0 - CrossScanner Setup Dialog

When UseJoystick=1, the joystick input device and its buttons is selected for use within CrossScanner. You must make sure via the Windows Control Panel that the joystick is operational (i.e. there must be a Joystick Icon, and it must indicate that the joystick is operating properly). The KeyboardOn setting MUST be 0, and CrossScanner must be Activated to initialize the Joystick device (i.e. if changed while CrossScanner is On, then CrossScanner must be Toggled Off, and then Toggled On to use the Joystick buttons.

TriggerKey=Space - Set Keyboard Key Dialog

This is the text setting used within CrossScanner & CrossScanner Setup, as the textual description for KeyboardKey above.


The AllowMouse setting is available for the Keyboard or Joystick devices, and shows and allows the mouse to operate the cursor during the CrossScanning process. AllowMouse=1 enables this.


This setting indicates whether the Left or Right button is used by the mouse device. LeftOrRight=1 indicates Left, LeftOrRight=0 indicates right. Why it is in the keyboard section is a great mystery, but it remains here, along with UseJoystick.


AllowCancel=1 - Advanced Dialog

This setting allows the use of the Right Mouse button to cancel a current scan, and resets for a new CrossScan. If AllowCancel=0 then the Right Mouse button is not checked, and is treated as a switch hit.


This setting indicates if the BlueTooth enabled Keyboard monitor will be used. Bluetooth=0 means the Bluetooth interface will not be used. When BlueTooth=1, 2 special keystroke sequences are monitored - the ~1 and the ~3. As defined by RJ Cooper's Bluetooth specifications, these are the keystrokes generated based on the bluetooth switch interface. Internally, the ~1 is treated as a Left-click mouse event, and the ~3 is treated as a Right-click mouse event. When enabled, the CrossScanner Setup utility will automatically select the Keyboard, disable the other input options, and modify the Keyboard selection to indicate the Bluetooth option is in use. Because the Bluetooth interface ties into the system using keystrokes, CrossScanner's internal keystroke option is used - however, a modified version is used to monitor for the special Bluetooth sequences. Because the keystroke interface is in use, the existing keystroke key will also operate in conjunction with the Bluetooth sequence.

OpenAsleep=0 - Advanced Dialog

This indicates which mode CrossScanner should open in. If OpenAsleep=0, then CrossScanner opens normally, and is made active, or "Awake" - If OpenAsleep=1, then CrossScanner opens "Asleep", or in its InActive state - The Activation Key must be pressed to "Awaken" CrossScanner from OFF (or Asleep) to ON (Awake).

SleepAmount=3000 - Advanced Dialog

This is the delay (in milliseconds) used for the "CrossScanner is Awake" and "CrossScanner will Sleep" messages.

IconWindowOrder=1 - Internal

This is an internal, reserved value. It should be set to 1 for proper operation.

IconOffScreen=0 - Obsolete

This displays the icon off screen if set to 1. This setting is only for Windows 3.1.

IconOnTop=0 - Obsolete

This forces the icon to be a "topmost" window. This setting is only for Windows 3.1, and it is recommended that it be set to 0.

OneButton1=0 - Internal OneButton2=6 - Internal OneButton3=1 - Internal OneButton4=7 - Internal

These settings are used internally to process events to generate, clicks, right clicks, drags, and double-clicks. They should not be modified.

DoubleClick50ms=5 - Internal

This is the delay period used between double clicks. It should not be modified.

RightOffset95=7 - Internal

This is an internal setting used for handling context menus; opened with the right-click - this will move the cursor onto the menu as an aid to the user. Not relevant to CrossScanner.

Cursor=0 - Internal

This is also not relevant to CrossScanner and should remain 0.

Sound=1 - Internal

This is also not relevant to CrossScanner and should remain 1.

StartUp=1 - Internal

This is also not relevant to CrossScanner and should remain 1.

DisableRefresh=0 - Support Dialog

This setting bypasses the automatic screen refreshes after certain CrossScanner operations (Drags, etc.) to force Windows to update the desktop and displayed windows. By Setting this option On, the display refresh code will be skipped. Created for a full-screen game that automatically minimized during these refreshes.


This is the setting for Show Awake / Asleep Notice. ShowSplash=1 is default, and displays the notice based on the Message Delay (SleepAmount) setting. ShowSplash=0 disables the display of the message


This is the override setting to indicate if the Sleep While Window options should be checked while CrossScanner is running. SleepWhileWindow=1 setting is required to monitor the SleepWindow?Text/Class settings.





These settings are checked against the active window (e.g. GetForegroundWindow API), and uses a sub-string match (i.e. if the text entered exists anywhere in the Window Caption or Window Class Name). The match is case-insensitive. As detailed a entry as possible is recommended, and typically only the class or the text should be used (the logic is an OR, not an AND). The logic internally works as follows: If there is a match, the active window handle is tracked, and the Toggle CrossScanner event occurs (putting CrossScanner to sleep). While the active window remains active, no further action will occur. When the active window changes, CrossScanner is toggled again (awake), and the active window handle is cleared. If 2 windows are entered, and the active window changes between them, CrossScanner will awaken (change from active window being tracked) and then match on the new active window, so it will go to sleep again.


In Windows Vista, the default is NoMouseMoveIfMenu=0. In order to operate in Windows Vista, the mouse cursor is moved to the bottom-right of the screen during any scan. Only at a mouse action (e.g. click, double-click, etc.) does the mouse move to the action point.

This setting indicates how CrossScanner will handle CrossScanning menus when the Mouse is set as the input device. (By default, this same operation occurs with the joystick & keyboard as input devices, e.g. default On) When the mouse is the input device, CrossScanner tracks the cursor with the LineScan and FingerScan. When menus are up, this can cause some problems with popup menus, etc. because of mouse highlighting. With this setting on, and the Mouse as input device, CrossScanner will NOT move the mouse cursor when a menu is up, until the final click / selection occurs.

DefaultClickBehaviorAsDbl=0 - Advanced Dialog

This setting determines what the default operation of CrossScanner will be. Originally the unmodified operation was a single left click, and only when the double-click is selected in the IconWindow will CrossScanner double-click. If DefaultClickBehaviorAsDbl=1, then CrossScanner will normally double-click left, and only when the Single click is selected in the IconWindow will CrossScanner single click. This essentially toggles the behavior of a single-click and double-click.

PointerColor=0 - FingerScan Settings dialog

In the FingerScan Settings dialog, the user can select different colored hand pointers (used for the FingerScan). This setting stores the user's selection.


This setting hides the IconWindow when menus are visible. Since menus don't require additional CrossScanning options, and the IconWindow can occlude menus in some instances, this setting is default On, making most menu selections quicker. The following list is the internal list of classes that are checked for Menus: "MsoCommandBarPopup", "DV2ControlHost", "BaseBar", "#32768"

IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies