This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Krita + non-wacom tablets

Tags: None
(comma "," separated)
Marand
Registered Member
Posts
26
Karma
0
OS

Re: Krita + non-wacom tablets

Sat Aug 02, 2014 4:50 pm
boudewijn wrote:Hi Rosen,

Yes, Yiynova Europe recently sent us a 19 and 21.5 inch tablet monitor to test with. The obvious bugs we had on Windows are already fixed, but even after I spent most of today trying to make it work with Linux, I haven't had any success. It's pretty frustrating, since xinput sees not one, but _two_ UC-LOGIC TABLET MONITOR devices. Using xinput test I find that events do arrive -- but somehow there is no connection to the X11 pointer.

This isn't a Krita issue -- there is something not okay on a much lower level, way beyond my expertise level, but I'm still looking into it...


The monoprice pen display does something similar with xinput. In my experience, the first one listed (lowest id) is the one that matters. The other one may be intended for an eraser that doesn't exist, but that's just speculation on my part. When using the xorg wacom driver instead of evdev, the device reports two extra devices instead of just one and claims they're pad/eraser, but they still do nothing, just like with evdev.

As for xinput getting events but the pointer not being affected...never ran into that. Could try checking if the digimend project has a better driver than whatever the linux kernel provides (this is the case with the huion driver, which has more models supported), or see if it behaves better by using xorg's wacom driver, which actually works for some uc-logic type devices and was mentioned in this thread before, I believe.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita + non-wacom tablets

Mon Aug 04, 2014 8:39 am
Right, it might be worth trying the digimend driver then.
agearhart
Registered Member
Posts
2
Karma
0

Re: Krita + non-wacom tablets

Sun Aug 17, 2014 10:15 am
Hello, I've been using Krita for a few weeks now, and I've been extremely happy with it. I have encountered one small issue regarding the use of my Huion H58L tablet about which I would like to ask for some advice. Perhaps someone else who has encountered the same issue might shed some light.

I'm using:

Windows 8.1 Pro 64-bit
Krita 2.8.3 x64
Huion H58L tablet
Logitech MX518 mouse

Pressure sensitivity within Krita is excellent. But, I'm having difficulty getting Krita to respond to the stylus rocker buttons when they are mapped to mouse buttons (they do seem to work fine as long as they are mapped to keyboard strokes). For example I would like to use the rocker as both middle click as well as right click (to bring up the quick palette). But when the cursor is over the canvas, these button presses are simply not registered. However, they work fine if I move the cursor over any of the dockers such as the layers, where I am able to issue right clicks from the stylus. Outside of Krita, the tablet and its stylus buttons behave as expected in most applications (like Firefox) or the Desktop. At first I thought it was just Krita which had this issue, but it seems like it may be a driver problem or perhaps something within Windows itself, because the same issue also occurs for other applications which depends on tablet sensitivity (GIMP, and FireAlpaca). One exception is ArtRage which works as expected (it is both responsive to pressure as well as the stylus buttons).

Furthermore I have noticed an interesting phenomenon where if I open Krita by clicking its shortcut with my stylus (and avoid touching my mouse), the stylus buttons actually do work, but I lose the pressure sensitivity. I have captured some debug information (per the instructions earlier in this thread) for three different situations.


I regret that I don't know more about the inner workings of software and development, but I did notice two interesting things within the debug logs generated: that Krita is logging both mouse and tablet QEvents (whatever that is) when I'm simply using my tablet stylus, as well as the fact that [BLOCKED] appears on many QEvents, including the stylus button presses which Krita doesn't respond to.

I've tried an earlier version of drivers for my tablet which didn't produce any different results.

As I said, I'm happy using Krita, even without the full use of the stylus buttons. If that issue can't be helped then I do wonder whether it might be possible to assign the quick palette function to a keyboard shortcut rather than the right mouse click so then I could assign that keystroke to my stylus button? From what I can tell it does not appear in the shortcuts configuration.

Also I sincerely apologize if this was not an appropriate place to raise this issue. I have nothing but respect and gratitude for the developers and their hard work on this software. Thank you.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita + non-wacom tablets

Mon Aug 18, 2014 8:02 am
Hi,

