Installing & Configuring Middle Mouse Button 1.9.9 Mbutton

Middle Mouse Button is a 32-bit Windows 9x, ME, NT, 2K, XP application which intercepts the middle mouse button of a 3-button mouse and converts a single middle button click into a default button (normally the left button) double click. The program dynamically detects if you have selected the "left handed mouse" option in the control panel. The ergonomics of this action are obvious; one click instead of two rapid clicks causes less wear and tear on both the mouse and the person using the mouse. The Middle Button, The Left then Right Chord, the Middle then Left Chord and the Middle then Right Chord may be user configured via a built-in configuration utility. A chord is defined as two mouse buttons depressed at the same time. Drag Lock emulation is also supported for the Left and Right buttons.

This application was written because although Windows 9x, ME, NT, 2K, XP allow using a 3-button mouse, there is little built-in usage for the middle button. Also there does not appear (at this time) to be much support by OEM mouse vendors in providing a true Win32 utility for 3-button mice for use in the Windows 9x, ME, NT, 2K, XP environments.

This application is targeted for Windows NT ver. 3.51+ (including Windows NT 4.0, 2K, XP) and Windows 9x, ME. It will work on Windows NT ver. 3.50 with the limitation of only being active within an application window. It does not simulate the double click when the mouse cursor is on the desktop when used under Windows NT ver. 3.50. It is not designed to work under any version of Win32s running on 16-bit Windows 3.x.


Shareware and Registration

This application is a copyrighted commercial product which is currently distributed as freeware. This means that you may use the program freely with no charge for its useage. This product was previously distributed as shareware, and the registration required payment of a fee, but registration is currently free.

The first time it executes (and every time until the program is registered) a popup dialog box will appear and ask for registration information. Once the program has been registered, this dialog box will not reappear. This program does not contain a "time bomb" to limit its unregistered usage, but you will have to register the program to avoid having to answer the dialog box inquiry when the program starts, and to be able to use the "Hide" feature. Registration is still requested for this freeware product to help us measure continued interest in the product so that we can decide if there is sufficient interest to warrant further upgrades to the product. Information supplied during the registration process is strictly confidential, and your personal information will never be sold or used for any marketing activity.

If you are upgrading from a registered copy of version 1.8.x, your previous registry entries will be recognized and used by version 1.9.x. If you are installing (or re-installing) and no previous registered version is found; you will have to register the product by selecting Register from the Mouse Button system menu or from the About screen.

You may pass this (unregistered) program along to your friends and associates. Please distribute the original archive file rather than the individual files contained therein. (The archive file is located in the REDIST subdirectory if you are installing from the floppy disk version).You may also post it to any BBS, WWW site, or on-line service. We only ask that if you continue to use this program on a regular basis that you register it. You will be rewarded with having the program load swiftly and silently instead of nagging you when it starts. We also are able to provide a higher level of technical support to registered users.

Contact Information

Digital Control Systems
1315 E Castle St Apt D3
Murfreesboro, TN 37130
USA

Phone: 1-615-216-6007
FAX: 1-615-216-8091
Email: mbutton@digconsys.com
Web site: http://www.digconsys.com


Installing Middle Mouse Button

To automatically install Middle Mouse Button, extract the files from the archive file MBUTTON.ZIP to a temporary subdirectory (folder) or to a diskette. Then execute the included file INSTALL.EXE which will automatically install the program files to the appropriate directory for the operating system being used. NOTE: If you are upgrading from a previous version of Middle Mouse Button, you should terminate the currently running instance of Middle Mouse Button before excuting the installation program. Under Windows NT+, you must have administrator privileges to install Middle Mouse Button, but you can use it as a regular user once it is installed.

To manually install Middle Mouse Button, extract the files from the archive file MBUTTON.ZIP to a temporary subdirectory (folder) or to a diskette. Then copy the files into the subdirectory (folder) of your choice. If installing on a Windows NT 3.5x system we suggest using the "Win32app\MouseButton" subdirectory (folder). If installing on a Windows 9x, ME, NT 4.0, 2K, XP system we suggest using the "Program Files\MouseButton" folder. Once the Mbutton files are copied to your disk all you have to do is execute Mbutton.exe.

