Manual
KMSwitch

Created 05-20-2014 T. Milius
Changed 05-22-2014 T. Milius


Content

Overview

KMSwitch is a module allowing you Keyboard/Mouse-Switch between RISC OS machines using the network. The manual describes how KMSwitch can be used making usage of a small application instead of typing commands.

The machine which keyboard and mouse is controlled by another machine is called the server and the machine which controls keyboard and mouse of another machine by its own keyboard and mouse is called the client.

The module provides a couple of commands controlling the behaviour. You can terminate server or client mode by pressing an escape sequence on the local keyboard. In the moment this is F1 but this will be change in later versions.

Note: The program uses UDP-network mode to transmit its movement und key pressure information and this in an unsecured way. In cases that key are not accepted or repeated press them again. In modern home networks loss of pakets is seldom.

Note also: Never activate a KMSwitch connection as a client when your pointer is above a window which supports classical sroll wheel comcept. Due to the concept it is not possible to intercept such actions for KMSwitch and so you will scroll on your own machine instead on the machine you are connected to.

Installation

Requirements

You are requiring at least two machines running RISC OS and a network connection between the machines. KMSwitch has been tested with machines running RISC OS V4.02 and newer versions. In theory it may work with machines running RISC OS 3.5.

Performing the installation

Simply copy the !KMSwitch application folder to a place of your choice somewhere on your harddisc, USB storage stick or NAS. You may configure the appliaction after starting it for the first time. Ensure that the desired network port isn't blocked by routers or used by other programs.

Manual

Start !KMSwitch. On the right side of the program bar the according symbol of the program will alert.

When you are clicking the MENU-key of the mouse above the !KMSwitch symbol you will obtain a small menu which allows you to display the copyright and this help, do some configuration and also to terminate the program. Additionally you can set your machine into KMSwitch server mode (terminated by pressing a special combination of keys (F1 only in the moment)). This means that keyboard and mouse of the machine may be controlled by every other machine which has connected to this machine and wants to perform the control.

At termination of the program all of its windows will be closed. The program will also quit automatically without any warning in case that the KMSwitch module is killed.

To exclude unwanted KMSwitch access to a maschine every maschine which wants to control another machine has to establish a connection to this machine before it can act as client and control keyboard and mouse of the other machine.

Pressing the SELECT-key of the mouse above the !KMSwitch symbol will open a window showing you all the connections from and to other machines with this machine. In case you didn't setup this connections by a command script the window will be empty when opening it for the first time.

Note that the appearance of the entries inside the connection list may vary slightly from machine to machine which is due to the fact that the list makes usage of new display features if the versions of the installed Toolbox modules are allowing this. Older versions are indicating an allowed operation as a + and unallowed operation as a - whilst newer versions will display them as a green hook or a 45° degree rotated red cross .

Column "R" indicates whether this machine can be controlled by the machine shown in the list entry when this machine is in KMSwitch server mode. Column "C" indicates whether this machine can control the machine shown in the list entry when the other machine is in KMSwitch server mode. The "Name of Machine" column show the name of the machine shown in the list entry. It is determined by the settings of the RISC OS environment variables Inet$LocalDomain and Inet$HostName.

A connection as a client to a KMSwitch server machine can be made on two ways. Either by double clicking on an entry in the list or by selecting one enrtry of the list and choosing "Control Server" from the menue belonging to the connection window. In case that the activation is successful the cursor and keyboard will no longer react on your machine until the session is terminated by pressing a special combination of keys (F1 only in the moment). In case that an activation is rejected you will be informed about this by an error message.

The menu of the connection window can be opened by pressing the MENU-key of the mouse over the connection window.

Addtionally it offers you the possility to setup a connection to another KMSwitch machine which you want to cotnrol.

You have to enter the IP network address of the machine you want to control and optionally a password. Pressing "Connect" will try to establish a connection. If this is successful the connection will be added to the connection list inside the connection window. If it there is a problem you will get an error message. Note that it my be necassary to connect to a machine which is already shown inside the list either because of it hasn't been removed correctly at shutdown of the other machine or because the other machine connected to your machine but not you to it.

Configuration

At the configure menu you can either choose to open the Choices:KMSwitch directory and modify the values in the setup file as described inside technical details.

The other alternative is to open the application configuration.

You can only define the screen blank behaviour in the moment by pressing the set button. You should have a look at remarks regarding the energy saving mode to find out whether setting a blanking is useful for your environment.

Copyright

Copyright 2014 by

Thomas Milius Stade, Germany (Contact)

The program may be copied free of charge.

The manufacturer of the program is taking no responsibility on any damages or subsequent damages which are resulting of the usage of the program like eg loss of data. Of course hints on errors are always welcome and the manufacturer will try to correct them as soon as possible. However a duty for correction does not exists.

History

Version 0.08

Release date:

Price:

Remarks:

Corrected errors:

New errors/problems:

New features:

Contact

If you are having questions, improvements or remarks don't hesitate to contact me:
Thomas Milius
Tilsiter Straße 2
21680 Stade
Germany

Telephone:
04141/65005
Work days from 19:00 until 21:30 and at weekends

E-mail:
Thomas-Milius@t-online.de

Homepage:
http://www.thomas-milius.homepage.t-online.de/indexE.htm

Future

To do:

Technical details

If you start !KMSwitch the module will be loaded using a config file located inside Choices:KMSwitch. You can configure the network port (Default is 12343) and may setup a password to restrict connections to your machine. Additionally you can configure a polling interval. Larger intervals will consum less CPU, smaller intervals will give a smoother mouse movement.

Note that there is no other way to reconfigure the module as to kill and reload it with another configuration file.

You may also place a file called "setup" inside Choices:KMSWitch allowing you to preprare your local KMSwitch installation (eg. activate server mode automatically).

Commands

Remarks regarding the energy saving mode

In case that energy saving mode is activated on one machine and two machines are connected to the same monitor the monitor may try to find a new active signal. So you can switch your monitor between the two machines together with the mouse and keyboard.

Interaction between application and module

The application has to register with its task handle at the module using KMSwitch_Inform. If application quits it has to deregister using KMSwitch_Inform without handle.

After an application has registered it will obtain TaskWindow_Output messages from the KMSwitch Modul without any output in every case when a status change will occur inside the module. The application shall request the state details by executing a KMSwitch_Status -A Tempfile and evaluate the file. If module quits it will send the application a TaskWindow_Morio.

So arbitrary applications can make usage of the KMSwitch module if required.