Wacom Devices and Photoshop Pen Pressure

March 25, 2012 7 comments

9/9/2014 update: Earlier this year Wacom released updated drivers for Windows for supported PEnabled devices (the HP 2740p included) at http://us.wacom.com/en/feeldriver/.  I’ve confirmed that in Windows 8.1 and after uninstalling (and rebooting) any existing Wacom pen driver packages (e.g. “Pen Tablet” listed n Add/Remove software) and then installing ISD_DualTouch_720-10.exe (“Enhanced Tablet Driver 7.2.0-10”) enables Photoshop pen pressure support or similar in any other application that relies on Wintab driver support.

wacomDeviceUpdateEnhancedTabletDriver7.2.0-10

Information below is about my HP 2740p (and possibly HP 2760p) tablet running x64 Windows 7.  Suggestions here may or may not help with your particular hardware/software configuration.

My HP 2740p tablet’s great and after the HP touchscreen firmware update (3043-35D_0C6C, 4012-FOA (14 Jul 2010) – sp49201)– to fix the issue with touch not working in certain situations usually after resuming from sleep– everything works reliably. 

Pen pressure generally always works with Windows apps like the pen input dialog, OneNote, or Windows Journal.  But getting pen pressure to work in Photoshop was a pain.  It entirely depends on which Wacom packages are installed, which versions of them, and what Wacom device drivers are being used.  If you get the combination incorrect, you’ll see a yellow exclamation icon in Photoshop’s brush Shape Dynamics pane and no pen pressure functionality:

photoshop_wacom_penPressure_yellow_exclamation_icon_sm

(“Control by pen pressure requires the use of a pressure sensitive tablet”)

Once you get compatible driver packages and versions installed, Photoshop is happy and the feature works:

photoshop_working_with_WacomDevicev3.0.4.1_sm

 

Wacom Dependencies

Using Dependency Walker to profile Photoshop, I found that Photoshop loads and executes code within the following Wacom files found at c:\windows\syswow64\, Pen_Tablet.dll and Wintab32.dll. The versions I have installed, from the Wacom_PenTablet_521-6a.exe package listed below, are: 5.2.1-6 and 1.0.4-3 respectively.

windows_syswow64_wacomFiles_penPressureNotWorking

I haven’t tried it, but if those files aren’t present and you have a compatible Wacom Device device driver installed, Photoshop could fail to let you use Pen Pressure functionality.  Check for those files in your Windows install and if not install the Wacom_PenTablet_521-6a package.

 

Wacom Packages to Install

Search online for this Photoshop Pen Pressure issue and you’ll get a variety of helpful suggestions and links to different Wacom packages.  I wish this process was more deterministic but here’s what works for me (installed in this order):

9/9/2014 update:

Previously I was using (and used to work):

Here’s what certainly didn’t help:

  • Wacom Bamboo Pen and Touch – Driver 5.2.4-6(RC) for Windows 7, Vista & XP (32 & 64 bit versions) – PenTablet_5.2.4-6.exe
  • Wacom Digitizer Driver 3.0.7.20 – sp51088.exe (22 Nov 2010, w/ wisdpen.sys v3.0.4.5)
  • Wacom ISD_DualTouch_701-8.exe
  • Wacom Penabled Driver Driver 7.01-8 (RC) for Penabled Tablet PCs – ISD_DualTouch_701-8.exe

Wacom Device, wisdpen.sys, and Windows Update

      Additionally, once you have a working version of the Wacom Digitizer Driver above installed, if it’s outdated, and you have your system’s Windows Update process set to search for driver updates online, Windows Update will notify for an update to the Wacom Device (HWID: ACPI\WACF00E):

WU_for_WacomDevice_20110634_IgnoreThisUpdate(the More Information link goes to a bad WinQual destination)

      If you install this driver update, it will update the

Wacom Device

      from (driver date:12/30/2009, driver version:3.0.4.1) or (driver date:5/14/2010, driver version:3.0.4.5) and updating to (driver date: 12/20/2010, driver version: 3.1.1.2).  While that update works fine with Windows, it breaks pen pressure functionality in Photoshop.  If you want Pen Pressure in Photoshop,

don’t

    install this update.
      If you have installed the update already, open Device Manager (run: devmgmt.msc) and open the properties for node Human Interface Devices >

Wacom Device

      .  Switch to the “Driver” tab and click “Roll Back Driver”.  After a reboot you will be back to the old version:

