SpaceControl
3D-Eingabegeräte


Benutzerhandbuch

SpaceController
          Geräte


Copyright © 2009-2018 by SpaceControl GmbH & Co. KG, Deutschland
21. August 2018
 

Inhalt

go to the English version



1 Einführung

3D-Eingabegeräte wie der SpaceController arbeiten ähnlich wie eine Maus und dienen zur Bewegung von Objekten auf einem Computerbildschirm. Eine normale Maus hat zwei Freiheitsgrade: die Bewegung in Richtung auf/ab und in Richtung links/rechts. Im Unterschied dazu haben unsere 3D-Mäuse sechs Freiheitsgrade: Translation in allen drei Raumrichtungen (Achsen x, y und z) und Rotation um jede dieser Achsen. Daher sind sie die ideale Ausrüstung, um Objekte in virtuellen 3D-Welten zu bewegen und zu rotieren, wie z. B. Bauteile in CAD-Applikationen oder auch die Kamera in Google Earth.

Zu den 3D-Eingabegeräten gehört eine Software. Beides wird in diesem Handbuch beschrieben.

2 Die Geräte

2.1 Handhabung

Unsere 3D-Mäuse wurden insbesondere für professionelle CAD-Anwender entwickelt. Die übliche Arbeitsweise im "computer aided design" ist es, ein Objekt auf dem Bildschirm in eine geeignete Position zu bringen und es dann mit Werkzeugen zu bearbeiten. Ebenso ist es in der realen Welt: Stellen Sie sich vor, Sie schälen eine Kartoffel. Sie halten die Kartoffel in der linken Hand und schälen sie mit dem Messer in Ihrer rechten (vorausgesetzt, Sie sind Rechtshänder ...). An Ihrem CAD-Arbeitsplatz können Sie es nun genauso machen: Sie bewegen ein Objekt mit der linken Hand (mit dem SpaceController) und bearbeiten es mit der rechten (mit der normalen Maus).
Daher ist der SpaceController insbesondere für die linke Hand konstruiert. Stellen Sie das Gerät also auf die linke Seite Ihrer Tastatur und halten Sie die Hand wie unten gezeigt:

Usage Hand position
Abb. 2.1: Der SpaceController läßt sich am ergonomischsten
mit der linken Hand bedienen
Abb. 2.2: Optimale Handhaltung

Selbstverständlich können Sie den SpaceController auch mit der rechten Hand bedienen: In unserem speziellen Rechte-Hand-Modus, den Sie in der Steuer-Software aktivieren können, werden die Anzeige und die Ausrichtung der Kappe für die Bedienung mit der rechten Hand angepaßt. Einzig die Tastenanordnung ist dann natürlich nicht mehr ganz so ergonomisch. S. unten für Details.

Usage
Abb. 2.3: Bedienung im Rechte-Hand-Modus
Handposition
Abb. 2.4: Handhaltung bei Bedienung mit der rechten Hand


2.2 Bedienelemente

Die Bedienelemente des SpaceControllers zeigt das nächste Bild:

Control elements
Abb. 2.5: Bedienelemente des SpaceControllers

2.2.1 Kappe und Drehrad

Die Kappe ist das wichtigste Bedienelement. Man kann sie in jede Richtung ein paar Millimeter auslenken, und ein Objekt auf dem Bildschirm wird sich in die entsprechende Richtung bewegen. Versuchen Sie es mit der Würfel-Demo des SpaceControl Panels (siehe unten).
Manche Leute bevorzugen einen Ball statt der Kappe. Den SpaceController gibt es in beiden Ausführungen:

Cap and ball
Abb.2.6: SpaceController in Kappe- und Ballausführung

Das silberne oder graue Drehrad befindet sich unterhalb der Kappe und wird u. a. zur Navigation im SpaceController-Bedienmenü verwendet. Außerdem ist es konfigurierbar, und Sie können beliebige Funktionen mit ihm verknüpfen.

2.2.2 Tasten

Die Tasten sind ergonomisch angeordnet; Sie werden feststellen, daß die wichtigen Tasten für die meisten Menschen in optimaler Reichweite liegen. Wenn Sie Ihre meistbenutzten Tasten an anderer Position haben wollen - kein Problem: Alle Tasten (mit Ausnahme der MENU- und PANEL-Taste) können umkonfiguriert werden (s. ,unten).
Die Tasten sind:
Eine versteckte Funktion wird ausgeführt, wenn man die Ctrl- und die Panel-Taste gleichzeitig drückt: Alle Lichter (LEDs und LCD) werden damit ein- und ausgeschaltet.

2.2.3 Anzeige

Die Anzeige ist in drei Bereiche unterteilt:
  • Die Titelzeile zeigt die Applikation, die sich gerade im Vordergrund befindet, und die Konfigurationsdatei, die der Treiber aktuell verwendet; in nebenstehendem Fall ist die Vordergrundapplikation "Inventor" und die Konfigurationsdatei ist "Assembly.cfg".
  • Im mittleren Abschnitt sind die sechs Funktionstasten des Gerätes aufgeführt. Wenn eine Taste mit einer Funktion belegt ist, wird deren Name angzeigt, sonst "--Inaktiv--".
  • In der untersten Zeile kann man einige Statusinformationen ablesen, nämlich ob sich das Gerät im ORG-, CAM-, WFL-, 2D- oder DOM-Modus befindet. Falls ein Modus aktiv ist, wird das entsprechende Feld rot beleuchtet. Die Modi werden im folgenden Abschnitt erläutert.
Außerdem ändert die Anzeige ihren Inhalt in anderen Modi, siehe den nächsten Abschnitt.
Display in standard mode
Abb. 2.7: Die Anzeige im Standardmodus

2.2.4 Modi

Der SpaceController befindet sich entweder im Standardmodus oder im Menümodus. Im Standardmodus kann man die fünf Betriebszustände ORG, CAM, WFL, 2D und DOM auf dem Display bzw. der LED-Beleuchtung ablesen.

3 Die Software

Die Software besteht aus einem Treiber, der für die Kommunikation zwischen dem Gerät und den Anwenderapplikationen zuständig ist, dem SpaceControl Panel zur Konfiguration des Gerätes, einigen Demo-Programmen und APIs (Application Programming Interfaces) zum Ansprechen des Treibers in C++ und Java. Außerdem gibt es einige sogenannte Plug-ins, die Anwenderapplikationen besser in den Treiber integrieren helfen.

3.1 Installation und Deinstallation

3.1.1 Windows®

3.1.1.1 Installation

Alle Software-Komponenten sind in einer einzigen Installationsdatei "SpaceControl_Driver_xxx_Win32_64_setup.exe" zusammengefaßt, wobei das "xxx" für die aktuelle Versionsnummer steht. Z. B. ist "SpaceControl_Driver_280_Win32_64_setup.exe" die Installationsdatei für die Version 2.8.0. Die Installation ist einfach:
Während der Installation erscheinen ein paar Konsolenfenster, schließen Sie diese nicht, sonst wird die Installation nicht korrekt durchgeführt!

Verbinden Sie den SpaceController mit dem Computer, sobald Sie das Installationsprogramm dazu auffordert, und starten Sie den Treiber erst anschließend. Andernfalls wird sich der Treiber über eine fehlende Datei ("ftd2xx.dll") beschweren, die erst beim Anstecken des Gerätes kopiert wird. In seltenen Fällen kann es auch notwendig sein, das Gerät noch einmal ab- und wieder anzustecken, um die Verbindung zwischen Treiber und Gerät herzustellen.

Der Installer sucht in der Windows Registry nach den Applikationen, für die wir Plug-ins bereitstellen, damit sie bei Bedarf automatisch gestartet werden können. Sie sollten unseren Treiber daher erst nach Ihren Applikationen installieren, weil der Installer die Registry-Einträge sonst nicht finden kann.

Der Installer kann in einem "stillen" Modus ausgeführt werden, so daß keine Benutzereingaben nötig sind. Dazu starten Sie den Installer in einer Eingabeaufforderung mit den Parametern "/S" (für "silent"), "/D" (zur Festlegung eines Installationsverzeichnisses) und "/P=<Liste der gewünschten Plug-ins>". Beispiel:

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

wird die Software mit den Plug-ins für Inventor und Solid Edge und das Universal Plug-in in den Ordner "C:\meineProgramme\SpaceControl" installieren, ohne irgendwelche Nachfragen.
Als Namen der Plug-ins sind die folgenden Zeichenketten erlaubt:
Groß- oder Kleinschreibung spielt keine Rolle, als Trennzeichen wird ";" verwendet. Die Namen sind dieselben, die bei der normalen Installation in der Plug-in-Auswahlliste angezeigt werden.

3.1.1.2 Deinstallation

Auch der Uninstaller kennt den Parameter "/S". Zusätzlich können Sie ihm die Option "/UF=delete" mitgeben, dann werden die "SpaceController"-Ordner in allen Benutzerverzeichnissen ohne Rückfrage gelöscht, sonst bleiben sie ohne Rückfrage erhalten:

     sc_uninst.exe /S /UF=delete

3.1.2 Linux®

3.1.2.1 Installation

Alle Software-Komponenten sind in einer einzigen Installationsdatei "SpaceControl_Driver_xxx_LNXyy_setup.sh" zusammengefaßt, wobei das "xxx" für die aktuelle Versionsnummer und "yy" für die Architektur des Installers steht. Z. B. ist "SpaceControl_Driver_281_LNX64_setup.sh" die Installationsdatei für die Version 2.8.1, 64 Bit. Die Installation ist einfach:
Der Installer kann in einem "stillen" Modus ausgeführt werden, so daß keine Benutzereingaben nötig sind. Dazu starten Sie den Installer als Root mit den Parametern "-s" und "-p <Liste der gewünschten Plug-ins>". Da diese Kommandos in einem "inneren" Skript ausgeführt werden, muß das "äußere" Skript mit dem zusätzlichen Parameter "--" veranlaßt werden, die Kommandos dorthin weiterzuleiten. Beispiel:

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

wird die Software ohne irgendwelche Nachfragen mit dem Blender-, dem Maya- und dem NX-Plug-in installieren. Groß- und Kleinschreibung ist relevant!
Derzeit gibt es als einziges Plug-in allerdings nur das für Blender. Wenn Sie dessen Installation verhindern wollen, geben Sie dem Parameter "-p" statt "Blender" irgendeine beliebige Zeichenkette mit.

3.1.2.2 Deinstallation

Der Uninstaller liegt im Ordner "/opt/SpaceControl/":

    /opt/SpaceControl/uninstall -s

