Registered Member
|
Hi!
I'd like to ask if there is a way to use a non-wacom pen-tablet with Krita? I have a Genius Mousepen and it fails to recognize pressure sensitivity. While searching the web I found out that it's probably a Qt problem. And indeed GTK apps like Gimp and MyPaint have pressure sensitivity on the same system. Is there any workaround, or a fix that's expected for this issue? Thanks for reading! |
KDE Developer
|
Hi!
I'm afraid that it's indeed a limitation in Qt, which only works with Wacom devices. I haven't got the time (or the knowledge or devices) to create a patch to Qt to support other tablet devices, so I am afraid that for the foreseable future, Qt and Krita will only support Wacom tablets/ |
Registered Member
|
Oh well, it looks like I'll have to wait until this changes or I get another tablet.
But anyway thanks for answering my question and happy holidays! |
Registered Member
|
Could Krita developers to contact the project DIGImend to try solve this problem?
http://sourceforge.net/apps/mediawiki/d ... e=DIGImend Ok, maybe wacom is one of the best brands, but not the only manufacturer of graphic tablets in this universe. I have no idea about programming, but I'm willing to work as a tester (I have a Genius EasyPen i405) Thank you. |
Registered Member
|
Yes, I can understand that, but is it possible to file a bug report in QT to make QT compatible with the evdev deriver too? (May be there are one or two QT developer who might be interested in doing the necessary coding.) @YAFU As far as I know the digimend project creates only the kernel drivers and does some evdev driver modifications in order to make non-wacom tablets work with Linux. As you can see on this page http://sourceforge.net/apps/mediawiki/d ... ort_status your tablet is supported by the evdev driver >= 2.5.99 and kernel >= 2.6.36 linux distros. All the other drawing/painting applications (like Gimp, mypaint, alchemy, synfig studio) has pressure sensitivity because gtk and jpen are compatible with the evdev driver. So if a QT developer could make QT compatible with the evdev driver you could have pressure sensitivity as well. Actually even I can take part in testing this. Sometimes I am thinking about reporting bug in QT, but I do not know too much insight how actually Krita works according to handling tablet pressure.... |
KDE Developer
|
This is the Qt bug tracker: https://bugreports.qt-project.org/secure/Dashboard.jspa
As soon as Qt properly supports the tablet, it'll work with Krita automatically. There's nothing special at all in the Krita code for tablet support, Qt abstracts it away |
Registered Member
|
Well, Who could start a report in Qt bug tracker?
My English and my kernel/evdev/qt/programming knowledge are not good, so I would prefer someone better prepared do a report. Then could be paste here the report link, for all of us we add information. If no other option, I'll try to make a report. |
Registered Member
|
Hi all!
I have reported a QT bug here : https://bugreports.qt-project.org/browse/QTBUG-25329 @YAFU I guess after signig up in the QT bugtracker website you can file any bug, and I guess it would be great if you can sign up and vote for this bug, and perhaps leave some comments. @boudewijn It woul be great if you could review the bug report and leave some comments as necessary. I marked the Component/s: Core: Event System but I am not quite sure if this is the correct one, so it would be great if you could check that too. Thanks. |
KDE Developer
|
|
Registered Member
|
Thanks viktoria.s.
I've already voted. I will be tuned following that report. Regards. |
Registered Member
|
I wanted to try out Krita with pressure sensitivity and I had one of these tablets, so I checked out git Qt and found where the problem is. As soon as I figure out the proper way to implement the fix, I'll see if I can get it merged for the next Qt release so that you folks can use Krita with pressure sensitivity.
|
KDE Developer
|
|
Registered Member
|
That's cool. I appreciate your efforts. |
Registered Member
|
I hope that you can do it. Thank you very much! |
Registered Member
|
All right. I'm not sure where to take the fix from here, so I'm going to publish what I know here. I take no responsibility if following these instructions utterly breaks your system =]
Do not attempt this fix if your system is already functioning normally. Warning: If your tablet has more than three axes (i.e. x, y, and sensitivity), it may not work and Qt doesn't have a way to configure it that I'm aware of. Now that all that scary talk is over with, let's get your tablet supported by Qt. First, you need to grab the source code for Qt. From a terminal, run
Next, you need to get the source code from the Qt website. Close qtconfig and issue the following command:
You need to edit the file src/gui/kernel/qapplication_x11.cpp. Here's me doing it with vim:
Either way, you need to find a line that looks like this:
In Qt release 4.8.1, it is line 2451 of this file. Change it to this:
I'm not sure why, but when an Xinput device is an evdev-driven tablet, its type is 101. I'm also not sure how to put this in code that the Qt project would be likely to accept. Either way, save your changes and exit the text editor. Back in your terminal, build the project. (I chose the Open Source configuration option.) The second step especially will take a very long time. I recommend you take a nap or go out for lunch before you run
Log out and log back in immediately after these commands finish executing. You should be able to have a stable system without rebooting, and pressure sensitivity should work in Krita. Don't delete the source directory. You will need to be able to run
You should be sure to roll back your changes in this manner if you are doing a distro upgrade, or if you're upgrading qt in any way. It may help me fix the bug if I can get verification that the above procedure gets pressure sensitivity to work in Krita. Again, I'm not sure at all of the proper way to integrate this fix into qt. I think there should be some manner of automatic configuration of evdev-enabled tablets, or at least a way to set up the axes (X, Y, pressure, X tilt, Y tilt) in qtconfig, to support more tablets through evdev. But that's really a bigger scope of project than I really want to take on right now, and I think my time would be better spent either making art or contributing to krita. If you have any questions, please ask and I will do my best to figure out the answer! |
Registered users: abc72656, Bing [Bot], daret, Google [Bot], Sogou [Bot]