roll back Wacom Device driver

(Hardware Id: ACPI\WACF00E)

 

Wacom Driver Differences

Here’s a neat tip for searching for Windows driver updates used by Windows Update. Go to the Microsoft Update Catalog (you will need to install an ActiveX control) and search on the hardware ID you’re interested in, e.g. ACPI\WACF00E. The x64 3.1.1.2 package for “Wacom – Input – Wacom Device” updates the driver ACPI\WACF00E which is installed to c:\windows\system32\drivers\wisdpen.sys (Wacom ISD Tablet HID MiniDriver).

Pen Pressure in Photoshop? wisdpen.sys Version wisdpen.sys Date Modified
Works 3.0.4.1 1/4/2010
Works 3.0.4.5 5/14/2010
Doesn’t Work 3.1.1.2 1/4/2011

So something changed between Wacom’s wisdpen.sys v3.0.4.1 and v3.1.1.2 to break pen pressure sensitivity in Photoshop.  I tried poking around for public exports on wisdpen.sys for clues why but none exist. I also took a look at the differences pre/post update installation of the registry for the wisdpen service at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wisdpen—no differences.  And the only difference between the 3.0.4.1 and 3.1.1.2 driver installation file, wisdpen.inf, was adding a registry value for BaudRate at the above key.

There are some interesting string differences between the two wisdpen.sys drivers themselves, like missing DefaultPenMouse/DefaultTouchMouse entries, but no smoking gun like “DisablePhotoshopPen” and nothing actionable.  At this point, unless I write my own Wacom Digitizer driver, I’m likely grasping at straws.

 

If anyone has any pointers on Photoshop interaction with digitizer minidrivers, please leave a comment.

Advertisements

Windows Phone 7 on a Samsung Focus

November 29, 2010 Leave a comment

Notes and observations about the Samsung Focus hardware running Windows Phone 7.

 

Charging

The Samsung Focus uses a certain amount of electricity in order to operate.  In order to charge, the incoming rate needs to exceed the rate being consumed by the phone.  If it doesn’t then you will problems like your Samsung Focus “charging slowly”, or “not charging.”

Not all USB ports output the same amperage.  The USB spec dictates each port output 5 volts, but amperage is only guaranteed to be available up to 100 mA.  If the phone requires ~200 mA and you plug your phone into a laptop USB port outputting 100 mA, then the battery will still be drained even though the device’s battery icon shows it’s charging.  Bus-powered hubs (USB hubs on the front-side of a desktop or most USB ports on a laptop) will generally provide 100 mA.  Root hubs and self-powered hubs should be 500 mA.  Some wall chargers will output >500 mA which while they’ll charge the phone faster could damage the phone or battery—if your phone gets hot while charging this is a good indicator it’s too much amperage as it needs to dissipate a higher amount of power.

Additionally, not all USB cables are not the same.  Some thinner cables (such as those in cheap retractable micro-USB cables) might have issues carrying amperage and will start to overheat (get warm to the touch) which will increase resistance and reduce the load (increase charging times).

You can access the battery diagnostics mode on the phone to find detailed information on battery charge percentage.  In short, bring up the phone and call “##634#”.  When the next screen comes up with the ‘-‘ button on top, enter the code “*#2*#”.  The Debug Mode for Chg/Bat will have three pages.  The first page (with examples values from my device):

  • ADC
    • VBATT: ?
    • INCHG: Incoming charge (?)
      • 1: no charge
      • 51-52: plugged into the USB2.0 port on backside of desktop computer
    • THERM: ?
      • 178
    • TA (T/F): ?
      • False
    • USB (T/F): Whether the device is being charged via USB or not.
    • BAT ID:
      • 4 (no cable or not charging)
      • 5 (charging via USB cable to USB 2.0 port on backside of desktop)
  • MV
    • VBATT_MV (mV, millivolt): Battery voltage
      • On my phone, when charged to 100% and then unplugged from charger, this value went up to 4185 and then slowly dropped with some minor jumps up and down.
    • VCHG_MV (mV): ?
      • 65 mV when unplugged
      • 4677 mV when plugged into USB2.0 port on desktop
    • ICHG_MV (mV): ?
      • 8 mV when unplugged (reads 0 immediately after being unplugged)
      • 419 mV on my phone when charging via USB
    • DEG (C): temperature of the battery
      • 21 C on mine while indoors
    • Bat_PER (%): percentage of battery charge
      • 100 when battery is fully charged