Den Parameter "-s" muß man nur angeben, wenn man den Uninstaller im "stillen" Modus (also ohne Rückfragen) ausführen will; das funktioniert auch hier aber nur, wenn man das Skript mit Root-Rechten ausführt.

3.1.3 macOS®

Alle Software-Komponenten sind in einer einzigen Installationsdatei "SpaceControl_Driver_xxx_OSX64_setup.dmg" zusammengefaßt, wobei das "xxx" für die aktuelle Versionsnummer steht. Z. B. ist "SpaceControl_Driver_281_OSX64_setup.dmg" die Installationsdatei für die Version 2.8.1. Es gibt nur eine Version für 64 Bit, 32 Bit wird nicht unterstützt. Die Installation ist einfach:
Das Skript "Double click to install ..." akzeptiert dieselben Parameter (z. B. "-s" für Silent-Modus) wie der Installer für Linux. S. oben.

3.1.4 Plug-ins

Einige Applikationen sind besser integriert als andere, d. h. der Treiber kennt ihre Menüstruktur, und der Anwender kann die Menüpunkte einer solchen Applikation auf die Gerätetasten legen (s. Abschnitt Tastenkonfiguration für Einzelheiten). Dazu ist eine zusätzliche Software, ein Plug-in, nötig. Die Plug-ins sind bereits in das Installationsprogramm integriert und können einzeln zur Installation ausgewählt werden. Sie lassen sich über die entsprechenden Einträge im Windows-Start-Menü auch einzeln deinstallieren oder über das Installationsprogramm jederzeit nachinstallieren.

Folgende Plug-ins sind derzeit verfügbar (die Verknüpfungen zu den Readme-Dateien in der Tabelle funktionieren nur, wenn das entsprechende Plug-in installiert ist):

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

Das Universal Plug-in ist ein Sonderfall: Es dient zur Anbindung nicht nur einer Software, sondern zur Ansteuerung verschiedener Applikationen, in denen eine etablierte Schnittstelle zu 3D-Controllern implementiert ist (s. die Liste in der Readme-Datei). Es kann daher die Menüpunkte der Applikationen nicht auslesen; die Menüpunkte müssen durch Tastenmakros abgebildet werden, ebenso die Tasten Front, Right, Top und Fit.

3.2 Starten von Treiber und SpaceControl-Panel

Starten Sie den Treiber mit dem Eintrag Starte Treiber in Ihrem Startmenü oder durch Ausführen von "sc_daemon" bzw. "sc_daemon.exe" im Installationsverzeichnis. Möglicherweise erhalten Sie eine Warnmeldung Ihrer Firewall wegen der Herstellung einer Internet-Verbindung. Das liegt daran, daß die Software ihre interne Kommunikation mittels TCP/IP abwickelt (dasselbe Protokoll wird im Internet verwendet); tatsächlich verbindet sich die SpaceController-Software aber nicht mit dem Internet (außer zur Anzeige der Hilfe-Videos auf den Dialogen). Erlauben Sie also der Firewall, die Zugriffe des Treibers zuzulassen.

Wenn der Treiber das erste Mal gestartet wird, erzeugt er einen Ordner "SpaceController" im Benutzerverzeichnis, der einige Konfigurationsdateien enthält. Je nach Betriebssystem wird er also im Verzeichnis angelegt. Diese Dateien werden modifiziert, wenn man den Treiber mit dem SpaceControl Panel konfiguriert, und beim nächsten Start wieder eingelesen.

Das SpaceControl Panel wird ebenso gestartet, nämlich durch Anklicken des Eintrags "SpaceControl/Starte SpaceControl-Panel" im Windows-Startmenü. Sofern ein SpaceController an den Computer angeschlossen ist, wird es nach dem Start aussehen wie in Abb. 3.1 gezeigt.

3.3 SpaceControl-Panel

Die SpaceControl Panel-Applikation dient zur Konfiguration des Gerätes. Das Programmfenster besteht aus den üblichen Komponenten, also einer Menüzeile, Schaltflächen und anderen Bedienelementen:

Control Panel

Abb. 3.1: SpaceControl Panel

In der oberen, linken Ecke sieht man das Gerätetyp-Feld, das den Gerätetyp und die Geräteseriennummer zeigt. Diese Informationen sind nur von Bedeutung, falls man mehrere SpaceController an den Computer angeschlossen hat (man kann bis zu vier Geräte anschließen). Jedes Gerät hat seine eigene Konfiguration, die in einem separaten Ordner gespeichert wird, dessen Name die Seriennummer ist. Dieser Ordner kann viele Konfigurationsdateien enthalten; welche Datei gerade geladen ist, kann man neben der Feldbezeichnung Konfigurationsdatei ablesen: In Abb. 3.1 ist das z. B. die Datei "common.cfg". Einzelheiten sind in Abschnitt 3.4 beschrieben.

Das nächste Feld zeigt die Grundeinstellungen des Gerätes ( Grundkonfiguration). Hier kann man die wichtigsten Grundparameter verändern, z. B. die Empfindlichkeit der Kappe, den Bewegungsmodus oder die Drehradbelegung; Einzelheiten in Abschnitt 3.3.1. Für spezielle Anforderungen können Sie weitere Einstellungen in der Erweiterten Konfiguration (s. unten) vornehmen.

Der ganze rechte Bereich zeigt das Gerät, das man gerade konfiguriert (wenn mehrere Geräte angeschlossen sind, kann man zwischen ihnen mit dem Geräte-Menü in der Menüzeile wechseln). Eine Auslenkung der Kappe wird durch weiße Balken und Kreisbögen dargestellt, die über dem Bild eingeblendet werden. Eine weitere Visualisierung liefert der Demo-Karteireiter, dort kann man einen bunten Würfel bewegen und sieht die Reaktion auf neue Einstellungen ebenfalls sofort:

Würfel-Demo
Abb. 3.2: Integrierte Würfel-Demo

Schließlich gibt es im unteren Bereich sechs Schaltflächen:


3.3.1 Grundkonfiguration

Es gibt folgende Grundeinstellungen (s. Abb. 3.1):
  • Empfindlichkeit
    Mit diesem Schieberegler verändern Sie die Empfindlichkeit der Kappe, also die Geschwindigkeit, mit der sich Objekte bewegen. Größere Werte führen bei gleicher Auslenkung der Kappe zu größerer Geschwindigkeit. Während die Regler bewegt werden, sieht man auf dem LCD eine Balkenanzeige wie in Abb. 3.3.

  • Rotationszentrum
    Hier kann man zwischen den Einstellungen Blickpunkt und Ursprung od. Kamera wählen. Im ersten Fall rotiert man eine Szene um den Mittelpunkt des Bildschirms (besser gesagt um die Mitte des aktiven Fensters), im zweiten um den Ursprung der Szene (im Szenenmodus), bzw. um die Kamera (im Kameramodus). Weiteres finden sie auch hier.

  • Bewegungsmodus
    Die Einträge in der Liste sind hier Szene und Kamera. Im Szenemodus bewegt man mit der Kappe (scheinbar) die Szene, im Kameramodus die virtuelle Kamera, die auf die Szene blickt. Weiteres finden sie auch hier.

  • Drehrad
    Das silberne oder graue Drehrad unterhalb der Kappe ist frei konfigurierbar. Die wichtigsten Zuordnungen lassen sich aber auch hier sehr schnell über die Auswahlliste erledigen:
    • Links: Empfindlichkeit, rechts WFL
      Eine Bewegung nach links öffnet einen kleinen Schiebereglerdialog zur Einstellung der Kappenempfindlichkeit.
      Eine Bewegung nach rechts öffnet den sog. Wheel-Function-Launcher.
    • Wheel-Function-Launcher (WFL)
      Mit dem WFL kann man sehr komfortabel beliebige Funktionen auslösen, Einzelheiten finden Sie hier.
    • Gestenerkennung
      Bei dieser Einstellung erkennt das Drehrad bis zu sechs verschiedene "Gesten", also Kombinationen von Links-Rechts-Bewegungen. Jede Geste kann mit einer Funktion verknüpft werden, die dann ausgelöst wird.
    • Empfindlichkeit
      Mit dem Drehrad läßt sich die Empfindlichkeit der Kappe einstellen.
    • Funktionstasten
      Das Drehrad löst die sechs Tasten des Gerätes aus (falls Ihre Finger für die Tasten 5 und 6 nicht lang genug sein solllten ...).
    • LCD-Helligkeit
      Das Drehrad steuert die Helligkeit des Displays.
    • LED-Helligkeit
      Das Drehrad steuert die Helligkeit der blauen LEDs.
    • Benutzerdefiniert
      Das Drehrad hat eine andere Konfiguration, die Sie im Funktionszuordnungsdialog festlegen können.
Display
Abb. 3.3: LCD während der Einstellung der Empfindlichkeit


3.3.2 Erweiterte Konfiguration

Der Dialog für Erweiterte Konfiguration besteht im wesentlichen aus vier Bereichen für Translationsdaten, Rotationsdaten, Modifizierern und Bewegungsmodus. Er erlaubt eine etwas detailliertere Konfiguration des Gerätes als in der Grundkonfiguration.

Dialog für Erweiterte
          Konfiguration

Abb. 3.4: Dialog für Erweiterte Konfiguration

Die Bedienelemente für die Translation und Rotation sind als Tabelle angeordnet und bestehen jeweils aus drei Zeilen. Jede Zeile erlaubt die Veränderung einer der Translationskoordinaten x, y, z oder der Rotationskoordinaten um die entsprechende Achse. Abb. 3.4 zeigt die Tabellen in ihrem Grundzustand. Sie können erweitert werden durch Aktivieren der Ankreuzfelder Aktiviere Achsenumbelegung und Aktiviere Mauszeigerbewegung bei den Modifizierern. Wenn sie aktiviert sind (und das Feld Weitere Einstellungen), sieht der Dialog aus wie in Abb. 3.5:

Dialog für Erweiterte
          Konfiguration, erweitert

Abb. 3.5: Dialog Erweiterte Konfiguration; Achsenumbelegung, Mauszeigerbewegung und Weitere Einstellungen aktiviert

Die Tabellen bestehen aus folgenden Spalten:
Neben den Tabellen gibt es noch folgende Einstellmöglichkeiten:
Alle Einstellungen werden sofort wirksam, daher gibt es keinen OK-Knopf. Wenn Sie Ihre Einstellungen auf die Werkseinstellungen zurücksetzen wollen, benutzen Sie die Standardwerte-Schaltfläche im Hauptfenster (s. Abb. 3.1).

Hinweis: Der Zustand der Ankreuzfelder Verbinde Schieberegler ist nicht Teil der Konfiguration, sondern sind eine Eigenschaft der Bedienoberfläche. Sie werden nicht mit den Einstellungen gespeichert.

