<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Using DOS/Merge 2.2 with XFree86</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="SVR4.html"><EM>Information for SVR4 Users</EM></A>
 <b>:</b> <EM>Using DOS/Merge 2.2 with XFree86</EM><BR>
<b>Previous:</b> <A HREF="SVR46.html"><EM>Building non-core clients with SVR4</EM></A><BR>
<b>Next:</b> <A HREF="SVR48.html"><EM>Keyboard mapping problems with some Esix systems</EM></A>


<HR NOSHADE>
  <H2><A NAME="7"></A>7. Using DOS/Merge 2.2 with XFree86</H2>
<p>It is possible to use the Locus DOS/Merge 2.2 X clients with XFree86.
You need to do a couple of things for this to work, though.  One change is
a generic problem with the X client and X11R5/6; the others are to work
with some things that are specific to the XFree86 servers.  Here are the
things you need to do:
<ol>
<li>Set and export <code>&#36;XMERGE</code> in your <code>.xinitrc</code>
and/or <code>.xsession</code> files.
In general, you should set <code>XMERGE=vga</code>.
</li>
<li>You MUST use the "xqueue" driver instead of the server's native
keyboard and mouse driver, if you intend to use the "zoom"
feature of the `dos' client.  Otherwise the mouse will cease to
function after the first time you "zoom" (because the `dos'
client uses the native driver, and the server will not be able
to access the mouse after the zoom ends).  The only other
alternative is to use separate mice on separate devices.
</li>
<li>You need to install the `dos' client fonts in the XFree86 font
directories.  Locate the BDF files (search for files with names
matching the pattern `*pc???.bdf').  These will likely be
<code>/usr/lib/X11/fonts/misc</code>.  
Go to the directory where these files
are located, and execute the following (using `sh' or `ksh'):
<pre>
	for i in *pc???.bdf
	do
	    /usr/X11R6/bin/bdftopcf $i &gt; \
			/usr/X11R6/lib/X11/fonts/misc/`basename $i .bdf`.pcf
	done
	cd /usr/X11R6/lib/X11/fonts/misc
	/usr/X11R6/bin/mkfontdir
	# Do this only if the server is already running.
	/usr/X11R6/bin/xset fp rehash
</pre>
</li>
<li>The `dos' client program uses a translation table to map from
an internal key representation to the X keymap.  It is likely
that the table supplied with Merge 2.2 use the mapping for
SCO's server.  A correct mapping table is available in
<code>/usr/X11R6/lib/X11/etc/xcode.xfree86</code>.  This file should be
installed in <code>/usr/lib/merge/xc</code>.  In addition, you must 
add the
following resource to the `dos' client's application-defaults
file (usually in <code>/usr/lib/X11/app-defaults/DOS</code>):
<pre>
	dos*xcodetable: /usr/lib/merge/xc/xcode.xfree86
</pre>

It will be obvious if this new code table is needed, as the
arrow keys on the keypad will fail to function in the `dos'
client if the wrong table is installed.
</li>
<li>For the "zoom" feature to work correctly, you must run `dos'
with &#36;DISPLAY set to "unix:N" or "host_name:N".  If you use
just ":0", the client will not function properly.  `dos' does
not accept a `-display' parameter.  Hence it is probably a good
idea to replace the `dos' program with something like this:
<pre>
	#!/usr/bin/ksh
   	if [ "X${DISPLAY}" != "X" ]
   	then
		case ${DISPLAY} in
		:*)
			DISPLAY=unix${DISPLAY}
			;;
		esac
	fi
	/usr/bin/dos.real "$@"
</pre>
</li>
</ol>
</p>
 <HR NOSHADE>
<A HREF="SVR4.html"><EM>Information for SVR4 Users</EM></A>
 <b>:</b> <EM>Using DOS/Merge 2.2 with XFree86</EM><BR>
<b>Previous:</b> <A HREF="SVR46.html"><EM>Building non-core clients with SVR4</EM></A><BR>
<b>Next:</b> <A HREF="SVR48.html"><EM>Keyboard mapping problems with some Esix systems</EM></A>



</BODY>
</HTML>