Todo: determine electrical metrics (e.g. amps) used by Samsung Focus in various scenarios.

Todo: determine electrical metrics output by various charging devices.

Touch

Touch can be finicky on the Focus.

  • Sometimes doesn’t work when lying flat on a surface
    • Remedy: picking the phone up (or just moving it?) seems to generally help. Note: if the phone is being charged, some chargers will prevent the phone’s screen from working while being charged.
    • Update 4/20/2011: This should be fixed with the Samsung firmware (v2103.11.3.3) updates released in the March 2011 WP7 update. More info.
  • When being charged with certain wall chargers, touch doesn’t work but resumes when unplugged
    • Todo: determine specifics on which certain chargers are likely to do this
  • Doesn’t like to be operated when vibrating.  This can easily happen when mounted in a car on a phone arm like below and say your car vibrates when idling with the heater on.
    • CarPhoneMountArm
    • Remedy: Move the car arm to a location where the mount can rest against the dash or otherwise not be vibrating out in the open.  Wrapping your hand around the phone to operate it can also temporarily fix this, but not while you’re driving..
  • Screen surface has excess dirt/oil on it.  This can be registered as wayward presses and make the phone act wonky.
    • Remedy: Wipe the phone screen with a clean non-scratching material– like your shirt.

Old English, so serify!

August 12, 2010 Leave a comment

Categories: pixels

Visual Studio gets Windows Mobile SDK location wrong.

November 29, 2008 1 comment

After a good run of Windows Mobile (WM6) development on my x86 Vista laptop I started seeing the following when building any WM6 project:

1>—— Rebuild All started: Project: WMBattery, Configuration: Debug Windows Mobile 6 Professional SDK (ARMV4I) ——
1>Deleting intermediate and output files for project ‘WMBattery’, configuration ‘Debug|Windows Mobile 6 Professional SDK (ARMV4I)’
1>Compiling…
1>stdafx.cpp
1>e:\dev\projects\wm_battery\wmbattery\stdafx.h(14) : fatal error C1083: Cannot open include file: ‘ceconfig.h’: No such file or directory
1>Build log was saved at "file://e:\dev\projects\WM_Battery\WMBattery\Windows Mobile 6 Professional SDK (ARMV4I)\Debug\BuildLog.htm"
1>WMBattery – 1 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Normal Win32 C++ applications and C# applications had no problems building– it was just my WM6 projects. (and didn’t have the WM5 SDK installed to see if those builds were broken as well).  If I included the directory where "ceconfig.h" existed– C:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i – to the project’s "Additional Includes Directories" (which otherwise would make sense for such an error) I then saw:

1>—— Build started: Project: WMBattery, Configuration: Debug Windows Mobile 6 Professional SDK (ARMV4I) ——
1>Compiling…
1>stdafx.cpp
1>Compiling…
1>main.cpp
1>Battery.cpp
1>Generating Code…
1>Compiling resources…
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>.\WMBatteryppc.rc(11) : fatal error RC1015: cannot open include file ‘windows.h’.
1>Build log was saved at "file://e:\dev\projects\WM_Battery\WMBattery\Windows Mobile 6 Professional SDK (ARMV4I)\Debug\BuildLog.htm"
1>WMBattery – 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Alright, something’s going on here because projects shouldn’t be having a problem finding “windows.h.”  It was at this point that I remembered I had received the following dialog out of the blue prior to these problems starting

 

which hinted strongly that in some way my Visual Studio settings had gotten borked and since I had been running on “default” settings that maybe VS just forgot where the WM SDK was. 

