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
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.