Provided by: x2x_1.30-8_amd64 bug

NAME

       x2x - X to X connection

SYNTAX

        x2x  <[-to <DISPLAY>] | [-fromwin | -from <DISPLAY>]> [options...]

DESCRIPTION

       x2x  allows the keyboard and mouse on one ("from") X display to be used to control another
       ("to") X display.  Since x2x uses the XTEST extension, the "to"  X  display  must  support
       XTEST.

       If  x2x is built under Cygwin (on Windows XP or Windows 2000) then the -fromwin option may
       be specified to allow the "from" display to be the Windows desktop. (The Cygwin build also
       supports  use  of  an  X  display for the "from" screen). Use of -fromwin sets the default
       behaviour as if the -big -west -capslockhack options had also been given.

       In the default interface, x2x puts a window on the "from" display.  This window is labeled
       with  the name of the "to" display.  Keystrokes typed into this window go to the window on
       the "to" display that has the input focus.  Clicking on the x2x window causes the mouse on
       the  "from"  display  to  control the cursor on the "to" display.  Performing a subsequent
       multiple button click on the "to" display returns control to the "from" display.

       If the -fromwin, -north, -south, -east or -west options are specified on the command line,
       x2x  starts  up with a different interface.  When the mouse moves to the top, bottom, east
       side or west side of the default screen on the "from" display, the cursor slides  over  to
       the  "to" display.  When the mouse returns to to side of the "to" display that it entered,
       it slides back onto the "from" display.

       Unless the -nosel option is specified, x2x relays X selections from  one  display  to  the
       other.  (If  -fromwin is specified then the X selection is relayed to and from the Windows
       clipboard as text strings).

       Here are a few hints for eXcursion users (based on Intel version 2.1.309).  First, use the
       -big  option.   Second,  in  the  control  panel,  under mouse, check the box that enables
       "Automatically Capture Text on Button Up."  X selections will then automatically move into
       the  Windows  clipboard.   As  is  the  case  with  all  X applications running on 2.1.309
       (including x2x), you will need to do an extra mouse click after performing the X selection
       for this operation to work.  x2x is known to work poorly with eXcursion running on Windows
       95, probably due to the Windows 95 task scheduler.  x2x  does  work  well  with  eXcursion
       running on Windows NT.

       The  hints  for  eXcursion are also valid for Exceed, with the exception that X selections
       work better, as long as you are using x2x version 1.25 or later.

