D8748: [libinput] Find screen for touch screen devices and calibrate accordingly
David Edmundson
noreply at phabricator.kde.org
Fri Nov 10 19:24:52 UTC 2017
davidedmundson added a comment.
One minor comment (the third one), otherwise all good.
INLINE COMMENTS
> connection.cpp:395
> case LIBINPUT_EVENT_TOUCH_DOWN: {
> +#ifndef KWIN_BUILD_TESTING
> TouchEvent *te = static_cast<TouchEvent*>(event.data());
not that it's a problem, but why?
You have screens mocked already.
> connection.cpp:397
> TouchEvent *te = static_cast<TouchEvent*>(event.data());
> - emit touchDown(te->id(), te->absolutePos(m_size), te->time(), te->device());
> + const auto &size = screens()->size(te->device()->screenId());
> + emit touchDown(te->id(), screens()->geometry(te->device()->screenId()).topLeft() + te->absolutePos(size), te->time(), te->device());
if you fetch the geometry here you'll get both the size and topLeft in an easier to read way.
> connection.cpp:488
>
> +void Connection::updateScreens()
> +{
you're not updating in deviceAdded(), so hypothetically if one adds a touch screen at runtime, and plugs in the HDMI cable before the USB cable it won't have the right screen.
You could put this method (and the screens changed connect) in Device as you're not doing anything with Connection in this method.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D8748
To: graesslin, #kwin, #plasma
Cc: davidedmundson, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171110/f8865685/attachment-0001.html>
More information about the Plasma-devel
mailing list