<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I assume this is about the mouse positions on the window.<br></blockquote><div><br></div><div>Yes, exactly.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Isn't there a way to read the X events directly? Not checked but perhaps you are doing something similar with wintab already?<br></blockquote><div><br></div><div>The funny thing we do read the X events almost directly. We read XCB packets, decrypt them and emit our own events. But we cannot read the XCB events queue directly (it is owned by Qt), therefore we use a special hook provided by Qt that allows us to process/filter the events coming through the queue.<br><br></div><div>The problem is that inside Qt the filtering hook is set up *after* the compression code. It means that these "compressed" events will never reach our filters.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Just another thing, this annoys me in many (if not all) programs. If you are using a tablet's stylus, it disables the mouse completely. This is not a good thing. Sometimes the tip of the stylus is not accurate enough, so better to use the stylus in proximity and press the buttons on the mouse. I'm left handed, so I'm holding the stylus in my left hand and the mouse in my right hand. It's very effective. I can use the wheel on the mouse the same way. This is not a technical limitation, I already made programs with this feature (but not with Qt...).<br></blockquote><div><br></div><div>I'm afraid this limitation is somewhat technical. The problem is that tablet generates Mouse(!) events too. And in most of the cases these mouse events do not correlate with what we get via native tablet events. It means that if we will start processing mouse events while tablet is in proximity, the lines will become dizzy, because of out-of-order events. What is more, in most of the cases we cannot distinguish real mouse events and the synthesized mouse events generated by the tablet. Right now people in Qt are working on distinguishing them but I'm not sure when and if it is going to work. There are too many variations where and how these synthesized events are generated.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
What I want to say is, maybe Krita's needs are too special about the mouse and the tablet events, so it's not a good idea to use Qt's solutions.<br></blockquote><div><br></div><div>Well, we cannot drop Qt entirely. And we already use our own forked tablet support. Just this time event processing got broken too deep in Qt.<br></div><br clear="all"></div><br>-- <br><div class="gmail_signature">Dmitry Kazakov</div>
</div></div>