Release.txt Driver File Contents (805DTPad.zip)

                Synaptics Pointing Device Driver Release Notes
                              Version 7.8.1
                           September 26, 2003

----------------------------------------------------------------------------
Overview
----------------------------------------------------------------------------
This document describes changes to the Synaptics TouchPad Driver for
Windows 9x & ME, Windows NT, Windows 2000 and Windows XP. Only external
releases have been documented. Other releases were for internal use, beta 
tests, or for specific customer requests. These are not documented here.

----------------------------------------------------------------------------
Version  7.8.1 09/26/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Implement power management handling functions to disable and re-enable
   cPad apps on system suspend and resume. 
  -Removed changes accidentally checked into InstWDM. This caused Inst95.log
   file to be left in the installation directory. 
  -Removed the allowwheelsettings lines from OEM's ini files since the
   default has been changed to allow user changes. 
  -Fixed a problem where the left button of tray icon does not amimate when
   tapping on the TouchPad. 
  -Fixed the WinWDM KTL logging.
  -Fixed an issue where two devices of the same type on two seperate MUX
   port would share the same settings.  Now the mechanism that saves the
   settings to the registry can uniquely identify similiar devices on each
   MUX port, and can save the settings seperately. 
  -Leaving the SelectDevice in the CTouchPad constructor unchanged. We add a
   SelectDevice in the CSynAPI Initialize function so that calling Initilize
   at a later time will allow to reconnect to the driver. 
  -Added useful "IsDevice..." functions to the COM interface wrapper class.

----------------------------------------------------------------------------
Version  7.8.0 09/17/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Removed the Old UI code from the control panel code. 
  -Enhancements application now uses the COM API.

Bug Fixes
  -Fixed two issues with the Enh App.  1) On a few tablet PC systems, our
   driver gets such a late start loading that the Enh App starts up before
   the driver finishes detecting the devices.  This causes the Enh App
   to fail to properly start its feed up.  This in turn results in an error 
   notification during shutdown, "The TouchPad helper window is not 
   responding". 2) For the Synaptics USB driver, if the USB device is 
   hotplugged after the system is loaded, the Enh App will not start up. Both 
   of these issues are now fixed by having the Enh App wait indefinitely 
   until both a driver is present, and at least one device has been detected. 
  -Allow multiple devices to work in ZMeter (including Styks). 
  -Updated the message displayed just before installing the driver. This 
   still needs localization. 
  -Fixed a problem with Korean text getting truncated in the buttons device
   description dialog in the control panel.  Also fixed a problem on the
   same page in Korean where the double-click Jack-in-the-box control was
   overlapping the groupbox. 
  -Renamed Release.doc to Release.txt. 
  -NOTE: This change modifies the default behavior of our driver so that the
   OS wheel settings are not reset to our preferred value when the system is
   reset.  This may cause scrolling in applications where we use wheel mouse
   messages to scroll slightly differently than ones where we don't use the
   messages. 
  -Disallowed simultaneous activation of more than one scrolling zone. 
  -Use setup script functions to create special product registry keys and
   move them out of the registry file. 

----------------------------------------------------------------------------
Version 7.7.1 09/11/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Increased the size of the general tips dialog's buttons to accomodate the
   Greek text.  Also made the check box multiline and taller to accomodate
   the Greek text. 
  -Fixed a problem where the "Scroll Left" plugin name was not showing up in
   the Finnish control panel. 
  -Adding ini file to enable RoundTP support. 
  -Fixed problem whereby touching down in the lower righthand corner would
   activate both scroll zones and result in the cursor not being suppressed
   when scrolling. 

----------------------------------------------------------------------------
Version 7.7.0 09/05/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Productize chiral scrolling for new TouchPad 

Bug Fixes
  -Fixed a bug to preserve the user settings on the PNP disable feature 
   after the user cancelled the device settings dialog. 
  -Add functions to turn the display backlight on and off. Using SetProperty
   with SP_BackLightOnOffOnce and a timeout value in milliseconds. Any calls
   to SP_BackLightState with the parameter value non-zero (turn backlight on)
   prior to this call will be turned off once it timed out. 
  -Updated the wording of Japanese help text for the enable scrolling
   checkboxes so it is clear which controls are being referenced. 
  -Added OEM Hardware IDs and settings sections. 
  -Reworked the multi-thread access protectsions to Feed List. 
  -Fixed a 20 second delay in resume when SD card security is installed.
  -Added a change to the default palm setting for OEM. 

----------------------------------------------------------------------------
Version 7.6.6 08/29/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Fixed an issue where the WDM driver would not place a MUX KBC into legacy
   mode when the system shutdown/suspended/Shutdown to DOS.  This fixes an
   issue on Win98 where a USB keyboard would not work in DOS when the system
   was shutdown to DOS. 
  -Added new unclipped bitmaps for the current selected device for the button
   swap control. 
  -Removed an unnecessary delete of InstWDM.inf which would cause infrequent
   crashes of the silent installation.  While this is a general issue this
   bug is very timing related and could only be reproduced on certain
   machines. Added code to handle use of a NULL pointer.  With our current
   installation disk layout this bug will never trigger, but could surface if
   the disk layout is changed. 
  -Fixed the issue where disable/enable from the device manager causes the 
   keyboard to lock up. 
  -Increased the size of the reset button by 6 dialog units to fix the
   truncated Brazilian text.  This only shows up if the font size is small. 
  -Fixed a bug that plugin modules are not been unloaded upon exiting
   Enhancement app. 

----------------------------------------------------------------------------
Version 7.6.5 08/21/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed an issue where the driver rollback feature on WinXP would not work
   when upgrading to a newer version of the Synaptics driver. 
  -Fixed an issue with a duplicate hotkey 'I' on the German UltraNav device
   properties panel.  The enable TouchPad button is now mapped to 'n'. 
  -Fixed a problem with the all the list boxes in the control panel.  It 
   used to be possible to select an item at the bottom of the list box, but 
   actually get a different item selected.  By now allowing the list boxes to 
   auto-size themselves, this issue gets resolved.
  -Removed lowest press to select sensitivity setting and spread the possible
   settings over a narrower range.  This only applies to TouchStyks.

----------------------------------------------------------------------------
Version 7.6.4 08/15/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Fixed a hotkey issue in the Italian control panel. The hotkey for Edge
   Motion speed would not work when switching to the 'Control speed with
   finger pressure' control.  This hotkey has been changed from 'P' to 'V'. 
  -Fixed an issue where the driver rollback feature on WinXP would not work
   when upgrading to a newer version of the Synaptics driver. 
  -Fixed an issue on Win98/ME for the UltraNav driver. The issue was the
   magnifying glass image would become corrupt when WinDVD was running. 
  -Fixed an issue with the magnifying glass on Win98/ME. If the user has a
   multi-monitor system, the image in the magnifying glass would be
   corrupted. 
  -Fixed an issue where the UltraNav middle button lock feature would not
   work properly, and the stick would not scroll as expected when the middle
   button lock was activated. 
  -Changed default "tap to click" value to TRUE. 
  -Added OnDeviceChange function to update the display (device status) upon
   USB device connecting/disconnecting. 
  -Added a check box for enable/disable internal devices when an external USB
   pointing device is attached. Added new checkbox "Disable internal pointing
   device when external USB pointing device is attached" added to the 
   "Device Settings" page. This flag (checkbox) is a global flag for all 
   internal pointing devices.  The internal pointing device(s) will be 
   disabled once the checkbox is checked when an external USB pointing device
   is connected. However the setting will be saved only when you click on
   "Apply" or "OK" button. A pointing device can be "Disabled" with or
   without the flag being set. A pointing device can be "Enabled" only if
   the device is not disabled by external USB pointing devices. Note,the 
   device status will show "Yes", "No", and "Ext" depends on its condition. 
  -Fixed a bug when click "Apply" button at "More Features" will
   automatically close the synaptics control panel. 
  -Fixed an issue where the text for 'Scrolling Speed' on the long distance
   scrolling tree menu item was overlapping the group box for 'Long Distance
   Scrolling'. 
  -New press-to-select sensitivity parameters.

----------------------------------------------------------------------------
Version 7.6.3 08/08/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Change hotkey to be more consistent.    -Fixed a hotkey issue in the Italian control panel. The hotkey for Edge
   Motion speed would not work when switching to the 'Control speed with
   finger pressure' control.  This hotkey has been changed from 'C' to 'P'. 
  -Updated the control panel Buttons page and the Synaptics Pointing Device
   page.  The Buttons page will now have smaller, higher quality bitmaps for
   the button swap device.  Also the buttons page has been resized smaller so
   it better matches the sizing of the other tabs in the control panel. 
  -Fixed a problem where the UltraNav magnifying glass would not be able to
   move onto the secondary monitors if the second monitor was moved in
   various position with respect to the primary monitor.  
  -Fix Control Panel New UI dependency problem. 
  -revert the size of Synaptics Pointing Device page, and simplify the Title
   and Version 
  -add pre-swapping for SetOSButtons for Synaptics Controlled mice 
  -Fixed a hotkey in the Spanish version of the control panel.  The hotkey
   'I' for disable was also mapped to another key.  Now the disabled button
   has the hotkey 'N'. 
  -Fixed a problem where the compatibility mode dialog box would appear when
   the TP spontaneously reverts to relative mode on machines that support
   polling for external device removal.    
  -Fixed a problem with a hotkey in the English control panel.  The hotkey
   for Edge Motion speed would not work when switching to the 'Control speed
   with finger pressure' control.  This hotkey has been changed from 'C' to
   'P'. 

----------------------------------------------------------------------------
Version 7.6.2 08/01/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added support to show the proper edge zones for Edge zone regions and 
   scrolling regions for round TouchPads. 
  -Added a new KBC type called TP_KBC_MultiKey38802BiosDisable for use on
   machines with 38802 KBCs where the BIOS uses the MultiKey "disable
   internal port" feature to disable the internal device when an external
   device is present.  Use of this KBC type will prevent absolute packets
   from being received after the BIOS reenables the internal port but before
   the polling thread configures the packetizer to expect absolute packets. 
  -Expand the with of the static 'Scrolling Speed' string to fix 
   text truncation issues in Spanish.
  -Fixed a problem where no warning message is displayed when disabling 
   buttons from the stick properties while tapping has already disabled 
   on the Touchpad. 
  -Added new round TouchPad bitmap to buttons page when a round TouchPad
   device is present.
  -Fixed a bug where no warning message is displayed from the Point stick 
   settings when changing Left button action when no other left button 
   action is assigned. 
  -Added support into the Win2K/XP inf file to require defaults USB services
   to get installed before the Synaptics USB components. 
  -Change the default reboot option to 0 for the default silent install
   script. This seems to be more likely since most silent installs will be
   on factory floors where reboots aren't likely to be desirable. 