It's perfectly fine to post a question like this here :-). Especially if you've made such an effort to pin down the issue! As for the tablet logs, it certainly looks like the Huion driver is doing some weird stuff! I'm not sure we can work around the issue, but it would be good if you could report the bug at bugs.kde.org and attach the logs.

You can configure the settings for the popup palette in Settings/Configure Krita/Canvas input settings. We want to unify the two dialogs -- shortcts and input settings -- for 2.9, but whether we'll manage to achieve that isn't certain yet.
agearhart
Registered Member
Posts
2
Karma
0

Re: Krita + non-wacom tablets

Mon Aug 18, 2014 3:20 pm
Thank you so much. I'm quite embarrassed to have missed the significance of this Canvas Input Settings before you were kind enough to point it out to me. I have posted this issue to bugs.kde.org as you have suggested. And I'm also happy to report that using a separate keystroke ("y") I am able to use my stylus to bring up the popup palette. :)
rosen
Registered Member
Posts
7
Karma
0

Re: Krita + non-wacom tablets

Wed Aug 27, 2014 7:47 am
I have found that there are drivers recently developed for Yiynova tablets. I thought I should spread the news. I hope that it would be beneficial to the Krita developers or anybody else with a Yiynova tablet.
http://libregraphicsworld.org/blog/entr ... digitizers
hvfrancesco
Registered Member
Posts
9
Karma
0

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 10:34 am
would it be feasible to make the new tablet system in Krita to work with tablets supported by Aiptek driver?
I have an Aiptek HyperPen 12000U using Aiptek kernel driver, and my input devices are recognized as this in Ubuntu 14.04:

found input device Virtual core XTEST keyboard type 0
found input device Power Button type 98 KEYBOARD
found input device Aiptek type 263 Stylus
found input device Eee PC WMI hotkeys type 98 KEYBOARD
found input device AT Translated Set 2 keyboard type 98 KEYBOARD
found input device ImExPS/2 Logitech Explorer Mouse type 99 MOUSE

Tablet seems to be listed as 263 type, and at time being it has no pressure recognized in Krita, I tried both backport 2.8 and 2.9dev from Dmitry ppa.
It works perfectly with pressure in Gimp and Mypaint (in Inkscape it has an offset issue with gtk2 and works well on a gtk3 experimental build)

best to all, francesco
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 11:56 am
It would be easier with some hardware, but with enough information it should be possible. Please add a bug to bugs.kde.org about it.
hvfrancesco
Registered Member
Posts
9
Karma
0

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 1:10 pm
I've just built a customized version of Qt4 libraries on Ubuntu Trusty, "hardcoding" my tablet type in tablet recognition routine, something like:
if (devs->type == 263 || .....)
and now I have perfect tablet behavior in Krita 2.9pre-alpha, with pressure and a good, smooth response.
That solves my particular problem I guess, but I must say I'm very disappointed about non-wacom poor tablet support in Qt4. I hope things would be better in Qt5, but I suspect it doesn't sound too good for what I've read about this topic.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 1:16 pm
That's a bit weird though, since as far as I know, we don't use Qt's tablet support in Krita, so you'd need to change that in Krita's code as well...
hvfrancesco
Registered Member
Posts
9
Karma
0

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 1:25 pm
I will look a bit in krita code too, can you point me to the name of the files where the relevant part of code is supposed to be?
dkazakov
Registered Member
Posts
64
Karma
1

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 1:34 pm
Hi, hvfrancesco!

We forked Qt's tablet support inside Krita (because there are no major releases of Qt4 are planned) so you can patch the files inside Krita itself. Newer Krita supports Aiptek tablets, but they work quite unpredictable, e.g. they might report they are a "Keyboard" device (the workaround for that is already in Krita).

I cannot explicitly add your check for "type 263", because this value is generated dynamically basing on some string. So could you please provide me with some information:

1) The patch you used to patch Qt
2) Full output of 'xinput list-props <id-of-your-tablet-device>'
3) Generate tablet event log https://answers.launchpad.net/krita-ru/+faq/2495

If we find out what atom string is used by this very tablet, we will include the code into Krita codebase.
hvfrancesco
Registered Member
Posts
9
Karma
0

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 1:59 pm
thanks for your help Boudewijn and Dmitry,

