Home > Eingabegeräte

Eingabegeräte

SiteKiosk unterstützt beliebige USB-Eingabegeräte, die Ihre Daten über Tastaturemulation liefern. Die eingelesenen Daten werden von SiteKiosk über das SiteKiosk Object Model bereitgestellt; eine proprietäre Javascript-Erweiterung die in beliebigen HTML-Seiten genutzt werden kann, aber auch in anderen Programmiersprachen verwendet werden kann, z.B. C#.
Sie können mit dieser Funktion verschiedenste Eingabegeräte bzw. Sensoren nutzen. Dies können z.B. RFID- , Smartcard- oder Magnetkartenleser sein. Auf diese Art und Weise lassen sich z.B. Mitarbeiterausweise auswerten, um die Informationen in Human Resource (HR) Anwendungen zu verarbeiten.
1. Verwaltung von Eingabegeräten
1.1 Hinzufügen
Mit der Hinzufügen-Schaltfläche lassen sich Geräte, die im Tastaturemulationsmodus laufen in die Geräteliste eintragen. Dies geschieht in 3 einfachen Schritten.
Zuerst müssen Sie auf dem Gerät, das Sie verwenden wollen eine Eingabe auslösen. Dies kann in der Regel dadurch ausgelöst werden, dass z.B. eine Magnetkarte durch einen Leser gezogen wird.
Sobald die Eingabe erkannt wurde, wird im nächsten Schritt die erfolgreiche Erkennung angezeigt und das ggf. erkannte Stoppzeichen angezeigt.
Sollte kein Stoppzeichen erkannt worden sein, kann über eine Checkbox das letzte eingelesene Zeichen zum Stoppzeichen erklärt werden. Das ist allerdings optional.
Ein Stoppzeichen kann dazu genutzt werden, um damit explizit das Ende der eingelesenen Zeichenkette zu kennzeichnen.
Im Mouseover-Bereich des Erkennungs-Icons wird der erkannte Wert angezeigt. Bitte beachten Sie, dass in der Konfiguration von SiteKiosk Sonderzeichen, die in den eingelesenen Daten vorkommen, möglicherweise nicht korrekt angezeigt werden können. Diese Einschränkung gilt nicht, wenn die Daten in einer laufenden SiteKiosk Instanz eingelesen werden.
Im letzten Schritt muss ein Anzeigename vergeben werden. Zudem erhalten Sie Informationen über die erkannte Geräte ID und das gewählte Stoppzeichen. Sofern verschiedene Geräte des gleichen Gerätemodells an unterschiedlichen Rechnern betrieben werden, sollte die Geräte ID gleich bleiben, so dass die erstellte SiteKiosk Konfiguration auch auf mehrere Kiosksysteme verteilt werden kann.
Der Vorgang kann mit dem Klick auf die Fertig-Schaltfläche beendet werden. So wird ein neuer Eintrag in der Geräteliste erstellt.
1.2 Löschen
Wählen Sie einen Eintrag aus der Geräteliste und klicken Sie auf Löschen, um dieses Gerät zu entfernen.
1.3 Geräteliste
Die Geräteliste zeigt alle hinzugefügten Geräte an. Dabei werden gewählter Anzeigename, die erkannte Geräte ID und das konfigurierte optionale Stoppzeichen aufgelistet.
2. Skriptbeispiele für IE- und Chrome-basierte SiteKiosk Browser
Wichtiger Hinweis:
Stellen Sie unbedingt sicher, dass die HTML Seite mit dem nachfolgenden Code innerhalb von SiteKiosk für Scripting freigegeben ist! Hierzu muss Ihre Seite unter Zugriff/URLs mit Script-Erlaubnis eingetragen sein.
Der HTML-Beispielcode kann kopiert und in einem Editor als HTML-Seite abgespeichert werden. Diese Seite kann im HTML-Unterverzeichnis des SiteKiosk Installationsordners gespeichert werden. Richten Sie die Seite für einen Test anschließend in der Konfiguration von SiteKiosk als Startseite ein und konfigurieren Sie mindestens ein Eingabegerät. Speichern Sie die Konfiguration und starten Sie danach SiteKiosk. Über die Testseite kann dann ein Listener für das konfigurierte Gerät eingerichtet werden und nachfolgend werden über das Gerät eingelesene Daten auf der Seite angezeigt.
Der Beispielcode kann modifiziert und auf jeder beliebigen Webseite genutzt werden, um mit den vom Gerät eingelesenen Daten zu arbeiten.
2.1 Internet Explorer-Variante
Das folgende Skriptbeispiel ist für die IE-basierten Varianten von SiteKiosk.
Bei Aufruf des Scriptes innerhalb von Frames muss die Zeile window.external.InitScriptInterface(); in window.external.InitScriptInterface(document); geändert werden.
Mit Hilfe des SiteKiosk Object Model und der Methode SiteKiosk.RootApp.registerForDeviceData ist es möglich einen Listener zu registrieren, der auf Eingaben eines bestimmten Gerätes wartet und diese dann zur Verfügung stellt.
Verwenden Sie hierzu folgende SiteKiosk Object Model Methode:

SiteKiosk.RootApp.registerForDeviceData(deviceName, callbackFunc)

deviceName = Der in der Konfiguration selbst gewählte Anzeigename des Geräts (String)
callbackFunc = Name der Funktion, die nach dem Einlesen von Daten aufgerufen wird (String)

Die callbackFunc-Funktion hat zwei Parameter. Zum einen die Daten die eingelesen wurden als String und zum anderen der Name des Gerätes, über welches die Daten eingelesen wurden, ebenfalls in Form eines Strings.