----------------------------------------------------------------------------
Version 7.6.1 07/25/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed the edgemotion settings for X and Y axes in round TP with the 
   Cartesian coordinates 
  -Fixed a problem on MUX machines that caused the "supress taps" feature to
   fail. 
  -Added PnP Register/Unreg callback and code to support attatch/remove on
   PnP notification of KB interface change to hook hot-plugged Keyboards. 
  -Added HID_MOUSE_INST section from MsMouse.inf for HID_Inst into the 
   Win2K/XP drivers.
  -Fixed a bugcheck upon shutdown/suspend for 85750 KBCs and machines with
   DisableUponSuspend turned on.  Also optimized code that sends mux
   deactivation sequence. 
  -Added code to track the packet byte stream to monitor for gaps during
   packet collection.  This will detect when the stream is interrupted and
   resumed in a manner which cannot be detected by the driver. An example of
   this is an On/Off switch that sends a disable to the pointing device via
   the KBC.  This feature is off by default. 
  -Fixed an issue where the message "The Data is Invalid" would get displayed
   after hot-plugging in the USB Composite device.  This also fixes an issue
   where the coinstaller for the Synaptics ini file would prematurely abort
   failing to install custom ini setting. Lastly, this also fixes an issue
   where reinstalling the driver (via InstallShield setup.exe) over the
   driver that displayed this error would cause a fatal installation error
   during the InstallShieldsetup.  This error only occures on Win2K. 
  -Fixed a problem with the UltraNav magnifying glass not being able to move
   onto extended desktops typically used with a multi-monitor environment. 
  -Fixed a problem with the UltraNav tray menu showing up when the control
   panel setting had the tray menu set to disable.  Now the actual tray menu
   state in the control panel will reflect the state in the tray menu. 
  -Add COM API into the NT4 installation package. 
  -Fixed a bug that the slider bar of EdgeMotion Speed cannot be changed. 
  -Fixed a bug where two radio buttons are shown selected at the same time on
   edgeMotion page. 
  -Fixed an issue where the Synaptics Control Panel would not show up if the
   Group policy for "Only allow approved shell extensions" is set to enabled.
   Now the Synaptics control panel will run when this setting is enabled. 
  -Change the access key of "Stop pointer at window border" from Alt+U to
   Alt+B to fix the useless access key. 
  -Undid old temporary fix to speed up XP ballistics. This was done to
   facilitate usability testing with the enhance pointer precision checkbox
   turned off. Later another fix was applied that mostly masked the Microsoft
   bug associated with enhanced pointer precision. This applies only to the
   TouchStyk algorithms.
  -For COM, added support for storing/retriving device background image. 
   Also added one more display acquisition mode "SE_AcquirePassive" to allow
   background process to add itself to the bottom of the stack. 
  -Added the ability to not horizontally scroll windows that have a vertical
   scrollbar but no horizontal bar. 
  -Added WDM driver serial device improvements. 

----------------------------------------------------------------------------
Version 7.6.0 07/10/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  - The Control Panel is now supported via the COM API, and no longer uses
    the older TouchPad API.
Bug Fixes
  -Added all the correct bitmaps for the Pointing Stick touch sensitivity
   bitmaps for each index. 
  -Fixed a pass-through on mux problem where the passthrough device does not
   work. 
  -Fixed an issue with the vertical and horizontal scroll zones that scrolled
   by grabbing the scroll thumb.  The issue occured when a coasting action
   was initiated from the lower right hand corner, basically where the two
   scroll zones overlapped, but the coasting action would not properly hold
   onto the scrollbar.  Now, coasting will work properly when scrolling
   starts from this region, and the scrollbar is properly updated. 
  -Reworked TP_Feed item to more completely separate it from report
   suppression. 
  -If a window has a vertical scrollbar but does not have a horizontal bar,
   then don't send horizontal scrollbar messages. Some apps such as Outlook
   2000 respond to horizontal scrollbar messages even though they have no
   business scrolling. 
  -Fixed driver verifier problems with pending Irps. Also fixed an exception
   upon removal of a COM device under XP. 
----------------------------------------------------------------------------
Version 7.5.18 07/03/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Fixed the timing of when the keyboard hook attachment is made for the WDM
   driver.  The actual attachment now happens later than it did previously.
   This fixes an issue where the middle button was not working because a
   specific video driver was not sending data through the keyboard device
   stack correctly.  Attaching our hook in later after this video driver has
   hooked in fixes this issue. 
  -Add fix that originally was on a branch to fix 0x7E blue screen on an OEM
   system during restart. 
  -For the UltraNav driver, the horizontal scrolling plugin actions to now
   work with Internet Explorer 4.0+. 
  -Moved button swap functions to SynProps.  Fixed an issue where clicking
   the default button on an OEM page did not work.  Added context help
   strings for OEM page.  These strings are generic so they can be used for
   other vendors. 
  -Added a registry key in the PS/2 UltraNav ini file to copy the default
   PS/2 UltraNav settings into default USB UltraNav settings section.  This
   fixes an issue whereas after install, the USB UltraNav center button
   feature would not be working. 
  -Fixed an issue for the UltraNav driver where each time the system was
   rebooted, the USB UltraNav devices would get the same settings as the PS/2
   UltraNav devices.  The USB UltraNav now properly reads its set of device
   settings, and these settings will be persistent across boots. 
  -The USB UltraNav tab will not display the button for launching the
   UltraNav Wizard since the Wizard only applies to the PS/2 devices. 
   Also, the UltraNav tray menu will not show the menu item for the UltraNav
   Wizard.
  -Fixed an issue where the USB and PS/2 UltraNav stick devices shared the
   same PS/2 setting for launching the Stick scrolling tips dialog.  The
   support for this has been moved from the kernel driver into the Enh App to
   resolve this issue. 
  -Updating the Japanese strings for the control panel to enlarge the
   top-level tree items for the pointing device properties. 
  -Improved the selectivity of the scroll initiation gesture. 

----------------------------------------------------------------------------
Version 7.5.17 06/27/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed the timing of when the keyboard hook attachment is made for the WDM
   driver.  The actual attachment now happens later than it did previously.
   This fixes an issue where the middle button was not working because a
   specific video driver was not sending data through the keyboard device
   stack correctly.  Attaching our hook in later after this video driver has
   hooked in fixes this issue. 
  -Fixed a problem with the TouchPad/TrackPoint scrolling not being able to 
   properly scroll applications that processed scrolling messages slowly. 
   This fixes an issue with scrolling LotusNotes, Adobe Acrobat, et al. 
   The solution was to prevent sending scrolling messages while packets 
   are pending.  
  -Fixed an issue where the TrackPoint button state was not getting cleared
   properly.  This fixes an issue where dragging by using the TrackPoint 
   device would not send the button down event with the buttion was 
   physically let go.
  -Fix a bug with resetting the actions for the Left/Right/Middle buttons.
  -Use WINDISK to replace C: drive for the WinNT4.0 installation.  This
   fixes an issue where the WinNT4.0 driver could not be uninstalled.
  -Added external device button swap control for OEM. 
  -Increased width of the 'Reset Device' and 'Click Lock Setting' controls 
   for Finnish/SPanish translations. 
  -Fix the bug "After moving the TrackPoint stick, TouchPad buttons don't
   work for a while". When filtering TouchPad packets, we also detect 
   z-values to detect tapping actions.  This will allow the buttons states
   to get passed onto the OS. 
  -The "disable internal TP if ext PNP PD present" feature can now be set to
   use both internal and external devices as default. 
  -Removed the completion routine that was used to grab the PDO during filter
   attachment.  We can get the same information from the IO_STATUS_BLOCK that
   we allocate.  Also, it is incorrect to install a completion routine in an
   IRP that you create yourself without first skipping a stack location (and
   allocating an extra stack location). 
  -Fixed the bug when "DisableIntPDIfExtPnpPDPresent" feature is enabled, you
   can only cancel to restore to the previous state but not the original
   state. Like all other features, cancel should restore the original state. 
  -For cPad, fixed a bug that Calculator temperature conversion missing 
   offset value. 
  -Added a delay before processing a focus change message. This is to allow
   MS Excel to complete initialization before the scrolling subystem attempts
   to find scrollbars. 
  -Fixed a problem whereby Touchpad packets reported while a key was down 
   would cause the system speaker to beep. 

----------------------------------------------------------------------------
Version 7.5.16 06/19/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  
  -Added localizations for the 'Enable TouchPad' text for custom versions of
   the control panel. 
  -Changing access key of "Settings" button from 'I' to 'M' for the Italian
   device settings tab. 
  -Add a new information registry key to the WinNT inf file that will include
   product information and driver version. 
  -Fixed an issue where the tray icon would not appear for the UltraNav
   WDM driver. 
  -Modified the mechanism that attaches to the keyboard filter by walking
   the list of attached devices and comparing DeviceName to i8042prt or kbhid. 
  -Fixed a syntax error which caused the HCT's infcheck.exe to fail. 

  NOTE: The v7.5.14 and v7.5.15 drivers are used for Synaptics internal
    purposes only, and do not contain any code updates.

----------------------------------------------------------------------------
Version 7.5.13 06/13/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -add three bitmaps for Synaptics Styk sensitivity slider 
  -Added all the language translations for 'Enable TouchPad' for the 'More
   Features' tab. 
  -Added support for the custom UltraNav tray menu.  The Enh application can
   now launch and close the tray menu application. 
  -Added support into the control panel to send a 'refresh' message to the
   UltraNav tray menu when the UltraNav settings have changed. 
  -Fixed a error removing the custom UltraNav tray menu.
  -Fix a bug that some garbage texts displayed on LCD. Change character set
   to DEFAULT_CHARSET for Polish only. 
  -when install from desktop, copy files to syntp.tmp and install from there 
  -Modified the keyboard filter to attach even when
   IRP_MN_QUERY_DEVICE_RELATIONS returns STATUS_NOT_SUPPORTED.  This allows
   the filter to work when KbdClass/ConnectMultiplePorts is set to 1. 
  -TouchPad will be disabled if plug in USB Keyboard. So, add several
   specific PNP IDs to exclusion list to avoid the result. 
  -Removed the line that reset the tray icon to not present for 2 OEM ini
   files. 
  -Doubled the height of the Press To Select check box to fix a Dutch
   translation issue. 
  -Added new PNP IDs for ODM. 
  -Changed basic gain of WheelMouse scrolling and added ballistics. 
  -Fixed embedded Word and Excel docs inside of IE. Also changed ballistics
   slightly to not accelerate quite as fast. 

----------------------------------------------------------------------------
Version 7.5.12 06/06/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Removed the temporary fix to prevent keyboard lockup upon disable/enable 
   from the device manager.  This has been superceded by the new device 
   destruction code. 
  -Added a temporary fix to make the keyboard filter attach to the correct
   stack on Japanese XP. 
  -Fix the issue where the "Rocker Switch" image is left when using the 
   external PS/2 mouse.  This issue only occures with the old UI.
  -Fixed the issue where Stick UI shows up when selecting the TouchPad 
   device. 
  -Fixed the accelerator key for the optional reset devices button.  It was
   'R' and the remove tray icon was also. 
  -Added ability to scroll a broad class of windows without the use of an
   application configuration file. 
  -Added support for NT console windows. Changed landing zone departure
   selectivity. 
  -Added an ini file to turn off the new buttons page and put the MS page 
   back. 