3.3.3 Funktionszuordnung (Tastenkonfiguration)

Mit dem Dialog zur Funktionszuordnung kann man die SpaceController-Tasten, das Drehrad, den Wheel-Function-Launcher und die Kappe mit vordefinierten Funktionen oder mit vom Benutzer aufgezeichneten Makros (Tastensequenzen) belegen.

3.3.3.1 Verknüpfen von Funktionen mit Tasten

Abb. 3.6 zeigt den Dialog zur Funktionszuordnung in seinem Grundzustand. Auf der linken Seite befindet sich - einsortiert in eine Baumstruktur - eine Liste mit allen verfügbaren Funktionen; auf der rechten Seite ist die Liste der Tasten, denen Funktionen zugeordnet werden können. Eine Funktion wird einer Taste zugeordnet, indem man sie einfach mit der Maus auf die gewünschte Taste zieht.
Jede Taste kann doppelt belegt werden: Eine Funktion der zweiten Belegungsebene kann man durch einen Doppelklick der Taste auslösen. Oder man tauscht vor einem einfachen Klick beide Tastenebenen gegeneinander aus, indem man die Funktion Andere Tastenebene ausführt (diese Funktion ist standardmäßig mit der Gerätetaste 6 verknüpft). Um die beiden Ebenen zu konfigurieren, wechselt man zwischen ihnen mit den Reitern Einfachklick und Doppelklick.

Key Configuration
          Dialog

Abb. 3.6: Dialog Funktionszuordnung


Für bessere Übersicht unterscheiden wir zwischen:
Insbesondere im letzten Fall befinden sich sehr viele Funktionen im Baum, und es kann schwierig sein, die gewünschte Funktion zu finden. Daher kann man mit dem Suche-Feld nach einem Element suchen. Der Nächstes-Knopf springt zum nächsten gleichlautenden Eintrag, falls es einen gibt.

Die Konfiguration der sechs Gerätetasten, nummeriert von 1 bis 6, wird im Display des SpaceControllers angezeigt. Wenn Sie das nicht interessiert, können Sie sich stattdessen auch Datum und Uhrzeit anzeigen lassen, indem Sie das Ankreuzfeld Zeige Uhr statt Funktionen aktivieren.

Display showing a function
Abb. 3.10: Display zeigt die Funktionen auf den Tasten
Display showing the clock
Abb. 3.11: Display zeigt Datum und Uhrzeit


3.3.3.2 Aufzeichnen von Anwenderfunktionen (Makros)

Zum Aufzeichnen einer Anwenderfunktion (das ist eine Folge von Tastendrücken auf Ihrer Computer-Tastatur, die einer SpaceController-Taste zugeordnet wird) führt man folgende Schritte aus.
Abb. 3.12 zeigt die aufgezeichnete Tastensequenz "a Alt b F3"; man sieht, daß jeder Tastendruck in das "Taste gedrückt"- und "Taste losgelassen"-Ereignis aufgeteilt ist, wobei ersteres durch Großbuchstaben und letzteres durch Kleinbuchstaben dargestellt wird. In einem solchen Fall wird die komplette Tastensequenz in die Tastaturereignisschlange des Betriebssystems eingespeist, sobald die entsprechende SpaceController-Taste gedrückt wird. Wenn die Taste losgelassen wird, passiert nichts.
Das ist natürlich nicht gewünscht, wenn Ihre Funktion z. B. aus "<SHIFT><shift>" besteht, also aus dem Drücken der Umschalttaste. In diesem Fall möchte man, daß das "Taste gedrückt"-Ereignis beim Drücken der SpaceController-Taste gesendet wird, das "Taste losgelassen"-Ereignis aber erst beim Loslassen; denn sonst könnte man keine Großbuchstaben eingeben, während man die Taste gedrückt hält.

Daher ist folgende Regel implementiert:
Bemerkung 1 : Leider können nicht alle Tasten aufgezeichnet werden. Tasten, die auf deutschen Tastaturen bekanntermaßen nicht funktionieren, sind z. B. "ä", "ö", "ü", "ß", "#". Beim Drücken der Taste "+" wird stattdessen die "+"-Taste auf dem Nummernblock aufgezeichnet.
Wenn Sie den ASCII-Code des gewünschten Zeichens wissen, können Sie es aber wie üblich durch eine Kombination mit der Alt-Taste und dem Ziffernblock aufzeichnen. Beispielsweise hat das Zeichen "#" den ASCII-Code 35. Halten Sie also die Alt-Taste gedrückt, tippen Sie auf dem Ziffernblock "3" und "5" und lassen Sie die Alt-Taste wieder los.

Bemerkung 2 : Beachten Sie, daß Sie Ihre Tastensequenzen exakt so aufzeichnen müssen wie Sie sie auch in Ihrer Applikation eingeben würden. Z. B. erlauben die meisten Programme das Speichern des aktuellen Dokuments mit dem Tastenkürzel "Strg S". Das bedeutet: Steuerung-Taste drücken (und gedrückt halten!), S-Taste drücken, S-Taste loslassen und Steuerung-Taste loslassen. Diese Sequenz sollte im Funktionen-Editor so erscheinen:
    "<STRG><S><s><strg>" ( richtig).
Es ist ein beliebter Fehler, die Steuerung-Taste sofort loszulassen und die S-Taste erst anschließend zu drücken, was dann so aussieht:
    "<STRG><strg><S><s>" ( falsch).
Das ist falsch und sendet letztendlich nur die S-Taste an Ihre Applikation.

Bemerkung 3 : Um ein unerwünschtes Schließen des Dialogs zu vermeiden, wenn man z. B. die Sequenz <Alt><O><o><alt> aufzeichnet, gibt es in diesem Dialog keine Tastenkürzel für die Knöpfe (wie z. B. <Alt><O> für den OK-Knopf). Wenn Sie den Dialog ohne Maus bedienen wollen, verwenden Sie die Tabulatortaste, um zwischen den Feldern und Schaltflächen zu wechseln.

3.3.3.3 Zuweisen von Funktionen an Spezialtasten

Der SpaceController hat nicht nur die sechs dedizierten Funktionstasten, sondern auch die speziellen Tasten für übliche Aufgaben in Applikationen, wie Strg, Shift, 2D/3D usw. Man kann diese Tasten auf dieselbe Weise wie oben beschrieben umdefinieren, wenn man das Zeige Spezialtasten-Belegung-Ankreuzfeld aktiviert. In diesem Fall werden zusätzliche Felder für die Funktionszuordnung zu diesen Tasten angezeigt:

Key Configuration
          Dialog, Special Keys Activated

Abb. 3.13: Dialog Funktionszuordnung, Spezialtasten-Belegung aktiviert


3.3.3.4 Zuweisen von Funktionen an das Drehrad

Das silberne oder graue Drehrad unterhalb der Kappe ist wie schon erwähnt frei konfigurierbar. Nach Anklicken des Ankreuzfeldes Zeige Drehrad-Belegung kann man dem Drehrad beliebige Funktionen zuweisen:

Drehrad-Konfiguration

Abb. 3.14: Dialog Funktionszuordnung, Drehrad-Belegung aktiviert

Zunächst ist es möglich, der Links- und Rechtsbewegung jeweils dieselbe Funktion zuzuweisen oder - wie oben gezeigt - auch verschiedene.
Wenn beiden Bewegungen die Funktion Drehradgesten auswerten zugeordnet ist (das geschieht im SpaceControl-Panel mit der Auswahl des Elements Gestenerkennung in der Auswahlliste Drehrad), wird der oben grau dargestellte Bereich Gesten freigeschaltet, und das Drehrad wertet sechs verschiedene Gesten aus. Ordnen Sie beispielsweise der Geste "Drehrad nach rechts + Drehrad nach links" eine beliebige Funktion zu.

3.3.3.5 Zuweisen von Funktionen an den Wheel-Function-Launcher

Falls die sechs Funktionstasten nicht ausreichen sollten, kann man bis zu 28 Funktionen auch dem sogenannten Wheel-Function-Launcher zuweisen. Das ist eine kleine Dialogbox, in der man die gewünschte Funktion mit Hilfe des Drehrads auslösen kann (s. unten). Zugewiesen werden diese Funktionen, indem man das Ankreuzfeld Zeige WFL-Belegung aktiviert:

Wheel-Function-Launcher-Konfiguration

Abb. 3.15: Dialog Funktionszuordnung, WFL-Belegung aktiviert

Wie üblich kann man eine Funktion einfach auf einen der 28 Speicherplätze ziehen.

3.3.3.6 Zuweisen von Funktionen an die Kappenauslenkungen

Man kann Funktionen nicht nur auf die Gerätetasten legen, sondern auch auf die Kappe: Eine Funktion wird dann ausgeführt, sobald die Kappe in die entsprechende Richtung ausgelenkt wird. Um diesen Mechanismus zu aktivieren, klicken Sie auf das Ankreuzfeld Aktiviere Kappenbelegung links unten im Dialog. Der Dialog wird dadurch größer und erlaubt die Zuordnung von Funktionen an jede Kappenauslenkung. Eine erste Funktion wird bei einer kleinen Kappenauslenkung ausgeführt, eine zweite bei großer Auslenkung.

Key Configuration
          Dialog, extended

Abb. 3.16: Dialog Funktionszuordnung mit aktivierter Kappen-Belegung

In Abbildung 3.16 sieht man eine typische Konfiguration für 3D-Schießspiele: Wenn man zum Bewegen der Spielfigur die Tastatur verwendet, dienen dazu üblicherweise die Tasten w, s, a und d für vorwärts, rückwärts, links und rechts. Daher erstellt man vier Anwenderfunktionen mit Namen w, a, s und d (die Namen spielen freilich keine Rolle) und zeichnet einfach die Tastendrücke w, s, a und d auf. Dann zieht man die Funktionen auf die Auswahllisten der Kappe wie in der Abbildung gezeigt; eine leichte Vorwärtsauslenkung der Kappe wird die Spielfigur nun nach vorne bewegen, für eine seitliche Bewegung muß man die Kappe etwas stärker auslenken, weil die Kappenauslenkungen "x-Translation rechts - klein" und "x-Translation links - klein" nicht aktiv sind. Kriechen und springen kann man auf die großen y-Translationen legen.

Keyboard

Abb. 3.17: W, A, S und D sind die üblichen Bewegungstasten in 3D-Schießspielen
SpaceController with WASD

Abb. 3.18: Die Zuordnung der Tasten W, A, S und D an die Kappe erlaubt die Bewegung der Spielfigur mit dem SpaceController