On a Windows 9x, ME installation, the files "MBUT-DEL.BAT" & "YESNO.COM" should be placed in the "Windows\System" folder.

On a Windows NT, 2K, XP installation, the files "MBUT-DEL.CMD" & "YESNO.COM" should be placed in the "Windows\System32" folder.

UnInstalling Middle Mouse Button

The installation program will create an uninstall icon for you unless you chose to not allow the creation of a program group. To manually remove this application from a system follow the instructions below:

Windows NT, 2K, XP: Execute the batch file MBUT-DEL.CMD with a command line option of "C:\win32app\MouseButton" or "C:\Program Files\MouseButton" folder(assuming that this is where you chose to install the application). After this file executes, you will need to manually remove any program groups and icons related to the application.

Windows 9x, ME: Execute the batch file MBUT-DEL.BAT with a command line option of "C:\Program Files\MouseButton" (assuming that this is where you chose to install the application). After this file executes, you will need to manually remove any program groups and icons related to the application.

The files included in the archive are:

File name Purpose
MBUTTON.EXE The main executable file.
MBHOOK.DLL A required dynamic link library
MBUTTREG.TXT Registration form.
MBUTTON.WRI Installation and troubleshooting information.
MBUTHIST.TXT A version history file.
MBUTTON.TXT Brief description of program.
MBUT-DEL.BAT Windows 9x, ME Uninstall batch file.
MBUT-DEL.CMD Windows NT, 2K, XP Uninstall batch file.
YESNO.COM Used by uninstall.
UNINST.ICO Uninstall Icon.
INSTALL.EXE Installation program.
INSTALL.INF Installation script file.
INSTHELP.DLL Installation file.

Command line and menu options

If you have applications which do not reliably detect the default "Fast" Double Clicks which are simulated by Mouse Button; you can select Slow Double Click from the menu or use a command line parameter of /Slow when loading Mbutton.exe. The Slow option causes the simulated Double Click to have a slight delay between clicks which is proportional to the "Double Click Speed" setting in Control Panel. Launching Mbutton.exe with a command line option of /Fast will restore the fast click action.

Some applications take control of mouse messages but do not properly pass the unused messages on to other applications in the hook chain. This happens most often with 16 bit applications, but a new 32 bit program can also exhibit this behaviour. If Mbutton.exe is launched with a command line parameter of /KeepHook, it will periodically (about every 10 seconds) try to re-establish itself on the top of the mouse hook chain in an attempt to compensate for this problem. This mode may also be enabled by checking the "Keep Hook" option in the mouse button setup panel. If this option is checked in the setup panel, it will be saved in the registry and become the default mode. By default this mode is not enabled for system performance reasons, and because of possible adverse interaction with other applications. We do not expect Mbutton to cause any problems, but it is virtually impossible to test for interaction with every program available.

Two other command line parameters are /2B which forces Mbutton to operate in 2 button mode, and /3B which forces Mbutton to operate in 3 button mode. See the section "What to do if Mbutton reports that a 3 button mouse is not installed" for more information.

After the program has been registered, you will have the option of loading the program as a "hidden" application (no icon or Task Bar entry will be seen), This option may be activated by launching the program as Mbutton.exe /Hide. It may also be activated after a "normal" iconized launch by selecting Hide Mouse Button from the control menu. Launching Mbutton.exe with a command line option of /Show will make a previously hidden instance display a visible icon or task bar entry again.

You can Disable the Mouse Button simulations from the Disable Mouse Button menu selection or by launching Mbutton.exe with a command line option of /Disable. This will disconnect Mouse Button and allow another application to use the Middle Button on a 3-button mouse. You can Enable the Mouse Button simulations from the Enable Mouse Button menu selection or by launching Mbutton.exe with a command line option of /Enable.

You can terminate a currently running instance of Mbutton.exe by launching the program as Mbutton.exe /Kill..You can replace a currently running instance of Mbutton.exe by launching the program as Mbutton.exe /Reload.

Launching Mbutton.exe as Mbutton.exe /Setup will popup the Mouse Button Setup dialog box. This is the dialog box which enables configuring the default parameters and assigning functions to mouse button chords.