----------------------------------------------------------------------------
Version 7.5.11 05/30/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Updated a Japanese string 'Selected Destination', thatis seen during the 
   installation process .  This string is now changed to 'Directory'. 
  -Added a temporary hack to make the keyboard filter attach to the correct
   stack on Japanese XP.   This fixes a problem where the 'constrain cursor 
   motion' and 'slow motion' features were not working.
  -Fixed problem where USB devices do not resume from suspend properly. 

----------------------------------------------------------------------------
Version 7.5.10 05/29/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Improve robustness of pending packet handling. Occasionally, the pending
   packet count could become invalid, leading to sub-optimal scrolling. 
  -Backed out the changes to register for WM_CLOSE messages. Left in the one
   change to close the CPL when the ULtraNav wizard pops up.  This is a 
   non-standard UI action and we are hoping to replace this with a modal 
   behavior instead.
  -Fixed the Turkish short plugin names 'minimize' and 'maximize' to contain
   shorter text.
  -Fixed a bug that the corner tap indicators on the cPad are not showing up
   after a hot-unplug/replug. 
  -Added a KeClearEvent to FlushOutputBuffer. This will prevent incorrectly
   reading from an empty data queue on a machine with a buggy KBC that can
   send bytes even from disabled devices. 
  -Build debug symbols for the release driver. Fixed ClearDeviceInfo function
   to never fail to clear the device info. 
  -Adding support for the PS/2 and USB UltraNav setup.iss files.  Currently
   the USB setup.iss file is being used for the PS/2 install which is causing
   install problems. 
  -Added more support for the TrackPoint scrolling algorithms to work with
   BrioQuery. 
  -Fixed a problem with the "Disabled/Enabled" buttons on Mouse Properties 
   tab not enabling the 'Apply' button.  Also, the Cancel button would not 
   undo the Disable/Enable setting previously set.
  -Added localized text for 'OK' and 'Cancel' on texts of buttons in 
   ClickLockSetting DialogBox. 
  -Fixed a problem when the UI for the external device is not updated 
   correctly when the DisableIntPDIfExtPnpPDPresent feature is enabled on a 
   NoteBook with more than one PS/2 pointing device.
  -Removed the word 'selected' from the "Selected Destination:" string for
   all languages.  This string was seen during installation and its meaning
   was confusing.
  -Added a UI check to showing some of the controls on the "More Features"
   page and suppressing unwanted controls. 
  -For the stick controls, the "Slow", "Fast" and "Slider control" dialog 
   text are now dependent on the setting of "Enable press to select".  These
   values will be grayed out if the Press-to-Select value is disabled.
  -For COM, the API mapping will be compatible with older enhancements app
   binaries. 

----------------------------------------------------------------------------
Version 7.5.9 05/16/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added routine for setting an exception on a memory location.   Useful for
   debugging only. 
  -Created memory suballocator for kernel data structures. These structures
   are now contiguous in kernel virtual memory space. 
  -Synchronized power down with detection. This is to fix a problem where a
   machine can come out of standby and immediately go into hibernation. In
   this scenario, detection could fail to complete before entry into
   hibernation. 
  -Updated the TrackPoint scrolling algorithms to now contain scrolling
   support for Eudora, FrontPage, BrioQuery, Java, and Outlook. 
  -Fixed a custom six-button TouchPad that only provides Left/Right 
   button in their machine layout.  The UI will reflect the intended button
   configuration.
  -Fixed a bug where the TouchPad cannot be enabled when the "Disable
   Internal touchpad if External PS/2 mouse present on MUX" feature is
   enabled and plug-in an external PS/2 mouse. 
  -The touchpad can now be enabled from the control panel when the
   MonitorPS2PDChangeOnMUX feature is enabled.
  -When the DisableIntPDIfExtPnpPDPresent feature is enabled, the Cancel 
   button would restore the wrong state of the enable/disable of the touchpad.  
   This is now fixed.
  -Changed the default communication method for WinXP from polling to
   interrupt. 
  -Fixed a potential problem where the device load state in the Lpr might not
   get called if we cannot get the MaxHandle value. 

----------------------------------------------------------------------------
Version 7.5.8 05/09/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed an issue with animation of scroll and edge motion zones.
  -A stick response of 0xFC 0x00 will now be accepted as a valid device
   response.
  -Made the keyboard filter process Irp asynchronously. This is to handle
   HCT's use of asynchronous Ioctls. Apparently, when HCT sends random
   Ioctl's it cancels any that pend for any length of time. Synchronous
   processing of Irp's breaks this paradigm. 
  -Modified CosKBFilter to intercept device ioctls and grab our publicly
   advertised port mutex before passing them down. The mutex is released upon
   irp completion. This forces keyboard clients to cooperate with our device
   detection code. 
  -Removed IoMarkIrpPending from SendIrpSynchronously completion routine.
   This is in error as the routine will not return STATUS_PENDING. 
  -Restricted the list of keyboard IOCTLS that acquire the port mutex. 
  -Added the sub sub minor version to the version checking code so branch
   build version checking will work. 
  -Remove a extraneous right bracket character from the Setting button in
   Mouse Properties CPL of Simplified Chinese OS. 

----------------------------------------------------------------------------
Version 7.5.7 05/02/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added a windows hook to monitor window creation so the control panel can
   notify the Enhancements application when it starts. The issue was that a
   single customer does not use our buttons page and if that buttons page
   does not start none of the control panel code that is run when the mouse
   control panel starts up has access to a window handle. Therefor the
   feature added did not work for that customer. 
  -Fix text error for Traditional Chinese help file. 
  -Fixed a problem with the WDM driver not being able to open the 'browse'
   window when setting the Tap Zones or button actions to the plugin 'Run a
   program of your choosing'. 
  -A stick response of 0xFC 0x00 will now be accepted as a valid device
   response.  Typically only an 0xAA 0x00 was acceptable. 
  -Fixed a problem with some DWORD registry values not getting adding into
   the registry properly for the WDM driver.  This problem was causing the
   plugins, 'Send double click' and 'Use stick to scroll', to not to show up
   in the plugin lists. 
  -Fix cPad help icons for all languages. 
  -Fixed a problem with the blue screen occuring when the user pushes on the
   stick device during boot. 
  -Added help for new Disabler features. 
  -Added new capabilities associated with disabling and enabling devices. 
  -Added new disabler sample. 
  -Added new sample program for disabling devices in a dual pointing system. 
  -Added new sample program. 
  -Added workspace for sample build 
  -Renamed SecGestures to SecondaryGestures. 
  -Added support for interrupt driven diagnostic communications. 

----------------------------------------------------------------------------
Version 7.5.6 04/29/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added the tap zones default settings for the UltraNav driver.  This will
   allow the tap zones sizes to be correct when the TouchPad is in its
   various modes and the user selects the Defaults button. 
  -Fixed dependencies on the 'No EdgeMotion' radio button in the control
   panel.
  -If the WinNT4.0 driver fails to get the handle to laptop.sys, it will 
   release device object before returning.  This will fix a blue screen 
   from occurring.
  -Update the cPad and Enh App headers to define WINVER to 0x501. This will
   pull in the WinXP defines.
 
----------------------------------------------------------------------------
Version 7.5.5 04/24/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added support to close the control panel when the UltraNav wizard is
   started from the tray menu. 
  -Added support for the UltraNav driver when the user is in "Use pointing
   device for tap zones and scrolling only" mode, and selecting the Default
   button in the control panel will now set the tap zones to the largest
   setting.  Then when the user goes out of this mode, the default setting
   for the tap zones will be the original tap zones sizes. 
  -Hard code the registry path for the WDM driver so it is the same as NT5. 
  -For the UltraNav Wizard, changing the center button settings of the 
   stick device will not properly update the actual device settings.
  -Added WinNT4.0 kernel level power management support. The driver will now
   properly received power management messages from the LAPTOP.SYS driver (if
   present).  This fixes issues with the TouchPad and/or Stick devices not
   working after a suspend/resume event. 
  -For the WDM driver, the UltraNav help files will now properly be deleted
   during uninstall. 
  -Fixed a problem with the WinNT InstallShield not displaying the correct
   product information for the UltraNav driver. 
  -Change "Applikationsstartprogram" to "Applikationsstartaren" for text
   "Application Launcher" in Swedish. 
  -Fixed Japanese help file bugs. The string "Launch Mouse Control Panel"
   used as a button object cannot display Japanese correctly. Checked with
   all other double-byte language (Chinese, Korean, and Japanese) help files,
   none of them has the localized string for it. 
  -UPdate string "Meer functies" from "More Features". 
  -Fix the bug which Right Button Action will become "Primary Click" when in
   Buttons page set Buttons to default. 
  -Added a mechanism to add the version information of a driver into the
   registry during install.   This is for Win2K/XP and WinWDM drivers.
  -Make sure the current device is not left with OS reporting suppressed if
   another device is selected. 
  -Separated OS feed management and user feed management. 
  -Fixed SynDisplay wrapper touch coordinate functions. 

----------------------------------------------------------------------------
Version 7.5.4 04/18/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Make sure clear display area covers the entire cPad screen. 
  -Remove FingerTouch checking for cPad "Tap" determination. 
  -Check in M3N.ini file for removing "More Features" page and changing
   default SliderScale to 360. 
  -Fixed a potential issue with the cPad if a user attempts to use the
   'Browse' button on WinNT4.0.   This button will now correctly activate 
   the file browser. 
  -Fixed a problem on WinNT4 where the 'Browse' button would not work when
   configuring a button or a tap zone to an executable. 
  -Fixed extended buttons suppression. 
  -Added a simple IRP completion routine for the WinNT4.0 kernel. 
  -Rotate TP coordinates to 90 degree via an ini for an OEM.
  -Fixed a problem with the UltraNav driver.  The TouchPad pointer would
   occasionally move when the user had selected the TouchPad to be in 'Use
   Pointing Device for scrolling and tap zones only' mode.  Now the pointer
   will remain frozen in this mode. 
  -Fixed a bug where incorrect information would be put into the clipboard
   when devices were missing on MUX ports.
  -Removed debug that broke the build. 
  -Fixed the bug Directory not clean on Win ME after un-install, left
   "INST95.LOG" in c:\Program Files\Synaptics\SynTP folder. 
  -Changed Thinkpad to ThinkPad in the file copy for Win NT4 
  -Replace English strings in Spanish Help file. 
  -Added a check in IdleDevice() to prevent significant action from taking
   place if the device has not fully started.  This fixes a bug where the
   keyboard locked up after enabling the Synaptics device via the device
   manager. 
  -Fix a potential bug which sets the wrong Y value on the lcd display (I
   believe it is a typo error). 

