XPCMOUSE.DOC documentation for xPC-Mouse Version 1.0: 3-Dec-1994 Position Cursor, Copy and Paste in Dos Text Mode Copyright (c) 1994 by Jrgen G. Weber and Grant B. Gustafson. ALL RIGHTS RESERVED NO COST? This software is provided free of charge to individuals and educational institutions. Money is not requested. Free for personal use under the Gnu Public License agreement, which is distributed with this source. POSTCARDS? Postcards and comments are welcome! Jrgen G. Weber GB Gustafson Wiesentalstraáe 1 113 JWB Math Dept Univ Utah D-74523 Schw„bisch Hall Salt Lake City, UT 84112 Germany - European Union USA NO WARRANTY. The authors do not warrant the correctness of the documentation or the function of the program. They do not warrant uninterrupted or error free operation of the Program. The user is advised to test the program fully. The risk of using this software is exclusively with the user. The author assumes no liability whatever for damages of any kind that might result from using the program. Cited product names are trade names. ========================== GNU PUBLIC LICENSE ========================== This software is released as copyrighted material under the GNU PUBLIC LICENSE: NO WARRANTY Because xPC-Mouse is licensed free of charge, absolutely no warranty is provided, to the extent permitted by applicable state law. Except when otherwise stated in writing, Jrgen G. Weber and Grant B. Gustafson provides xPC-Mouse "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the xPC-Mouse program prove defective, you assume the cost of all necessary servicing, repair or correction. In no event unless required by applicable law will Grant B. Gustafson and Jrgen G. Weber and/or any other party who may modify and redistribute xPC-Mouse be liable to you for damages, including any lost profits, lost monies, or other special, incidental or consequential damages arising out of the use or inability to use (including but not limited to loss of data or data being rendered inaccurate or losses sustained by third parties or a failure of the program to operate with programs not distributed by Grant B. Gustafson and Jrgen G. Weber) the program, even if you have been advised of the possibility of such damages, or for any claim by any other party. ============================= INTRODUCTION ============================= The TSR program xPC-Mouse enables Position, Copy and Paste in the text modes of PC video cards. Programs that use the mouse themselves work as usual and ignore the presence of xPC-Mouse. REMOTE UNIX HOST A useful installation of xPC-Mouse is on a DOS machine running MS-kermit 3.xxx over a 9600/14400 baud modem to a remote unix host. Most of the very useful mouse functions familiar to Xterm users will be available, especially double-click and paste for unix file names, cursor positioning on the command line and in text editors (emacs, vi, jove, jed, pi), and copy/paste of local text and remote host text. LOCAL COPY/PASTE Local use on a PC includes the familiar need to capture error messages off the screen, to be pasted into a text editor, or the copying of file names, to be pasted on to the command line. Unix users of Xwindows will find the mouse functions useful and natural. PC EDITORS Most PC text editors can use xPC-Mouse to position the cursor and copy/paste small selections of text. This is especially useful in special-purpose editors, like the Czech TeX User's group editor called CSED, which uses the Latin II character set. The xPC-Mouse TSR works with this editor in text mode, for example, EGA monochrome. Similar statements apply to epsilon, emacs, qedit, jed, pi, and vi clones. The Xterm mode can be used with extensible editors to produce a seamless interface to the editor's own copy/cut/paste/position functions. ======================= HARDWARE/SOFTWARE NEEDED ======================= HARDWARE 8088 CPU or better (80286, 80386, 80486) Modern Bios (1985 or later), IBM compatible Microsoft compatible mouse with 2 or 3 buttons SOFTWARE New mouse device driver MOUSE.SYS, e.g., from MS Windows Normally loaded from the file CONFIG.SYS. See below. MS-DOS compatible operating system Tested with MS-DOS 5.0, SoftPC on a SUN4, OS/2 2.x Dos Emulation. CONFIG.SYS and AUTOEXEC.BAT There must be a line DEVICE=MOUSE.SYS or similar, unless a TSR program load of MOUSE.EXE or MOUSE.COM appears in AUTOEXEC.BAT. Recommended is a line STACKS=9,256 because of the patch to int 21h function 4bh. See STACKS below and the discussion of interrupts. Most systems run with the MSDOS default STACKS. Problems may emerge with deeply nested batch files but not with ordinary operation. WINDOWS The action taken by windows is to disable any mouse hooks when it starts. So don't expect xPC-Mouse to work inside windows. It WILL work in a full screen DOS window. It is especially NOT RECOMMENDED to load xPC-Mouse in a DOS window --- load it in DOS BEFORE entering windows. If previously loaded, then attempts to load it again will fail, which is exactly what you would want in Windows. In particular, if you like to run kermit from Windows and like xPC-Mouse to be there, then load xPC-Mouse from the DOS prompt before entering windows. xPC-Mouse complains if you lack anything essential. The error messages are explained below in a separate section. =============================== PACKAGE ================================ The package consists of: XPCMOUSE DOC : the file you are reading XPCMOUSE ASM : Source code for TASM/TLINK (Borland Intl) XPCMOUSE EXE : xPC-Mouse executable for DOS (a TSR program) ============================HOW TO USE xPC-Mouse========================== Typical command lines: XPCMOUSE /a2 Use matrix method for cursor positioning (default is /A1) loadhigh XPCMOUSE Use UMB's to save lower memory. XPCMOUSE /H Display mouse button assignments If xPC-Mouse is not installed and ? appears on the command line, then it aborts installation and prints the help screen: xPC-Mouse, version 1.0: 3 Dec 1994 Copyright (c) 1994 Jrgen G. Weber and G.B. Gustafson Free for personal use under the Gnu license agreement. Options: /U : Un-install xPC-Mouse /Q : Quiet, no messages /R : Re-activate xPC-Mouse /M : Monochrome video mode (equals /X119) /Xddd : Highlight XOR mask ddd (default /X80) /Bddd : Buffer size ddd paragraphs (16*ddd bytes) /T : Enable timer int 1Ch patch /N : Defeat int 21h patch /P : Defeat pastebuffer use /K : Defeat arrow key emulation /A1 : Emacs/vi arrow key method (default) /A2 : Matrix arrow key method /A3 : Xterm escape sequence method Info: /C : Display copying information /? : Display help text /H : Display mouse button assigments If xPC-Mouse was already installed, or this is the first install, then the appropriate message is displayed, for example: xPC-Mouse, version 1.0: 3 Dec 1994 Copyright (c) 1994 Jrgen G. Weber and G.B. Gustafson Free for personal use under the Gnu license agreement. Info: /C : Display copying information /? : Display help text /H : Display mouse button assigments MOUSE BUTTON FUNCTION Mouse 1 (1/6 second) ... Position cursor Mouse 2 ................ Paste text Drag Mouse 1 ........... Copy text Double-click Mouse 1 ... Copy word CTRL-Mouse 2 ........... Paste text + ENTER ALT-Mouse 2 ............ Mouse 3 duplicate SHIFT-Mouse 1 .......... Cursor feature on/off SHIFT-ALT-Mouse 1 ...... Toggle methods /A1-/A3 SHIFT-Mouse 2 .......... Paste feature on/off xPC-Mouse was already installed. If you do not use the mouse you will see no sign of xPC-Mouse being present. When you move the mouse, the mouse cursor appears. It gets hidden again as soon as the next character is displayed on screen. =========================== COMPILER EXAMPLE =========================== Example. Use xPC-Mouse to drag compiler error messages into an editor. The compiler is run as an editor shell. The messages appear on the screen, but are lost as soon it the editor is re-entered: Assembling file: TEST.ASM **Error** TEST.ASM(165) Undefined symbol: MAINEXIT **Error** TEST.ASM(190) Undefined symbol: EXITLOOP1 Error messages: 2 Warning messages: None Remaining memory: 470k Solution: Copy the text needed into the paste buffer using the mouse. Pop back into the text editor and paste the copied text into a scratch buffer or as comments at the top of the current source file. The messages can be analyzed from the reference. ========================== DIRECTORY EXAMPLE =========================== Example. Use xPC-Mouse to copy a directory listing into an editor. Most editors allow a shell to DOS to do a directory, but offer no features for pasting the information back into the file being edited. With xPC-Mouse, copy the desired text to the paste buffer and re-enter the editor. Then paste with the mouse. ========================= COMMAND LINE EXAMPLE ========================= Example. Use xPC-Mouse to copy and paste file names onto the command line. Many command lines take several file names, usually already on the screen due to a directory listing. GNU software like "ls" is useful for displaying the filenames in a compact and directly usable format. The method used with xPC-Mouse is to DOUBLE-CLICK on a file name. That places the file name in the paste buffer. Then press the right mouse button to paste onto the command line. =========================== MOUSE OPERATIONS =========================== HIGHLIGHT text by dragging the left button. To select a text area move the mouse cursor to the beginning of the area. Keep the left button pressed and move over the area you want to select. When you release the left button the selected text is copied to xPC-Mouse's internal buffer. If you select a new screen area the internal buffer is overwritten. DOUBLE-CLICK on the left button highlights one word. If the mouse cursor is on a word you can select it by double clicking the left button. A word is a sequence of letters, digits, the underline character and European special letters (IBM ascii values 80h to 0a5h, 0e0h to 0ebh). This TSR has been coded to accept most unix file names. PASTE the highlighted text by clicking the right button. Press the right mouse button to simulate the content of the buffer being typed at the keyboard. If you keep the CONTROL key pressed while pressing the right button, an additional pressing of ENTER is simulated. SET CURSOR by pressing the left button 1/6 second. If you press and release the left button without selecting an area the cursor is positioned to that location, by stuffing the keyboard buffer with appropriate arrow keys. However, the press must be 1/6 second or longer before release, or nothing happens. This is how double-click is distinguished from just a left button press intended to position the cursor. TOGGLE the set cursor feature by pressing SHIFT left button The set cursor function can sometimes send unwanted characters to a program. Hold down the SHIFT and press the left button, then release both, to toggle the feature on/off. The copy and paste will both work with the set cursor function defeated. To disable the set cursor at startup, use the /K option on the command line (see below). TOGGLE the paste feature by pressing SHIFT right button The paste function can sometimes send unwanted characters to a program. Hold down the SHIFT and press the right button, then release both, to toggle the feature on/off. The cursor positioning functions will still work with the copy/paste functions defeated. To disable the copy/paste at startup, use the /P option on the command line (see below). TOGGLE the /A1-/A3 options by pressing SHIFT-ALT left button These methods can be selected at startup (/A1 is the default). Some remote applications may not use the method effectively, e.g., menu systems such as found in GOPHER on the internet will not respond properly to /A1 or /A3. The options are toggled one at a time in the order /A1 --> /A2 --> /A3 --> /A1 The methods /A1-/A3 can be disabled by the /K option on startup or changed dynamically by pressing SHIFT button 1. Transmit Button 3 by pressing ALT button 2 Some remote applications may need a third mouse button press. Even if you only have a 2-button mouse, this is possible. The third button on a 3-button mouse (usually the middle button) does the same thing as ALT button 2. DE-SELECTION. The selected area is de-selected as soon as you press the left key again or if anything is displayed on the screen. This is done because the programs you run don't know anything about the selection. The de-selecting is done to prevent chaos on the screen. Optical harm may be caused by xPC-Mouse running together with programs that use page swaps to achieve fast refresh. It's not dangerous. MOUSE SUPPORT. If a program offers mouse support itself the mouse functions of xPC-Mouse lay dormant until the program ends. Clearly not both can run at the same time, so xPC-Mouse is put in the background by such programs. After the program exits, xPC-Mouse comes alive again. =========================== COMMAND LINE OPTIONS ========================== /U : Un-install xPC-Mouse Removes mouse driver from memory and resets all affected interrupt vectors. Finally, it resets the manufacturers mouse driver. /Q : Quiet: no messages All messages omitted on startup. /R : Re-activate xPC-Mouse Some programs reset the manufacturers mouse driver and un-vector previous mouse programs. After exit from them, xPC-Mouse may need to be restarted. /Xddd : XOR screen mask ddd (default /X80) The highlight of a screen area is indicated by XORing the attribute bytes with ddd=80, to de-select they are simply XORed again. Normally the XOR mask is 80. A useful one for monochrome is ddd=119. With ddd=0 you get no visible selection. /Bddd : Buffer size ddd paragraphs (16*ddd bytes) The buffer size can be set to any size less than the pre-compiled size. The syntax "xPCmouse /B128" sets the buffer size to 16*128 == 2048 bytes. To use the default size, no command line option is required. A common setting is "xPCmouse /B0 /P" which reduces the paste buffer size to 0 and defeats all pasting operations. Memory use is reduced by 2k. /M : Monochrome video mode Same as /X119. Works on Hercules mono cards. /N : Defeat int 21h patch The int 21h patch may interfere with certain software. Or, system stack may be insufficent to support the function calls made in this int 21h patch. If you use this, then /R is required to jump-start xPCMouse after exit from certain programs. /T : Enable timer int 1Ah patch May be needed for certain applications that use strange keyboard input instead of int 16h or int 21h functions. /K : Defeat Arrow key emulation The left button pressed for 1/6 second normally produces a stuffing of arrow keys to reset the text cursor to the button press location. This command line option causes xPC-Mouse to start up with that feature defeated. Holding the SHIFT key down and pressing the left button toggles the /K state on/off. /P : Defeat pastebuffer use Some applications will not allow pasting, since the application does it already in response to Xterm sequences that emulate the mouse buttons. Also used to simplify logic for paste buffer size 0 (see /B0). /A1 : Emacs/vi arrow key method (default) /A2 : Matrix arrow key method /A3 : Xterm escape sequence method The matrix method positions the cursor by moving it by columns first, then by rows. The Emacs method moves the cursor first to column 0, then the matrix method is applied. This prevents false positioning due to emacs character-stream notions of "point". Also works in VI, JOVE and JED. The Xterm method sends escape sequences recognized by Xterm as simulations of the mouse. Many editors already recognize the escapes, but may need additional support to make full use of the information. The Xterm support is the best for modem use. See the technical notes below for more detail. /C : Display copying information Prints the author addresses, email addresses and copyright information for the GNU license agreement. /? : Display help text Actually, any nonsense on the command line causes help to be printed as does any command line containing a question mark. /H : Display mouse button assigments This display can be obtained without loading the TSR. By default, it is displayed if the driver is already resident, since in this situation, mouse button information is more relevant than command line switches. ========================== MONOCHROME CARDS =========================== On monochrome systems (Hercules compatible cards) you could try option /X119 to produce a visible selection on screen. The special option /M is a synonym for /X119. If the command line has no /X or /M options, then a check is made for for video mode 7 (mono monitor). If found, then the TSR selects /M automatically. So switches /X119 or /M are useful only if the computer fools the software and you need a manual over-ride. This happens, for example, on laptop computers with mono EGA/VGA. The check for text mode 7 will not be successful on such hardware. =========================== TECHNICAL NOTES ============================ KEYBOARD STUFFING /A1 AND /A2. Cursor keys are stuffed into the keyboard by options /A1 and /A2. Precisely, the scan codes for these keys are stuffed. Logic is applied to keep from over-running the keyboard buffer. There are 4 cursor key scan codes possible. Option /A1 tests to see if the target row is the same as the present text cursor row. If it isn't, then the text cursor is first moved to column 1. Option /A1 then moves by the MATRIX METHOD: move the cursor to the target row, then to the target column. Option /A2 is /A1 with the normalization to column 1 removed; it is the matrix method. KEYBOARD STUFFING /A3. In option /A3, X-Windows X10 compatibility mode is assumed. However, no escape sequences from DECSET 9 are sent to the host. That is left to the host program or the user. We stuff an escape sequence on each button press encoding the location and the mouse button pressed. In this mode, we assume the keyboard buffer is emptied quickly, in order to simplify the logic for stuffing 6 or 12 scan codes at once. We don't know how this works in practise across all machines, let us know! On button press, xPC-Mouse in mode /A3 sends ESC [ M Cb Cx Cy, a total of characters, 12 bytes of scan code data. The variables are as follows: Symbol Coding Rules Cb 32 == Button 1 [left button] 33 == Button 2 [right button] 34 == Button 3 [middle button] Cx 32+X, X == mouse row, 1 <= X <= 25 Cy 32+Y, Y == mouse column, 1 <= Y <= 80 Example: Char Decimal Coded Info ESC 27 Lead-in byte1 [ 91 Lead-in byte2 M 77 Lead-in byte3 ! 33 Button 2 * 42 Row 10 U 85 Col 53 Mouse DRAG holds down the left button with release in a new location. This results in two escape sequences, the first for button 1 at the location where the drag began, and the second for button 3, at the location of release. This sequence can be done without dragging by pressing button 1 and then ALT-button 2 (alias for button 3, for 2-button mouse). The Xterm X10 standard for highlighting a region uses a press of button 1 followed by a press of button 3. During this marking stage, no highlight appears. Editors like Emacs make use of this method under X-Windows, but indeed highlight the text upon receipt of the button 3 escape. Newer versions of emacs for Xwindows allow mouse drag and highlighting features. In any case, the editor must be aware of the button press simulation via escape sequences. For Emacs, this means that keymaps have been set up with specific actions, in short, someone has to write the elisp source to process the escape sequences. Ditto for JOVE, QEDIT, JED and similar extensible editors. Non-extensible editors have to be extended and recompiled. A way to understand /A3 is to imagine each button press resulting in the transmission of a string, like "HELLO, " for button 1, "WORLD." for button 2 and " BITTER" for button 3. Then pressing button 1, button 2 and button 3 gives "HELLO, WORLD. BITTER" whereas DRAG on button 1 followed by button 2 gives "HELLO, BITTER WORLD.". (During testing, the ASM code was modified to do something similar, to allow tracing of escape sequences.) PASTE BUFFER. The paste buffer has space for 2048 characters. The last part is discarded if the selection is too large. Blanks in a line are compressed and blanks at the end of a line are discarded. After the last non-blank of a line xPC-Mouse inserts a CR char to simulate pressing ENTER. Control characters with ascii values below 32 are not stored in the buffer and discarded. The paste buffer size can be increased by changing "BUFFERLEN EQU 2048" in the ASM source to a larger multiple of 16, e.g., 4096. Then the EXE file will bump its size by 2k and the initial load of the TSR will have enough space in its code segment (== data segment) for a 4096 paste buffer. Dynamic buffer sizing /Bddd allows sizing of the paste buffer from 0 byte to 4096 bytes, where ddd is the decimal (base 10) value in paragraphs, i.e., /B192 means buffer size 16*192 or 3072 bytes. Stuffing of the paste buffer into the keyboard buffer is done by testing for sufficent space prior to stuffing the character. Ditto for stuffing cursor keys and Xterm escapes. INTERRUPTS. xPC-Mouse hooks interrupts 10h, 1ch, 16h and 21h. We explain each one. Int 10h is hooked to de-select a selected screen region every time a program calls int 10h. The decision is made by a code segment variable, which records whether or not a screen segement has been highlighted. Int 1ch is hooked to stuff the keyboard buffer on every timer tick, 18.2 per second. This patch affects the pastebuffer and methods /A1, /A2 and /A3. Initially the patch is defeated. To enable it, use /T on the command line. Int 16h is hooked to read from xPC-Mouse's buffer. It also gets a new function 80h that xPC-Mouse uses to see if it is already installed. This function modifies register AH by decrementing it and it returns in BX the offset of the paste buffer, in ES the segment of the paste buffer. Int 21h is patched in order to keep xPC-Mouse alive after each program exit. The only int 21h funtion affected is 4bh (exec program). When a program is executed, int 21h, function 4bh is called, at which time the patch is invoked. It grabs the far address and event mask of the installed mouse handler, then saves it on the stack. The mouse handler for xPC-Mouse is re-installed, just in case COMMAND.COM invoked the program load. Then the program is run as usual. After exit from the program, the save mouse routine (on the stack) is activated via int 33h. So xPC-Mouse works at the normal dos prompt and also with dos shells started within user programs. The saving of the mouse handler on the stack is necessary because programs can call each other recursively. In particular, xPC-Mouse works with COMMANDO and WCED command line editors. In these programs, xPC-Mouse adds cursor positioning on the command line, double-click on file names and pasting of file names onto the command line at the text cursor position. STACKS SETTING. But this means xPC-Mouse takes some system stack. So if your system does not work with xPC-Mouse, try the following in CONFIG.SYS STACKS=9,256 If that does not help, try option /N. This disables the Int 21h patch. But this means that if a program uses the mouse itself and does not restore the previous handler xPC-Mouse is no longer active. So you have to reactivate xPC-Mouse again using xpcmouse /R KEYBOARD INTERRUPTS. Every time a program calls the keyboard interrupt 16h, xPC-Mouse fills up the keyboard buffer with characters from its internal buffer. As some programs bypass int 16h and read directly from the keyboard buffer you can specify option /T so that xPC-Mouse's buffer is stuffed into the keyboard buffer at every timer tick, too. This option hooks int 1ch. In general, /T is NOT RECOMMENDED because it steals a lot of CPU time. UN-INSTALL. Use option /u to un-install xPC-Mouse. But this is only possible, if there is no other TSR loaded after xPC-Mouse that hooks the same int vectors. If LOADHIGH is used to load xPC-Mouse, then /U works in more situations, eg, you can shell out of a text editor to kill the TSR. EXTENDED TEXT MODES. xPC-Mouse believes an extended text mode to be active if a video mode with a higher mode number than the highest in standard vga (=13h) is active and if a text page needs between 800h and 4000h bytes. MEMORY USAGE. With arrow key emulation and full size paste buffer the size is 4.6k. xPC-Mouse uses 2k for its text buffer, making resident code sizes of 2.6k to 4.6k possible. There is a sizable non-resident portion of xPC-Mouse that contains error messages, help screens, etc. These are not left in memory, therefore the disk size of xPC-Mouse does not tell you how much memory it uses. Recompile and editing of xPC-Mouse to remove the paste buffer features can permanently reduce memory usage to about 2.2k. Since command line switches are capable of producing memory size 2.6k, there appears to be no reason to edit and recompile such a special version. HIGHLIGHTING METHOD. The selecting of a screen area is indicated by XORing the attribute bytes with 80, to de-select they are simply XORed again. To use another value use the /Xddd option. With ddd=0 you get no visible selection. Value /X119 is recommended for monochrome. See the /M option. ============================ RETURN VALUES ============================== 0 successfully installed 1 hardware/software requirements failed 2 already installed 3 Help request processed, no operations done =========================== ERROR MESSAGES ============================== xPC-Mouse was already installed. Tried to install xPC-Mouse program twice, failure, the program will not be installed twice. xPC-Mouse was not installed yet. Tried to re-install xPC-Mouse, failure, because the program was not installed. xPC-Mouse is un-installed. Successful /U option de-installs xPC-Mouse and frees memory. xPC-Mouse is re-activated. Successful /R option resets all interrupt vectors and restarts the driver. Could not un-install xPC-Mouse. Unsuccessful /U option, because another TSR program was installed after xPC-Mouse, or else something went wrong and address conflicts were found. No mouse driver found or driver too old. The mouse program supplied with the mouse by the manufacturer is not installed or else has a very old version with missing mouse driver features. Fix: install the driver in config.sys (then reboot) or in autoexec.bat (and type the same command line at the dos prompt). If you can't find one, then search the Windows directory on a computer with MS-windows. That one might work. If you own a non-microsoft mouse, then that could be a problem. xPC-Mouse not installed. Attempt to install xPC-Mouse in memory failed, due to something missing, like the mouse driver, or not enough space, or some conflict. xPC-Mouse needs at least an 80286 with extended keyboard support. Attempt to install xPC-Mouse in memory failed, because the driver was compiled for 286 or better CPU, and this CPU tests out to be 8088 or 8086. Fix: Compile xpcmouse.asm with symbol XT set to TRUE (see the ASM file). Use that xpcmouse.exe instead of the present one. NB: The version in the distribution was compiled for XT. We don't recommend a non-XT compile! ============================== PROBLEMS ================================== If you leave Borland's TD386 with xPC-Mouse installed it hangs the computer. When MSDOS 5.0 came out Borland had to distribute a patch for TD386 because then the same problem occurred. So this seems to be not xPC-Mouse's problem but TD386's. It has been reported that xPC-Mouse did not find the mouse driver. This happens with some old drivers. To solve this problem install a new mouse driver. A new mouse driver can be found on the Windows disks. Loading xPC-Mouse from MS-Windows via a full screen DOS window is possible, but the system may lock up when EXIT is typed at the DOS prompt. Doing a normal "xpcmouse /U" should stop this from happening. Similar things happen with all TSR programs run in this manner from MS-Windows. The use of xPC-Mouse with Kermit has been tested. There are many "gotchas" in using this interface with a remote unix system or remote DOS system. It is often necessary to turn off the mouse actions, sometimes the paste is off, sometimes the cursor key actions are off. This is especially true if your favorite editor supports the Xterm escapes, and you have decided to use that feature in the editor. =========================== KERMIT and RZ/SZ =========================== This information is current in November 1994. Directory locations and FTP sites change with time. To get a copy of MS Kermit 3.13 or later, use anonymous FTP to watsun.cc.columbia.edu. Hunt for the right ZIP file and download to your system. Also recommended for fast uploads and downloads is SZ/RZ, invoked by program DSZ.COM from Omen Technology INC. The shareware version is available from oak.oakland.edu, in directory SimTel/msdos/zmodem. ============================= THE AUTHORS ================================ Jrgen G. Weber is now (1994) a student of computer science at the university of Stuttgart in southern Germany. He is also author of ZSIM, a Z80 - CP/M bios emulator that is available from ftp servers. Grant B. Gustafson is professor of mathematics at the University of Utah in Salt Lake City. Besides xPC-Mouse, he has written text editors, C libraries, business programs and mathematical software. Reproducable bugs in the operation of xPC-Mouse can be sent via email to the authors. Postcards and comments are welcome! This is free software! Jrgen G. Weber GB Gustafson Wiesentalstraáe 1 113 JWB Math Dept Univ Utah D-74523 Schw„bisch Hall Salt Lake City, UT 84112 Germany - European Union USA email: weberj@dia.informatik.uni-stuttgart.de email: gustafson@math.utah.edu =========== End of File xPC-Mouse. Last edited 16 Dec 1994. ============