OPTIONS

       Either the -to option or the -from option (or both) must be specified.

       -to display

              Indicates the ("to") display that is remotely controlled  by  the  "from"  display.
              Default is equivalent to the default display.

       -from display

              Indicates the ("from") display that remotely controls the "to" display.  Default is
              equivalent to the default display.

       -fromwin

              Available when x2x is built in the Cygwin environment. This  option  indicates  the
              ("from")  display should be the Windows desktop. In this case the "to" display must
              be specified with the -to option. Setting this option  forces  -big  and  sets  the
              default to -west -capslockhack

              The  -fromwin  option works best when Windows is configured for focus-follows-mouse
              also known as X Mouse. This can be  set  using  TweakUI  for  Windows  XP  (on  the
              Mouse/X-Mouse  panel) or the XMouse2000 program for Windows 2000. If Windows is set
              for its default behaviour x2x will attempt to get the keyboard and mouse focus  but
              may  not  succeed.  (The  Windows XP TweakUI has a General/Focus option that can be
              unchecked to allow applications to steal the focus.) If it fails the first try, x2x
              tries quite hard to get the focus!

              If  the  "to" display supports mouse buttons 4 and 5 then mouse wheel events on the
              Windows side are translated to clicks of buttons 4 and 5 on  the  X  display.  This
              matches with XFree86 servers using Option "ZAxisMapping" "4 5".

              A  link  may be created on the Windows desktop to conveniently launch x2x. Assuming
              cygwin is installed to C:\cygwin and x2x.exe is in  /usr/X11R6/bin  then  the  link
              properties should be set to:

              Target:
              C:\cygwin\usr\X11R6\bin\run.exe /usr/X11R6/bin/x2x -fromwin -to somewhere:0.0 -east

              Start In: C:\cygwin\usr\X11R6\bin

              The  "Start  In"  option  is important to allow DLLs to be loaded and C:\cygwin\bin
              must be on the Windows PATH to allow other DLLs to be loaded. (If either  of  these
              are incorrect, launching the application tends to silently fail.)

              There are two magic key combinations activated by -fromwin:

              RightAlt-Home:  Forces  the  focus  back to Windows without needing the mouse to be
              moved. Useful when some popup window on the Windows side grabs the mouse!

              RightAlt-End: Exit x2x

       -north

              Slide off the north side of the "to" display onto the "from" display.

       -south

              Slide off the south side of the "to" display onto the "from" display.

       -east

              Slide off the east side of the "to" display onto the "from" display.

       -west

              Slide off the west side of the "to" display onto the "from" display.

       -font fontname

              The font used in the x2x window. (Overridden by -east or -west.)

       -geometry specification

              The X geometry specification for the x2x window.  (Overridden  by  -north,  -south,
              -east or -west.)

       -wait

              Tells  x2x  to  poll  the "to" and "from" displays at startup until they are ready.
              Useful for login scripts.

       -big

              Workaround for a bug in the cursor grab implementations of at least one  X  server.
              Put  a  big  window over the "from" display in order to force the X server to track
              the cursor. (This option is forced by the -fromwin option).

       -buttonblock

              If this option is enabled with -north, -south, -east or -west, the cursor will  not
              slide back onto the "from" display when one or more mouse buttons are pressed.

       -buttonmap button# "KeySym ..."

              Map  a  mouse  button  to one or more keyboard events on the "to" display.  This is
              useful if you have a mouse with more buttons than the remote X  server  can  handle
              (e.g. a wheel mouse on a PC, merged with a Sun/Sparc OpenWindows display).

       -nomouse

              Don't capture the mouse.  (Overridden by -north, -south, -east or -west.)

       -nopointermap

              Since  x2x  uses  XTEST, which sends input at a lower level than the pointer button
              mapping, x2x  needs  to  understand  the  "to"  display's  button  mapping  and  do
              appropriate conversion.  Use this option to turn off the pointer button conversion.

       -nosel

              Don't relay the X selection between displays.

       -noautoup

              Normally,  the  autoup  feature  in  x2x  automatically lifts up all keys and mouse
              buttons when it removes the cursor from  the  "from"  display.   Note:  the  autoup
              feature  changes the state of lock functions like Caps Lock.  The state of the lock
              function may not correspond to the state of the keyboard  LEDs!   To  disable  this
              feature, use the -noautoup command line option.

       -resurface

              Ugly  hack  to  work-around window manager ugliness.  The -north, -south, -east and
              -west modes actually put a small window on the side of the  "from"  display.   This
              option  causes  this window to resurface itself if another window ever obscures it.
              This option can cause really nasty behavior if another application tries to do  the
              same thing.  Useful for login scripts.

       -win-output

              Makes  the  small  window  ("trigger  window") on the side of the "from" display an
              InputOutput window instead of an InputOnly window. Visibility  notification  events
              are  never  generated for InputOnly window, therefore -resurface would not work for
              InputOnly window. Use -win-output together with -resurface.

       -win-transparent

              Makes the small window ("trigger window") transparent. Use with -win-output option.

       -struts

              Advertise struts in _NET_WM_STRUT

              Once upon a time, the trigger window was a regular window and could be  arbitrarily
              stacked. If obscured it would stop working. Later the trigger window became a dock,
              to be treated specially by the window manager. The EWMH spec suggests placing docks
              over  all  other  windows...  but  some  window  managers  place docks below before
              unmapping them. XMonad is one such window manager. In this case we  would  like  to
              advertise struts - reserved space along screen edges that is not normally obscured.
              However this should not happen if the dock is already above all windows.  And  thus
              the new '-struts' settings is born, which uses the '_NET_WM_STRUT' property.

              Note that this is a less hacky alternative to '-resurface'.

       -capslockhack

              Ugly  hack  to  work-around the situation in which the "to" Xserver doesn't seem to
              honor the state of the CapsLock on the "from" Xserver. This is the default when the
              -fromwin option is given (although the hack used is slightly less ugly).

       -nocapslockhack

              Disable the -capslockhack behaviour. Used to change the default behaviour after the
              -fromwin option is specified.

       -clipcheck

              Check that clipboard entries are regular strings (XA_STRING) before  forwarding  to
              Windows.  Enabling  this  is  safer but may prevent copying with certain setups (eg
              from emacs under KDE/XFree).

       -shadow display

              Also sends mouse movements and keystrokes  to  this  display.   Useful  for  demos.
              Amaze your friends: specify multiple shadows.

       -sticky sticky-key

              This  option is primarily for "lock" keys like Caps_Lock.  If a lock key only seems
              to work on every other press, try this option.  The sticky option  prevents  autoup
              for  the  specified  key.  Look in /usr/include/X11/keysymdef.h for a list of valid
              names of keys (remove the leading XK_).

       -singlesticky

              Some X servers generate both a key down and a key up when a lock  key  is  toggled.
              Some  X  servers generate a key down when a lock key is activated and a key up only
              when it is deactivated.  This option  will  allow  an  X  server  with  the  former
              behavior  to  control  one with the latter behavior.  Use this if Caps_Lock lock is
              behaving like shift.

       -label label

              Override the label of the control window (useful when running over ssh).  The label
              is the text displayed within the control window.

       -title title

              Override the title of the control window (useful when running over ssh).

       -copyright

              Prints the full copyright for the x2x code.

       -noscale

              This  option turns off the mouse scaling.  In some circumstances, the remote screen
              is so different in physical size  or  resolution  that  the  normal  mouse  scaling
              applied  by  x2x  distorts the mouse movement so much as to be practially unusable.
              Note: this is only useful if the remote screen is lower resolution than  the  local
              screen  and  also  causes  the remote mouse pointer to warp around when it hits the
              edges.

       -completeregionleft

              Describes leftmost coordinate of complete rectangle  region  in  from-display.   If
              from-display   is  configured  with  multiple  monitors  and  they  have  different
              resolution, few regions that does not belongs to any  monitor  becomes  dead  space
              that  mouse  cannot  move  in.   In the case, the dead space can be mapped to legal
              region of to-display.  If complete region in from-display is  specified,  X2X  maps
              only complete region to to-display and avoid the dead, but legal regions.

       -completeregionright

              Describes rightmost coordinate of complete rectangle region in from-display.

       -completeregionup

              Describes uppermost coordinate of complete rectangle region in from-display.

       -completeregionlow

              Describes lowermost coordinate of complete rectangle region in from-display.

