SpaceControl
3D Input Devices


User Manual

Komet Device


Copyright © 2009-2017 by SpaceControl GmbH & Co. KG, Germany
5 October 2017
 

Contents
gehe zur deutschen Version



1 Introduction

3D input devices like the SpaceController are working similarly as a mouse and are used for manipulating objects on a computer screen. There are two degrees of freedom in conventional mouse movement: the directions up/down and left/right. In contrast to this our 3D mice have six degrees of freedom: translation in all three axes of space (x, y, z) and rotation around all of these axes. Therefore they are the ideal equipment for moving and rotating objects in virtual 3D environments like CAD applications or moving the camera e. g. in Google Earth .

The 3D input devices are delivered with a driver software. Both are described in this manual.

2 The Devices

2.1 Usage

Our 3D mice are devices predominantly developed for CAD professionals. The common task in computer aided design is to move an object into the correct position and work on it with some tools. The same is in the real world: Imagine you want to peel a potato. You will take the potato in your left hand and peel it with a knife in your right (assuming you are right handed ...). Also in the computer world you will move an object with the left hand (using the SpaceController) and work on it with your right (using your normal mouse).
Therefore, the SpaceController is especially designed for the left hand. So, place the device on the left side of your keyboard and hold your hand as shown below:

Usage
Fig. 2.1: The SpaceController is handled most ergonomically
with the left hand
Hand position
Fig. 2.2: Optimal hand position

Of course the SpaceController can be handled with the right hand as well: The control software is able to activate a special Right Hand Mode ; the display and the cap's orientation are adjusted to the right hand then. Only the key arrangement lacks in ergnomy a little in this case of course. See below for details.

Usage
Fig. 2.3: Handling in Right Hand Mode
Hand position
Fig. 2.4: Hand position when handled with the right hand


2.2 Control Elements

The SpaceController's control elements are shown in the next picture:

Control elements
Fig. 2.5: The SpaceController's control elements

2.2.1 Cap and Wheel

The cap is the most important control element. You can move and rotate it some millimeters in each direction, and an object on the screen will do the same. Try it with the SpaceControl Panel 's cube demo (see below).
Some people prefer a ball instead of a cap. You can order the SpaceController in both configurations:

Cap and ball
Fig.2.6: SpaceController in cap and ball configuration

The silver wheel is placed below the cap and is used for navigating in the SpaceController's menu. Furthermore, it is programmable, and you can assign a function to it by yourself.

2.2.2 Keys

The keys are arranged in an ergonomical way; you will see that the important keys are in optimal range for most people. If you would like to have your most used keys at another position - no problem: All keys (with exception of the MENU key and the PANEL key) can be redefined (see below).
The keys are:
A hidden function is executed when you press the Ctrl key and the Panel key concurrently: All lights (LEDs and LCD) are switched off or on again respectively.

2.2.3 Display

The display is divided into three parts:
  • The title line shows the application which is in the foreground at the moment and the configuration file the driver has loaded; in this case the foreground application is "Inventor" and the configuration file is "Assembly.cfg".
  • In the midsection are the six function keys listed. If there is a function assigned to a key the function name is shown, "--Inactive--" is displayed if not.
  • The base line displays some status information, namely whether the device is in ORG, CAM, WFL, 2D or DOM mode. These modes are explained in the next section.
The display will change its content in other modes, see the next section.
Display in
                  standard mode
Fig. 2.7: The display in standard mode

2.2.4 Modes

The SpaceController can be in standard mode or menu mode. In standard mode you can read off the five operating states ORG, CAM, WFL, 2D and DOM from the display and the LED illumination.

3 The Software

The software consists of a driver (responsible for the communication between the device and user applications), the SpaceControl Panel (for configuring the device), some demo applications and APIs for programming in C++ and Java. Furthermore, there are some plug-ins for better integration of user applications into the driver's functionality.

3.1 Installation and Uninstallation

3.1.1 Windows®

3.1.1.1 Installation

All software components are bundled in a single installation file "SpaceControl_Driver_xxx_Win32_64_setup.exe", where xxx stands for the actual version no., e. g. "SpaceControl_Driver_280_Win32_64_setup.exe" is the setup file version 2.8.0. The installation is easy:
During the installation process some console windows will pop up, for correct installation do not close these windows manually.

Please, plug in the SpaceController device when asked and start the driver afterwards. If the driver is started before, it will complain about a missing DLL ("ftd2xx.dll") which is copied when the device is plugged in. In rare cases it might be necessary to unplug the device and plug it in again to establish the communication between device and computer.

The installer searches in the Windows Registry for the applications we have a plug-in for. Therefore you should install our driver after you have installed these applications; otherwise the installer cannot detect them and cannot make the needed changes.

The installer is able to run in "silent" mode, i. e. there is no user interaction necessary. For doing this run the installer with parameters "/S" (enables silent mode), "/D" (choosing the installation directory) and /P=<list of wanted plug-ins>. Example:

    SpaceControl_Driver_280_Win32_64_setup.exe /S /D=C:\myProgs\SpaceControl /P=Inventor;Solid Edge;Universal

will install the software with the plug-ins for Inventor and Solid Edge and the Universal Plug-in in folder "C:\myProgs\SpaceControl" without asking any questions.
The following names for the plug-ins are allowed:
Upper or lower case does not matter, ";" has to be used as separator. The names are the same as in the plug-in list shown in the non silent installer.

3.1.1.2 Deinstallation

The uninstaller knows the parameter "/S" as well. Additionally you can give it the option "/UF=delete"; only in this case all the user folders "SpaceController" will be deleted. Otherwise they are preserved:

     sc_uninst.exe /S /UF=delete

3.1.2 Linux®

3.1.2.1 Installation

All software components are bundled in a single installation file "SpaceControl_Driver_xxx_LNXyy_setup.sh", where "xxx" stands for the actual version number and "yy" for the bit width; e. g. "SpaceControl_Driver_281_LNX64_setup.sh" is the setup file version 2.8.1, 64 bit. The installation is easy:
The installer is able to run in "silent" mode, i. e. there is no user interaction necessary. For doing this run the installer with root privileges and with parameters "-s" (enables silent mode) and "-p <list of wanted plug-ins>". Because these options are to be executed in an "inner" script the "outer" script must be ordered to transfer them to the inner one by the additional parameter "--". Example:

    SpaceControl_Driver_281_Win32_64_setup.sh -- -s -p "Blender;Maya;NX"

will install the software without any questions with the plug-ins for Blender, Maya and NX. The options are case-sensitive!
For the time being there is only a plug-in for Blender. If you want to prevent it from being installed add to the parameter "-p" some arbitrary string instead of "Blender".

3.1.2.2 Deinstallation

The uninstaller is located in "/opt/SpaceControl/" and must be executed with root privileges as well:

    /opt/SpaceControl/uninstall -s

Parameter "-s" must only be added if the silent mode (i. e. no questions) is wanted.