Sende Funktion nur im Fall einer Änderung sollte außerdem aktiviert werden. Falls das nicht der Fall ist, sendet der SpaceController nämlich z. B. "Taste w gedrückt", "Taste w losgelassen", "Taste w gedrückt", "Taste w losgelassen" usw. an das Spiel, so lange die Kappe entsprechend ausgelenkt wird. Das ist für diese Anwendung nicht brauchbar, denn die Taste wird dadurch immer sofort wieder losgelassen, und die Spielfigur würde sich fast überhaupt nicht bewegen! Wenn das Ankreuzfeld aktiviert ist, wird der SpaceController dagegen das Ereignis "Taste w gedrückt" einmal senden, sobald die Kappe entsprechend ausgelenkt wird, das Ereignis "Taste w losgelassen" aber erst dann, wenn die Kappe ihren Zustand wieder ändert, also die Region (klein oder groß) wieder verläßt.
Die komplette Konfiguration für ein 3D-Schießspiel haben wir auch in einem Video ausführlich beschrieben.

Die Standardwerte-Schaltfläche setzt alle Tasten wieder auf ihre Anfangswerte zurück (also alle Kappenzuordnungen auf "-- Inaktiv --" und die Tastenzuordnungen auf die, die auf den Gerätetasten aufgedruckt sind. Allerdings werden die aufgezeichneten Tastensequenzen nicht gelöscht. Wenn Sie das möchten, drücken Sie den Standardwerte-Knopf im Hauptdialog.

3.3.3.7 Gerätefunktionen

Gerätefunktionen gibt es für die Geräte
 Die SpaceControl-Funktionen sind der Übersichtlichkeit halber noch in die Gruppen "Panel", "Bewegungsmodus", "Einstellungen", "Tasten", "Drehrad" und "Weiteres" untergliedert.

Jede Funktion kann den Tasten, dem Drehrad, dem Wheel-Function-Launcher und/oder der Kappe zugordnet werden wie oben beschrieben. Folgende Funktionen sind derzeit definiert:

Gruppe/Funktionsname Beschreibung
Geräte Gruppe der Gerätefunktionen.
 +-SpaceControl Gruppe der Funktionen, die mit den SpaceControl-Geräten zusammenhängen.
 |  +-Panel Gruppe der Funktionen für die Schaltflächen des SpaceControl-Panel-Hauptdialogs.
 |  |  +-Nullstellung Diese Funktion macht dasselbe wie ein Klick auf den Knopf Nullstellung im Hauptdialog.
 |  |  +-Zurücksetzen Diese Funktion setzt alle Einstellungen auf die Werte zurück, die beim letzten Speichern eingestellt waren. Achtung: Die Werte werden automatisch gespeichert, wenn die Vordergrundapplikation wechselt.
 |  |  `-Speichern Diese Funktion macht dasselbe wie der Menüpunkt "Datei/Speichere Konfiguration".
 |  +-Bewegungsmodus* Gruppe der Funktionen, die den Bewegungsmodus der Kappe betreffen.
 |  |  +-Wechsel Szene-/Kameramodus Wechselt den Bewegungsmodus zwischen Szene- und Kameramodus.
 |  |  +-Wechsel Rotation Blickpunkt/Ursprung Wechselt das Rotationszentrum zwischen Bildschirmmitte und Ursprung. Siehe bei Bewegungsmodus.
 |  |  +-Horizont fixieren ein/aus
Bewirkt dasselbe wie die gleichnamige Einstellung im Dialog Erweiterte Konfiguration.
 |  |  `-Schweben ein/aus Bewirkt dasselbe wie die gleichnamige Einstellung im Dialog Erweiterte Konfiguration.
 |  +-Einstellungen Diverse weitere Einstellungen des SpaceControllers.
 |  |  +-Translation ein/aus Schaltet die Translation ein und aus.
 |  |  +-Rotation ein/aus Schaltet die Rotation ein und aus.
 |  |  +-Dominantmodus ein/aus Schaltet den Dominantmodus ein und aus.
 |  |  +-LEDs ein/aus Schaltet alle LEDs ein und aus.
 |  |  +-Rechte-Hand-Modus ein/aus Schaltet den Rechte-Hand-Modus ein und aus.
 |  |  +-Empfindlichkeit vergrößern Vergößert die Empfindlichkeit um einen Schritt.
 |  |  +-Empfindlichkeit verkleinern Verringert die Empfindlichkeit um einen Schritt.
 |  |  +-Nullradius vergrößern Vergößert den Nullradius um einen Schritt.
 |  |  +-Nullradius verkleinern Verringert den Nullradius um einen Schritt.
 |  |  +-LCD-Helligkeit vergrößern Vergößert die Helligkeit des LCD um einen Schritt.
 |  |  +-LCD-Helligkeit verkleinern Verringert die Helligkeit des LCDum einen Schritt.
 |  |  +-LED-Helligkeit vergrößern Vergößert die Helligkeit der blauen LEDs um einen Schritt.
 |  |  `-LED-Helligkeit verkleinern Verringert die Helligkeit der blauen LEDs um einen Schritt.
 |  +-Tasten Gruppe aller SpaceController-Spezialtasten.
 |  |  +-Ctrl Simuliert Drücken der Steuerung-Taste auf der Tastatur.
 |  |  +-Alt Simuliert Drücken der Alt-Taste auf der Tastatur.
 |  |  +-Shift Simuliert Drücken einer Umschalt-Taste auf der Tastatur.
 |  |  +-Esc Simuliert Drücken der Escape-Taste auf der Tastatur.
 |  |  +-Front Bewegt die Szene in die Vorderansicht (falls unterstützt).
 |  |  +-Right Bewegt die Szene in die rechte Seitenansicht (falls unterstützt).
 |  |  +-Top Bewegt die Szene in die Draufsicht (falls unterstützt).
 |  |  +-Fit Stellt die Szene bildschirmfüllend dar (falls unterstützt).
 |  |  +-2D/3D Schaltet die Rotation ein und aus.
 |  |  `-Panel Öffnet das SpaceControl-Panel.
 |  +-Drehrad Gruppe der Funktionen, die das Drehrad betreffen.
 |  |  +-Setze Drehrad auf Empfindlichkeit Das Drehrad wird so konfiguriert, daß es ab sofort die Empfindlichkeit steuert.
 |  |  +-Setze Drehrad auf Nullradius Das Drehrad wird so konfiguriert, daß es ab sofort den Nullradius steuert.
 |  |  +-Setze Drehrad auf LCD-Helligkeit Das Drehrad wird so konfiguriert, daß es ab sofort die LCD-Helligkeit steuert.
 |  |  +-Setze Drehrad auf LED-Helligkeit Das Drehrad wird so konfiguriert, daß es ab sofort die LED-Helligkeit steuert.
 |  |  +-Setze Drehrad auf WFL Das Drehrad wird so konfiguriert, daß es ab sofort den Wheel-Function-Launcher öffnet.
 |  |  +-Setze Drehrad auf Gestenauswertung Das Drehrad wird so konfiguriert, daß es ab sofort die sechs Gesten auswertet.
 |  |  +-Setze Drehrad auf Funktionstasten Das Drehrad wird so konfiguriert, daß es ab sofort Funktionstasten auslöst.
 |  |  +-Empfindlichkeit ändern Öffnet einen Dialog mit Schieberegler zur Einstellung der Empfindlichkeit.
 |  |  +-Nullradius ändern Öffnet einen Dialog mit Schieberegler zur Einstellung des Nullradius.
 |  |  +-LCD-Helligkeit ändern Öffnet einen Dialog mit Schieberegler zur Einstellung der LCD-Helligkeit.
 |  |  +-LED-Helligkeit ändern Öffnet einen Dialog mit Schieberegler zur Einstellung der  LED-Helligkeit.
 |  |  +-Wheel-Function-Launcher Öffnet den Wheel-Function-Launcher.
 |  |  +-Drehradgesten auswerten Wertet Drehradgesten aus. Die Funktion kann nur mit der Drehradbelegung im Funktionszuordnungsdialog verknüpft werden, nicht mit Funktionstasten, WFL oder Kappe; sie kann nur über die Auswahlliste Drehrad des Hauptdialogs eingestellt werden, nicht direkt durch Drag and Drop im Funktionszuordnungsdialog. Die Funktion arbeitet nur, wenn beide Felder der Drehradbelegung mit der Funktion verknüpft sind und nicht nur eine.
 |  |  `-Funktionstasten bedienen Drehrad bedient Funktionstasten. Die Funktion kann nur mit der Drehradbelegung im Funktionszuordnungsdialog verknüpft werden, nicht mit Funktionstasten, WFL oder Kappe; sie kann nur über die Auswahlliste Drehrad des Hauptdialogs eingestellt werden, nicht direkt durch Drag and Drop im Funktionszuordnungsdialog. Die Funktion arbeitet nur, wenn beide Felder der Drehradbelegung mit der Funktion verknüpft sind und nicht nur eine.
 |  `-Weiteres Gruppe mit weiteren Funktionen.
 |     +-Rechner/Ziffernblock Öffnet die virtuelle Zifferntastatur bzw. den Taschenrechner.
 |     +-Andere Tastenebene Tauscht die beiden Funktionsebenen der Tastenbelegung gegeneinander aus (Einfachklick gegen Doppelklick).
 |     +-Back Bewegt die Szene in die Rückansicht (falls unterstützt).
 |     +-Left Bewegt die Szene in die linke Seitenansicht (falls unterstützt).
 |     +-Bottom Bewegt die Szene in die Untersicht (falls unterstützt).
 |     +-Reservierte Funktion 4 Reserviert.
 |     +-... Reserviert.
 |     `-Reservierte Funktion 9 Reserviert.
 +-Maus Gruppe mit Funktionen, die die normale Maus betreffen.
 |  +-Mausklick links Simuliert einen Klick mit der linken Maustaste.
 |  +-Mausklick Mitte Simuliert einen Klick mit der mittleren Maustaste.
 |  +-Mausklick rechts Simuliert einen Klick mit der rechten Maustaste.
 |  +-Mausrad aufwärts Simuliert eine Aufwärtsbewegung mit dem Mausrad.
 |  `-Mausrad abwärts Simuliert eineAbwärtsbewegung mit dem Mausrad.
  `-Joystick Gruppe mit Funktionen, die einen Joystick betreffen.
    +-JoystickXAxis Simuliert eine Bewegung der Joystick x-Achse.
    +-JoystickYAxis Simuliert eine Bewegung der Joystick y-Achse.
    +-JoystickZAxis Simuliert eine Bewegung der Joystick z-Achse.
    +-JoystickRAxis Simuliert eine Bewegung der Joystick r-Achse.
    +-JoystickUAxis Simuliert eine Bewegung der Joystick u-Achse.
    +-JoystickVAxis Simuliert eine Bewegung der Joystick v-Achse.
    +-JoystickPOV Simuliert ein Ereignis des Rundblick-Schalters.
    `-JoystickBut
Simuliert das Klicken eines Joystick-Knopfes.

*: Die Bewegungsmodi werden nicht von allen Applikationen bzw. Plug-ins unterstützt.

Hinweis: Alle Funktionen, die in der Tabelle in grauer Schrift dargestellt sind, sind derzeit noch nicht implementiert und nicht verwendbar.

3.3.4 Der Wheel-Function-Launcher (WFL)

Mit dem Wheel-Function-Launcher (WFL) kann man die Funktion des Drehrades erheblich erweitern. Bis zu 28 beliebige Funktionen (Gerätefunktionen, Anwenderfunktionen und/oder Applikationsfunktionen) können auf diesem Weg komfortabel mit dem Drehrad ausgelöst werden.

3.3.4.1 Bedienung des Wheel-Function-Launchers

Sofern das Drehrad entsprechend konfiguriert ist, erscheint beim Drehen des Rades der WFL auf dem Bildschirm:

Wheel-Function-Launcher

Abb. 3.18: Der Wheel-Function-Launcher

Er besteht im wesentlichen aus einer Liste mit Funktionen, durch die man mit dem Drehrad rollen kann. In Abb. 3.18 sind beispielsweise u. a. die Applikationsfunktionen "Drahtkörperanzeige" und "Schattierte Anzeige" in der Liste eingetragen.

Eine Funktion kann man nun auf vier Arten auslösen:
Die Funktionen lassen sich also sehr bequem mit einem Handgriff ausführen: Drehrad drehen (WFL erscheint), Drehrad weiterdrehen (Funktion auswählen), Markierung über gewünschter Funktion stehenlassen (Funktion wird ausgelöst), der WFL verschwindet wieder, fertig.

Die Bedeutung der Ankreuzfelder ist: Hinweis: Der WFL ist Teil des SpaceControl Panels und nicht ohne es lauffähig. Daher muß das Panel gestartet sein; falls das beim Aufruf des WFL nicht der Fall ist, wird es zunächst gestartet. Das Panel darf aber minimiert sein.

3.3.4.2 Wheel-Function-Launcher konfigurieren

Damit der WFL wunschgemäß funktioniert, muß er passend konfiguriert werden. Der erste Schritt besteht darin, das Drehrad so zu konfigurieren, daß bei seiner Bewegung der WFL erscheint. Das kann man durch die Auswahl des entsprechenden Elementes in der Auswahlliste im Hauptdialog erreichen:

Konfiguration des
          Drehrads

Abb. 3.19: Konfiguration des Drehrads zum Öffnen des WFL

Der WFL wird jetzt beim Drehen erscheinen, er enthält aber nur einige vorkonfigurierte Funktionen. Eigene Funktionen werden im zweiten Konfigurationsschritt (wie oben schon beschrieben) im Dialog Funktionszuordnung zugewiesen. Hier noch einmal das Beispiel für Abb. 3.18:

Konfiguration des
          WFL

Abb. 3.20: Konfiguration des WFL

Die Einträge "Drahtkörperanzeige" und "Schattierte Anzeige" sind Funktionen aus der CAD-Applikation Autodesk Inventor; beide wurden wie oben gezeigt aus der Funktionenliste auf die WFL-Speicherplätze gezogen.
Die Drehrad-Belegung muß auf Wheel-Function-Launcher eingestellt sein, was durch den ersten Konfigurationsschritt bereits erledigt wurde.

Nach diesen beiden Schritten erscheint der WFL mit erweiterter Funktionsliste, nach Eingabe der Auslöseverzögerung wird er die Funktionen auch automatisch auslösen.

3.3.5 Rechner und Ziffernblock

Im Dialog Funktionszuordnung gibt es im Zweig "Funktionen/Geräte/SpaceController/Weiteres/" die Funktion Rechner/Ziffernblock. Wie jede andere Funktion kann man sie auf eine Taste, den WFL oder das Drehrad ziehen. Wenn man die Funktion auslöst, erscheint der Dialog Rechner/Ziffernblock:

Rechner

Abb. 3.21: Integrierter Taschenrechner
Ziffernblock

Abb. 3.22: Integrierter Ziffernblock

Mit dem Ziffernblock kann man Ziffern und die anderen dargestellten Zeichen mit der normalen Maus in Eingabefelder der Vordergrundapplikation schicken, sofern sie den Fokus haben. Damit ist es nicht nötig, die Maus loszulassen und zur Tastatur zu greifen.

Das ist auch mit dem Taschenrechner möglich: Wenn man den Sende-Knopf drückt, wird der Inhalt der Anzeige an die Vordergrundapplikation geschickt. Er stellt die üblichen vier Grundrechenarten zur Verfügung und weist folgende Besonderheiten auf:

Prozentrechnung:
Die "%"-Taste wandelt den in der Anzeige dargestellten Prozentwert in die entsprechende Dezimalzahl um. Wenn die Taste nach einer arithmetischen Operation gedrückt wird, kann man prozentuale Aufschläge, Rabatte und Prozentsätze wie folgt berechnen:
Beispiele:
Speicher:
Der Rechner verfügt über einen Speicher, der über die folgenden Tasten bedient wird: Falls sich etwas im Speicher befindet, erscheint links in der Anzeige ein "M" wie oben in Abb. 3.21.

Die drei Ankreuzfelder im unteren Teil des Dialogs haben folgende Bedeutung:
Hinweis: Rechner und Ziffernblock sind Teile des SpaceControl Panels und nicht ohne es lauffähig. Daher muß das Panel gestartet sein; falls das beim Aufruf des Rechners oder Ziffernblocks nicht der Fall ist, wird es zunächst gestartet. Das Panel darf aber minimiert sein.

3.3.6 Die Menüzeile

Die Menüzeile erlaubt das Laden und Speichern von Konfigurationsdateien, das Einstellen von Anwenderpräferenzen, die Auswahl eines Gerätes zur Konfiguration (falls mehrere angesteckt sein sollten) und öffnet diese Hilfeseiten.

Menu Bar

Abb. 3.23: Menüzeile

3.3.6.1 Datei-Menü


3.3.6.2 Geräte-Menü

Mit dem Geräte -Menü kann man ein Gerät zur Konfiguration auswählen, sofern mehrere angeschlossen sind. Jedes angeschlossene Gerät wird hier als eigener Menüpunkt eingetragen. Um verschiedene Geräte unterscheiden zu können, wird hier die Seriennummer des Gerätes gezeigt, ebenso wie im Abschnitt Geräteyp des Hauptfensters (s. Abb. 3.1).
Wenn das Fenstergröße beim Gerätewechsel anpassen-Ankreuzfeld aktiviert ist (s. Abb. 3.24), wird die Größe des Hauptfensters wieder auf ihren Vorgabewert zurückgestellt, falls der Anwender sie verändert haben sollte.

3.3.6.3 Hilfe-Menü

Mit Menüpunkt Benutzerhandbuch wird die Hilfedatei, die Sie gerade lesen, in dem Web-Browser geöffnet, der im Einstellungen-Dialog (s. Abb. 3.24) ausgewählt wurde. Der Eintrag Über SpaceController öffnet wie üblich einen Dialog mit Versionsinformationen, Copyright-Vermerk und Systeminformationen. Letztere könnten interessant werden, falls Sie Probleme mit dem Treiber haben und Unterstützung von uns benötigen.

3.4 Laden und Speichern von Konfigurationen

3.4.1 Alle Applikationen

Der SpaceControl-Treiber beobachtet den Desktop und prüft, welches Programm gerade im Vordergrund ist. Falls es eine spezielle Konfiguration für die Vordergrundapplikation gibt, wird diese automatisch geladen, und alle Parameter des Gerätes werden auf die entsprechenden Werte gesetzt, sobald die Applikation in den Vordergrund kommt. Immer wenn eine neue Konfigurationsdatei geladen wird, wird die aktuelle Konfiguration zuvor automatisch gespeichert, ohne daß der Anwender etwas tun muß. Insbesondere ist es nicht notwendig, die Menüpunkte "Datei/Speichere Konfiguration" oder "Datei/Speichere Konfiguration unter ..." zu betätigen.

Was ist nun eine "spezielle Konfiguration"? Wie oben erwähnt werden alle Konfigurationen in Dateien mit der Dateierweiterung ".cfg" in einem Ordner "SpaceController" im Arbeitsverzeichnis des Benutzers gespeichert (also z. B. in "C:\Benutzer\<Benutzername>\SpaceController\Devices\<Seriennummer des Gerätes>\"). Der Treiber holt sich den Namen der Vordergrundapplikation, hängt die Endung ".cfg" an und versucht, diese Datei von dort zu laden. Wenn er diese Datei nicht findet, lädt er stattdessen stets die Datei "common.cfg". Welche Datei gerade geladen ist, kann man im Hauptfenster des SpaceControl Panels im Bereich Gerätetyp im Feld Konfigurationsdatei ablesen (s. Abb. 3.1) und im LC-Display des Gerätes in der Titelzeile (s. Abb. 2.7).

Jetzt taucht das Problem auf, was der Name der Vordergrundapplikation sein könnte. Das ist nicht immer leicht zu ermitteln: Der Treiber nimmt zunächst den Namen der ausgeführten Datei, den er in der Prozeßliste des Betriebssystems findet. Falls das nicht reicht (z. B. haben alle Java-Applikationen dort denselben Namen "java.exe"), verwendet er den Titel des Hauptfensters der Applikation. Natürlich ist auch das nicht unbedingt eindeutig ...

Glücklicherweise teilt das SpaceControl Panel dem Anwender mit, was der Treiber für den Namen der Vordergrundapplikation hält: In der Statuszeile gibt es den Eintrag Aktive Applikation. In Abb. 3.1 steht dort z. B. "notepad". Wenn man nun eine spezielle Konfiguration für die Applikation "notepad" haben möchte, muß man nur eine Datei mit dem Namen "notepad.cfg" im Konfigurationsverzeichnis des Gerätes ablegen. Das SpaceControl Panel schlägt diesen Namen automatisch vor, wenn man den Menüpunkt "Datei/Speichere Konfiguration unter ..." anklickt. Sobald diese Datei existiert, wird der Treiber sie immer automatisch laden, sobald eine Applikation namens "notepad" in den Vordergrund kommt.

3.4.2 Unterstützte Applikationen

Der Mechanismus zum Laden von Konfigurationen, der im vorherigen Abschnitt beschrieben wurde, funktioniert mit allen Programmen. Manche Programme sind aber noch besser an den SpaceController angebunden, indem von uns eine kleine Zusatzsoftware, ein sogenanntes Plug-in, bereitgestellt wird. Die meisten Plug-ins können nämlich den Modus überwachen, in dem sich das Programm gerade befindet, und den Treiber veranlassen, eine spezielle Konfiguration für diesen Modus zu laden.

In der Statuszeile des SpaceControl Panels könnte dann z. B. stehen "Inventor/Part". Das bedeutet, daß die Applikation "Inventor" (ein bekanntes CAD-Programm) im Vordergrund ist und sich im Modus "Part", dem Bauteilemodus, befindet. Das eigentliche Laden der zugehörigen Konfiguration funktioniert wie oben beschrieben: Falls es eine Datei namens "Part.cfg" im Unterordner "Inventor" gibt, wird sie geladen, sobald das Programm in den Modus "Part" wechselt (falls nicht, wird wieder "common.cfg" geladen).

Außerdem kann ein Plug-in den Treiber und das SpaceControl Panel mit weiteren Informationen über die unterstützte Applikation versorgen. Z. B. liest das Plug-in für Inventor dessen Menüstruktur aus und integriert sie in den Funktionszuordung-Dialog des SpaceControl Panels; der Anwender kann damit sehr komfortabel einen Inventor-Menüpunkt mit einer Gerätetaste verknüpfen, s. Abb. 3.9.

3.4.3 Spezielle Behandlung für den Windows-Explorer

Der Mechanismus zum Laden von Konfigurationsdateien führt zu einem Problem, wenn das SpaceControl Panel nicht schon gestartet ist. Angenommen, das Programm Notepad ist im Vordergrund und Sie möchten die bereits vorhandene spezielle Konfiguration dafür anpassen. Dazu müssen Sie das SpaceControl Panel öffnen und klicken dazu im Windows-Startmenü auf den entsprechenden Eintrag. Aber weil der Windows-Desktop nur eine spezielle Instanz des Windows-Explorers ist, ist in diesem Moment der Windows-Explorer plötzlich die Vordergrundapplikation! Und der Treiber macht, was er immer bei einem Wechsel der Vordergrundapplikation tut: Er sucht in diesem Fall nach einer Datei "explorer.cfg" und lädt sie, falls vorhanden, oder die Datei "common.cgf", falls nicht. In jedem Fall ist die Konfiguration für "notepad" ersetzt worden, und man müßte Notepad extra wieder in den Vordergrund holen, um die Konfiguration dafür zu ändern. Das ist unpraktisch.

Daher wird der Windows-Explorer besonders behandelt: Wenn der Treiber den Explorer als Vordergrundapplikation erkennt, wartet er zehn Sekunden, bevor er dessen Konfigurationsdatei nachlädt. Das sollte genug Zeit sein, um sich durch das Startmenü zu klicken und das SpaceControl Panel zu starten.
Nachteil: Wenn man wirklich eine spezielle Konfiguration für den Windows-Explorer haben möchte, muß man diese zehn Sekunden warten, bis man sie benutzen kann. In diesem Fall kann man den Eintrag "explorerDelay" in der Datei "SpaceController\daemon.ini" im eigenen Benutzerverzeichnis anpassen. Wenn man ihn auf 0 setzt, wird der Explorer wie jede andere Applikation behandelt.

3.4.4 Technische Hinweise für Systemadministratoren

Dieser Abschnitt beschreibt einige Details für das Aufsetzen von Konfigurationsdateien mit Vorgabewerten und wie man verhindern kann, daß sie bei einer Neuinstallation oder einem Update des Treibers verlorengehen. Wichtig sind dabei folgende grundlegende Tatsachen:
Wenn der Treiber zum ersten Mal gestartet wird, erzeugt er einen Ordner "SpaceController" im Benutzerverzeichnis des Anwenders (also "C:\Dokumente und Einstellungen\<Benutzername>\SpaceController\" in Windows XP oder "C:\Benutzer\<Benutzername>\SpaceController\" ab Windows Vista oder "/home/<Benutzername>/SpaceController/" unter Linux oder "/Users/<Benutzername>/SpaceController/" unter macOS). Dieser Ordner enthält folgende Dateien:

Tabelle 3.1: Konfigurationsdateien im Benutzerverzeichnis des Anwenders nach dem ersten Start des Treibers:
Ordner/Datei
Beschreibung
SpaceController
Hauptordner.
 +- Applications Leerer Ordner für Dateien, die von Plug-ins benötigt werden.
 +- Devices Leerer Ordner für Gerätekonfigurationsdateien.
 +-daemon.ini
Konfigurationsdatei für den Treiber.
 `-panel.ini Konfigurationsdatei für das SpaceControl Panel.

Der Ordner "Applications" ist zunächst leer und füllt sich, wenn Plug-ins installiert und das erste Mal gestartet werden. Ebenso beim Ordner "Devices": Er ist erst leer und wird gefüllt, sobald ein SpaceController zum ersten Mal angesteckt wird. Wenn beides passiert ist, sieht die Dateistruktur z. B. so aus:

Tabelle 3.2: Konfigurationsdateien im Benutzerverzeichnis des Anwenders, nachdem Plug-ins installiert sind und SpaceControl-Geräte angesteckt wurden:
Ordner/Datei Beschreibung
SpaceController Hauptordner.
 +- Applications
Ordner für Dateien, die von Plug-ins benötigt werden. Inhalt nur vorhanden, wenn Plug-ins installiert sind.
 |  +-catia.ini Konfigurationsdatei mit Einstellungen für das Catia-Plug-in.
 |  +-catia.mnu Datei mit Catias Menüstruktur.
 |  +-proe_WF4_plugin.ini Konfigurationsdatei  mit Einstellungen für das Pro/ENGINEER-Plug-in.
 |  +-ProEngineerWF4.mnu Datei mit Pro/ENGINEERs Menüstruktur.
 |  `- ... Weitere Dateien, die von anderen Plug-ins benötigt werden.
 +- Devices Ordner mit Konfigurationsdateien von allen SpaceController-Geräten, die je an den Computer angeschlossen wurden.
 |  +- MB1USX09010001V Ordner mit allen Konfigurationsdateien für das Gerät mit der Seriennummer MB1USX09010001V.
 |  |  +- Catia
Ordner mit allen Catia-Konfigurationsdateien.
 |  |  |  +-2D Mode.cfg Gerätekonfiguration für Catias 2D-Modus.
 |  |  |  `-3D Mode.cfg Gerätekonfiguration  für Catias 3D-Modus.
 |  |  +- ProEngineerWF4 Ordner mit allen Pro/ENGINEER-Konfigurationsdateien.
 |  |  |  +-Assembly.cgf Gerätekonfiguration für Pro/ENGINEERs Baugruppenmodus.
 |  |  |  +-Part.cgf Gerätekonfiguration für Pro/ENGINEERs Teilemodus.
 |  |  |  `-*.cgf Weitere Gerätekonfigurationen  für andere Pro/ENGINEER-Modi.
 |  |  +- ... Weitere Ordner für andere Applikationen.
 |  |  +-common.cfg Standard-Gerätekonfiguration, die verwendet wird, wenn keine spezielle Konfiguration für eine Applikation vorhanden ist.
 |  |  +-googleearth.cfg Spezielle Konfiguration für GoogleEarth.
 |  |  `-... Weitere spezielle Konfigurationen für weitere Applikationen.
 |  +- MC1UWX09020203U Ordner mit allen Konfigurationsdateien für das Gerät mit der Seriennummer MC1UWX09020203U.
 |  |  +- Catia Wie oben, aber für dieses Gerät.
 |  |  +- ProEngineerWF4 Wie oben, aber für dieses Gerät.
 |  |  `- ... Wie oben, aber für dieses Gerät.
 |  |  +-common.cfg Wie oben, aber für dieses Gerät.
 |  |  +-googleearth.cfg Wie oben, aber für dieses Gerät.
 |  |  `-... Wie oben, aber für dieses Gerät.
 |  +- ... Weitere Ordner für weitere Geräte.
 +-daemon.ini Konfigurationsdatei für den Treiber.
 `-panel.ini Konfigurationsdatei für das SpaceControl Panel.

Wo kommen die *.cfg-Dateien im Benutzerverzeichnis her? Sie werden aus dem Installationsverzeichnis des Treibers kopiert, sobald ein Gerät das erste Mal an den Computer angeschlossen wird. Das Installationsverzeichnis kann bei der Installation frei gewählt werden, üblicherweise ist es "C:\Programme\SpaceControl" oder "C:\Programme (x86)\SpaceControl" auf 64-Bit-Systemen. In diesem Verzeichnis befindet sich ein Ordner "cfgs", und sein Inhalt wird komplett in den Ordner mit der Seriennummer des Gerätes im Benutzerverzeichnis des Anwenders kopiert.

Nun ist klar, wie man verfahren muß, wenn man für alle Benutzer und Geräte dieselben Grundkonfigurationen haben will: Man muß einfach einen Satz mit den gewünschten Konfigurationsdateien im Ordner "cfgs" des Installationsverzeichnisses erstellen, und der Treiber kümmert sich dann automatisch um das Kopieren in das Benutzerverzeichnis des Anwenders. Von da an kann der Benutzer damit natürlich machen, was er will.

Wenn man den Treiber deinstalliert, wird man gefragt, ob man den SpaceController-Ordner mit den Konfigurationsdateien löschen will. Wenn man eine neue Treiberversion installiert und ein alter SpaceController-Ordner beim ersten Start noch vorhanden ist, wird dieser kopiert, z. B. nach "SpaceController_1.1.0" (falls die alte Treiberversion 1.1.0 war), und der Treiber konvertiert die alten Konfigurationsdaten automatisch in das neue Format, falls das nötig sein sollte.

3.5 Fernbedienung von Programmen über das Netzwerk

3.5.1 Überblick

Da die Kommunikation zwischen Treiber und Plug-ins per TCP/IP erfolgt - normalerweise nur auf dem lokalen Rechner -, läßt sich dies mit ein paar Änderungen in drei Konfigurationsdateien auch über das Netzwerk realisieren. Folgendes Szenario kann damit abgebildet werden (natürlich mit beliebig vielen Clients):

Client-Server-Szenario

Abb. 3.26: Client-Server-Umgebung zur Fernsteuerung

Auf einem Netzwerk-Server (der evtl. eine potentere Grafikkarte hat als die Clients) sind die Programme installiert, die man mit dem 3D-Controller bedienen will, etwa Inventor oder NX. Die Clients greifen auf den Server-Desktop mit einer geeigneten Fernsteuerungs-Software zu, etwa mit dem Microsoft Remote Desktop oder TeamViewer. Die 3D-Controller sind ganz normal per USB an den Clients angeschlossen.

Normalerweise verbinden sich unsere Plug-ins mit dem Treiber, der auf dem lokalen Rechner läuft. Man muß nun dafür sorgen, daß sie stattdessen Kontakt mit dem Treiber auf dem Client-Rechner aufnehmen. Das kann man erreichen, indem man die IP-Adresse bzw. den Rechnernamen des Clients in die Konfigurationsdateien "spc_ctrlr_dll.ini" und "siapp_dll.ini" einträgt.

Auf Client-Seite kann der Treiber nun freilich nicht feststellen, ob z. B. Inventor auf dem Server im Vordergrund ist, und müßte die Kappendaten daher eigentlich permanent auch an Inventor auf dem Server schicken; das wäre allerdings unpraktisch, da sich die Szene in Inventor dann auch dann bewegte, wenn auf dem Client gerade eine ganz andere, lokale Applikation im Vordergrund ist, die (in diesem Moment ausschließlich) gesteuert werden soll. Um das zu verhindern, kann der Treiber aber prüfen, ob die Fernsteuerungs-Software gerade im Vordergrund ist, und die Daten nur in diesem Fall an den Server schicken. Damit der Treiber weiß, welches Programm auf dem Client die Fernsteuerungs-Software ist, muß man deren Binary-Namen in die lokale "daemon.ini"-Datei eintragen.

Folgende zwei Einschränkungen gibt es:

3.5.2 Konfiguration auf Server-Seite

Folgendes ist auf dem Server zu tun:
  1. SpaceControl-Treiber-Software installieren:
    Der Treiber wird zwar für den laufenden Betrieb nicht gebraucht, aber die Plug-ins und einige DLLs müssen installiert sein.
  2. Ordnerstruktur herstellen:
    Die Plug-ins erwarten eine Ordnerstruktur für ihre Konfigurationsdateien im Basisordner "C:\Benutzer\<Benutzername>\SpaceController\". Sie wird beim ersten Start des Treibers im Benutzerverzeichnis eines Anwenders automatisch erzeugt, der Treiber muß daher einmal unter jedem Benutzerkonto gestartet werden.
  3. Konfigurationsdateien erzeugen:
    Die im folgenden beschriebenen Konfigurationsdateien werden beim ersten Start (bzw. beim Beenden) einer Applikation im Ordner "C:\Benutzer\<Benutzername>\SpaceController\" erzeugt. Das fernzusteuernde Programm muß daher einmal gestartet und beendet werden, sofern die gewünschte Konfigurationsdatei noch nicht vorhanden ist.
    Außerdem erzeugen unsere Plug-ins (mit Ausnahme des Universal Plug-ins) beim ersten Start eine sogenannte MNU-Datei, die die Menü-Kommandos der Applikation enthält. Diese Datei muß auf den Client kopiert werden, s. u.
  4. Konfigurationsdateien anpassen:
    Welche Konfigurationsdatei benötigt wird, hängt von der fernzusteuernden Applikation ab. Die meisten unserer Plug-ins verwenden die Datei "spc_ctrlr_dll.ini", unser Universal Plug-in dagegen die Datei "siapp_dll.ini". Am besten modifizieren Sie beide: Man muß lediglich dem Parameter "ipv4Addr" die IP-Adresse oder den Netzwerknamen des Rechners zuweisen, von dem aus man die Applikation steuern möchte. Den vorhandenen Wert "localhost" muß man überschreiben.
    Beispiele:
    • ipv4Addr = localhost     # das ist der Vorgabewert und muss überschrieben werden durch den
    • ipv4Addr = saturn        # Netzwerknamen z. B. des Rechners "Saturn" oder durch
    • ipv4Addr = 192.168.30.74 # seine IP-Adresse
Hinweis: Normalerweise ermittelt der Treiber, ob ein Programm im Vordergrund ist und Daten erhalten soll. Ohne Treiber funktioniert das auf dem Server natürlich nicht. Daher unterdrückt das Plug-in die Daten selbst, wenn es im Fernsteuerungsmodus läuft, nicht im Vordergrund ist und der Parameter "sendMode" auf "1" steht. Der Wert "2" macht im Fernsteuerungsmodus dasselbe wie der Wert "1"; s. Kommentar in der Konfigurationsdatei. (Dieses Unterdrücken der Daten ist derzeit nur unter Windows implementiert, nicht unter Linux und OS X.)

3.5.3 Konfiguration auf Client-Seite

Folgendes ist auf allen Clients zu tun:
  1. Benötigte Plug-ins installieren:
    Die Plug-ins werden auf den Clients zwar nicht gebraucht, es werden aber die Konfigurationsdateien ("Assembly.cfg", "Part.cfg" usw.) benötigt, damit man sie anpassen kann. Bei der Installation der Plug-ins werden entsprechende Dateien mit Vorgabewerten auf den Client kopiert.
  2. Remote-Desktop-Software definieren:
    Auf den Clients sollte verhindert werden, daß der Treiber die Daten an den Server schickt, wenn ein anderes Programm als das zu steuernde im Vordergrund ist. Der Treiber kann allerdings nur feststellen, ob die lokale Fernsteuerungs-Software (und nicht die eigentliche Software auf dem Server) im Vordergrund ist, und die Daten andernfalls unterdrücken. Dazu muß er den Binary-Namen der Fernsteuerungs-Software wissen, den man in der Datei "daemon.ini" unter dem Parameter "remoteSoftware" eintragen kann. Der Name wird dort  ohne die ".exe"-Extension vermerkt.
    Beispiele:
    • remoteSoftware =            # der Vorgabewert ist leer und muss durch einen Binary-Namen überschrieben werden
    • remoteSoftware = mstsc      # "mstsc.exe" ist der Binary-Name des Microsoft Remote-Desktop-Clients
    • remoteSoftware = TeamViewer # "TeamViewer.exe" ist der Binary-Name des TeamViewer-Clients
    Der Treiber liest die Datei "daemon.ini" nur beim Starten ein; er muß daher nach jeder Änderung neu gestartet werden, um die Einstellungen zu übernehmen.
  3. MNU-Datei(en) kopieren:
    Unsere Plug-ins (mit Ausnahme des Universal Plug-ins) lesen beim ersten Start die Menübefehle einer Applikation aus und legen sie in einer Datei mit der Erweiterung ".mnu" im Ordner "C:\Benutzer\<Benutzername>\SpaceController\Applications\" ab. Diese Datei benötigen der Treiber und das SpaceControl-Panel ebenfalls, sie muß daher vom Server in den gleichnamigen Ordner auf jedem Client kopiert werden.

3.5.4 Konfiguration der Firewall

Die Firewall muß so konfiguriert sein, daß die beteiligten Software-Komponenten miteinander kommunizieren können:

3.6 Die C++-Programmierschnittstelle

Die Hauptseite der C++-API-Dokumentation (application programming interface) finden Sie hier. Alle Funktionen des APIs sind hier aufgelistet. Die API-Dokumentation ist nur in englischer Sprache verfügbar.

3.7 Die Java-Programmierschnittstelle

Die Hauptseite der Java-API-Dokumentation (application programming interface) finden Sie hier. Alle Funktionen des APIs sind hier aufgelistet. Die API-Dokumentation ist nur in englischer Sprache verfügbar.

4 Problembehandlung

Falls Sie Probleme mit dem Gerät haben sollten, lesen Sie bitte erst diese Hinweise, bevor Sie sich an unseren Kundendienst wenden.

Problem
Lösung
Keine Bewegung von Objekten in Applikationen.
Vergewissern Sie sich, daß der Treiber läuft. Wenn er läuft, wird unter Windows in der Startleiste rechts unten ein kleines SpaceControl-Logo angezeigt. Unter anderen Betriebssystemen prüfen Sie, ob der Prozeß "sc_daemon" läuft.
Vergewissern Sie sich, daß das Plug-in für Ihre Applikation installiert ist: Im Windows-Startmenü muß es im Ordner "SpaceControl/Plug-ins" einen Unterordner mit Ihrem Applikations-Plug-in geben.
Der Treiber läuft, aber es bewegt sich immer noch nichts.
Öffnen Sie das SpaceControl Panel mit dem Eintrag "SpaceControl/Starte SpaceControl-Panel" im Windows-Start-Menü oder auch durch Doppelklick auf das Treiber-Logo in der Startleiste. Probieren Sie die Würfeldemo aus. Wenn sich der Würfel bewegen läßt, starten Sie Ihre Applikation neu, um den Prozeß der Verbindungsaufnahme mit dem Treiber erneut zu initiieren.
Ich habe gerade den Treiber installiert, und nichts bewegt sich in der Würfeldemo des SpaceControl Panels, wenn ich die Kappe bewege.
Stecken Sie das Gerät noch einmal ab und wieder an. In seltenen Fällen kann es vorkommen, daß die USB-Verbindung beim ersten Anstecken nicht zustandekommt.
Das SpaceControl Panel, zeigt "versuche zu verbinden ..." und einen wandernden Balken in der Statuszeile.
Starten Sie den Treiber mit dem Menüpunkt "SpaceControl/Start Driver" im Windows-Startmenü.
Die Würfeldemo im SpaceControl Panel funktioniert nicht.
Evtl. wurde die Übertragung der Kappendaten im Erweiterte Konfigurations-Dialog versehentlich deaktiviert. Drücken Sie die Schaltfläche Standardwerte im Hauptdialog, um die Vorgabewerte wiederherzustellen.
Ich beobachte ein Wegdriften meiner Objekte.
Öffnen Sie das SpaceControl Panel, lassen Sie die Kappe los und drücken Sie den Nullstellung-Knopf; Details finden Sie hier.
Der Effekt kann auch auftauchen, wenn die USB-Spannungsversorgung schwankt; benutzen Sie statt eines passiven einen aktiven USB-Hub oder am besten gar keinen.
Ich beobachte ein Zittern meiner Objekte.
Das kann durch zufällige Spannungsschwankungen verursacht werden. Erhöhen Sie den Nullradius oder benutzen Sie Mittelung der Daten. In manchen Fällen kann es helfen, die blauen LEDs abzuschalten, um die Spannung zu stabilisieren.
Die Schieberegler lassen sich nur ruckweise bewegen, und oft erscheint eine Dialogbox mit der Meldung "Setting parameters failed!".
Verbinden Sie das Gerät direkt mit dem Computer, benutzen Sie keine USB-Verlängerungskabel und insbesondere keine USB-Hubs. Das kann eine Verzögerung in der Kommunikation bewirken, in Folge treten diese Effekte auf.
Die Schieberegler des SpaceControl Panels und andere Bedienelemente flackern, wenn die eingebaute Würfeldemo angezeigt wird. Die Menüs sind dann ebenfalls nicht bedienbar.
Das ist vermutlich ein Problem mit Ihrem Grafikkartentreiber, installieren Sie die neueste Version. Wenn das nicht möglich ist, kann man das SpaceControl Panel mit einer speziellen Option starten: Öffnen Sie ein Konsolenfenster ("Eingabeaufforderung") und navigieren Sie zum Installationsordner der SpaceControl-Software (normalerweise "C:\Program Files (x86)\SpaceController"). Geben Sie ein

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

Das startet den Java-Interpreter und lädt das Panel mit deaktiviertem Direct3D für die GUI-Elemente.
Um das Panel wieder benutzbar zu machen, wenn es im flackernden Zustand ist, wechseln Sie vom Demo- zurück zum Device-Karteireiter.

Dieser Hinweis ist obsolet: Das Panel wird jetzt immer mit der o. g. Option gestartet.
Das SpaceControl Panel stürzt ab, wenn ein Gerät angesteckt wird, oder ein obskurer Dialog betreffend Java 3D wird angezeigt.
Das kann auftreten, wenn Ihr Grafikkartentreiber keine ausreichende Unterstützung für OpenGL oder Direct3D bereitstellt. Installieren Sie einen aktuellen Treiber.
Falls das nicht möglich ist (z. B. in virtuellen Maschinen), kann man das SpaceControl Panel auch ohne die eingebaute Würfeldemo starten: Öffnen Sie ein Konsolenfenster ("Eingabeaufforderung") und navigieren Sie zum Installationsordner der SpaceControl-Software (normalerweise "C:\Program Files (x86)\SpaceControl"). Geben Sie ein

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

Das startet den Java-Interpreter und lädt das Panel mit deaktivierter Würfeldemo.

Dieser Hinweis ist obsolet: Das Panel schaltet die Würfeldemo jetzt bei Problemen automatisch ab.
Das SpaceControl Panel startet, aber zeigt das angesteckte Gerät nicht an.
Das kann passieren, wenn Ihre Grafikkarte im Modus für 256 Farben ist. Setzen Sie sie auf 16-Bit-Farbtiefe oder True-Color.
Das SpaceControl Panel startet, aber zeigt ein leeres Fenster unter Vista 64 Bit oder Windows 7 64 Bit.
Klicken Sie mit der rechten Maustaste auf die Verknüpfung "SpaceController/Starte SpaceControl-Panel" im Windows-Startmenü und öffnen Sie die "Eigenschaften". Dort gibt es den Karteireiter "Kompatibilität"; deaktivieren sie darin die "Visuellen Designs".
Das SpaceControl Panel verliert für kurze Zeit die Verbindung zum Treiber, wenn die Konfiguration gewechselt wird.
Das kann vorkommen, wenn das Gerät über einen USB-Hub mit dem Computer verbunden ist. Verbinden Sie es besser direkt.
Wenn ich den Help-Knopf auf einem Dialog drücke, öffnet der Browser die Hilfedatei immer in der ersten Zeile, nicht im passenden Kapitel. Das ist ein Bug in älteren Internet-Explorer-Versionen. Neuere Versionen, Chrome, Firefox, Opera und Safari funktionieren. Wenn Sie keinen von diesen als ihren Standard-Browser verwenden wollen, können Sie ihn speziell als Hilfe-Browser für den SpaceController benutzen, s. die Beschreibung des Einstellungen-Dialogs oben.
Im Internet-Explorer können Sie auch in die Adressleiste klicken und dann die Return-Taste betätigen, um an die richtige Stelle im Handbuch zu springen.
Das Display zeigt nach dem Zuweisen einer Funktion an eine Funktionstaste den Text "unknown" an.
Dieser Effekt kann nach dem ersten Start eines Plug-ins auftauchen. Abhilfe: Kurz eine andere Applikation in den Vordergrund holen und zurückwechseln.
In Google Earth funktioniert der SpaceController nicht.
Sie müssen in Google Earth die 3D-Controller-Unterstützung einschalten: Öffnen Sie mit Menüpunkt "Tools/Optionen..." den Optionen-Dialog und kreuzen Sie dort unter dem Reiter "Navigation" das Ankreuzfeld "Controller aktivieren" an.
In Rhino 5 funktioniert der SpaceController nicht.
Geben Sie "TestSpaceBall" in Rhinos Kommandozeile ein, deaktivieren Sie die neue Schnittstelle und starten Sie Rhino neu.
Rhino 5 rotiert immer um die z-Achse der Szene, wenn ich um die Hochachse des SpaceControllers rotiere.
Klicken Sie in Rhino auf  "Datei/Eigenschaften..." und aktivieren Sie den Parameter "Rhino-Optionen/Ansicht/Relativ zur Ansicht drehen".
In Rhino 6 funktioniert der SpaceController nicht.
Geben Sie "SpaceMouse" in Rhinos Kommandozeile ein, öffnen Sie das "Popup_Menu" des Befehls und aktivieren Sie "Rotate" und "Pan Zoom". Oder drücken Sie die Funktionstaste 5 auf dem Gerät, die mit dem Makro "Activate SpaceController" belegt ist.
Die Richtung der z-Translation und -Rotation sollte in unserem Dialog Erweiterte Konfiguration umgekehrt werden.
Mit KeyShot 5 friert der Rechner ein.
KeyShot erzeugt auch ohne jede Benutzerinteraktion ständig fast 100 % CPU-Last. Zusammen mit dem Lese-Thread unseres Universal-Plug-ins läuft dann häufig gar nichts mehr. Abhilfe: Nehmen Sie mit dem Windows-Taskmanager dem Prozeß "keyshot5.exe" einen Prozessorkern weg.
Unter macOS Sierra (10.12) startet der Treiber nicht.
In der Datei /etc/hosts muß eine Zeile
   127.0.0.1    localhost
hinzugefügt werden.
Unter macOS Sierra (10.12) kann sich das SpaceControl-Panel nicht mit dem Treiber verbinden. Ursache: Die vom Treiber aufgerufene Betriebssystemfunktion gethostbyname() findet die IP-Adresse zum zuvor ermittelten Netzwerknamen des Rechners nicht und kehrt erst nach einem 5-Sekunden-Timeout zurück. Das Panel wartet aber nur zwei Sekunden auf eine Reaktion des Treibers.
Abhilfe: In der Datei /etc/hosts muß eine Zeile mit dem Netzwerknamen des Rechners hinzugefügt werden:
   127.0.0.1    <Gerätename>.local
Den Gerätenamen findet man in den Systemeinstellungen unter "Freigaben"; eventuelle Leerzeichen müssen durch einen Bindestrich ersetzt werden.
In Autodesk Inventor funktioniert der SpaceController nicht.
Neuere Versionen von Inventor blockieren standardmäßig unbekannte Zusatzmodule - man muß deren Ausführung explizit erlauben. Dazu klicken Sie auf den Menüpunkt "Extras/Zusatzmodule" und klicken im Dialog "Zusatzmodule-Manager" auf das Element "SpaceController Add-In". Im Bereich "Ladeverhalten" entfernen Sie dann den Haken bei "Blockieren" und aktivieren die anderen beiden Ankreuzfelder.
Das SpaceControl-Panel stürzt ab, wenn der sogenannte "GodMode"-Ordner auf dem Desktop liegt.
Der Godmode-Ordner ist ein Ordner, der den Namen "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" hat, und zeigt die Windows-Systemeinstellungen. Von dem Absturz sind wegen eines Fehlers im Java-Runtime-Environment unter Windows 10 alle Java-Programme betroffen. Abhilfe ist auf zwei Arten möglich:
  • Aktivieren Sie mit "Datei/Einstellungen" das "Metal"-Erscheinungsbild.
  • Legen Sie statt des Ordners eine Batch-Datei auf den Desktop, die die folgende Zeile enthält:
    %SystemRoot%\explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

Für den Fall weiterer Probleme kontaktieren Sie unseren Kundendienst:
E-Mail: support@spacecontrol.de
Telefon: +49 8152 90968-68

5 Technische Daten

SpaceController:
Abmessungen (Breite, Tiefe, Höhe): 198 mm, 199 mm, 81 mm
Gewicht: 845 g
Stromverbrauch: 5 V, 65 mA (LEDs und LCD aus) bis 225 mA (LEDs und LCD max. Helligkeit)
Stromquelle: PC via USB-Kabel
Anschluß: USB 2.0
Kabellänge: 1.8 m
Sensor: opto-elektronisch
Umgebungstemperaturbereich: 15 °C - 40 °C


6 Systemanforderungen

Hardware:
Betriebssystem:
Software:

7 Änderungsliste

21. August 2018, Version 2.9.3:

1. August 2018, Version 2.9.2:

9. April 2018, Version 2.9.1:

11. Dezember 2017, Version 2.9.0:

5. Oktober 2017, Version 2.8.9:

19. Juli 2017, Version 2.8.8:

11. April 2017, Version 2.8.7:

28. November 2016, Version 2.8.6:

1. Juni 2016, Version 2.8.5:

14. März 2016, Version 2.8.4:

9. März 2016, Version 2.8.3:

18. November 2015, Version 2.8.2:

15. Juli 2015, Version 2.8.1:

2. April 2015, Version 2.8.0:

5. November 2014, Version 2.7.0:

16. Juli 2014, Version 2.6.3:

16. Juni 2014, Version 2.6.2:

16. Januar 2014, Version 2.6.1:

21. November 2013, Version 2.6.0:

10. April 2013, Version 2.5.1:

20. März 2013, Version 2.5.0:

14. Januar 2013, Version 2.4.2:

13. November 2012, Version 2.4.0:

12. September 2012, Version 2.3.2:

30. Mai 2012, Version 2.3.1:

19. April 2012, Version 2.3.0:

7. Dezember 2011, Version 2.2.2:

24. November 2011, Version 2.2.1:

15. Juli 2011, Version 2.1.2:

1. Februar 2011, Version 2.0.0:

5. Oktober 2010, Version 1.4.3 beta:

23. August 2010, Version 1.4.2:

22. Juli 2010, Version 1.4.1:

20. April 2010, Version 1.4.0:

15. Januar 2010, Version 1.2.1:
 
19. November 2009, Version 1.2.0:

16. Juli 2009, Version 1.1.2:

15. Juni 2009, Version 1.1.1:

5. April 2009, Version 1.1.0:

17. März 2009, Version 1.0.1:

8 Bekannte Fehler


9 Handelsmarken

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 Autor: Friedemann Seebass
Copyright © SpaceControl GmbH & Co. KG, Am Technologiepark 10, 82229 Seefeld, Germany