I opened the default CurrentSettings.vssettings (%USERPROFILE%\My Documents\Visual Studio 2008\Settings) and compared it to another CurrentSettings.vssettings from another x86 box with the WM6 SDK installed.  Of the relatively few differences, the most notable was in the “Visual C++ Project System Package” ToolOptionsSubCategory node where I noticed that my Windows Mobile include/lib paths were pointing to "Program Files (x86)".  However this is a 32-bit system so there isn’t a “Program Files (x86)”.  So I cleaned up the XML .settings file (easier to edit if you open in VS, Edit>Advanced>Format Document (CTRL-K, CTRL-D)) ala:

  • IncludeDirectories Before:
    • <PropertyValue name="IncludeDirectories">Win32|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)\include;$(FrameworkSDKDir)include|Pocket PC 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\PocketPC2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Smartphone 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Windows Mobile 6 Professional SDK (ARMV4I)|$(VCInstallDir)ce\include;C:\Program Files (x86)\Windows Mobile 6 SDK\PocketPC\include\ARMV4I;C:\Program Files (x86)\Windows Mobile 6 SDK\PocketPC\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0</PropertyValue>
  • IncludeDirectories After:
    • <PropertyValue name="IncludeDirectories">Win32|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)\include;$(FrameworkSDKDir)include|Pocket PC 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\PocketPC2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Smartphone 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Windows Mobile 6 Professional SDK (ARMV4I)|$(VCInstallDir)ce\include;C:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I;C:\Program Files\Windows Mobile 6 SDK\PocketPC\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0</PropertyValue>

Next start up of Visual Studio, however, resulted in the "Microsoft Visual Studio is configuring the environment for first time use” dialog and the WM build problems still continued.  I checked CurrentSettings.vssettings again and saw that Visual Studio had changed those WM includes/lib paths back to those containing " (x86)"! 

Trying to import my fixed settings (instructions here) didn’t help.  I thought maybe it was pulling in this “Program Files (x86)” location from somewhere in the registry but a search for keys/values/data with values "C:\Program Files (x86)\Windows Mobile 6 SDK\PocketPC\include", "C:\Program Files (x86)\Windows Mobile 6 SDK", "C:\Program Files (x86)\Windows Mobile 6 SDK", and “Program Files (x86)” turned up nothing.  Same went for a smaller search of file contents—only turning up my corrupted vssettings files.  Did some environment variable go bad?  `set` in a normal cmd window didn’t reveal anything unusual and a `Tools.Shell cmd /k set` in Visual Studio’s command window (View > Other Windows > Command Windows) didn’t reveal anything either.

Reinstalling Visual Studio/WM SDK’s likely would have been a waste of time.  My last option was to reset my user’s Visual Studio settings:

[Elevated CMD Prompt]> "Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetuserdata

Problem solved– new and previously existing WM6 projects now build.  I just never figured out what caused the WM location settings problem. grr.

To be complete, the IncludeDirectories after /ResetUserData and starting up VS and getting "configuring the environment for first time use":
<PropertyValue name="IncludeDirectories">Win32|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)\include;$(FrameworkSDKDir)include|Pocket PC 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\PocketPC2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Smartphone 2003 (ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;|Windows Mobile 6 Professional SDK (ARMV4I)|$(VCInstallDir)ce\include;C:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I;C:\Program Files\Windows Mobile 6 SDK\PocketPC\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0</PropertyValue>

Update 10/25/2009:

I started seeing the “ceconfig.h” problem again but this time I tried to directly handle it through global Options:

  • Tools > Options;
  • Projects and Solutions > VC++ Directories. 
  • Select your platform, e.g. “Windows Mobile 6 Professional SDK (ARMV4)” from the drop-down and then “Show directories for” > “Include files”. 
    • Include your include\ARMV4I directory, e.g. “C:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i”

Build again and it went further in the build process but as my library directories were incorrect I received:

1>LINK : fatal error LNK1181: cannot open input file ‘coredll.lib’

  • Tools > Options; Projects and Solutions > VC++ Directories; select your platform. 
  • This time select “Library files” from “Show directories for”.
    • Include your lib\ARMV4I directory, e.g. “C:\Program Files\Windows Mobile 6 SDK\PocketPC\lib\ARMV4I”

Build again.  At this point I no longer had any problems building. 

I likely have these problems as I keep my VS projects in sync between two systems with Live Mesh but the two systems are different architectures and also have different system drive letterings.  VS project settings are sensitive to their environment and I should know better but I’ve yet to find other ways of sharing project data so I will probably continue to see this.

Categories: Troubleshooting

Performance Testing of an HTC Touch Pro (AT&T Fuze) against an HTC TyTN (Cingular 8525)

November 17, 2008 2 comments

 

With my previous Windows Mobile phones– Audiovox SMT5600 and an HTC TyTN (Cingular 8525)– I did not do much in the way of changing WM registry settings to try to improve WM performance or otherwise configure the device beyond basic application settings (ringers, power, other standard stuff).  This time around– with the HTC Touch Pro (AT&T Fuze)– I figured it was worth my time to see 1) how much the AT&T customizations affected device performance, 2) how much enabling Exchange email sync and running TouchFlo would affect performance, and 3) if the HTC Advanced Configuration settings I was applying were doing anything.