3.1.3 OS X®

All software components are bundled in a single installation file "SpaceControl_Driver_xxx_OSX64_setup.dmg", where xxx stands for the actual version number; e. g. "SpaceControl_Driver_280_OSX64_setup.dmg" is the setup file version 2.8.0. There is only a driver for 64 bit yet. The installation is easy:
The script "Double click to install ..." accepts the same parameters (e. g. "-s" for silent mode) as the installer for Linux. See above.

3.1.4 Plug-ins

Some applications are better integrated than others, i. e., the driver is aware of their menu structure, and the user can map the application's menu items to the device's keys (see the Function Assignment dialog for details). To achieve this an additional piece of software - a plug-in - is to be installed. The plug-ins are integrated in the installer file and can be selected for installation there. With the appropriate entries in the Windows start menu they can be deinstalled individually or installed later with the installer any time.

The following plug-ins are available (the links to the readme files will only work if the plug-in is installed):

Plug-in\Betriebssystem
Windows
Linux
OS X
3ds Max +
-
-
AutoCAD +
-
-
Blender +
+ +
Catia +
- -
Creo +
-
-
GstarCAD +
-
-
Inventor +
-
-
NX +
-
-
ProEngineer WF2 +
-
-
ProEngineer WF3 +
-
-
ProEngineer WF4 +
-
-
ProE-WF5/Creo +
-
-
Solid Edge +
-
-
SolidWorks +
-
-
Universal +
-
-

The Universal Plug-in is a special case: It is used to connect not to one single application only but to many applications implementing an established 3D controller interface (see the readme file for an application list). The plug-in is not able to read out the menu items therefore. They must be mapped to the device's keys by keyboard macros if needed; the same is with the keys Front, Right, Top and Fit.

3.2 Starting Driver and SpaceControl Panel

Start the driver by executing the menu item Start Driver in your desktop's start menu. Maybe your firewall strikes its bell because of an internet connection initiated by the SpaceController software. This is because the software handles its interprocess communication via TCP/IP (the same protocol is used by the internet); in fact the SpaceController software will not connect to the internet (unless for showing the help videos on the dialogs). So, please allow your firewall to let pass the SpaceController software's requests.

If the driver is started the first time it will create a folder named "SpaceController" in the user's home directory (i. e. "C:\Documents and Settings\<user name>\SpaceController" under Windows XP or "C:\Users\<user name>\SpaceController" under Vista, Windows 7 and Windows 10) with some configuration files in it. These files are modified when configuring the driver via the SpaceControl Panel and reread when starting the driver the next time.

The SpaceControl Panel is started in the same way by clicking the "SpaceController/Control Panel" menu item in the start menu. If a SpaceController is connected to the computer it will start up with the window shown in figure 3.1.

3.3 SpaceControl Panel Application

The SpaceControl Panel application is used to configure the device. Its window consists of the common components used in windowed applications, i.e. a menu bar, buttons and other control elements:

Control Panel

Fig. 3.1: SpaceControl Panel window

In the upper left corner you see the Device Type sub-panel showing the device type and the device's Serial Number . This information is only important if you have more than one device connected to your computer (you can connect up to four devices). Each device has its own set of configuration data which is stored in a separate folder with the same name as the serial number. This folder may contain several configuration files. Which configuration file is actually loaded can be seen beside the label Configuration File : In fig. 3.1, the configuration file is e. g. "common.cfg". See chapter 3.4 for details.

The next sub-panel shows the so called Basic Configuration . Here you can modify the most important parameters as the cap's sensitivity, the move mode or the wheel's assignment. See section 3.3.1 for details. For special requirements you may configure further advanced settings.

The area on the right shows the device you are just configuring (if you have more than one device connected to your computer you can switch between the devices by selecting them with the Device menu in the menu bar). A displacement of the cap is visualized by white bars and arcs drawn over the device's image. Another visualization is given with the Demo tab. There you can move a colored cube and see the system's reaction on your configurations immediately:

Cube Demo
Fig. 3.2: The built-in Cube Demo

In the base line there are these six buttons:


3.3.1 Basic Configuration

The Basic Configuration s shown in figure 3.1 are as follows:
  • Sensitivity
    With the sensitivity slider you can change the speed with which your objects are moving. Higher values cause your object to move quicker with the same displacement of the cap. If the slider is moved you will see a visualization of it in the SpaceController's display as shown in fig. 3.3.

  • Rotation Center
    You can change between the settings Focal Point and Origin or Camera . In the first case the cap rotates your scene around the midpoint of the screen (the midpoint of the active window to be precisely), in the second case around the origin of the scene (in scene mode) or around the camera (in camera mode).

  • Move Mode
    The entries in this list are Scene and Camera . In case of Scene the cap moves (seemingly) your scene, in case of Camera the cap moves the virtual camera looking on the scene.

  • Wheel
    The silver wheel beneath the cap is freely configurable. Some quick assignments can be made here by the drop down list:
    • Left: Sensitivity, Right: WFL
      A movement to the left opens a little slider dialog for setting the cap's sensitivity.
      A movement to the right opens the so-called Wheel Function Launcher.
    • Wheel Function Launcher
      The WFL is used to trigger arbitrary functions very comfortably. See there for details.
    • Gesture Detection
      With this setting the wheel recognizes up to six different "gestures", i. e. combinations of left/right movements. Each gesture can be connected with a function to trigger.
    • Sensitivity
      The wheel controls the cap's sensitivity.
    • Function Keys
      In this mode the wheel can be used to trigger the device's six function keys (in case your fingers are not long enough to reach key 5 or 6 ...).
    • LCD Brightness
      The wheel controls the brightness of the LCD.
    • LED Brightness
      The wheel controls the brightness of the blue LEDs.
    • User Defined
      The wheel has another setting, configured with the Function Assignment dialog.
Display
Fig. 3.3: Display when adjusting sensitivity

3.3.2 Advanced Configuration

The Advanced Configuration dialog is basically divided into four sub-panels for Translation and Rotation data, Modifiers and Move Mode . It allows configuration in more detail than can be done in the Basic Configuration .

Advanced Configuration Dialog

Fig. 3.4: Advanced Configuration dialog

The elements of the Translation and Rotation sub-panels are arranged as a table consisting of three lines; each line lets you adjust the settings for one of the translational coordinates x, y, z or the rotational components around the corresponding axis. Figure 3.4 shows the tables in their ground state. The tables can be expanded by clicking on Activate Remapping and Activate Mouse Movement in the Modifiers panel. If these check boxes (and Further Settings ) are activated the dialog looks as shown in figure 3.5:

Advanced Configuration Dialog, expanded

Fig. 3.5: Advanced Configuration dialog, Remapping , Mouse Movement and Further Settings activated

The table elements are as follows:
Besides the tables you can adjust these settings:
All settings are executed immediately, therefore there is no OK button. If you want to reset your settings to the default values press the Defaults button in the main window (see fig. 3.1).