----------------------------------------------------------------------------
Version 7.5.3 04/11/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed an issue with the UltraNav driver.  When coasting with the TouchPad,
   and pressing the stick button at the same time, the TouchPad would lock up
   until the user started scrolling again with the TouchPad.  Now, pressing
   the stick button while coasting will not lock up the TouchPad. 
  -Move registry key path of filtering tapping/tapzone to "Software\SynTP".
  -Add cPad API class for interfacing with SynCom API. 
  -Added a mechanism to prevent installing our driver on a specific device. 
  -Fixed a truncation issue with Japanese on the 'More Feature' tab in the
   control panel.  'Disable internal pointing device when an external USB
   Mouse attached' is not longer truncated. 
  -Added a registry key to the UltraNav driver ini file to use the Microsoft
   default buttons page in the control panel in place of the Synaptics custom
   page. 
  -Cleanup the thread control that monitored the button swap state for
   Win2K/XP and WinNT4.0. 
  -Fixed a problem with the registry key that would only pre-swap the
   TouchPad buttons when the user changed the handedness setting on Win2K,
   WinWDM, and WinNT.  WinXP was already working. 
  -Changed key words from "PNP" and "ACPI" to "$PNP$" "$ACPI$". Also fixed a
   bug in uninstall code per Ray's request. 
  -Fixed the cancelling of the scroll coasting action to work with both the
   Synaptics and UltraNav scrolling algorithms. 
  -Changed the French translation of "Reset Devices" to an abbreviation after
   we determined there is no short way to say it. 
  -Fixed a bug where the TouchPad and Stick hang after boot or resume. The 
   driver times out before we have any chance to read the data through DPC. 
  -Added more support for XP session changes. Now a cPad app need do nothing
   to keep from writing to the display if it is not in the active session. 
  -Register to receive session change messages for current session only. 

----------------------------------------------------------------------------
Version 7.5.2 04/07/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Added three registry keys used by UltraNav driver for the suppress 
   TouchPad taps filter feature. 
  -Fixed a problem where the wheelpad settings for scroll per wheel value 
   was not getting saved properly in the control panel. 
  -Fixed NT platform detection. 
  -Fixed problem where device could be requested to report adc info with the
   driver unprepared to receive it. Now the driver will just do nothing
   instead of crashing. 

----------------------------------------------------------------------------
Version 7.5.1 04/04/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -The Zone sizing control will now be active when the scrolling EdgeMotion
   is on and general EdgeMotion is off, in addition to being active if any
   type of general EdgeMotion is turned on. 
  -Change a registry value name for the UltraNav driver for the new filter 
   feature that will suppress any TouchPad taps when a Stick button was just
   seen. 

----------------------------------------------------------------------------
Version 7.5.0 04/02/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Disable Internal device if PS/2 device arrives on external port.
  -Transparent passthrough communications.
Bug Fixes
  -The new Tree-control UI will no longer launch help when the scrolling
   tutorial is launched.  This is because we are trying to disassociate the
   Tree-control UI from the old help system. 
  -Added a fix for not removing the PS/2 device or the keyboard filter once
   they have been created.  This will fix two blue-screen issues where we are
   seeing unexpected DEVICE_REMOVAL IRPS.  Typically we expect a system to
   never send these IRPS. 
  -Updated by the build process.
   -Fixed CScroller::SendLinePageMessages() and CScroller::ScrollTo() so that
   they won't get confused by irrelevant ScrollFlag bits.  This solves a
   theoretical problem with windows that use both horizontal and vertical
   scroll line messages.
  -Fixed an issue with the DisableIntPDIfExtPnpPDPresent feature not getting
   updated properly when fast-user switching.  The problem was that the
   driver was not getting informed about what state it should be in when
   fast-user switching. 
  -Added hot keys to the SC, TC, and HK translations for the pnp disable
   radio buttons for OEM. 
  -OEM requested to implement a new feature that will suppress any TouchPad
   taps when a Stick button was just seen to relieve a design issue where the 
   buttons are directly above the TouchPad.  Users were getting inadvertent 
   taps due to the layout.
  -Fixed an issue on WinXP where the button swap state was getting the wrong
   value in another users session when fast-user switching. 
  -Added another fix for allowing the StatusRequestSequence and
   SampleRateSequence commands to recover for any communication errors. 
  -For the UltraNav driver, when setting the TouchPad in the 'Use Pointing
   Device for Scrolling and Tap Zones only' mode, the tap zones will adjust
   themselves to the largest size.  Also added a fix to the UltraNav tray
   menu to enable and disable the proper menu items when the TouchPad and
   Stick for disabled. 
  -Added a fix for the UltraNav driver to allow the TrackPoint/TouchPad
   scrolling to use Wheelmouse messages independent of what the user may have
   set the 'Scroll Lines to Wheel' setting in the control panel. 
  -Added an exclusion list for the device that we don't want to install our
   serial driver. This solution is for 2K/XP. WDM installer is not done. 
  -Fixed an enh app crash bug when you turn MonitorPS2PDChangeOnMUX = 1 but
   did not turn DisableIntPDIfExtPnpPDPresent on (both keys default to 0).
   Plug in an external USB mouse or PS/2 mouse, the enh app will crash. 
  -Added a parameter to only pre-swap the TouchPad buttons. This will have
   the effect of treating the stick devices like standard devices. 
  -Removed some code that started up a thread in the Lpr to monitor the
   button swap state on WinXP.  Now, the Lpr itself will start the thread up.
  -simplify the IsLaterSynapticsDriverInstalled() which is used to determine
   if the user is trying to downgrade the driver version.
  -Added documentation for the SE_DevicecPad device type. 
  -Changed priority of asynchronous flush thread to be below normal. This was
   prompted by the observation that on win9x the cpaddraw sample was not able
   to keep up with finger motion. 
  -Removed device selection upon device removal. With improved feed
   management, this is no longer necessary. 
  -Removed persistent flag as feed management refactoring has removed the
   need for this capability. 
  -Criteria for determining whether or not a device is a cPad now include
   whether or not a device is a TouchPad. Apparently the sensortype spaces
   are different for different types of devices. 
  -Fixed problem where selecting a device could interfere with another
   device's feed. 
  -Fixed problem whereby asynchronous timer threads would fail when a cPad
   was unplugged and replugged. 
  -Refactored feed management so that feeds do not get setup on driver
   notification. Instead they just get restarted if the kernel has stopped
   them and the client thinks they are started. 
  -Streamlined feed management some more. 
  -Change the ellipsis from dual byte characters to single byte so they will
   fit on the settings button. 

----------------------------------------------------------------------------
Version 7.4.4 03/27/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Implemented a SynTPEnh.ini field called MajorLanguage that controls
   scrolling based on language.  Also added entries that force Arabic and
   Hebrew systems to use wheelmouse and line left/right messages. 
  -Made CSynStatic derive from CSynMutableCtrl rather than CSynVisibleCtrl.  
   Although static controls are not mutable, it is useful for them to have 
   tab stop indices for the purpose of giving mnemonics to other captionless 
   controls.  (Activating the mnemonic for a static control causes the focus 
   to jump to the next control in the tab stop order.) 
  -Changed the tab stop order of the scrolling speed selection slider control
   to ensure that it comes directly after the scrolling speed selection
   slider caption.  This will make the static's mnemonic work correctly. 
  -Fix the standby/resume blue screen bug. In order to avoid some bad KBC to
   cause BSOD during resume, we must check the powering down state and decide
   whether do CommitSuicide. 
  -add OS related double-click data 
  -change a hot-key letter setting for "IDS_DISABLE_INTERNAL_ALWAYS" (from
   "w" to "y") 
  -Fixed the left and right handed strings in Hong Kong string table. 
  -Added a static text control to identify the UI language to the driver 
   status page. 
  -Modified the context help so we can begin migrating to resource based
   help.  This will allow us to stop shipping the SynTP.hlp when the Old UI
   is no longer being shipped. 
  -Changed the application of DoubleClickToOpenInWebview to only apply if the
   control was shown for the OS. 
  -Add a registry key "InstallSerial" to indicate if we should install the
   serial driver on 2K/XP and WDM drivers. 
  -Check the registry key "InstallSerial" to decide if we should install the
   serial driver on 2K and XP. 
  -Added the ability to turn off the TouchPad objects automatic cleanup and
   recreation of a feed when upon device addition or removal. 
  -Supplied Synchronous flag when setting up the synchronous feed. 
  -Updated doc, also fixed a problem whereby a device could be disconnected
   and reconnected and an associated ISynDevice could feed could not be
   reconnected properly. 

----------------------------------------------------------------------------
Version 7.4.3 03/21/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Finalized the transparent pass-through code.  New code supports handling
   any diagnostic communication with the pass-through device.  Also
   thepass-through device is now properly reset with an AuxReset command
   instead of the ResetAuxDefaults command. 
  -Created a "New" enum for the default ASIC type. 
  -Added a destructor for CAssociate.  This fixes a memory leak when the
   Enhancement application was manually terminated.
  -Updated the OS detection code to make it more gracefully handle new
   OS's.
  -Move the "disable internal touchpad if external PS/2 mouse present on MUX"
   code to Enh App and integrate with the PNP code. 
  -Add two more pnpIDs to the OEM ini file to be excluded for disabling 
   internal TP 
  -Rename the registry key that contains the exclusion list so it 
   communicates the usage.
  -Added localizations into the control panel for the new Disable Internal
   device if external PnP device is present feature.
  -This verison of the OEM Flash movie will show the english movie for all 
   non-japanese OS's. 
  -Fixed a problem with the Disable Internal device if external PnP device is
   present feature.  Now when changing the settings in the control panel, and
   the user hits 'Cancel' button, the settings will now properly change to
   the previous setting. 
  -Fixed a problem with the tray menu not animating at all. This was causing
   the tray menu to not appear. 
  -Fix the garbage texts(Traditional Chinese) shown in control panel. 
  -Removed copying over the preinstall.inx file for Win2K/XP.  This file is
   only required for USB only drivers. 
  -Added a check for OEM UI to suppress adding the new buttons page. 
  -For the OEM UI the help button in the bottom right of the control panel
   page will read "Demo" instead of help. 
  -Fixed a problem with the old-UI.  When only one Synaptics device was
   present, the Synaptics controlled tabs would show a drop-down list with
   only one device listed.  Now if there is only one device the text is
   static, and not in a drop-down. 
  -Use "Flere funksjoner" (More features) in help file to sync up with the
   application. 
  -Added new functionality to the Tray Menu to now allow bitmaps images in
   the menu items. 
  -Switched the position of the Enable\Disable device with the device
   properties in the UltraNav tray menu. 
  -For the UltraNav driver, when the user sets the TouchPad into 'Use
   pointing device for Tap Zones and Scrolling only, the user can now adjust
   the sizes of the tap zones.  Previously this was configured so that the
   user cannot adjust the tap zones sizes. 
  -Added a new entry into UltraNav ini file to allow WheelMouse scrolling
   setting to change. 

  cPad changes:
  -change the button captionID for extButton1 from "Scroll Up Button
   Action"(default value) to "Launch Button" 
  -Default the show cPad help to false. 
  -Separate the cPad help from the Touchpad help control flag. In order to 
   display a menu item for cPad Help, we create another control flag under 
   cPad registry key which the Enhance app will check for displaying cPad 
   Help item in the tray action menu. 
  -Make a copy of Spanish (Mexican) string resources for Spanish (Castilian)
   as the default Spanish resource. 
  -Added "Clear" button resource string for Czech and Spanish (Mexican). 
  -I changed the text-drawing format to use DT_EDITCONTROL and
   DT_END_ELLIPSIS in addition to DT_WORDBREAK, this will give us as close as
   the edit control behavior and also the ellopsis and the end if the text
   cannot fit in the rectangular. After this change, a long sentence will be
   broken down to multiple lines based on:   1) word break (space in SBCS).
   2) any character if a single word is over the width of the display area. 
  -Adding Spanish (Modern) resource strings for all cPAd applications. We had
   Spanish (Mexican) initially but any other Spanish OS will show English
   instead of Spanish resources. We later on added Spanish (Castilian) as
   suggested default resources for all Spanish OS. The test works on Spanish
   (Spain) Windows 2000. However, it failed on Spanish (Spain) Windows XP
   system. So we ended up adding all three Spanish resources. 
  -The display is too narrow so that the Japanese translation, 'feet'
   cannot be displayed on the cPad LCD.  Change 'mile', 'yard' and 'foot'
   Japanese text in "TEXT" to English. 
  -"No memo for this day" in Japanese is taking two lines (using default font
   size 16), so it is cut shorter with a new string. 
  -Added ISynPacket::Copy method per code review comments. 
  -Update help index 
  -Remove #include "stdhdr.h" and put "windows.h" in. The idea is to remove
   standard header file form a shared source file. 
  -Added capability to force devices into relative mode via a registry key. 