the patch applied to Qt code is really a bad workaround: in src/gui/kernel/qapplication_x11.cpp I just changed this line
if (devs->type == ATOM(XWacomStylus) || devs->type == ATOM(XTabletStylus) || devs->type == ATOM(XTablet))
to this
if (devs->type == 263 || devs->type == ATOM(XWacomStylus) || devs->type == ATOM(XTabletStylus) || devs->type == ATOM(XTablet))

This makes Krita use the pressure info from the tablet, but it seems that it gets blocked quite easily (is it maybe a sort of a buffer issue?)

this is xinput list output about my tablet
Code: Select all
↳ Aiptek                                     id=8   [slave  pointer  (2)]
   Reporting 6 classes:
      Class originated from: 8. Type: XIButtonClass
      Buttons supported: 5
      Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down"
      Button state:
      Class originated from: 8. Type: XIValuatorClass
      Detail for Valuator 0:
        Label: Abs X
        Range: 0.000000 - 5999.000000
        Resolution: 14763 units/m
        Mode: absolute
        Current value: 4024.000000
      Class originated from: 8. Type: XIValuatorClass
      Detail for Valuator 1:
        Label: Abs Y
        Range: 0.000000 - 4499.000000
        Resolution: 14763 units/m
        Mode: absolute
        Current value: 936.000000
      Class originated from: 8. Type: XIValuatorClass
      Detail for Valuator 2:
        Label: Abs Pressure
        Range: 0.000000 - 511.000000
        Resolution: 512 units/m
        Mode: absolute
        Current value: 45.000000
      Class originated from: 8. Type: XIValuatorClass
      Detail for Valuator 3:
        Label: Abs Tilt X
        Range: -128.000000 - 127.000000
        Resolution: 256 units/m
        Mode: absolute
        Current value: 0.000000
      Class originated from: 8. Type: XIValuatorClass
      Detail for Valuator 4:
        Label: Abs Tilt Y
        Range: -128.000000 - 127.000000
        Resolution: 256 units/m
        Mode: absolute
        Current value: 0.000000

and this is xinput list-props
Code: Select all
Device 'Aiptek':
   Device Enabled (142):   1
   Coordinate Transformation Matrix (144):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   Device Accel Profile (264):   0
   Device Accel Constant Deceleration (265):   1.000000
   Device Accel Adaptive Deceleration (266):   1.000000
   Device Accel Velocity Scaling (267):   10.000000


