http://bugs.winehq.org/show_bug.cgi?id=18517
--- Comment #51 from phaethon eriks00@moon.lv --- There are some issues with threading beyond my understanding. I believe key caching issue is from the same story. If somebody could properly fix key caching, it might help understand/resolve some of the tablet issues.
Photoshop uses several threads. Sometimes just one thread works and asks for GetAsyncKeyState. Sometimes two threads ask. In the latter case weird problems happen.
Photoshop combines info from GetAsyncKeySate, tablet events, mouse events. Apparently on wine they are sort of out of sync compared to Photoshop expectations. I could use a debug log similar to wine's, but recorded on Windows with the sequence of mouse/tablet/keyboard/window messages sent, GetAsyncKeyState, wintab WT... function calls and responses, thread ids for all calls.
On CS6 performance. For my setup it heavily helps if I switch on GPU support to Normal level, but switch OFF "use graphic processor for computations...". Then I can draw circles. If latter setting is on I cannot. I have 2 more issues on CS6 - pen drawing does not work with tablet (it sort of looses the track), various screen update issues when I draw with tablet. CS4 for me works much better.
If you are interested to try commenting out WT_messages then in dlls/wintab32/wintab32.c function TABLET_WindowProc comment out call to TABLET_PostTabletMessage in WT_PACKET case statement. For me it did not make a difference for CS6.