Beispiel:
Das folgende Beispiel ist eine HTML-Seite mit einem Textfeld, über das der in der SiteKiosk Konfiguration eingestellte Gerätename angegeben werden kann, um den Listener per Button-Klick zu aktivieren. Liest man anschließend Daten über das ausgewählte Gerät ein, werden diese auf der Seite angezeigt. Bitte beachten Sie, dass Sie bei Verwendung von Seiten mit SiteKiosk Object Model Code die URL zunächst in der SiteKiosk-Konfiguration freischalten müssen.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Keyboard Emulation Device Test</title>
    	<script>
    		window.external.InitScriptInterface();

    		var callbackFunc = function (data, devicename) {
    			document.getElementById("text").innerHTML =
    			"Data received from device with the name: "
    			+ devicename + ". Data: " + data;
    		};

    		function registerDevice() {
    			var deviceName = document.
    			getElementById("devicename").value;

    			if(deviceName == "")
    				return document.
    				getElementById("foundDevice").
    				innerHTML = "The device name is empty!";

    			SiteKiosk.RootApp.
    			registerForDeviceData(deviceName, callbackFunc);

    			return document.getElementById("foundDevice").
    			innerHTML = "Registered device: " + deviceName;
    		}
    	</script>
    </head>
    	<body>
    		<h1>Test page for reading the input of keyboard
    		emulation devices configured in the configuration
    		of SiteKiosk</h1>
    		<div>
    			Listen to input from this device that has been
    			configured in SiteKiosk:
    			<input id="devicename" tpye="text" />
    			(state the device name)
    			<button onclick="registerDevice()">
    			Register the listener</button>
    		</div>
    		<span id="foundDevice"></span>
    		<div>
    			Data that has been received:
    			<span id="text">Waiting for data...</span>
    		</div>
    	</body>
    </html>

2.2 Chrome-Variante
Das folgende Skriptbeispiel ist für die Chrome-basierten Varianten von SiteKiosk.
Zur Initialisierung der Chrome-Version des SiteKiosk Object Model muss folgende Zeile aufgerufen werden:

<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>

Dies bindet die notwendigen Skriptfunktionen ein. Anschließend kann über die Funktion siteKiosk.devices.getAll eine Liste aller in der Konfiguration von SiteKiosk eingetragenen Geräte abgerufen werden.

siteKiosk.devices.getAll()

Die Funktion gibt einen JSON Wert mit allen Geräten zurück.
Um einen Listener für ein einzelnes Gerät einzurichten kann über die Funktion siteKiosk.devices.getByName ein einzelnes Gerät angesprochen werden.

siteKiosk.devices.getByName(deviceName)

deviceName = Der in der Konfiguration selbst gewählte Anzeigename des Geräts (String)

Die Funktion liefert ein Objekt, dass das jeweilige Gerät repräsentiert. Mit der zu diesem Objekt gehörenden Funktion valueChanged kann der Listener registriert werden.

siteKiosk.devices.getByName(deviceName).valueChanged(callbackFunc)

callbackFunc = Name der Funktion, die nach dem Einlesen von Daten aufgerufen wird (String)
Die callbackFunc-Funktion hat zwei Parameter. Zum einen die Daten die eingelesen wurden als String und zum anderen der Name des Gerätes, über welches die Daten eingelesen wurden, ebenfalls in Form eines Strings. Beispiel:
Das folgende Beispiel ist eine HTML-Seite mit einem Textfeld, über das der in der SiteKiosk Konfiguration eingestellte Gerätename angegeben werden kann, um den Listener per Button-Klick zu aktivieren. Liest man anschließend Daten über das ausgewählte Gerät ein, werden diese auf der Seite angezeigt. Bitte beachten Sie, dass Sie bei Verwendung von Seiten mit SiteKiosk Object Model Code die URL zunächst in der SiteKiosk-Konfiguration freischalten müssen.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Keyboard Emulation Device Test</title>
    	<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>
    	<script>
    		var callbackFunc = function (data, deviceName) {
    			document.getElementById("text").innerHTML =
    			deviceName + " - " + data;
    		};

    		function GetDevices() {
    			var devices = siteKiosk.devices.getAll();
    			document.getElementById("devices").innerHTML =
    			JSON.stringify(devices);
    		}

    		function registerDevice() {
    			var deviceName = document.getElementById("devicename").
    			value;

    			if(deviceName == "")
    				return document.getElementById("foundDevice").
    				innerHTML = "No device found!";

    			var device = siteKiosk.devices.getByName(deviceName);

    			if(device == null)
    				return document.getElementById("foundDevice").
    				innerHTML = "No device found!";

    			device.valueChanged(callbackFunc);

    			return document.getElementById("foundDevice").
    			innerHTML = "Registered device: " +
    			JSON.stringify(device);
    		}
    	</script>
    </head>
    	<body onload="GetDevices();">
    		<h1>Test page for reading the input of keyboard emulation
    		devices configured in the configuration of SiteKiosk</h1>
    		<div>Available devices:
    		<span id="devices"></span></div>
    		<div>
    			Listen to input from this device that has been
    			configured in SiteKiosk:
    			<input id="devicename" tpye="text" />
    			(state the device name) <button
    			onclick="registerDevice()">Register the
    			listener</button>
    		</div>
    		<span id="foundDevice"></span>
    		<div>Data that has been received: <span
    		id="text"></span></div>
    	</body>
    </html>

Nach oben