A part of the tablet log in Krita is this:
Code: Select all
"[       ]  TabletMove       btn: - btns: - pos:  285, 391 gpos: 1153, 626 hires:  1154.75, 627.019 prs: 0.140900 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  286, 391 gpos: 1154, 626 "
"[       ]  TabletMove       btn: - btns: - pos:  286, 391 gpos: 1154, 626 hires:  1155.71, 627.019 prs: 0.111546 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  287, 391 gpos: 1155, 626 "
"[       ]  TabletMove       btn: - btns: - pos:  287, 391 gpos: 1155, 626 hires:  1155.71, 626.059 prs: 0.095890 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  287, 390 gpos: 1155, 625 "
"[       ]  TabletMove       btn: - btns: - pos:  287, 390 gpos: 1155, 625 hires:  1156.99, 624.619 prs: 0.090020 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  288, 389 gpos: 1156, 624 "
"[       ]  TabletMove       btn: - btns: - pos:  288, 389 gpos: 1156, 624 hires:  1158.27, 623.178 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  290, 388 gpos: 1158, 623 "
"[       ]  TabletMove       btn: - btns: - pos:  290, 388 gpos: 1158, 623 hires:  1162.43, 621.258 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  294, 386 gpos: 1162, 621 "
"[       ]  TabletMove       btn: - btns: - pos:  294, 386 gpos: 1162, 621 hires:  1166.91, 619.098 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  298, 383 gpos: 1166, 618 "
"[       ]  TabletMove       btn: - btns: - pos:  298, 383 gpos: 1166, 618 hires:  1170.76, 617.897 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  302, 382 gpos: 1170, 617 "
"[       ]  TabletMove       btn: - btns: - pos:  302, 382 gpos: 1170, 617 hires:  1173.64, 616.217 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  305, 381 gpos: 1173, 616 "
"[       ]  TabletMove       btn: - btns: - pos:  305, 381 gpos: 1173, 616 hires:  1176.52, 615.017 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 379 gpos: 1176, 614 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 379 gpos: 1176, 614 hires:  1179.72, 613.336 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 378 gpos: 1179, 613 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 378 gpos: 1179, 613 hires:  1182.28, 611.896 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  314, 376 gpos: 1182, 611 "
"[       ]  TabletMove       btn: - btns: - pos:  314, 376 gpos: 1182, 611 hires:  1183.24, 610.456 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  315, 375 gpos: 1183, 610 "
"[       ]  TabletMove       btn: - btns: - pos:  315, 375 gpos: 1183, 610 hires:  1184.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  316, 374 gpos: 1184, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  316, 374 gpos: 1184, 609 hires:  1186.12, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  317, 373 gpos: 1185, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  317, 373 gpos: 1185, 608 hires:  1186.12, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  317, 373 gpos: 1185, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  317, 373 gpos: 1185, 608 hires:  1186.12, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  317, 373 gpos: 1185, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  317, 373 gpos: 1185, 608 hires:  1185.48, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  317, 373 gpos: 1185, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  317, 373 gpos: 1185, 608 hires:  1185.16, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  316, 373 gpos: 1184, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  316, 373 gpos: 1184, 608 hires:   1184.2, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  316, 373 gpos: 1184, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  316, 373 gpos: 1184, 608 hires:  1183.24, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  315, 373 gpos: 1183, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  315, 373 gpos: 1183, 608 hires:   1182.6, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  314, 373 gpos: 1182, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  314, 373 gpos: 1182, 608 hires:  1181.96, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  313, 373 gpos: 1181, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  313, 373 gpos: 1181, 608 hires:  1181.64, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  313, 373 gpos: 1181, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  313, 373 gpos: 1181, 608 hires:     1181, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  313, 373 gpos: 1181, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  313, 373 gpos: 1181, 608 hires:     1181, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  312, 373 gpos: 1180, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  312, 373 gpos: 1180, 608 hires:  1180.36, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  312, 373 gpos: 1180, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  312, 373 gpos: 1180, 608 hires:  1180.36, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  312, 373 gpos: 1180, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  312, 373 gpos: 1180, 608 hires:  1179.72, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.72, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 373 gpos: 1179, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 373 gpos: 1179, 608 hires:  1179.08, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.76, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.76, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.44, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 373 gpos: 1178, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 373 gpos: 1178, 608 hires:  1178.12, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1178.12, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1178.12, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1178.12, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.295 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.48, 608.535 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 373 gpos: 1177, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 373 gpos: 1177, 608 hires:  1177.16, 608.775 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 608.775 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1177.16, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1177.16, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1177.16, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.255 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 374 gpos: 1176, 609 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 374 gpos: 1176, 609 hires:  1176.84, 609.015 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1176.84, 609.015 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1176.84, 609.015 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1176.84, 609.015 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1176.84, 608.535 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 373 gpos: 1176, 608 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 373 gpos: 1176, 608 hires:  1176.84, 608.055 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 372 gpos: 1176, 607 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 372 gpos: 1176, 607 hires:  1176.84, 607.335 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  308, 372 gpos: 1176, 607 "
"[       ]  TabletMove       btn: - btns: - pos:  308, 372 gpos: 1176, 607 hires:  1177.48, 607.095 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 607.095 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 606.615 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 606.615 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 606.375 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 606.135 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 371 gpos: 1177, 606 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 371 gpos: 1177, 606 hires:  1177.48, 605.174 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 370 gpos: 1177, 605 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 370 gpos: 1177, 605 hires:  1177.48, 605.174 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 370 gpos: 1177, 605 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 370 gpos: 1177, 605 hires:  1177.48, 605.174 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 370 gpos: 1177, 605 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 370 gpos: 1177, 605 hires:  1177.48, 604.214 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 369 gpos: 1177, 604 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 369 gpos: 1177, 604 hires:  1177.48, 603.494 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 368 gpos: 1177, 603 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 368 gpos: 1177, 603 hires:  1177.48, 602.774 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 367 gpos: 1177, 602 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 367 gpos: 1177, 602 hires:  1178.12, 602.294 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  309, 367 gpos: 1177, 602 "
"[       ]  TabletMove       btn: - btns: - pos:  309, 367 gpos: 1177, 602 hires:  1178.76, 602.294 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 367 gpos: 1178, 602 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 367 gpos: 1178, 602 hires:  1178.76, 600.854 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 365 gpos: 1178, 600 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 365 gpos: 1178, 600 hires:  1179.08, 599.413 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  310, 364 gpos: 1178, 599 "
"[       ]  TabletMove       btn: - btns: - pos:  310, 364 gpos: 1178, 599 hires:   1179.4, 598.453 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 363 gpos: 1179, 598 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 363 gpos: 1179, 598 hires:   1179.4, 598.213 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 363 gpos: 1179, 598 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 363 gpos: 1179, 598 hires:   1179.4, 597.733 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 362 gpos: 1179, 597 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 362 gpos: 1179, 597 hires:   1179.4, 596.052 prs: 0.088063 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 360 gpos: 1179, 595 "
"[       ]  TabletMove       btn: - btns: - pos:  311, 360 gpos: 1179, 595 hires:   1179.4, 595.572 prs: 0.086106 Stylus Pen id: 0 xTilt: 0 yTilt: 0 rot: 0 z: 0 tp: 0 "
"[       ]  MouseMove        btn: 0 btns: 0 pos:  311, 360 gpos: 1179, 595 "
"[       ]  TabletLeaveProximity"