Mouse Button Setup

The Mouse Button Setup menu selection will popup a configuration control panel which will allow the assignment of user selected functions to mouse button chord combinations. The standard Mouse control panel applet (Mouse Properties) is also available from this dialog box. It will also allow the /Hide, /Slow, /KeepHook, /2B and /3B options to be saved in the registry as the default modes. The Open Links option when checked, will cause the browse command to extract the file name from a Windows 9x, ME or Windows NT, 2K, XP 4.0 shortcut. If not checked, the default action is to execute the shortcut. The Quiet launch option when checked, will suppress the initial startup splash screen. The Set button will apply the currently selected default settings to the currently running instance of Mbutton.

When using a 3-button mouse, the Middle button, the Left then Right chord pair, the Middle then Left chord pair, and the Middle then Right chord pair may be individually user configured. A chord is defined as two mouse buttons pressed at the same time. NOTE: All references to Left and Right refer to the LOGICAL buttons, NOT the PHYSICAL buttons. The Left-Handed or Swap Left/Right option in the Mouse Control Panel will REVERSE the meaning of Left and Right.

When using a Middle then Left or Middle then Right chord, the Middle button should be pressed first (this is to distinguish this chord from a Drag Lock chord). The Middle button, the Middle then Left chord and the Middle then Right chord may be assigned the following actions:

Not Assigned: No action will be taken by Middle Mouse Button.

Double Click: A default button Double Click will be simulated.

Copy to Clipboard: The marked text or object at the edit cursor will be copied into the clipboard. (Same as the Ctrl-C key combination).

Paste from Clipboard: The contents of the clipboard will be inserted at the position of the edit cursor. (Same as the Ctrl-V key combination).

Cut to Clipboard: The marked text or object at the edit cursor will be cut into the clipboard. (Same as the Ctrl-X key combination).

Undo Last Edit: The last editing operation will be undone. (Same as the Ctrl-Z key combination).

Start Menu or Task List: This selection launches the Start Menu or the Task List depending on the operating system in use. (Same as the Ctrl-Esc key combination).

Run Command: Press the Edit button or the Build Command button to configure a command to execute when the middle button or chord is pressed. After a command is configured, the name of the command will appear on the "Build Command" button.If the Run Command option is selected but the command line entry is empty, a Popup Command box which will allow configuring up to 16 commands will appear. A Start Menu/Task List button as well as Control Panel and Mouse Setup buttons are also on the popup box. Browse and Test buttons are supplied to help with configuring the commands. A configured command may be marked as Show (Normal), Hide, or Minimize. The Test button will ignore these selections, but when launched normally these display attributes will be used.

If you are using a 2-button or a 3-button mouse you may use the Left then Right buttons as a chord to simulate a double click or user-defined action via the Mouse Button Setup menu. The buttons should either be pressed simultaneously or the "logical left" button may be pressed first. The main requirement is that both buttons should be depressed at the same time to qualify as a chord. The only time that the "left then right" sequence may be a problem is when using the left-right chord to simulate a double click. In that case, a long delay between button clicks may not generate the double click.

Drag Lock: The Left then Middle chord and the Right then Middle chord may be used to activate a Drag Lock condition for the Left or Right buttons. The Left Drag Lock or Right Drag Lock is enabled by the respective check box in the chord setup dialog box.

