MOUSEFS(4) MOUSEFS(4) NAME mousefs, kbdfs - file systems for mouse and keyboard network redirection SYNOPSIS mousefs [ -AdD ] [ -m mnt ] [ -n addr ] [ -V vol ] 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 sup- plies 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 lis- ten 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 donat- ing 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 key- board to be redirected along with the mouse. This requires kbdfs to be started in the machines involved. Mousefs Page 1 Plan 9 (printed 12/30/24) MOUSEFS(4) MOUSEFS(4) assumes that the port for a kbdfs is one plus the port for the corresponding mousefs in that system. Oscreen(1) provides a more convenient user interface to both programs. 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). 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 pro- grams ban be fooled and loops can be created. The event streams are not encrypted. Page 2 Plan 9 (printed 12/30/24)