Is the atom string simply "Stylus" or I must look for something else?
this debug instruction
Code: Select all
qDebug() << "found input device" << devs->name << "type" << devs->type << XGetAtomName(X11->display, devs->type);


gives me following output:
Code: Select all
found input device Aiptek type 263 Stylus


thanks again for any help. I have Krita git code already downloaded and a build environment set, and I've successfully just built the last 2.9pre-alpha version, so I can easily test possible solutions on the real hardware if it can be useful.
dkazakov
Registered Member
Posts
64
Karma
1

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 2:21 pm
Hi, hvfrancesco!

Could you check whether this patch fixes the problem for you?

http://paste.kde.org/pcbvgq2gc

How to test:

a) if your Qt is still patched:

Check whether tablet works and the log contains [BLOCKED] events.

b) if you Qt is clean

Just check it started working
hvfrancesco
Registered Member
Posts
9
Karma
0

Re: Krita + non-wacom tablets

Fri Nov 07, 2014 2:31 pm
I think I have a working patch, It seems to work as expected on master git branch.
The tablet, I forgot to mention, is Aiptek Hyperpen 12000U (old but still nice and reliable)

Code: Select all
diff --git a/krita/ui/input/wintab/kis_tablet_support_x11.cpp b/krita/ui/input/wintab/kis_tablet_support_x11.cpp
index 2cb23d1..0e889b0 100644
--- a/krita/ui/input/wintab/kis_tablet_support_x11.cpp
+++ b/krita/ui/input/wintab/kis_tablet_support_x11.cpp
@@ -83,6 +83,8 @@ struct KisX11Data
         XInputTablet,
 
         XInputKeyboard,
+       
+        Stylus,
 
         AxisLabels,
         ATOM,
@@ -117,6 +119,8 @@ static const char kis_x11_atomnames[] = {
 
     // Really "nice" Aiptek devices reporting they are a keyboard
     "KEYBOARD\0"
+    // Other Aiptek tablet e.g. Hyperpen 12000U
+    "Stylus\0"
 
     // Evdev property that report the assignment of axes
     "Axis Labels\0"
@@ -298,7 +302,7 @@ void kis_x11_init_tablet()
                 } else if (devs->type == KIS_ATOM(XWacomEraser) || devs->type == KIS_ATOM(XTabletEraser)) {
                     deviceType = QTabletEvent::XFreeEraser;
                     gotEraser = true;
-                } else if (devs->type == KIS_ATOM(XInputKeyboard) && QString(devs->name) == "Aiptek") {
+                } else if ((devs->type == KIS_ATOM(XInputKeyboard) || devs->type == KIS_ATOM(Stylus)) && QString(devs->name) == "Aiptek") {
                     /**
                      * Some really "nice" tablets (more precisely,
                      * Genius G-Pen 510 (aiptek driver)) report that



Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], lockheed, mesutakcan, sandyvee, Sogou [Bot]