Hint: The state of the check boxes Connect All Sensitivity Sliders is not part of the configuration, but a property of the GUI. It will not be saved with the configuration.

3.3.3 Function Assignment (Key Configuration)

The Function Assigment dialog is used to connect the device's keys, the wheel,  the Wheel Function Launcher and the cap with predefined functions or user defined macros (i. e. recorded keystroke sequences).

3.3.3.1 Assigning Functions to Keys

Figure 3.6 shows the Function Assignment dialog in its ground state. On the left side there is the list of available functions, sorted into a tree structure, on the right side you see the list of the device's keys a function can be applied to. A function can be assigned to a key by dragging it with the mouse from the left side to the key.
Each key can hold two functions: A function of the second level can be triggered by double pressing the key. Or you exchange the two levels with each other by executing the function SwitchKeyShiftLevel (it is assigned to the device key 6 by default). To configure the two shift levels you change between them with the tabs Single Press and Double Press.

Key Configuration
        Dialog

Fig. 3.6: Function Assignment dialog

For the sake of clarity we distinguish between:
Especially in the latter case there are many functions in the tree and it may be difficult to find the desired functions. Therefore you can search for an entry by typing a function name into the Search field. The Next button will jump to the next hit if there is one.

The configuration of the six device keys numbered from 1 to 6 is displayed in the device's LCD. If you are not interested in this information you can show the actual date and time instead when activating the check box Display Clock Instead of Functions .

Display showing
              a function
Fig. 3.10: Display showing the function keys' functions
Display showing
              the clock
Fig. 3.11: Display showing the clock


3.3.3.2 Defining User Functions (Macros)

To define a user function (i. e. a sequence of keystrokes on your computer keyboard to be applied to a device key) proceed as follows:
In figure 3.12 the recorded sequence is "a Alt b F3". You see that each keystroke is split into the "key pressed" and "key released" event, symbolized by upper case and lower case letters. In such a case the complete keystroke sequence is sent into your operating system's keyboard event queue when the device key is pressed. When the key is released nothing will happen.
This is not what is wanted if your function consists of e. g. "<SHIFT><shift>" only, i. e. of pressing and releasing one of the keyboard's shift keys. In this case you may want to send the "key pressed" event when the device key is pressed and the "key released" event when the key is released, and not both events immediately after each other, since you otherwise could not input upper case letters while holding down the device key.

Therefore the following rule is implemented:
Remark 1 : Unfortunately not all keys can be recorded due to some restrictions on sending keystrokes into the operating system. Keys known not to be working on German keyboards e. g. are "ä", "ö", "ü", "ß", "#". The key "+" is mapped to the one on the number block.
If you know the ASCII code of the wanted character you can record it as a combination of the Alt key and the number block. The ASCII code of character "#" is 35 e. g. So, hold the Alt key pressed, type "3" and "5" on the number block and release the Alt key.

Remark 2 : Be aware to record your keyboard sequences exactly as you would type it in your application. Most applications allow to store a document with the keyboard short cut "Ctrl S" for example. This means "press down the 'Ctrl' key (and hold it!), press the 's' key, release the 's' key and release the 'Ctrl' key". This sequence should be displayed in the function editor as
    "<CTRL><S><s><ctrl>" ( correct ).
It is a common mistake to release the 'Ctrl' key immediately and to press the 's' key afterwards; this would result in the sequence
    "<CTRL><ctrl><S><s>" ( wrong ).
This is wrong and sends effectively only the 's' key to your application.

Remark 3 : To avoid unexpected closing of the dialog when recording e. g. the sequence <Alt><O><o><alt> there are no button shortcuts (e. g. <Alt><O> for the OK button) in this dialog. If you want to operate it without your mouse use the TAB key to move between the buttons.

3.3.3.3 Assigning Functions to Special Keys

On your device you can see not only the six dedicated function keys but also the special keys used for common tasks in an application, as Ctrl, Shift, 2D/3D etc. It is possible to redefine these keys in the same way as described above when clicking on the Show Function to Special Key Assignment check box. If this is done additional fields with the special keys will appear:

Key Configuration
        Dialog, Special Keys Activated

Fig. 3.13: Function Assignment dialog with activated Special Key configuration


3.3.3.4 Assigning Functions to the Wheel

The silver wheel beneath the cap is - as already mentioned - freely configurable. After activating the check box Show Wheel Assignment you can assign the wheel arbitrary functions:

Key Configuration dialog, wheel
        activated

Fig. 3.14: Function Assignment dialog with activated Wheel Assignment

Now it is possible to drag functions to the left and/or right wheel direction. The functions may be different - as shown above -, or the same function can be assigned to both directions.
If both directions trigger the function HandleWheelGestures (you will find it in the function tree in the branch "Functions/Devices/SpaceController/Wheel/") the greyed area Gestures will become available, and the wheel is able to detect six different gestures. You can assign a function to the gesture "wheel right + wheel left" for example.

3.3.3.5 Assigning Functions to the Wheel Function Launcher

If the six function keys are not enough you can assign up to 28 functions to the so-called Wheel Function Launcher . This is a little dialog box allowing you to trigger a desired function with the wheel (see below). The functions can be assigned if the check box Show Function to WFL Assignment is activated:

Wheel Function Launcher
        configuration

Fig. 3.15:  Function Assignment dialog with activated WFL Assignment configuration

As usual you can drag a function to one of the 28 WFL slots.

3.3.3.6 Assigning Functions to the Cap

You can apply your functions not only to the device's keys but even to the cap: A function is triggered when the cap is displaced in the appropriate way. To activate this mechanism click on the Activate Function to Cap Assignment check box. The Function Assignment dialog will become extended and allows you to apply two functions to each cap displacement. The first function is triggered by a low, the second by a high cap displacement.

Key Configuration
        Dialog, extended

Fig. 3.16:  Function Assignment dialog with activated Cap Assignment

In figure 3.16 you can see a typical configuration used for shooter games: When using the keyboard you move your game character with the w, a, s and d keys forward, backward and sideways. Therefore, create four user functions named w, a, s and d (the name does not matter of course) and record the keystrokes w, a, s and d to the corresponding function. Then drag these functions to the cap's combo boxes as shown above. A slight forward movement of the cap will now move your character forward, for a sideward movement you must push the cap a little stronger since the cap movement "x translation right - low" is not active. Crawl and jump may be applied to the high y translations.

Keyboard

Fig. 3.17: W, A, S and D are the common
control keys in shooter games
SpaceController
              with WASD

Fig. 3.18: Mapping W, A, S and D to the cap allows
movement of characters with the SpaceController