----------------------------------------------------------------------------
Version 7.4.2 03/14/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed an issue with the tray icon not showing up.
  -Fixed an issue where the OEM button page was replaced with our new
   button page.
  -Added the ability to put a cross mark on the tray icon when the internal 
   Touchpad is disabled on a MUX KBC machine. 
  -Added a new object to load the ShellAPI.dll functions. This allows the
   Control panel to load properly on WinNT4.0.
  -Fixed a problem with the WDM driver not correctly passing scroll wheel
   information to the OS.  This affected both WheelPads and external
   wheelmice. 
  -Added a guard boolean to prevent recursive calls to the OnItemChanged
   handler.  This was causing a control panel crash. 
  -For cPad, added a "Clear" button on Schedule Editor dialog. 
  -For cPad, changed the default font size from 12 to 16 for "date topic".
  -For cPad, fixed the display problem showing in the unit conversion screen
   where the unit type background exceed the display area. 
  -For cPad, moved the calendar display up 1 pixel to avoid touching the 
   scrollbar controls. Also reduced the World Clock font size from 13 to 12 
   for Japanese time stamp to fit in the display area. 
  -For cPad, the Animation Speed Control "OK' and "Cancel" buttons are now
   properly localized.
  -Fixed some Simplified chinese strings that were garbage in the control 
   panel. 
  -Make cPad version information on Properties dialog title consistent with
   Driver. 

----------------------------------------------------------------------------
Version 7.4.1 03/10/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added a guard boolean to prevent recursive calls the OnItemChanged 
   handler.  This was causing a control panel crash.
  -Added Transparent pass-through mode support into the Win2K/XP/WDM drivers.
   With the proper TouchPad, it is possible to place the TouchPad in a
   transparent mode that will allow all communication with the pass-through
   device to happen as it the TouchPad does not exist.  This allows for much
   faster detection of pass-through devices.   -Fixed both button feature to now look at the packet times to determine
   a both buttons action instead of counting packets.
  -Fix the HTML Korean help file with garbage index strings.
  -This fix is for virtual scrolling flip problem under MS Word 2K with double
   byte IME. Now using PostMessage to emulate vertical scrolling action.
  -Added an improvement into the USB composite device detection to compliment
   a new feature in the Cypress chip.  Currently the Cypress chip will report
   a composite device is present even if the device is broken or missing.
   Support has been added into the driver to look and see if a device is
   truely attached, or if the Cypress is just reported a ghost device. 
  -For cPad, added the ability to change the backlight timeout.
  -For cPad, added a find to match the best Character Set for date/time 
   display. 
  -For the control panel, fixed the enable/disable buttons and indicators to
   work correctly.  Also changed the "No" in the enabled column to read "Ext"
   to indicate the external device takes priority when the PNP disable feature
   is on.
  -Made initialization of the COM API optional. This is to allow the
   Enhancements app to start properly on Windows 95. 
  -For cPad, added change to use user default locale to create font for 
   schedule editor display. 
  -For cPad, created Japanese specific dialog boxes for Japanese 
   character input purposes (using font "MS Mincho") .
  -For cPad, set the initial time zone captions with localized resource 
   string. Also, set default caption string without "1" and "2" to fit in 
   the display area. 
  -Reverted the time zone window to using font size 14 to 13 to accommodate 
   problems with overlapping. 
  -For cPad, use locale specific character set for unit translation display. 
  -Fixed a problem with various duplicate hotkeys for the Danish Tree-control
   UI. 
  -Fixed an issue with Stick buttons that has been swapped via the
   button-swap feature, where getting the swap state of the TouchPad. Now
   each Synaptics controlled device (TouchPad, Styk, and Stick) will each
   have their own button swap state. 
  -Fixed a problem with the DoubleClick speed not getting saved across boots.
  -Changed the usage of SetupAPI dll in the PNP disable feature so that it
   explicitely loads the library to prevent crashing the enh application when
   turned on for Windows 95. 

----------------------------------------------------------------------------
Version 7.4.0 02/28/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Replace the standard buttons page with a clone that allows the user to
   select which device they want to swap the buttons for.  The items in the
   drop down are a list of Synaptics' devices, which can have buttons swapped
   independently of each other, and "Other Devices" which are the devices the
   OS or other drivers have control of.
Bug Fixes
  -Make "Apply" string in New UI consistent with MS mouse page. 
  -Make Danish button action labels consistent 
  -Added the ability to see if a device has GlassPass abilities. 
  -Added a fix for the surface-effect moisture problem.  This corrects errant
   behavior on devices that are particularly susceptible to moisture. 
  -Added a value to control the surface-effect moisture problem fix. 
  -Check if ClearWallPaper needs to be fixed or removed. 
  -Using wallpaper ReadConfig return value is somewhat  confusion in certain
   operations. In this case, we are trying to modify  the setting but was
   blocked by a reading error. 
  -Use "cWallpaper.SetCalendarMonthOffset(lOffset)"  return value to call
   "SetCalendarScreenCmd(lRetVal)" because lOffset  may be adjusted due to
   the boundary conditions. 
  -put "cPad Properties v2.x.x.x" on the Properties dialog  title. 
  -Added a line to remove the wheel scrolling page from the settings dialog 
   for OEM. 
  -When a message uiWM_CPAD_RELOAD_AND_REFRESH_IMAGES  calls to the main
   program, only suppress cursor when there is no  dialogbox running. 
  -Create a function GetDisplayLocale() to adjust the  user locale for use.
   Also, find out the locale specific marker position  to fromat the correct
   display for AM/PM string. 
  -Stretch out 1 more pixel for each column, leave  2-pixel margin on each
   sides. 
  -Moved the OEM icon to a clear area for the "Driver Settings" page.
  -Changed the "operation" radio buttons to use DDX. Also made the default
   for the "operation" group to be "disable if external PnP PD present" and
   cleaned up the destructor. 
  -Made CSynTPEnh write the configuration key for the "disable internal PD if
   external PnP PD present" feature.  This fixes a problem where the feature
   was not persistant across boots. 
  -Adding the default OEM ini file that Fidel sent. 
  -Added code to notify the driver when a button swap occurs for the "other
   devices". 
  -Changed definition of the com event override function to be consistent
   with changes made to the COM DLL. 
  -Limit Memo string to 255 characters as we told OEM. 
  -Moved the cPad .ini file from Win95 to share. 
  -Move cpad.ini from Win95 to share. 

----------------------------------------------------------------------------
Version 7.3.3 02/24/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Fixed all issues with the text "<" and ">" getting pushed up against the 
   "< Previous" and "Next >" button text in the InstallShield setup
   installation. 
  -Fixed issue with the old tab UI zone controls not show up properly.
  -Updated the 2 and 4 button TouchPad button graphics.  Also changed the 
   line coloring from green to blue. 
  -Updated custom Tutorial movie with Japanese language support.  Also added
   full graphic support for all help topics. 
  -Updated OEM ini file to set the tap zone default sizes to be more
   even-sized. 
  -Fixed a problem with the tap zones control not getting centered properly
   on the Tap Zones tab. 

----------------------------------------------------------------------------
Version 7.3.2 02/19/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Merged SynTPCpl and SynTPCplExe.  This has the effect of making the
   settings dialog modal and it also reduces the size of the Control Panel
   files. 
  -Added UI support for new button configurations on the Buttons tab. 
  -Updated OEM ini file with new button configuration settings. Also added 
   settings to disable internal device when USB device present. 
  -Updated the install process to no longer copy over the SynTPCpl.exe file
   since it no longer exists.  Also updated the Win2K/XP CoInstaller to copy
   over any custom help module during install. 
  -Added to the description of the 'disable internal device when USB device 
   present' feature to make it more clear that all PS/2 devices controlled 
   by Synaptics are disabled when an PNP, not just USB pointing devices 
   appear. Also added corresponding controls to the "more features" page to
   support the disable internal pointing devices on PNP pointing device 
   arrival. 
  -Add code to cooperate with the COM dll cPad display arbitration mechanism.
  -Added build project to assist with building a COM API distribution
   package. 
  
----------------------------------------------------------------------------
Version 7.3.1 02/14/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -New ini file supplied by OEM. 
  -Add some browsers to the "IsBrowser" list. Also, support embedded
   IE/Mozilla windows (though many of them don't support the "stop" and
   "reload" functionality that this test is used in). 
  -Changed synchronization code to synchronize with the keyboard interrupt
   object only if there is a keyboard device object.  This fixes a bug check
   on systems that do not have a PS/2 keyboard. 
  -Merge all GetOS() functions so the interpretation of the OS is unified.
  -Added a fix into the UltraNav driver.  This will allow a new window to be
   scrolling with the TouchPad if the user moves cursor with the stick device
   into another window. 
  -Fixed an issue with the Stick device not reporting motion while the user
   has their finger on the TouchPad performing a scrolling motion.  Now, if
   the user is scrolling on the TouchPad, a leaves their finger on the
   TouchPad, the stick device can still be manipulated to move the mouse
   pointer.  This is for the UltraNav driver only. 
  -Fixed an issue with the UltraNav driver scrolling algorithms.  It is now
   possible to scrolling both pointing devices at the same time without
   locking out the other device.  Also removed some unused functions. 
  -Removed two registry keys from OEM .ini file that are not using active
   code in the Enh App. 
  -Updated the TouchPad API function SuppressCursor() to not attempt to
   suppress the cursor if it is already suppressed. 
  -undefine _RICHEDIT_VER in header file will force it be defined to a value
   >= 0x0200 so the RICHEDIT_CLASS will have the proper declaration. This is
   to fix a bug in StickyNote. 
  -Added new PnP ID support for OEM for Win2K/XP.  Also cleaned up the
   ordering of the PnP ID's to increase readability. 
  -Added a new help function that can look for, and load any given custom
   help module.  In order to load a custom help module, the correct registry
   setting needs to be present. 
  -Updated default settings files and OEM ini files to change the control
   panel icon setting so that these new values are consistent with the new
   control panel methodology. 
  -Removed WinCE files from the repository. 
  -add Silent Install Notes to readme files.
  -Added a progress indicator into the Win2K/XP InstallShield installation.
   This indicator shows the progress of copying the files to the target
   machine.  Since this can take a significant amount of time, it is nice to
   let the user know that something is going on. 
  -For Win2K/XP, the entire installation package will now be copied onto the
   local machine.  This will now allow the driver in the future to
   auto-install for USB devices and auto-install for hot-port switching USB
   devices. 
  -For Win2K/XP, the installer now has a new helper function that will
   completed remove directories during uninstall.  This is currently used for
   removing the install package directory that was copied there during
   install. 
  -For the cPad ini file, the language list has been added so that the
   control panel will only display the supported languages. 
  -Folder shortcuts can now be launched using the App   Launcher. Was a
   problem with apps that are launched via DDE, which   would pump the extra
   TP windows messages during ShellExec, which   caused the app to be
   launched multiple times. 
  -Removed code where the thread that is terminating a notification thread
   waits for the notification thread to end before closing its handle. This
   caused a problem when a notification object that was created during dll
   attach was deleted during dll detach. It appears that the notification
   thread could not terminate properly until the main thread exited the dll
   detach context. According to the windows doc only one thread can be in the
   detach context at a time. In any case it doesn't look like there is any
   reason to wait for the thread to terminate before closing its handle. 
  -Added the ability to do a bulk transaction with a zero length write. 
  -Added the custom setup silent-InstallShield file for the USB and PS/2
   UltraNav. 
  -Set cPad default MaxCalendarYear to 2012 
  -Because cPad Setup program uses SynISDLL.dll so we make sure it is also
   built before we compile the setup program (we request only the NT release
   version of the dll). 

