sandboxie-plus / Sandboxie

Sandboxie Plus & Classic
https://Sandboxie-Plus.com
GNU General Public License v3.0
13.49k stars 1.51k forks source link

WinTab / Wacom tablet Software Compatibility issue #613

Open lucascrow6 opened 3 years ago

lucascrow6 commented 3 years ago

Despite having the "[+] Wacom Tablet" listed in the Software Compatibility configuration, Sandboxie is not able to access the WinTab service that Wacom and other tablet brands use in order to utilize the device's functionality. I have replicated this with multiple art applications that work correctly outside of Sandboxie with my Wacom tablet but when I try to run the same applications in Sandboxie, the apps cannot find the WinTab service and cannot use the Wacom tablet pen pressure or other features. Specifically, when trying to run ZBrushCore through Sandboxie, it pops up an error msg which not every art app is designed to check for. The error msg reads as follows: WinTab - Tablet Services Not Available.

Its also important to note that this issue predates Sandboxie Plus. This same issue is apparent in Sandboxie v5.33.6 and I remember that someone had reported it in the old official Sandboxie support forum just prior to it being shutdown.

lucascrow6 commented 3 years ago

I found an old archived discussion (https://sandboxie-website-archive.github.io/www.sandboxie.com/old-forums/viewtopicec57ec57.html?p=91505) about this issue from 2013 where a user had to edit the Template.ini file in order to fix the lack of pressure sensitivity due to not being able to access the Tablet services. So I took a look at my own Template.ini file and found the same Template_WacomTablet entry which I believe is now out of date because I know that Wacom had to make a major change to their drivers a while ago.

I set about to try and understand the Template.ini file to see if I could figure out how to modify the Wacom template in order to get it working again. Using the Resource Access Monitor, I found several slightly different Wacom IPC calls so I changed the template from: OpenIpcPath=\BaseNamedObjects\WacomWintabConnection to: OpenIpcPath=\BaseNamedObjects\WacomProWintabConnection I didn't really think that this would do the trick since the Wacom should be able to pick up the "Pro" but figured, why not, but it didn't work.

I also found in the template an IPC reference for Tablet.exe which is also obsolete as Wacom has renamed this to either Wacom_Tablet.exe or WTabletServicePro.exe (both seem to be listed as Wacom Services with WTabletServicePro.exe being the exe running in the Windows Services panel) but changing to either of those didn't work either.

So here's what I've tried changing the Template_WacomTablet entry to with no avail:

Tmpl.Title=Wacom Tablet Tmpl.Class=Desktop Tmpl.Url=https://www.wacom.com/support/product-support/drivers Tmpl.Scan=i OpenIpcPath=\BaseNamedObjects\WacomProWintabConnection* OpenIpcPath=$:WTabletServicePro.exe OpenIpcPath=$:Wacom_Tablet.exe OpenIpcPath=$:WacomHost.exe OpenWinClass=$:WTabletServicePro.exe OpenWinClass=$:Wacom_Tablet.exe OpenWinClass=$:WacomHost.exe

I probably went a little overkill with the IpcPaths and WinClasses but I figured I'd try to cover all of the possibilities even though it didn't work.

Does anyone know of a utility to try and trace which executable Sandboxie needs to access in order to allow the tablet drivers to work since the Resource Access Monitor does not seem to list that info?

Knowing that the Wacom drivers have been updated, it's also possible that this issue has to do with the Wacom entries in the Sandboxie/core/drv/ipc.c file under the Ipc_InitPaths section: // hardware - wacom tablet // L"\BaseNamedObjects\WacomNewFrontAppEventName", L"\BaseNamedObjects\WacomTouchingAppNameMutexName", But I have no idea how to check for this either as these too were nowhere to be found in the Resource Access Monitor log.

If anyone can point me in the right direction, I would be very grateful. Thank you.

DavidXanatos commented 3 years ago

Unfortunately I can not debug the issue without having such a tablet.

isaak654 commented 1 year ago

@lucascrow6 What about trying with StartService=WinTabService in your sandbox?