Send Function Only in Case of Cap Changes should be activated here. If this setting is not activated the device will send e. g. "press key w", "release key w", "press key w", "release key w" etc. as long as the cap's displacement persists. This is not appropriate for a shooter game because a key is released immediately after it is pressed. As a result there is no movement of the character at all! If the check box is activated the key press event is normally fired when the cap is displaced (to the low/high extent respectively), but the release event is fired only if the cap changes its state, i. e. leaves the (low or high) region again.
The complete configuration for a 3D shooter game we have described in a video.

The Defaults button resets all keys to its default values (i. e. all cap functions to "-- Inactive --" and the device key functions to the function printed on the key). However, the functions you recorded with the keystroke editor are not cleared. Press the main window's Defaults button if you want to achieve this.

3.3.3.7 Device Functions

In the Function Assignment dialog there are device functions for the devices
The SpaceController functions are divided into the groups "Panel", "MoveMode", "Settings", "Keys", "Wheel" and "Others" for the sake of clarity.

Each function can be assigned to the keys, the Wheel Function Launcher and/or the cap as described above. The following functions are presently defined:

Devices
Group of the device functions.
 +-SpaceController
Group of functions related to the SpaceController.
 |  +-Panel
Group of functions for the buttons of the SpaceControl Panel's main dialog.
 |  |  +-SetZero
This function does the same as a click on button Zero in the main dialog.
 |  |  +-ResetSettingsToLastSave
This function resets all configuration parameters to the values when the configuration has been saved the last time. Attention: The values are stored automatically as soon as the foreground application switches to another one.
 |  |  `-Save
This function does the same as the menu item "File/Save Configuration".
 |  +-MoveMode*
Group of functions related to the cap's move mode.
 |  |  +-ToggleSceneCameraMode
Toggles between scene and camera move mode.
 |  |  +-ToggleScreenOriginRotation
Toggles the rotation center between the screen's midpoint and the worlds origin. See move mode.
 |  |  +-ToggleLockHorizon
Does the same as the homonymous setting in dialog Advanced Configuration .
 |  |  `-SetCameraModeTarget
Does the same as the homonymous setting in dialog Advanced Configuration .
 |  +-Settings
Some further SpaceController settings.
 |  |  +-ToggleTranslation
Switches translation data on and off.
 |  |  +-ToggleRotation
Switches rotation data on and off.
 |  |  +-ToggleDominantMode
Switches dominant mode on and off.
 |  |  +-ToggleDeviceLights
Switches all blue LEDs on and off.
 |  |  +-ToggleRightHandMode
Switches right hand mode on and off.
 |  |  +-IncreaseSensitivity
Increases the cap's sensitivity by one step.
 |  |  +-DecreaseSensitivity Decreases the cap's sensitivity by one step.
 |  |  +-IncreaseThreshold Increases the threshold by one step.
 |  |  +-DecreaseThreshold Decreases the threshold by one step.
 |  |  +-IncreaseLCD'sBrightness Increases the LCD's brightness by one step.
 |  |  +-DecreaseLCD'sBrightness Decreases the LCD's brightness by one step.
 |  |  +-IncreaseLEDs'Brightness Increases the LEDs' brightness by one step.
 |  |  `-DecreaseLEDs'Brightness Decreases the LEDs' brightness by one step.
 |  +-Keys
Group of all the SpaceController's special keys.
 |  |  +-Ctrl
Simulates pressing the keyboard's Ctrl key.
 |  |  +-Alt Simulates pressing the keyboard's Alt key.
 |  |  +-Shift
Simulates pressing one of the keyboard's Shift keys.
 |  |  +-Esc
Simulates pressing the keyboard's Esc key.
 |  |  +-Front
Moves the scene to front view (if supported).
 |  |  +-Right
Moves the scene to right side view (if supported).
 |  |  +-Top
Moves the scene to top view (if supported).
 |  |  +-Fit
Zooms the scene to full screen size.
 |  |  +-2D/3D
Switches rotation data on and off.
 |  |  `-Panel
Opens the SpaceControl Panel .
 |  +-Wheel
Group of functions related to the wheel.
 |  |  +-SetWheelToSensitivity
Configures the wheel to control the sensitivity.
 |  |  +-SetWheelToThreshold Configures the wheel to control the threshold.
 |  |  +-SetWheelToLCD'sBrightness Configures the wheel to control the LCD's brightness.
 |  |  +-SetWheelToLEDs'Brightness Configures the wheel to control the LEDs' brightness.
 |  |  +-SetWheelToWheelFncLauncher
Configures the wheel to open the Wheel Function Launcher.
 |  | +-SetWheelToWheelGestures Configures the wheel to detect wheel gestures.
 |  |  +-SetWheelToFunctionKeys
Configures the wheel to trigger a function key.
 |  |  +-HandleSensitivityDialog
Opens a slider dialog for adjusting the sensitivity.
 |  |  +-HandleThresholdDialog Opens a slider dialog for adjusting the threshold.
 |  |  +-HandleLCD'sBrgtnssDialog Opens a slider dialog for adjusting the LCD's brightness.
 |  |  +-HandleLEDs'BrgtnssDialog Opens a slider dialog for adjusting the LEDs brightness.
 |  |  +-HandleWheelFuncLauncher Opens the Wheel Function Launcher .
 |  |  +-HandleWheelGestures Detects wheel gestures.
The function can only be connected to the Wheel Assignment in the Function Assignment dialog, not to the function keys, the WFL or the cap; it can only be assigned by the drop down list Wheel in the main dialog, not by drag and drop in the Function Assignment dialog. The function is working only if both fields in Wheel Assignment are connected with the same function and not only one field.
 |  |  `-HandleFunctionKeys Handles function keys.
The function can only be connected to the Wheel Assignment in the Function Assignment dialog, not to the function keys, the WFL or the cap; it can only be assigned by the drop down list Wheel in the main dialog, not by drag and drop in the Function Assignment dialog. The function is working only if both fields in Wheel Assignment are connected with the same function and not only one field.
 |  `-Others
Group with further functions.
 |     +-HandleCalculatorNumPad Opens the virtual numpad and the calculator.
 |     +-SwitchKeyShiftLevel Exchanges the two key shift levels with each other (single press/double press).
 |     +-Back Moves the scene to back view (if supported).
 |     +-Left Moves the scene to left view (if supported).
 |     +-Bottom Moves the scene to bottom view (if supported).
 |     +-ReservedFunction_5
Reserved.
 |     +-... Reserved.
 |     `-ReservedFunction_9 Reserved.
 +-Mouse
Group with functions related to the normal mouse.
 |  +-PressLeftMouseButton
Simulates a click with the left mouse button.
 |  +-PressMidMouseButton Simulates a click with the mid mouse button.
 |  +-PressRightMouseButton Simulates a click with the right mouse button.
 |  +-MoveMouseWheelUp
Simulates moving the mouse wheel up.
 |  `-MoveMouseWheelDown Simulates moving the mouse wheel down.
  `-Joystick
Group with functions related to the joystick.
    +-JoystickXAxis
Simulates moving the joystick's x-Axis.
    +-JoystickYAxis
Simulates moving the joystick's y-Axis.
    +-JoystickZAxis
Simulates moving the joystick's z-Axis.
    +-JoystickRAxis
Simulates moving the joystick's r-Axis.
    +-JoystickUAxis
Simulates moving the joystick's u-Axis.
    +-JoystickVAxis
Simulates moving the joystick's v-Axis.
    +-JoystickPOV
Simulates moving the joystick's cooliehat.
    `-JoystickBut