EXAMPLES

       Calling  the  system  whose  keyboard  is  to  be  used  "primary"  and  the  other system
       "secondary", you need to  specify  either  -from  primary-x-display  or  -to  secondary-x-
       display.   The  x2x  program  can  be  run  on either system.  The easiest way to maintain
       security is to tunnel an X connection over ssh.  Since x2x can be run on either  computer,
       it  can  be  invoked in either of the following ways, where we assume the local display on
       each system is :0.

       run indirectly on secondary:

              primary $ ssh -X secondary x2x -to :0 -east

       run indirectly on primary:

              secondary $ ssh -X primary x2x -from :0 -west

       run directly indirectly on primary:

              primary $ ssh -A secondary env DISPLAY=:0.0 ssh -X primary x2x -from :0 -east

       If your primary display is configured with several monitors having different  resolutions,
       -completeregion(left|up|right|low)  options  can  be  helpful.   suppose that you have two
       monitors connected to the primary system and the resolution of the  left-side  monitor  is
       300x300  while  the right-side one is 400x400.  Also, you aligned these two monitors to be
       vertically centric.  Therefore, your primary system has virtually 700x400 resolution.

       The left monitor covers (0,50,300,350) of the virtual total  resolution  while  the  right
       monitor  covers  (300,0,700,400).  The  four  numbers each represent left, top, right, and
       bottom. Also, you have two  dead  spaces:  (0,0,300,50)  and  (0,350,300,400).  Thus,  the
       complete square region for this configuration would be (0,50,700,350).

       If  no  explicit  description is provided, the x2x recognizes the virtual total resolution
       (0,0,700,400) only. As a consequence, the dead space  region  cannot  be  reached  in  the
       secondary  system.   You  can  solve  this  problem by teaching x2x that the real complete
       square    region    for    the    secondary    system     (0,50,700,350)     using     the
       -comptereregion(left|up|right|low) options as below:

              -completeregionleft     0    -completeregionup    50    -completeregionright    700
              -completeregionlow 350