----------------------------------------------------------------------------
Version 7.3.0 01/31/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -cPad 2.1 Beta release

Bug Fixes
  -Added cPad file copy. 
  -Add OEM's "dual install" functionality to our installer.   

----------------------------------------------------------------------------
Version 7.2.13 01/31/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Disabled the "No hardware detected" warning dialog when the software is
   launched without any touchscreen connected. 
  -Updated the WDM ReadMe files to contain the correct OS support
   information, and the correct driver and device terminology. 
  -Changed keyboard interrupt object acquisition code to defer looking at the
   keyboard device object until it's needed. This fixes a bug check on
   machines where the keyboard device object had not been created when the
   hook mouse IRP is sent. 
  -Fixed truncated title strings for the setup program.
  -Fix cPad setup process to remove CVS and setupdir folders under "Disk#" 
  -Added NLS support for days of the week. (needs testing on asian langs) 
  -Implemented "Touch to launch" for App Launcher. Required a change to how
   the calc/keypad/calendar apps handled their button activation to account
   for the finger being down when the app is launched. 
  -Adding a new window message in EnhAP to service suppress tray icon and
   de-suppress tray icon and export a new EnhAP API "SuppressTrayIcon" for
   user's application. 
  -Declare a new window message in EnhAP to service suppress tray icon and
   de-suppress tray icon and export a new EnhAP API "SuppressTrayIcon" for
   user's application. 
  -Harmless resize of buffers. Might be related to  vendor reported 
   bluescreen (which we are unable to test). 
  -Modified USB UltraNav registry copying routines to add a special value to
   the destination key.  This can be used to determine whether the key has
   already been copied.  It fixes a timing-related problem where some of the
   device settings would not be copied. 
  -Added feature to optionally notify clients upon the closure of an API
   connection. 
  -Changed touchpad object to not gratuitously close the driver connection.
   This change was made to lessen the frequency of ApiClose postings in the
   kernel. There is a new kernel feature to notify on ApiClose if requested
   and this feature needs to notify only when informative. 
  -Made changes to global state to not require C runtime startup code that is
   not available in DLLs at least without more investigative effort. 
  -Added a fix to properly update the tray icon hover text with UltraNav
   devices attached. 
  -Fixed an issue with the USB UltraNav hover text showing the incorrect
   information if the user accesses the hover text by using a non-Synaptics
   device. 
  -Updated the new localized TrackPoint scrolling tip files. 
  -Manually update cPad version to 2.0.5.0 

----------------------------------------------------------------------------
Version 7.2.12 01/24/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Created a miscellaneous enum to contain limits and numbers used in the
   driver and APIs. 
  -Checked in the wrong edit to build2.bat. Correct it to copy the correct
   preinstall.inx file. 
  -Added code to grab the i8042prt keyboard object's InterruptObject for the
   purpose of synchronizing with the keyboard's ISR.  Modified
   EnableInterrupts() and DisableInterrupts() to synchronize with the
   keyboard ISR rather than the aux ISR.  This fixes device detection on
   multiprocessor machines. 
  -Fixed an issue where vertical scrolling would not work properly on Hebrew
   and Saudi Arabic systems. 
  -Initialize IoStatus.Status to STATUS_NOT_IMPLEMENTED as required by the
   documentation. This will fix and intermittent blue screen (1 in 
   1380 restarts)
  -Fixed a problem with the USB UltraNav uninstall program trashing the
   registry settings of any Synaptics installed PS/2 device.  This fix is for
   Win2K/XP. 
  -Added a fix to that will work around a USB Styk firmware issue.  Now when
   the Styk device is booted or hotplugged into a machine, the cursor will no
   longer jump. 
  -Updated the driver doc to include how to handle the USB UltraNav driver. 
  -Updated the TrackPoint scrolling tip files for French, German, Italian,
   and Spanish. 
  -cPad 
    Calendar app is now featured schedule editing capability, please
    refer this bug database for the spec. The basic behavior is now you can
    tap the calendar screen on a date to bring up the schedule screen for
    viewing on the cPad device. It also allow you to tap on the setup icon
    (top-left corner) to edit the schedule for the specific date. Two events
    are allowed to save per day. - The setting is saved as "schedule.cnfg"
    under your %UserProfile% directory (xp and 2k, need to verify 9x) - Added
    new CSynConfig class to store/retrieve schedule information in Lib (since
    CPadWallpaper needs it) - Added a copy of stdafx.h (MFC include file) to
    enable CSynConfig functionality. - Changed a lot dsp files and stdhdr.h to
    be compatible with MFC header includes. - Have to remove
    "SynTPEnh/zmouse.h" (Windows SDK file) to fix linker problem. 
   -Change copyright 2001-2002 to 2001-2003 (did not change the version
    until I know what our policy is to follow) - Re-adjust width, height and
    x-offset to fit in the screen without disturbing the scroll bars at the
    same time fulfill requirement to increase the space between days for 
    tapping. 
   -Change max animation frames for cpad animations. 

----------------------------------------------------------------------------
Version 7.2.11 01/16/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added feature to copy over PS2 registry setting into the USB settings 
   when a new USB device arrives.  This feature is activated with a registry
   key. 
  -Updated the Enh application so that a USB UltraNav device will now
   dynamically modify the tray menu.  The PS2 and USB UltraNav menus will now
   fully modify the setting of the respective PS2 and USB devices. Also added
   support to remove the tray icon when the USB UltraNav is removed from the
   system. 
  -Updated the control panel so that the USB UltraNav keyboard device will
   now dynamically add and remove a tab into the mouse control panel
   properties.
  -Add ability to add reg keys before installation.  Add ability to not
   install the PS/2 driver via registry key for Win2K/XP. Add copy of 
   Preinstall.inx file during setup build. 
  -Add ability to preinstall registry keys in WDM driver. Add ability to
   turn off PS/2 install via the registry. Copy the Preinstall.inx file
   during build of setup. 
  -Updated the copyright date from 2002 to 2003 in the Tree-control UI. 
  -Change the Finnish text from "Peruutus" to "Peruuta". 
  -Changing the short key from "Alt+S" to "Alt+U" to fix this bug. 

----------------------------------------------------------------------------
Version 7.2.10 01/09/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Force the detect of a wheelmouse under registry key control. 
  -Updated the copyright dates from 2002 to 2003. 
  -Added the (registry-controlled) ability to automatically copy the settings
   for internal TouchPads and Sticks/Styks to external Ultranav devices. 
  -Fix Acrobat plugin scrolling by using Wheelmouse messages. 

----------------------------------------------------------------------------
Version 7.2.9 01/03/2003 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Changed to align with slight changes to the ActiveX control API. 
  -Changed dual-reset code in ThreadFunction() to call
   CosPS2Port::RedetectAllDevices() instead of CPointingDevice::Detect().
   This fixes a problem where the second detection was triggered from
   RedetectAllDevices(). 
  -Added a new entry for Styk product ID's. 
  -Updated the UltraNav control panel to dynamically add and remove a USB
   UltraNav tab depending on if the USB device is present or not.  Also added
   support for the TouchPad settings buttons for the USB and PS/2 tabs to
   open the corresponding properties panel for the specified TouchPad device.
  -Delete SynTP and SynTPEnh keys in Registry of other users to fix the bug
   for Windows NT 4 and Windows 2000.
  -Cleaned up interface as part of documentation effort. 
  -Update the word 'Neither' for the UltraNav control panel and tray menu. 

----------------------------------------------------------------------------
Version 7.2.8 12/24/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -TS controls fail to open when no touchscreen connected
  -Changing to one of Primary/Secondary/Middle would flip between the three 
   items in new UI. This is because of the wrong usage of variable in 
   function GetExButtonAction. 
  -Update from the code review, we now let the port determine if the device
   removal msg needs to be sent before a device arrival. 
  -Changed OnConfigurePortForData() to enable the keyboard port (if we're
   using polling mode) if the function fails. 
  -Added a ISynPacketCtrl::ZXRaw property. 
  -Changed styk sensitivity variation mechanism to rely more on non-linearity 
   to increase sensitivity. When low end gain is increased too far, single 
   pixel selectivity is sacrificed. 
  -Synchronized feed timer messages when a synchronous feed is active. 

----------------------------------------------------------------------------
Version 7.2.7 12/19/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added more functionality into the tray menu. Now the USB and PS2
   devices and be enabled seperately on each menu.  The disable/enable
   tapping for each TouchPad device has also be added.  The tray menu icon
   will now reflect the joint state of the PS/2 and USB devices and not just
   the PS2 device.  The tray icon will also dynamically change when USB
   device is attached and removed. 
  -Added support for the tray menu to dynamically change when the
   USB device is present, or when it is removed. Also added support
   to change the device listing into BOLD when the specified
   device is being used to manipulate the tray menu. 
  -Changed the behavior of the disable devices in the WinNT/2K/XP kernel
   driver so that there is no longer any constraints on how many devices can
   be disabled.  It will now be the responsibility of the UI to constrain the
   disable device feature. 
  -Added a new installation feature that will check that the version of the
   driver a user is installing is newer that the currently installed 
   version.  This prevents the user from downgrading the driver version.
  -Fixed a problem with the desktop icon disappering sometimes after closing
   the excel sheet in WinXP after performing virtual scrolling.