Simulates pressing one of the joystick's buttons.

*: The move mode is not supported by all applications or plug-ins resp.

Hint: All functions printed in grey color are not implemented yet and can not be used.

3.3.4 The Wheel Function Launcher (WFL)

With the Wheel Function Launcher (WFL) the wheel's functionality can be considerably extended. Up to 28 arbitrary functions (device functions, user functions and/or application functions) can be triggered comfortably with the wheel this way.

3.3.4.1 Using the Wheel Function Launcher

When the wheel is configured appropriately the WFL will be displayed on the screen as soon as the wheel is moved:

Wheel Function
        Launcher

Fig. 3.18: The Wheel Function Launcher

You see basically a list of functions, scrollable with the wheel. Fig. 3.18 shows amongst others the application functions "Wireframe Display" and "Shaded Display" in the list.

A function can be triggered in four ways:
In Fig. 3.18, the function "Wireframe Display" would be triggered after 900 ms. If the check box Close When Function is Triggered is activated additionally the WFL will automatically vanish from the screen afterwards.

Thanks to the WFL the functions can be triggered very comfortably now in a single operation: Move the wheel (WFL appears), move the wheel further (choose the desired function), await the autotrigger delay time (function is triggered), WFL closes, ready.

Hint 1: If the check box Cyclic Scrolling is set the blue selection scrolls over the lower border and appears above again and vice versa.

Hint 2: The WFL is part of the SpaceControl Panel and can not be used without it. Therefore the panel must be running; if this is not the case while the WFL is called  the panel is started first. The panel may be minimized.

3.3.4.2 Configuring the Wheel Function Launcher

The WFL will work as expected only if it is configured correctly. Two steps are necessary. First: The wheel must be configured to open the WFL. This is done by activating the appropriate element in the drop down list in the SpaceControl Panel 's main dialog:

Configuration of the wheel

Fig. 3.19: Wheel configuration to open the WFL

The WFL will appear now when moving the wheel, but it will contain only some pre-configured functions. Your own functions must be assigned in the second step in the Function Assignment dialog (as shown above). See the example for fig. 3.18 here again:

WFL's configuration

Fig. 3.20: Configuring the WFL

The entries "Wireframe Display" and "Shaded Display" are functions of the CAD application Autodesk Inventor; both have been dragged from the function list to the WFL slots as shown above.
The Wheel Assignment must be set to HandleWheelFunctionLauncher , this has been done by the first step already.

After these two configuration steps the WFL will appear with an extended function list, and if the Autotrigger Delay is set it will trigger a function automatically when it is chosen.

3.3.5 Calculator and Number Pad

In dialog Function Assignment you find in the branch "Functions/Devices/SpaceController/Others/" the function HandleCalculatorNumPad. Like all the other functions it can be dragged to a key, the WFL or the wheel. When the function is triggered the dialog Calculator/Number Pad is shown:

Calculator dialog

Fig. 3.21: Integrated calculator
Keypad dialog

Fig. 3.22: Integrated number pad

The number pad is used to put the characters on it into the foreground application's input fields if they have the focus. You do not need to let go your normal mouse for doing that in this way.

The same is possible with the calculator: When pushing the Send button the display is sent to the foreground application. The calculator provides the usual basic calculations and shows the following special characteristics:

Percent:
The "%" key converts the displayed number from a percentage to a decimal. When the key is pressed after an arithmetic operation, addon, discount and percentage can be computed as follows:
Examples:
Memory:
The calculator provides a memory, usable with the following keys:
The three check boxes in the dialog's lower part have the following meaning:
Hint: Calculator and number pad part of the SpaceControl Panel and can not be used without it. Therfore the panel must be running; if this is not the case while the calculator or number pad is called  the panel ist started first. The panel may be minimized.

3.3.6 Menu Bar

The menu bar allows you to load and save the configuration files for the connected devices, set your preferences, choose one of the connected devices for configuration and to open these help pages.

Menu Bar

Fig. 3.23: Menu Bar

3.3.6.1 File Menu


3.3.6.2 Device Menu

With the Device menu you can change the device for configuration if there is more than one device connected to the computer. Each connected device will be shown here as a new menu item. To distinguish the different devices the device's serial number is shown here and in the Device Type sub-panel of the main window (see fig. 3.1).
If the Readjust Dialog Size on Device Change checkbox  in the Preferences dialog (see fig. 3.24) is activated the main window's size is adjusted to the device picture when the device is changed. This is used to restore the window's default size in case the user has changed it.

3.3.6.3 Help Menu

If menu item User Manual is selected these help pages are opened in the Web browser you have selected in the Preferences dialog (see fig. 3.24).
Menu item About opens the usual About dialog box containing version information, copyright notice, license and system information. These data may be important if you need support in case of trouble with the driver

3.4 Loading And Saving Configurations

3.4.1 All Applications

The SpaceControl driver monitors the desktop and checks which application is in the foreground. If there is a special configuration for the foreground application the driver loads this configuration and sets all of the device's parameters to the values stored in it as soon as the application comes into the foreground. Always when a configuration will be loaded the actual configuration is stored automatically at first, without any user interaction. Notably it is not necessary to execute the menu items "File/Save Settings" or "File/Save Settings As ..."

What is a "special configuration" now? As mentioned above all configurations are stored as configuration files (with file extension ".cfg") in a folder "SpaceController" in the user's home directory (i. e. "C:\Users\<user name>\SpaceController\devices\<device's serial number>"). The driver checks for the name of the foreground application, appends the extension ".cfg" to the name and tries to load this configuration file. If there is no file with this name it loads always the file "common.cfg". Which file is actually loaded you can see in the SpaceController's main window in the Device Type sub-panel beside the label Settings File (see fig. 3.1) and on the device's LCD in the title line (see fig. 2.7).

Now the problem arises what the name of an application is. That is not always easy to determine - the driver tries to use the binary name seen in the operating system's process list. In case this is known not to work (e. g. all Java applications have the same binary name "java.exe") it uses the application window's title; of course this may be ambiguous too ...

Fortunately the S paceControl Panel tells you what the driver thinks the foreground application's name is: In the status bar you can see the entry Active Application ; e. g. in fig. 3.1, its value is "notepad". If you want to have a special configuration for the notepad application just save a file named "notepad.cfg" in the device's configuration file folder. The panel will propose this name automatically when activating the menu item "File/Save Settings As ...". Once this file is created the driver will always load it when an application called "notepad" comes into the foreground.

