Mister_Magister | time to debug the bullshit called QTabletEvent | 03:39 |
---|---|---|
Mister_Magister | @adampigg explain how in the hell does evdevtablet work for you if we've estableshed that a) evdevtablet sends ONLY QTabletEvent and neither lipstick nor QQuickWindow handles QTabletEvents? Explain yourself | 03:42 |
Mister_Magister | it has 0 rights to work and yet magically it works for you. What 9 circle of hell magic did you perform? | 03:45 |
Mister_Magister | i'm dual wielding gdb xd | 04:07 |
Mister_Magister | OH | 04:25 |
Mister_Magister | https://github.com/sailfishos/qtbase/blob/fc8c8fcfe0c624fe525f90a3090d0f958a997694/src/gui/kernel/qwindow.cpp#L2284 | 04:25 |
Mister_Magister | glorious | 04:25 |
Mister_Magister | i don't understand why events are not sent to the app | 04:25 |
Mister_Magister | okay I think i have full grasp of what needs to be done and its not pretty | 05:04 |
Mister_Magister | mal: you here yet? | 08:50 |
Mister_Magister | mal: for when you become online, here's my tablet report: If I understand correctly, any events like mouse/keyboard/touch work something like this: kernel -> evdev -> qt evdev* plugin -> qt -> lipstick -> qtwayland -> wayland | wayland -> qtwayland -> qt -> app. and with tablet it goes something like this kernel -> evdev -> evdevtablet -> qt -> lipstick -> dead end. It works when i launch the app directly because it skips | 09:36 |
Mister_Magister | entire compositor and wayland and talks directly to qt. lipstick doesn't handle the tablet events but also qtwayland doesn't handle the events. To fix it we would have to implement wayland tablet v2 specification https://wayland.app/protocols/wayland-protocols/416 in qtwayland https://github.com/qt/qtwayland/blob/5.15/src/client/qwaylandtabletv2_p.h and then add little handling code in the lipstick so that evdev events are | 09:36 |
Mister_Magister | converted to qt evetns then coverted to wayland and then from wayland to qt and then app can finally receive them. it's all implemented in qt5.15 I would have to backport everything to qt5.6 which is not impossible but its huge task. That gave me an idea to launch app with -plugin evdevtablet and… it works. Because i'm skipping entire pipeline and feeding evdev events directly into the app. But that also displays another | 09:36 |
Mister_Magister | issue that in qt5.6 tablet events are only handlable in qtwidgets and not qtquick/qml so creating sfos app for drawing would be VERY difficult. I've built qtwidgets app but ofc scaling is off and ux is terrible. there's also SDL app but i'm afraid it will exhibit same events if i feed it evdev events. long story short it will work if you feed app directly but going through the pipeline is insane task. and to finish it off @ | 09:36 |
Mister_Magister | adampigg is full of poopoo cause on every step of the way nothing handles qtabletevents and evdevtablet plugin ONLY generates qtabletevents so no, it doesn't work for him | 09:36 |
Mister_Magister | i could translate the events to touch or mouse events in lipstick but that loses the poitn | 09:39 |
*** deathmist1 is now known as deathmist | 18:10 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!