To activate Drag Lock, Press the Left or Right button, then pulse the Middle button (while the original Left or Right button is still pressed. Once the drag action is started you may release the respective Left or Right button and the drag action will continue as if the button were still pressed. Pressing the button again will simulate releasing the button and release the drag lock. Pressing the <Esc> key on the keyboard will terminate a drag lock.

All configured options are saved in the system registry when the OK button is pressed. The options are saved in the current user profile.

Popup Command Windows

The main Popup Command Window will allow you to configure up to 16 quick launch commands. Optionally, any of the Command Launch buttons may be configured to launch another Popup Command Window instead of directly launching a command. This allows the logical grouping of commands into working sets such as Network Tools, Website Tools, System Utilities, etc. With all of the original 16 command buttons programmed to launch another Popup Command Window, you can have a total of 256 commands available from Middle Mouse Button's quick launch windows. (Up to 16 groups of up to 16 commands each).

Pressing the Edit button or a Build Command nn button will open a Command Builder Window. In this Command Builder window a Browse button and a Test button are provided to make building the command line easier. The command may be any executable file, a Windows 9x, ME or Windows NT, 2K, XP 4.0 shortcut, an associated document to open, or a folder to open. You can specify the command to launch, optional command line parameters, and a starting directory for this command. You may also chose to have the command execute in Normal, Minimized, or Hidden modes. For commands built on the Main popup command window, you also have the option of launching another popup command window instead of a command if the Popup Command Window box is checked. Secondary Popup Command Windows do not have this capability.

Each of the Popup Command Windows also has a quick access command Run facility for directly typing in a command to execute. A Browse button is also provided to make building this command line easier. The command may be any executable file, a Windows 9x, ME or Windows NT 4.0, 2K, XP shortcut, an associated document to open, or a folder to open. You can specify the command to launch, optional command line parameters, and a starting directory for this command. You may also chose to have the command execute in Normal, Minimized, or Hidden modes.

Also available on each of the Popup Command Windows, are buttons to access the Mouse Setup window, the system control panel, and the Start Menu (Windows 9x, ME & Windows NT 4.0, 2K, XP) or the Task List (Windows NT 3.5x).

What to do if Mbutton reports that a 3 button mouse is not installed

If you are using a 2-button mouse, you may launch Mbutton.exe with a command line parameter of /2B. This will allow the Left-Right chord combination to simulate a double click or to be assigned another function from the setup menu. You may also check the "2 Button" option in the setup dialog box; this will save the /2B option in the system registry and make it the default mode.

If you are using a 3-button mouse and you believe that the driver supports 3 buttons, but is not reporting the proper status; you may launch Mbutton.exe with a command line parameter of /3B. If your driver does support 3 buttons, this should allow Middle Mouse Button to function properly. You may also check the "3 Button" option in the setup dialog box. This will save the /3B option in the system registry and make it the default mode. NOTE: this option will NOT make a driver which only supports 2 buttons magically support 3 buttons. This will only allow a 3 button driver which does properly report the 3 button status to the operating system to function properly for Middle Mouse Button.

Windows 9x mouse drivers will only support a 3-button mouse if the specific driver was designed to do so. The Logitech driver will support Logitech (or compatible) 3-button mice, the Mouse Systems driver supports Mouse Systems (or compatible) 3-button mice, etc. The only solution for using the middle mouse button under Windows 9x is to use the proper driver for your mouse. Windows ME appears to be a bit more forgiving; we have found that the generic standard mouse driver will support some 3-button mice. Microsoft supplies a Logitech driver with Windows 9x. A Mouse Systems driver is available with the CD-ROM version of Windows 95 and is also available on the Windows 95 Support area on MSN, the WINNEWS forum on Compuserve, and other Microsoft on-line support forums. Many "generic" 3 button mice are dual mode Microsoft/Mouse Systems or Microsoft/Logitech compatible devices.

A special consideration for some OEM "Mouse Systems compatible" mice is that you may need to change the setting off a jumper or switch to enable "Mouse Systems compatibility". This switch is usually accessible through a small window on the underside of the mouse. A few OEM 3 button mice require you to hold down a button (usually the left button) during system power up to enable "Mouse Systems compatibility".

DCS has a Mouse Systems compatible 3-button serial mouse driver for Windows 9x and Windows NT available for downloading from this Web site.

Most of the built-in Windows NT, 2K, XP mouse drivers will support 3-button mice. (The only exception we have found is the "Inport" driver; see the Microsoft Inport driver section of this document for availability of a replacement Inport mouse driver.) However, sometimes the Windows NT, 2K, XP setup program does not detect a 3-button mouse as having 3 buttons. When this happens the first thing to do is to use setup to remove the current mouse driver, and then re-install the driver. If this attempt is not successful, you may try the "/3B" command line parameter. Or you may manually change an entry in the system registry using the registry editor (REGEDT32.EXE).

Using this tool may require system administrator privileges. If you are using a company owned computer you may need to contact your network administrator or tech-support coordinator in order to obtain the required security access privilege. (or to have a technician do it for you.)

On the next several pages you will first find several sections of information detailing how to edit values in the Windows NT, 2K, XP registry. Following these sections is specific information related to the NumberOfButtons registry entry for the standard Microsoft supplied mouse drivers.

Editing values in the Windows NT, 2K, XP Registry

Each value entry in Registry Editor appears as a string that consists of three components, as shown in the following figure.


Figure 1.1 The Three Components of a Value Entry


Figure 1.2 Sample view of Serial Mouse Parameters entries

The following rules govern the content of these three value entry components:

· The name of the value is a string of up to 16,000 Unicode characters (32K). This name can contain backslash (\) characters. The name itself can be null (that is, " ").

· The data type of the value is REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ, or REG_SZ. Other data types can be defined by programs, but editing of only these five specific data types is supported in Registry Editor.

The Registry preserves case as you type it for any entry but ignores case in evaluating the data. The names are case-insensitive. However, the data is defined by specific applications (or users), so it might be case-sensitive, depending on how the program that uses it treats the data.

To edit any value

1. In the right pane of the Registry Editor window, double-click the value entry.

- Or -

From the Edit menu, choose the String, Binary, DWord, or Multi String command as appropriate for the selected value.

2. Edit the value that appears in the related Editor dialog box, and then choose the OK button.

The Binary and DWord editors give you the flexibility to select the base of a number system in which you want to edit your data. In the Binary editor, you can edit your data as binary (base 2) or hex (base 16). In the DWord editor, you can edit your data in binary, hex, or decimal (base 10). Hex is the default base for both editors. These types of data will always be displayed in hex in the right pane of the Registry Editor.

Tip To view numbers in decimal format, double-click the value entry and select the Decimal format option. Cancel the dialog box when you finish checking the value.

Information stored in a nonvolatile key remains in the Registry until you delete it. Information stored in a volatile key is discarded when you shut down the system. Everything under a volatile key is also volatile. Everything stored under the HKEY_LOCAL_MACHINE\HARDWARE key is volatile.

Adding a Key

You can add a key to store data in the Registry. For example, you might add a subkey under CurrentControlSet\Services to start a service process you have written or to install a device driver that doesn't have an installation program.

To do this, you must have Create Subkey access permission for the key under which you are adding a subkey.

To add a key to the Registry

1. Select the key or subkey under which you want the new key to appear, and then choose the Add Key command from the Edit menu, or press the INS key.

2. In the Key Name box of the Add Key dialog box, type the name that you want to assign your key.

The key name cannot contain a backslash (\), and it must be unique in relation to other subkeys at the same level in the hierarchy. That is, Key1 and Key2 can each have a subkey named Key3, but Key1 cannot have two subkeys named Key3.

3. Leave the Class box blank, as this entry is reserved for future uses.

4. Choose the OK button to display the new key in the Registry Editor window.

Adding a Value Entry to a Registry Key

In Registry Editor, you can assign a new value entry to a key or edit the value entry of an existing key. When you do this, the value that you add appears in the data pane of the selected Registry window.

To add a value entry to a Registry key

1. Select the subkey to which you want to add a value entry.

2. From the Edit menu, choose the Add Value command.

The Value Name box is displayed.

Tip To quickly open the Value Name box, move the focus to the right pane using the TAB key or the mouse, and then press the INS key.

3. In the Value Name box, type the name you want to assign to the new value entry.

4. In the Data Type box, select the type that you want to assign to the value entry.

5. Choose the OK button, and then type the value in the Editor dialog box that appears. Choose the OK button again to display the new entry in the Registry Editor window.

Deleting a Key or a Value Entry

You can use either the Delete command from the Edit menu or press the DELETE key to remove selected keys or value entries from the Registry. However, you cannot delete any of the predefined subtrees or change the name of a key.

Caution There is no Undo command for deletions. Registry Editor asks you to confirm the deletions if the Confirm On Delete option is checked under the Options menu. However, the message does not include the name of the key you are deleting. Check your selection carefully before proceeding when you delete a key.

The only way to retrieve a key that you mistakenly delete is to restart the computer. Press the spacebar immediately after selecting Windows NT, 2K, XP at the Boot Loader prompt, and then choose the Last Known Good option to roll back to an earlier configuration.

You can protect the Registry from accidental deletions in these ways:

· Protect data through read-only mode

To do this, choose the Read Only command from the Options menu. When this command is checked, Registry Editor will not save any changes made, protecting the data from accidental changes.

· Protect data through confirmation

To do this, choose the Confirm On Delete command from the Options menu. When this command is checked, the Registry Editor asks you to confirm deletion of any key or value.

Entries which control the number of mouse buttons

The following section describes the registry entries which determine the number of mouse buttons which are visible to applications. This entry can be wrong if the driver installation program did not properly detect the number of actual buttons on your mouse. To correct this problem, use the registry editor to change the NumberOfButtons entry to the proper value for your mouse. You will need system administrator privileges to change this value in the Windows NT, 2K, XP registry. The system will also need to be restarted in order for this change to take effect.

Microsoft Bus Mouse Port Driver Entries

The Bus Mouse driver is used for the older Microsoft Bus Mouse (green buttons) and for the Logitech Bus Mouse . Other mice which have the 9-pin DIN connector may be compatible with this driver (consult the documentation supplied with your mouse). The value entries for the Microsoft bus mouse are found in this subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Busmouse\Parameters

NumberOfButtons REG_DWORD >= 0x1

Specifies the number of buttons on the bus mouse. If the number of buttons detected at startup time and placed in the Registry is incorrect, this value can be used to override it.

Default: 0x2 (two buttons) ..... Change this to 0x3 for a 3-button mouse.

Intel 8042 Port Driver Entries

The i8042prt driver handles the keyboard and mouse port mouse ( uses a 6-pin DIN connector and is also known as a PS/2-compatible mouse) for the Intel 8042 controller. These value entries are found in the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

NumberOfButtons REG_DWORD >= 0x1

Specifies the number of buttons on the mouse port mouse. If an incorrect number of buttons is detected at startup time and placed in the Registry, this value can be used to override it.

Default: 0x2 (two buttons) ..... Change this to 0x3 for a 3-button mouse.

Microsoft InPort Bus Mouse Port Driver Entries

Note:

The Microsoft supplied Inport driver does NOT support a 3-button mouse.

DCS can supply a replacement driver for the Inport mouse for Windows NT.

This driver has been uploaded to the NTWORK forum on Compuserve as well as to the Windows NT support area of MSN. It is also available on our download service and our Web Home Page.

The Inport Bus Mouse driver is used for newer versions of the Microsoft Bus Mouse. Other mice which have the 9-pin DIN connector may be compatible with this driver (consult the documentation supplied with your mouse). The value entries for the Microsoft InPort bus mouse are found in the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inport\Parameters

NumberOfButtons REG_DWORD >= 0x1

Specifies the number of buttons on the Microsoft InPort bus mouse. If the number of buttons detected at startup time and placed in the Registry is incorrect, this value can be used to override it.

Default: 0x2 (two buttons) ..... Change this to 0x3 for a 3-button mouse.

Microsoft Serial Mouse Port Driver Entries

The Serial Port Mouse driver supports serial mice from multiple vendors. The value entries for the Microsoft serial mouse are found in the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Sermouse\Parameters

NumberOfButtons REG_DWORD >= 0x1

Specifies the number of buttons on the serial mouse. If the number of buttons detected at startup time and placed in the Registry is incorrect, this value can be used to override it.

Default: 0x2 (two buttons) ..... Change this to 0x3 for a 3-button mouse.

Other Vendor Mouse Port Driver Entries

If you have installed a driver supplied with an OEM mouse you will have to use the above sample entries as a guide to changing the appropriate NumberOfButtons value. Most OEM's will probably have used Microsoft's sample mouse driver as a starting point for their own mouse. Contact the mouse manufacturer if you have problems enabling the middle button.


mouse
Return to 3 button mouse products

Return to DCS Homepage