3.4.2 Supported Applications

The mechanism for loading configurations described in the previous chapter works for all applications. But some applications are better tied to the SpaceController by using a separate plug-in. Such a plug-in is able to monitor even the mode the application is in and triggers the driver to load a special configuration for this mode.

In the panel's status bar the value of the Active Application entry could e. g. be "Inventor/Part". This means the application "Inventor" (a well known CAD application) is in the foreground, and it is in the mode "Part". Loading a configuration works in the same manner as described above: If there is a file named "Part.cfg" in the subfolder "Inventor" it is loaded as soon as the application enters the mode "Part".

Additionally a plug-in could provide the driver and the panel with further information about the supported application. For instance, the plug-in for Inventor integrates its menu structure into the Function Assignment dialog; the user can assign a menu item to a device key in a comfortable way, s. Fig. 3.9.

3.4.3 Special Handling for the Windows Explorer

The mechanism of loading configuration files for the foreground application leads to a problem if the SpaceControl Panel is not already started. Say, you have got the application "notepad" into the foreground and want to configure its special, already existing configuration file "notepad.cfg". Therefore, you need to open the SpaceControl Panel and click into the start menu to do this, but since the Windows desktop is just an instance of the Windows Explorer, the Windows Explorer is the foreground application in this moment! And the driver loads the configuration file "Explorer.cfg", if it exists, or the file "common.cfg" if not. In any case, the configuration for your application "notepad" is replaced, and you are forced to click it again to bring it into the foreground. That is annoying.

Therefore there is a special treatment for the Windows Explorer: If the driver detects the Explorer as foreground application it waits ten seconds before loading its configuration file. This should be enough time to navigate through the start menu and to start the SpaceControl Panel .
Disadvantage: If you really want to have a special configuration for the Explorer you have to wait these ten seconds before you can use it. In this case, adjust the setting "explorerDelay" in the file "SpaceController\daemon.ini" in your home directory. If set to 0 the Explorer is treated as any other application.


3.4.4 Technical Notes for System Administrators

This section contains some details useful for setting up default configuration files and for preserving them from being deleted when updating the driver. Important are these facts:
When starting the driver the first time it will create a folder "SpaceController" in the user's home directory (i. e. "C:\Documents and Settings\<user name>\SpaceController\" in Windows XP or "C:\users\<user name>\SpaceController\" since Windows Vista or "/home/<user name>/SpaceController/" under Linux or "/Users/<user name>/SpaceController under OS X/). This folder contains the following items:

Table 3.1: Configuration files in a user's home directory when the driver is started the first time:
Folder /File
Description
SpaceController
Main folder.
 +- Applications Empty folder for files needed by plug-ins for applications.
 +- Devices Empty folder for device configuration files.
 +-daemon.ini
Configuration file for the driver.
 `-panel.ini Configuration file for the SpaceControl Panel .

The folder "Applications" is empty at first and will be filled when plug-ins are installed and started the first time. The same is with folder "Devices": It is empty at first and will be filled when a device is connected with the computer the first time. If both have occured the file structure will be as in following example:

Table 3.2: Configuration files in a user's home directory when plug-ins are installed and devices has been connected:
Folder /File
Description
SpaceController
Main folder.
 +- Applications
Folder with files needed by plug-ins for applications. These are only there if the appropriate plug-in is installed.
 |  +-catia.ini
Configuration file with settings for the Catia plug-in.
 |  +-catia.mnu
File with Catia's menu structure.
 |  +-proe_WF4_plugin.ini Configuration file with settings for the Pro/ENGINEER plug-in.
 |  +-ProEngineerWF4.mnu File with Pro/ENGINEER's menu structure.
 |  `- ...
Further files needed from plug-ins.
 +- Devices
Folder with configuration files of all devices once connected to the computer.
 |  +- MB1USX09010001V
Folder with all configuration files for the device with serial number MB1USX09010001V.
 |  |  +- Catia
Folder with all Catia's configuration files.
 |  |  |  +-2D Mode.cfg
Device configuration for Catia's 2D mode.
 |  |  |  `-3D Mode.cfg Device configuration for Catia's 3D mode.
 |  |  +- ProEngineerWF4 Folder with all Pro/ENGINEER's configuration files.
 |  |  |  +-Assembly.cgf Device configuration for Pro/ENGINEER's assembly mode.
 |  |  |  +-Part.cgf Device configuration for Pro/ENGINEER's part mode.
 |  |  |  `-*.cgf Further configuration files for other Pro/ENGINEER modes.
 |  |  +- ... Further folders for other applications.
 |  |  +-common.cfg Standard configuration if there is no other configuration for an application.
 |  |  +-googleearth.cfg Special configuration for GoogleEarth.
 |  |  `-... Further special configuration files for applications.
 |  +- MC1UWX09020203U Folder with all configuration files for the device with serial number MC1UWX09020203U.
 |  |  +- Catia Same as above for this device.
 |  |  +- ProEngineerWF4 Same as above for this device.
 |  |  `- ... Same as above for this device.
 |  |  +-common.cfg Same as above for this device.
 |  |  +-googleearth.cfg Same as above for this device.
 |  |  `-... Same as above for this device.
 |  +- ... Further folders for other devices.
 +-daemon.ini
Configuration file for the driver.
 `-panel.ini Configuration file for the SpaceControl Panel .

Where do the *.cfg files in the user's home directory come from? These files are copied from the driver's installation directory as soon as a device is connected with the computer the first time. The installation directory can be chosen during the installation process, the default one is "C:\Program Files\SpaceControl" or "C:\Program Files (x86)\SpaceControl" on 64 bit machines. In this folder there is the subfolder "cfgs", and its content is copied completely into the folder with the device's serial number in the user's home directory.

Now it is clear what to do if you want to provide your special default configurations for all users and devices: Just save your set of configuration files into the folder "cfgs" of the driver's installation directory, and these are copied when a user connects a device the first time with the computer. From this moment on the user may of course change his configurations on his own.

When deinstalling the driver it will ask you to delete your SpaceController folder. If you install a new driver software and an old SpaceController folder is found when the driver is started the first time, it will be renamed e. g. to "SpaceController_1.1.0" (if the old driver version has been 1.1.0), and the driver will create a new folder "SpaceController" with its default configuration files in it. You may copy your old configuration files into the new folder overwriting the new ones to get back your configurations.

3.5 Remote Control of Applications Over the Network

3.5.1 Overview

Since the communication between driver and plug-ins is done over TCP/IP - normally only on the local machine - you can do this over the network as well by modifying three configuration files. You can implement the following scenario (of course with an arbitrary number of clients):

Client/Server Scenario

Fig. 3.26: Client/Server environment for remote control

The applications to control, e. g. Inventor or NX, are installed on a network server (it may have a more advanced graphics card than the clients). The clients get access to the server's desktop with an appropriate remote control software, e. g. Microsoft's Remote Desktop or TeamViewer. The 3D controllers are connected via USB with the clients as usual .

