NAME
mousefs, kbdfs – file systems for mouse and keyboard network redirection

SYNOPSIS
mousefs [ –AdD ] [ –m mnt ] [ –n addr ] [ –V vol ] [ addrs ]

kbdfs [ –AdD ] [ –m mnt ] [ –n addr ] [ –V vol ]

DESCRIPTION
Mousefs wraps the local mouse to permit mouse redirection. This program exports a file system with just two files: mouse and mousectl. These files behave as said in mouse(3). By default, mousefs mounts itself at /dev before existing devices, or at mnt if –m says so.

Kbdfs performs the similar task for the keyboard, and supplies cons (compatible with cons(3)) and kbdctl files.

Besides forwarding events from the underlying device to the process(es) using the files provided, mousefs and kbdfs listen for remote calls from other instances of the programs. Any event sent from a remote peer will be handled as if sent from the local device. This permits other machines to send mouse and keyboard events to the machine where the programs run.

Calls can be initiated by a write of call address to the mousectl file exported by mousefs or to the kbdctl file exported by kbdfs. In this case, the program connects to such system (using tcp and mouse as the default network and port) and redirects events from the local device to that connection. A special address local is understood, meaning the local system.

In the case of the mouse, writes to /dev/mouse while the system is being called cause event forwarding to the calling system, to permit mouse teleporting (e.g., like done by acme(1)).

To cancel an outgoing call, press mouse button 1 while at the top–left corner of the screen (or window) that is donating its mouse. This reclaims the mouse for local usage.

Any connection (no matter who initiated it) can be cancelled by a write of close address to the mousectl or kbdctl file.

When kbdfs is started before, mousefs arranges for the keyboard to be redirected along with the mouse. This requires kbdfs to be started in the machines involved. Mousefs assumes that the port for a kbdfs is one plus the port for the corresponding mousefs in that system.

Factotum is used to authenticate with peers. Any protocol supported by factotum(4) can be used. Option –A disables authentication, option –V can be used to announce a volume, as said in planb(4).

If optional addresses are given as arguments, mousefs assumes that they correspond to screens arranged in the left–to–right order used in the command line. In this case, the borders can be crossed to redirect the mouse and the keyboard.

SOURCE
/sys/src/cmd/mousefs.c
/sys/src/cmd/kbdfs.c

SEE ALSO
oscreen(1), and mouse(3).

BUGS
The programs try to avoid loops by refusing to call others while being called, and by refusing to call their own address. However, by using multiple IP addresses, these programs ban be fooled and loops can be created. The event streams are not encrypted.
Copyright © 2008 Lucent Technologies. All rights reserved.