----------------------------------------------------------------------------
Version 7.2.6 12/13/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added a new way to determine the set of languages we want to support. Now
   we can list a subset of language we want to support in the registry. 
  -Fixed a potential problem where the IRP was being accessed after
   completion. 
  -Modified the code to get the maximum number of devices supported by the
   Pointing device driver from TPIOCTL.h.  The new maximum is set to 10,
   8 USB + internal w/Passthrough. 
  -Fixed a problem with the stick only tab, the slider context help missing 
   the link to the actual help topic. 
  -Updated the old Japanese help file to include more accurate information
   about stick device features. 
  -For the UltraNav driver, when TrackPoint center button is configured for
   special actions, the system will now create a fake mouse packet whenever
   the center button is pressed.  This is required because the center button
   is not sent off to the OS, so we need to create no-op mouse packet to
   force the monitor to awaken when it is asleep.
  -Added new TrackPoint scrolling tips files for US and JP. 
  -Added a fix for the UltraNav driver.  When the tray icon is hidden, it
   will now be possible to bring up the magnifying glass menu. 
  -Fixed an issue when installing the driver for both the internal PS/2
   UltraNav and the USB UltraNav.  During install the SynTPEnh.exe would
   crash 3 times during install. 
  -Fixed an issue on Win2K UltraNav driver where if a user plugs in a USB
   device, after the devices have completed detection, touching the USB
   TouchPad will cause a blue screen. 
  -Fixed two issue with the USB composite device.  When plugging in the
   Synaptics composite device after the PS/2 driver is already installed, the
   Styk device will not work.  Now the TouchStyk device will work after the
   driver has installed the proper USB filters.  A second fix was if a 
   composite USB device is removed from the system, if will not longer 
   blue screen.  The basic problem was that the incorrect port filter was
   being applied to the USB devices. 
  -When a Synaptics USB device is unplugged, the driver will now send out 
   a TP IOCtl DEVICE_REMOVED message. 
  -Disallowed diagnostic transactions, reading and writing of registers and
   reading of ROM for non-synaptics PS/2 devices. 
  -Added support into the USB driver to detect special capabilities of the
   TouchStyk device, specifically, the ballistics algorithm. 
 
----------------------------------------------------------------------------
Version 7.2.5 12/06/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed a potential problem where an IRP was being accessed after
   completion. 
  -Copy the driver debug symbols and maps to a persistent internal location
   for use in debugging crash dumps. 
  -For Win2K/XP, when installing a driver over a previous version, any
   previous files will now be updated to the new version regardless of file
   protections. 
  -Added a Yield() before performing installation processing. This is to
   allow any invoking program to complete its processing first. 
  -Changed order of addition of registry keys during processing of
   Default_Install. During silent install instwdm.exe is trapping somewhere
   in krnl386.exe. After the crash, both the key that started instwdm and the
   subsequently added key are not in the registry. So it could be that
   somehow instwdm is being started and run before the second key is added.
   Since the second key being missing could result in the coinstaller
   trapping, I reversed the order in the hope that adding the second key
   first would insure that it would be present when instwdm is started by the
   runonce processor. I also fixed the coinstaller to not trap when the key
   is missing. 
  -Initialized an install directory path local variable to the nullstring so
   in case the proper path cannot be retrieved from the registry the
   resulting local string will not be garbled. 

----------------------------------------------------------------------------
Version 7.2.4 12/04/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed the size of "restore all defaults" and "restore page defaults"
   button to fit all translations. 
  -Fixed the bug "'Right Control' key does not work as the 'Slow Motion' and
   'Constrained Pointer' key." 
  -Moved code for refreshing the tray icon from power down to power up action.
   Also added a fix to update the tray icon properly.
  -Fixed an issue with the magnifying glass function image getting the border
   of the previous image when the user changes the custom size in the control
   panel. 
  -Add Temperature and Speed units to cPad calculator weights and measures. 
  -For the styk only UI, the middle button text will properly when change
   when the middle button is pressed. 
  -For stick only systems, the tray menu will change such that the TouchPad's
   'Tap to Click' menu item will be replace with the TouchStyk's 'Press to
   Select' menu item. 
  -Updated the Japanese string for "Heavy Touch' in the control panel. 
  -For Styk only UI, the default plugin for the middle button will be stick
   scrolling. 
  -For stick only models, the TouchPad "Touch Sensitivity" and "Pointer
   Motion" controls will be hidden from the motion tab. 
  -Fixed a Japanese misspelling in the UltraNav driver Welcome Installation
   screen. 
  -Added support for COM API Motion Rotation Angle function.

----------------------------------------------------------------------------
Version 7.2.3 11/27/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fixed the magnifying glass window when it contained the wrong image when
   the user switches from a small to a large custom magnifying glass size 
   in the control panel.
  -Fixed an issue with the stick magnifying glass function. When changing
   from a fixed sized magnfiying window to a larger custom size window, this
   would leave a corrupted image in the magnifying window. 
  -Fixed hotkeys for Thai strings. 
  -Fixed an issue where the middle button text would show up if there were
   no TouchPad and Stick present.  Fixed an issue where the Stick UI would 
   not show up when only a stick was present. 
  -Updated the Enhancement application tray icon to load custom tray icons
   from OEM ini files based upon the resource ID of the icons. 
  -Changed UsesLatinCharset() to check that the first call to GetLocaleInfo()
   succeeded.  For some reason this fails under Win98SE if the language does
   not use a Latin character set. 
  -Updated the TrackPoint scrolling data files to include support for MS
   Access. 

----------------------------------------------------------------------------
Version 7.2.2 11/22/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added a OEM Stick Page.  This page is based off the Synaptics Touch page.
    I also modified the OEM's Buttons page to show the middle button on the
   Stick only system.  
  -Fixed bug in rotation angle property. It inadvertantly got changed to
   point to the wrong underlying service. 
  -Added a fix where the Default buttons are correctly enabled and disabled
   depending on the "restorealldefaults" registry key. 
  -Added some Japanese translations for new ui. 
  -Added some more translations for the control panel. 
  -Added translated help for Restore all defaults and Restore page defaults
   buttons. 
  -Finally added all the translations for the control panel. 
  -Fixed hotkeys for Restore all defaults button. Also fixed the hotkey for
   one string in thai. 
  -Made some modifications to the filter attachment routine: changed
   AttachToCorrectDevice() to AttachToDevice(), now using
   SendIrpSynchronously() instead of IoCallDriver(), and now allocating
   buffer from the stack instead of the heap. 
  -Added a stick icon into the Enh App project. 
  -Added an entry into the OEM ini file to turn on custom icons for the tray.
  -Added support for having OEM tray icons under various situations. 
  -Added the middle button string to the japanese buttons page. 
  -Modfied the parsing of ini file entries that use [DELETE] so the key name
   can have spaces in it.  I needed to delete "Pressure Graph". 
  -Added a comment to clarify the default case in the switch statement that
   sets the ASIC type. 
  -Fixed a crashing bug for "Running New UI with a debug build of
   syntpcpl.exe, get syntpcpl.exe crash." 
  -Added support for turning on/off keystroke filter for a stick device.
   Previously this setting was always on. 
  -Changed the plugin update code in OnDriverNotification() to prevent a
   series of timeouts when a device arrives with a new handle.  This was
   causing a problem on mux machines where the Synaptics user-mode apps would
   be unresponsive after hot- plugging an external PS/2 pointing device. 
  -Added OEM supplied ini files that consolidate pre-merger files. 
  -Fixed the synchronous feed mechanism so that the number of undispatched
   message will get reset when a synchronous feed is created or refreshed.
   This fixes a problem with the magnifying glass function not moving when
   the user activates this function after a suspend/resume. 
  -Changed the access key of item "Edge Motion/Always" from 'Alt+I' to
   'Alt+M'. 
  -Rolled back change where the reverse feed respected the suppression state.
  -Changed semantics of feed suppression to return an error if a device
   handle conflict occurs. Currently, no error is returned if one device is
   currently suppressing the cursor and another device tries to change the
   suppression state. Changed the model to follow the COM API's acquire
   semantics. Only one device is allowed to acquire the cursor at a time. 
  -Fixed a hotkey that was lower case. 
  -Fixed the "on" to have a leading and trailing space. 
  -Updated the device suppression code to work properly with reverse feeds, 
   and also suppressed devices will not report any buttons information
   through a master/slave device. 

----------------------------------------------------------------------------
Version 7.2.1 11/19/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -German translation for IDS_TREE_BOTTOM_LEFT_ACTION was wrong. Changed 
   from "Aktion f(c)úr linke Taste" to "Untere linke Aktion".  
  -Added a function to attach the keyboard filter to the correct device
   object stack rather than the first one it finds. This fix only affects
   Win2k/XP.   -Updated the Japanese control panel help to include new help about the
   'Default' buttons.  Also, updated the run/browse dialog titles in 
   Japanese. 
  -Fixed a bug where the settings dlg was not poping up correctly. 
  -Adding an registry entry to change the i8042prt buffer size to 132 for
   Win2K/XP.
  -Created a setup.iss file for Win2k/Xp 

----------------------------------------------------------------------------
Version 7.2.0 11/15/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Updated the WinWDM inf files to now include support for Synaptics USB
   composite devices. 
Bug Fixes
  -TouchScreen Diagnostic Software initial check-in Version 1.0.1 (Beta) 
  -Removed the libmng files because the MNG viewer will probably never be
   implemented. 
  -Added a fix for the Synaptics TouchStyk ballistic algorithms to counteract
   a Microsoft WinXP acceleration algorithm issue. 
  -Fixed a problem with the old-UI when the user opens either the scrolling,
   edge zone, or tap zone tab with any non-TouchPad device would cause the
   zone GUI to contain strange round bezel graphics. These graphics have now
   been removed. 
  -Changed one more 5 button wheel mouse string to just wheel mouse. 
  -Changed the DisableInternalPD... key name to more accurately indicate the 
   feature's functionality.
  -Added a fix where "restore page defaults" button does not appear for tree
   items which dont have configurable buttons. 
  -Added new help topic for the Restore all defaults and restore page
   defaults button. 
  -Fixed some duplicate and missing hot keys. 
  -Fixed the hiding of the defaults button for tree items that don't have
   buttons. 
  -Fixed a corrupted help file for SC.
  -Added the T1004B and T1005A ASIC types.  Also changed T1004 to T1004A. 
   This "fixed" a two finger gesture issue where lifting a finger while 
   gesturing would not revert to pointing behavior.
  -Made the mnemonic checker display a message box if discrepancies are
   detected. 
  -Added support for configuring and controlling USB composite devices for
   the Win2K/XP/WDM drivers. 
  -Updating the Win2K/XP inf files to now support Synaptics composite
   devices. 
  -When setting "Select program to run" or "Go to a web page in your 
   default browser" with 'Button Action' or 'Tab Zone', the content
   would be cleared in edit box with re-invoking dialog box. Before
   configuring the two functions, updating the flag
   'm_bNoDefaultRunAppURLConfig' by calling function
   'NeedsConfiguration'would fix the bug. 
  -Added two new disable and enable buttons for the feature
   "DisablePDifexternalPDPresent". 
  -Added two new enhapi items to turn on and off the monitoring for external
   device arrival and asking if this feature is enabled or not. 
  -Made the enabling and disabling of the settings button correct with the
   plugging in and out of the external device. 