The following programs are available to test performance on WinCE-Windows Mobile platforms (all are free for personal use):

 

Here are just the results from running Spb Benchmark on my old HTC TyTN (Cingular 8525) and new HTC Touch Pro (AT&T Fuze) in various configurations:

*Y1: running programs: TouchFlo. Adv Config Cust: Perf>FSCacheSize=2MB, Perf>FSFilterCache=4096, and a few other minor settings which shouldn’t affect the tests.

*Y2: running programs: TouchFlo, ActiveSync (corp email sync). Events/Notifications on, Adv Config Cust: Perf>FSCacheSize=2MB, Perf>FSFilterCache=4096, and a few other minor settings which shouldn’t affect the tests.

*"Pocket World document open" test skipped as it Failed in all configurations even though it appears on the device as if the test is running properly.

Findings:

1) AT&T Customizations which include enabling TouchFlo (as it’s not run by default in the Base ROM), don’t hurt device performance much and help in other areas.  I only ran Spb Benchark a total of three times for each configuration, so it’s possible with more runs the numbers would smooth out more and more accurately reflect the configuration.

2) Through some arrangement of the settings my phone has arrived at, I have somehow hurt file I/O in a major way.  Without digging into it more it’s hard to say how– is it Exchange email sync?  Is it the HTC Advanced Configuration changes?

3) As for how effective any HTC Advanced Configuration changes are, that’ll have to wait for another time as I didn’t want to spend too much time on this activity.

Photos and geotags: Web-albums and mapping of them

May 25, 2008 Leave a comment

 

While you are out taking photos, your GPS device you brought with you is keeping track of where you’ve been.  Later when you’re back at your computer, tools like GeoSetter or Microsoft Pro Photo Tools will automatically assigned each photo a location based on the time you took the photo and where on the GPS trail that time occurs or when it’s off you can manually adjust the location yourself.  After that you will have a collection of geotagged JPEGs.  

 

To make the most of them you want to upload them to a web-album and share with others the path (GPS track) and your photos taken along the path.  EveryTrail seems to match that feature-wise, but I’d like to be able to use services I’m already using, like Flickr and Live Maps.

 

Here’s what I’ve found so far:

 

·         Picasa works well.  The desktop software is slick for organizing your photos.  Uploading them to new or existing web-albums is seamless and mapping your geotagged photos in the web album is as easy as clicking "View Map"– http://picasaweb.google.com/ryancr/GPSTest/photo#map.  But there’s no ability to add GPX track information (so you can get a line on your map showing your path) and the map view doesn’t zoom close enough to comfortable switch between photos taken close to each other but it’s nice that the arrows above each photo on the map cycles through them based on when they were taken.  The real win is that each web-album has a “View in Google Earth” link which provides a KML container of your photos which can be used in Live Maps or Google Maps.

·         Flickr should work well.  As a photo-sharing site it’s great: the community sharing and tagging features are established and meet my needs.  Photos uploaded with geotags can be displayed with Flickr’s built-in mapping feature and existing non-tagged photos can be tagged manually through the site.  But when viewing geotagged photos through the site’s built-in mapping application, the image that pops up in the map’s photo-bar is really small and the mapping application itself is lame when compared to Live Maps or Google Maps. (plus the map view doesn’t actually seem to work in IE8)  Flickr supports KML and KML_NL feeds, but the feed will only contain photos that were uploaded geotagged already, e.g. this, rather than also showing photos geotagged through Flickr.  Also the URL used needs to be of the http://api.flickr.com/services/feeds/geo/ type else you will wind up with parsing errors from Live Maps/Google Maps when it tries to grok the photo feed.   No ability to create photo-trails and upload GPX track information.

·         Live Spaces doesn’t do anything with my geotagged photos and creating a Live Maps Collection with pushpins to my Spaces photos is tedious.  But Live Maps is cool because I can upload my GPX path directly into Live Maps and display it along with my photo pushpins. e.g. http://maps.live.com/?v=2&encType=1&cid=EA3E56FF46082C90!231

 

The above conclusions are likely incomplete and premature so will be edited when I find better solutions or methods.