SEE ALSO

       The synergy program ⟨http://synergy-project.org⟩ has similar functionality to that of x2x,
       supports multiple platforms, and when I try to use it my X session crashes.

       There is a nice Linux Journal article on x2x ⟨http://www.linuxjournal.com/content/
       share-keyboardmouse-between-multiple-computers-x2x⟩.

AUTHOR

       David Chaiken <chaiken@pa.dec.com>
       Mark Hayter (-fromwin code, thanks to the WinVNC sources)
       Addition of -north and -south options by Charles Briscoe-Smith <cpbs@debian.org>.
       Current maintaner is Mikhail Gusarov <dottedmag@dottedmag.net>

BUGS

       This software is experimental!  Heaven help you if your network connection should go down.
       Caveat hacker.  TANSTAAFL.

       The  x2x  repository  and  issue  tracker  ⟨http://github.com/dottedmag/x2x⟩  has moved to
       github.

       When using the -fromwin option if the Ctrl-Alt-Del keysequence is used while the mouse  is
       forwarded  to the X display then the Ctrl and Alt key press events are reported to x2x and
       forwarded but no other key events are generated. Thus if the Ctrl-Alt-Del sequence is used
       to  manually lock the Windows display when the display is unlocked the mouse will still be
       forwarded to the X screen and the X server will believe Ctrl and Alt  are  still  pressed.
       Pressing  and releasing Ctrl and Alt should restore correct operation, as should returning
       the mouse to the Windows display (or using the RightAlt-Home magic key sequence).

       If you have trouble with some keys not working, try setting the keymaps on both systems to
       be the same using setxkbmap.  If that's not enough, make sure that the output of setxkbmap
       -query is identical on both machines.

LAWYERESE

       Copyright (c) 1997 Digital Equipment Corporation.  All rights reserved.

       By downloading, installing, using, modifying or distributing this software, you  agree  to
       the following:

       1. CONDITIONS. Subject to the following conditions, you may download, install, use, modify
       and distribute this software in source and binary forms:

       a) Any source code, binary code and associated documentation (including the online manual)
       used,  modified  or distributed must reproduce and retain the above copyright notice, this
       list of conditions and the following disclaimer.

       b) No right is granted to use any trade name,  trademark  or  logo  of  Digital  Equipment
       Corporation.   Neither  the "Digital Equipment Corporation" name nor any trademark or logo
       of Digital Equipment Corporation may be used to endorse or promote products  derived  from
       this software without the prior written permission of Digital Equipment Corporation.

       2.   DISCLAIMER.   THIS SOFTWARE IS PROVIDED BY DIGITAL "AS IS" AND ANY EXPRESS OR IMPLIED
       WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF  MERCHANTABILITY  AND
       FITNESS  FOR  A  PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL DIGITAL BE LIABLE FOR
       ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
       BUT  NOT  LIMITED  TO,  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
       PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  WHETHER
       IN  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
       WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

       Windows 95 and Windows NT are trademarks of Microsoft Corporation.
       Exceed is a trademark of Hummingbird Communications Ltd.

                                                                                           x2x(1)