Normally our plug-ins connect with the local running driver. Now you have to take care that the plug-ins running on the server connect with the driver on the clients. This can be achieved by providing the configuration files "spc_ctrlr_dll.ini" and "siapp_dll.ini" with the IP address or the network name of the client you want to speak with.

The driver on the client is not able now to detect if an application on the server is in the foreground of course and should be forced to send the data permanently to the server therefore. But this would be not very handy: The scene in the application would move even if on the client another local application is in the foreground which should be controlled exclusively. To avoid this the driver can check if the remote control software is in the foreground and sends the data to the server only in this case. To let the driver know what remote control software you are using its binary name has to be put into the local "daemon.ini" file.

There are two restrictions:

3.5.2 Configuration on the Server's Side

You have to do the following on the server:
  1. Install the SpaceControl driver software:
    The driver is not needed for operation but the plug-ins and some DLLs must be installed.
  2. Create the folder structure:
    The plug-ins expect a folder structure for their configuration files in "C:\Users\<username>\SpaceController\". The folders are created in a user's home directory when the driver starts the first time. The driver must be started therefore once on each user account.
  3. Create configuration files:
    The configuration files described in the next section are created in the folder "C:\Users\<username>\SpaceController\" when the application starts (better said: when it ends) the first time. The application you want to control must be started and ended once therefore if the needed configuration file is not there.
    Furthermore our plug-ins (with the exception of the Universal Plug-in) create a so called MNU file when started the first time containing the menu commands of the application. This file has to be copied to all clients, see below.
  4. Modify the configuration files:
    Which configuration file is needed depends on the application you want to control. Most of our plug-ins use the file "spc_ctrlr_dll.ini", but our Universal Plug-in uses the file "siapp_dll.ini". It is best to modify both of them: You just have to assign the IP address or the network name of the computer you want to control the application from to the parameter "ipv4Addr"; overwrite the old value "localhost".
    Samples:
Hint: Normally the driver checks which application is in the foreground and should get the data. Without the driver this will not work on the server of course. Therefore the plug-in suppresses the data by itself if it runs in remote mode, is not in the foreground and the parameter "sendMode" is set to "1". In remote mode the value "2" will do the same as "1"; see the comment in the configuration file. (The suppressing feature is implemented only in Windows, not in Linux and OS X for the time being.)

3.5.3 Configuration on the Client's Side

You have to do the following on each client:
  1. Install the needed plug-ins:
    The plug-ins are not necessary on the clients, but we need the configuration files ("assembly.cfg", "part.cfg" etc.) to modify them with the SpaceControl Panel. These files are copied with default values to the client during installation.
  2. Define the Remote Desktop Software:
    The driver should be prevented from sending data to applications not in the foreground. Running on the client, the driver can only detect if the local remote control software is in the foreground (not if an application on the server is in the foreground there) and can stop sending data to the server if not. You can let the driver know the binary name of your remote control software: Assign its binary name to the parameter "remoteSoftware" in file "daemon.ini". Suppress the file extension ".exe".
    Samples:
    The driver reads the file "daemon.ini" only when it starts; you have to restart the driver therefore when the file is modified.
  3. Copy the MNU file(s):
    When started the first time our plug-ins (with the exception of the Universal Plug-in) create a so called MNU file containing the menu commands of the application. This file has the extension ".mnu", is located in folder "C:\Users\<Username>\SpaceController\Applications\" and is needed by the driver and the SpaceControl Panel as well. Copy it into the same folder on each client.

3.5.4 Configuration of the Firewall

The firewall must be configured to allow the communication between all of the involved software components:

3.6 The C++ Application Programming Interface

For the C++ API documentation's main page click here. All functions available in the API are listed here.

3.7 The Java Application Programming Interface

For the Java API documentation click here. All functions available in the API are listed here.


4 Troubleshooting

If you have problems with the device, please, read these hints before contacting the hotline.

Problem
Solution
No movement of objects in applications.
Make sure the driver is running. If it runs a tray icon with the SpaceControl logo is displayed on the right side of your windows start bar.
Make sure you have the plug-in for your application installed: In the windows start menu in the folder "SpaceControl/Plug-ins" should be an entry for your plug-in.
Driver is running, still no movement of objects.
Open the SpaceControl Panel with menu item "SpaceControl/Start SpaceControl Panel" in your start menu or by double clicking the driver's tray icon. Try the cube demo. If the cube is moving restart your application to initiate the connection process again.
I just installed the driver, and nothing happens in the SpaceControl Panel 's cube demo when moving the cap. Unplug the device and plug it into your USB port again. In rare cases the USB connection can not be established when connecting the device the first time.
The SpaceControl Panel displays "try to connect ..." and a moving bar in the status line.
Start the driver with menu item Start Driver in Window's start menu.
The SpaceControl Panel 's cube demo is not working. Eventually the transmission of data has been deactivated by some settings in  the Advanced Configuration dialog. Press the button Defaults in the main window to set all parameters to the default values again.
I observe a drift of my objects.
Open the SpaceControl Panel , release the cap and press the Zero button. See here for details.
This effect may also be seen if your power supply via USB is instable. Use an active USB hub instead of a passive one or, better, no hub at all.
I observe a wobbling of my objects.
This may be caused by accidental power oscillations. Adjust the threshold or use data averaging. In some cases it may help to turn the blue LEDs off to stabilize the power supply.
I have a very jerky moving of the sliders and see often a dialog box with the error "Setting parameters failed!".
Try to connect the device directly to your computer, not using USB extension cables or especially USB hubs. Sometimes these cause a delay in communication resulting in these effects.
The SpaceControl Panel's sliders and other control elements are flickering if the in-built cube demo tab is open. The menus are not usable in this state.
This is most likely a problem with your graphics card driver. Install the latest version. If this is not possible you can start the SpaceControl Panel with a special option: Open a command window and navigate to the SpaceControl program folder (usually "C:\Program Files (x86)\SpaceControl"). Type

     jre6\bin\java.exe -Dsun.java2d.noddraw=true -jar sc_gui.jar

This starts the Java interpreter and loads the SpaceControl Panel application with disabled Direct3D support for the GUI elements.
To make the SpaceControl Panel usable again if it is in the flickering state, change back from the Demo tab to the Device tab.

This hint is obsolete: The panel is started with this option automatically now.
The SpaceControl Panel crashes when the device is plugged into the computer or an obscure dialog concerning Java 3D is displayed.
This may occur if your graphic card driver has no suitable support for OpenGL or Direct3D. Install a new graphics card driver to fix it. If this is not possible you can start the SpaceControl Panel without the in-built cube demo, this avoids using 3D graphics: Open a command window and navigate to the SpaceControl program folder (usually "C:\Program Files (x86)\SpaceControl"). Type

     jre6\bin\java.exe -DDemoOff -jar sc_gui.jar