----------------------------------------------------------------------------
Version 7.1.0 11/08/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Release version of the "Disable internal Synaptics devices if external Pnp
   pointing device is detected feature".  This feature is registry controlled
   and off by default.
  -Release version of the "Restore all defaults" feature.  This feature is 
   registry controlled and off by default.
Bug Fixes
  -Fix a bug where the TP properties window(new UI) close automatically when 
   the alt-r hotkey is used to reload a page. We now check to see if the 
   window is a browser then stop loading web page. 
  -Added a check to ensure the DisableInternalSynapticsDevices... feature 
   does not run on 95 and NT4.
  -Modified the code to dynamically load the Register/Unregister functions.
   Added a line to put up a TouchPad icon with a red X when the TouchPad is
   disabled. 
  -Restored the Trackpoint JP string. 
  -Added a new mechanism to setup a syncronous feed system for receiving
   packets from the TouchPad API. 
  -Refactored the entire enhancement application so that it now runs as a
   single threaded application.  All the locking and unlocking code has now
   been removed.  Also, as a side-affect, the TrackPoint magnifying glass
   function now works more smoothly. 
  -Fixed a problem with the Win9x driver with the new version of
   InstallShield.  If the driver was installed with an OEM ini file, the file
   would cause an error during install, and be left around after uninstall
   because the file has read-only attributes.  Now when the file is removed,
   the attributes are changed so that we can delete it. 
  -Fixed an uninstall registry key delete issue.  We need to delete "The 
   Synatpics Pointing Device Driver" key since we changed "TouchPad" to 
   "Pointing Device". 
  -Restored the original tab order of the controls in the mouse properties
   control panel for the old UI. 
  -Fixed two WinNT InstallShield v6.3 issues.  The first issue was to
   increase the size of strings that can be displayed so that the 'Make a
   repair disk' message will no longer be truncated.  Second, any OEM ini
   file that happens to be read-only during the installation process will no
   longer cause the installation to abort mid-installation. 
  -Localized the new UI dialog title.  These strings still need translation,
   but they now will pick up the translations when done.
  -Added an .ini file that can be used as a temporary solution to the ISR
   buffer overflow problem. 
  -Added new cPad discovery mechanism 
  -Added support for asynchronous update of a cPad display. 
  -Improvements made to be consistent with new sample cPadDraw. 
  -New sample program for drawing on the cPad. 

----------------------------------------------------------------------------
Version 7.0.6 11/01/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Added an object to detect the arrival and departure of USB Devices.
   This allows the driver to disable a device if a USB device arrives.
  -Added "restore all defaults" settings in the new ui.  This feature is
   configurable with a registry key.
  -Fixed translations for press-to-select in Japanese in new ui help. 
  -Fix a problem with the scroll bar turning gray when virtual scrolling 
   in WinXP.
  -Fixed the bug where the tray icon remains in animated state after
   stand-by/resume.   -Fixed a bug where the check box to enable two and three finger gestures
   was not showing up in the new ui. 

----------------------------------------------------------------------------
Version 7.0.5 10/25/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Changed the behavior of moving the TrackPoint magnifying glass on 
   Win2K/XP such that the movement is smoother.   -Added code to watch the WM_TIMECHANGE message for updating the clock for
   cPad.
  -For the InstallShield Install\Uninstall error messages, and the
   'Information about you TouchPad' dialog box, all references to
   'TouchPad' have been changed to 'Pointing Device'.  
  -Implement a registry-controlled "Disable TouchPad" entry in the tray 
   menu.  This feature is enabled via the registry.
  -Changed the default show command for the cPad applauncher to use SW_SHOW
   instead of SW_SHOWNORMAL.  This changes the launch behavior so that the
   newly launched application ends up on top of the Z order. 

----------------------------------------------------------------------------
Version 7.0.4 10/23/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -The 5 button wheel mouse will now be displayed as a wheel mouse in the old
   and new ui.  -Changed SendIrpOSControlAndCompleteIrp to respect the m_bFilterDevice flag
   when building the OSControlInfo structure that is passed to SendOSControl.
   Before the change SendOSControl would mistakenly pass down an Irp in
   situations where there was no lower level driver, for instance in a WDM
   driver PS/2 device. 
  -Fixed a problem on the tree-control UI page.  If there is no URL link
   listed in the registry, it is still possible for the user to click on the
   URL area between the 'Defaults' and 'OK' button and launch windows
   explorer.  Now if there is no URL listed in the registry, the entire URL
   control is turned off. 
  -Fix the bug: Can not save the name of a program to run or URL of a web
   page with "Buttons" and "Tap Zones" tab. Fix the bug by setting the flag
   'm_bNoDefaultRunAppURLConfig' to FALSE in function
   CPluginAction::NeedsConfiguration.
  -Change "TouchPad" references to "Pointing Device" where we meant generic
   Synaptics devices.
  -Added new translation for Japanese strings for information messages when
   user attempts to install/uninstall the driver withour Admininstrator
   access. 
  -Fix the bug: having no buttons configurable causes new UI to crash. 
  -Added functionality to enable\disable\hide the extended buttons.  Before
   we assumed that all the extended buttons were valid and configurable.  Now
   we correctly check that actual settings in the registry. 
  -Created a batch process to help in editing and compiling help files. 
  -Removed the creation of the floppy copy batch file. 
  -Altered maintenance of the feed notification thread's exit flag. The
   thread itself now resets the flag when exiting. This allows for situations
   such as re-running an app under Visual Basic. The COM dll is not unloaded
   from one run to the next so once the app has exited the feed thread will
   exit prematurely unless the flag is maintained properly. 

----------------------------------------------------------------------------
Version 7.0.3 10/17/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes  -Update the Lpr to save the correct button swap state so that this 
   registry value will not be written to the registry incorrectly during 
   uninstall. 
  -Fixed a bug with scrolling where scrolling through a popup window (like
   the WinXP network disconnect message, or the WinXP 'Take a Tour of WinXP'
   message) would actually select the popup window and launch the popup
   window.  Now scrolling will be cancelled if we ever attempt to scrolling
   over a taskbar popup window. 
  -Fixed a problem with the USB and PS/2 WheelPad devices sending incorrect
   button and motion information when the user is using the Wheel. 
  -Fixed a problem with the stick device not getting disabled if the user
   enabled the TouchPad (when previously disabled), and disabled the stick
   (when previously enabled) then pressed apply.  This problem only occured
   on the DualDevice tab. 
  -Improved the error message when a non-Administrator user attempts to 
   install or uninstall the Synaptics driver.  The new message informs the 
   user they must be an administrator in order to install or uninstall the
   driver. 

----------------------------------------------------------------------------
Version 7.0.2 10/11/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes
  -Fix a garbage string that showed in the edit box with assigning 'Select
   program to run' to button action. 
  -Fix the incorrect Chinese word in 'Add' button of cPad 'Properties' page. 
  -The WDM driver will now copy over the New UI control panel files during
   installation. 
  -Added monitoring of the reboot required state after installing devices.
   This is part of a solution to displaying a reboot required message in the
   cases where it's needed. 
  -Added Danish, Finnish, and Norwegian strings into InstallShield 
   v6.3 dialogs. 
  -Added OEM PnP ID's to WDM/Win2K/XP inf files. 

----------------------------------------------------------------------------
Version 7.0.1 10/07/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
Bug Fixes	
  -Fix issue where tap zone icons would still appear on cPad even if taps 
   are disabled. 
  -Localized the Change Icon OK and cancel button to be localized. 
  -Fix French word to be consistent with MS. 
  -"Apply" button was not enabled when user type a number into the edit box 
   of Wheel Scrolling lines(WheelPad).
  -Added WinWDM copy to the new UI generation. 
  -Fixed a spelling mistake from "Toochpad" to "touchpad". 
  -Scrolling Up/Down/Left/Right now works for "Tap Zones" or "Button 
   Action" page.
  -Fix the garbage text in Simplified Chinese help content. 
  -Changed handling of middle button state.
  -Removed the code that removes the 'Stick scrolling' plugin from the tap
   zones list.  This is now done in the registry. 
  -Updated the Synaptics defaults registry settings to remove the 'Stick
   scrolling' feature from the tap zones list. 
  -Fix the Wrong "Back" and "Next" strings in Installer(Italian). 
  -Fixed Tap Zone control dependency. 
  -Fixed a problem with the PtS feature not turning on when other OEM
   features were activated. 
  -Add Japanese Language checking 
  -Fixed the Win2K acceleration algorithm so that we record the state of the
   button if MouClass fails to consume the packet. 

----------------------------------------------------------------------------
Version 7.0.0 10/02/2002 (Win9x&ME/WinNT/Win2K/WinXP)
----------------------------------------------------------------------------
New Features
  -Upgraded the InstallShield package to version 6.3
  -Release of the WDM driver for Windows 98, 98 SE and ME.
Bug Fixes
  -Fix the duplicated hot keys in Control Panel. The bug is fixed by
   modifying the hot-key to "Alt+L" in 'Edge Motion'page and "Alt+D" in
   'Scrolling' page of Control Panel(Germany). This will not duplicate with
   the hot key of Apply button. 
  -Fixed a problem with the Win2K acceleration correction function.  The
   mouse packet consumed state was getting set incorrectly. This was not
   causing any problems at this time.
  -Update the tutorial so that it can dynamically load the help file based on
   a registry key. 
  -Updated OEM .ini file with key to hide the help when launching the
   Tutorial. 
  -Updated the tutorial so that the help will be hidden or shown via control
   from a registry key. 
  -Fixed dependency upon hardcoding of the program files /synaptics directory
   area during uninstall. The uninstall invocation of instwdm now passes its
   location in the command tail when invoking the cleanup phase instwdm. 
  -The uninstall code now deletes the file syntp.gid that is created by the
   system when the help subsystem is used for the first time. The presence of
   this file is preventing the deletion of the synaptics and syntp
   directories. 
  -Removed vendor names from the inf file. 
  -Added hotkey values to the UltraNav tray menu for English. 
  -Changed the hotkey for Enable TouchPad, Disable TouchPad string in the Enh
   App tray menu for the UltraNav driver. 
  -Added a new dialog which can be used to change the positing of controls
   dynamically. 
  -Added support to save the new position of a control in the registry. 
  -Fixed a problem with the Enh App crashing when pressing the stick device
   during boot.  This issue only occured with the UltraNav driver. 
  -Fixed a problem with the TouchPad tap zones plugin list. The plugin
   "Scroll with pointing stick while the button is pressed" has been removed
   from the tap zone list because it is only valid with button actions. 
  -Updated the inf files with new OEM PnP ID's. Also changed the name
   of the Synaptics devices from "Synaptics PS/2 TouchPad" to "Synaptics PS/2
   Port Pointing Device". 
  -Updated the WinNT .inf file PnP ID section. 
  -Removed the user-language-select dialog box from the install.  It is not
   required since the driver dynamically supports whatever language the OS
   is using.
  -Changed the definition of zone control ioctls from using TP_DW to a new
   defined TP_ZONEST. 
  -Cleaned up the functions used by New UI to talk to the driver. 
  -The uninstall phase now attempts to delete the system generated help file
   syntp.reg. 


Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 2.31