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

     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.