This starts the Java interpreter and loads the SpaceControl Panel application with disabled cube demo.

This hint is obsolete: The panel disables the cube demo automatically if problems are detected.
The built-in cube demo is not displayed anymore. An error message "Cube Demo not available! Check your graphic card driver ..." appears instead.
This problem shows up with some graphic card drivers when the cube demo is opened on a second monitor. The panel disables the demo to avoid further problems. To activate the demo again move the panel to the primary display, open the "File/Preferences" dialog and check in the "Others" pane the box "Show Cube Demo".
The SpaceControl Panel opens but does not show the device panel of a connected device.
This may happen if your graphics card is in 256 color mode. Set it to 16 bit or true color.
The SpaceControl Panel opens but shows an empty window on Vista 64 Bit or Windows 7 64 Bit.
Right click on the "SpaceControl/Start SpaceControl Panel" entry in the SpaceControl's start menu and open the properties. There is a tab "Compatibility"; deactivate the "Visual designs".
The SpaceControl Panel loses the connection to the driver for a short time when changing the configuration.
This may happen if the device is connected via a USB hub with the computer. Connect it directly.
If I press the Help button on a dialog my browser opens the help file always in the first line, not in the appropriate chapter. This is a bug in older Internet Explorer versions. Newer versions, Chrome, Firefox, Opera and Safari are known to be working. If you don't want to use one of these as default browser you may use it as help browser for the SpaceController only, see the Preferences dialog above.
In the Internet Explorer click into the address field and press the return key to jump to the wanted section.
The display shows the text "unknown" after assigning a function to a key.
This may happen after the first start of a plug-in. Workaround: Put another application into the foreground and switch back.
I observe a time delay in Pro/ENGINEER if I move large assemblies and there are many Pro/E windows open.
This is a bug in Pro/E; Pro/E opens wrongly several connections to the SpaceControl driver causing this behaviour. It can be avoided by setting the parameter "singleComPerAppl" to "on" in file "C:\Users\<User name>\SpaceController\daemon.ini". Restart the driver and Pro/E afterwards.
The SpaceController does not work in Google Earth.
You have to switch on 3D controller support in Google Earth: Open the options dialog with menu item "Tools/Options..." and check the field "Enable Controller" under tab "Navigation".
The SpaceController does not work in Rhino 5.
Type "TestSpaceBall" into Rhino's command line, deactivate the new interface and restart Rhino.
Rhino rotates always around the scene's z-axis when I rotate around the y-axis of the SpaceController.
Click in Rhino on "File/Properties..." and activate the parameter "Rhino Options/View/Rotate relative to view".
KeyShot 5 freezes my computer.
KeyShot 5 causes nearly 100 % CPU load even without any user interaction. Together with the reading thread of our Universal Plug-in the computer may freeze. To avoid this open the Windows Taskmanager and detract a CPU core from the process "keyshot5.exe".
The driver does not start under macOS Sierra (10.12).
In file /etc/hosts the line
   127.0.0.1    localhost
must be added.
Under macOS Sierra (10.12) the SpaceControl Panel cannot connect to the driver.
Reason: The operating system's function gethostbyname(), called by the driver, does not find the IP address to the computer's network name and returns after a 5 second timeout. But the panel waits only 2 seconds for a response of the driver.
Workaround: Add a line with the computer's network name in file /etc/hosts:
   127.0.0.1    <computer name>.local
The computer name can be found in the Mac's System Preferences in the section "Sharing". Any spaces in the name must be replaced by hyphens.
The SpaceController does not work in Autodesk Inventor.
Newer versions of Inventor block unknown add-ins by default - you have to allow their execution first. To do this click on menu item "Tools/Add-ins" and in dialog "Add-ins Manager" on the entry "SpaceController Add-In". In the area "Loading Behaviour" remove the check mark at "Blocked" and activate the other two check boxes.

In case of further problems contact our support team:
E-mail: support@spacecontrol.de
Phone: +49 8152 90968-68

5 Technical Data

SpaceController:

Dimensions (width, depth, height): 198 mm, 199 mm, 81 mm
Weight: 845 g
Power consumption: 5 V, 65 mA (LEDs and LCD off) to 225 mA (LEDs and LCD set to max. brightness)
Power source: PC via USB cable
Connection interface: USB 2.0
Cable length: 1.8 m
Sensor: optoelectronic
Ambient temperature range: 15 °C - 40 °C


6 System Requirements

Hardware:
Operating system:
Software:

7 Change Log

  5 October 2017, Version 2.8.9:

19 July 2017, Version 2.8.8:

11 April 2017, Version 2.8.7:

28 November 2016, Version 2.8.6:

1 June 2016, Version 2.8.5:

14 March 2016, Version 2.8.4:

9 March 2016, Version 2.8.3:

18 November 2015, Version 2.8.2:
 
15 July 2015, Version 2.8.1:

2 April 2015, Version 2.8.0:

5 November 2014, Version 2.7.0:

16 July 2014, Version 2.6.3:

16 June 2014, Version 2.6.2:

16 January 2014, Version 2.6.1:

21 November 2013, Version 2.6.0:

10 April 2013, Version 2.5.1:

20 March 2013, Version 2.5.0:

14 January 2013, Version 2.4.2:

13 November 2012, Version 2.4.0:

12 September 2012, Version 2.3.2:

30 May 2012, Version 2.3.1:

19 April 2012, Version 2.3.0:

7 December 2011, Version 2.2.2:

24 November 2011, Version 2.2.1:
 
15 July 2011, Version 2.1.2:

1 February 2011, Version 2.0.0:

5 October 2010, Version 1.4.3 beta:

23 August 2010, Version 1.4.2:

22 July 2010, Version 1.4.1:

20 April 2010, Version 1.4.0:

15 January 2010, Version 1.2.1:
 
19 November 2009, Version 1.2.0:

16 July 2009, Version 1.1.2:

15 June 2009, Version 1.1.1:

5 April 2009, Version 1.1.0:

17 March 2009, Version 1.0.1:

8 Known Bugs


9 Trademarks

Autodesk Inventor ® is a registered trademark of Autodesk, Inc., in the USA and other countries
Google Earth ® is a trademark of Google Inc.
Linux ® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microsoft ®, Windows ® and Internet Explorer® are registered trademarks of Microsoft Corporation in the United States and/or other countries.
Pro/ENGINEER ® is a registered trademark of Parametric Technology Corporation or its subsidiaries in the U.S. and in other countries.
Siemens NX ® is a registered trademark of Siemens Product Lifecycle Management Software Inc. or its subsidiaries in the United States and in other countries.
Solid Edge ® is a trademark or registered trademark of Siemens Product Lifecycle Management Software Inc. or its subsidiaries in the United States and in other countries.


SpaceControl Author: Friedemann Seebass
Copyright © SpaceControl GmbH & Co. KG, Am Technologiepark 10, 82229 Seefeld, Germany