Random tidbits of information about projects I'm hacking on...
During the MeeGo Conference I gave a presentation on multi-point-touch support on MeeGo overview and video slides. As mentioned during that presentation, MeeGo needs few packages to add multi-point-touch to Qt applications running on top of MeeGo 1.1. The components that need to be changed are:
New components:
To get the above, you can add my home project:
cd /etc/zypp/repos.d sudo wget http://download.meego.com/live/home:/jketreno/Trunk/home:jketreno.repo sudo sed -i -e 's,^gpg,#gpg,g' home:jketreno.repo zypper refresh
Next, force a re-installation of the packages provided from my home project:
zypper install -f --from=home_jketreno kernel_netbook libqt* mtdev \
xf86-input-mtev multipointtouchplugin
It will prompt you to switch to the versions of the various packages provided from the above repository. Accept the changes, and reboot.
The mechanism to talk to the xf86-input-mtev driver is not merged into the Qt package itself. Until that occurs, applications interested in working with touch events need to add the following to the beginning of their application, within the main() function:
foreach (QString path, QCoreApplication::libraryPaths()) {
QPluginLoader loader(path + "/libmultipointtouchplugin.so");
loader.load();
if (loader.isLoaded()) {
loader.instance();
break;
}
}
At the beginning of the file, you also need to include QPluginLoader:
#include <QPluginLoader>
And that's it.
The version of qmlviewer built and installed with the Qt package in my home project has the above code enabled, providing Touch events into qml applications run within qmlviewer. If you are loading your QML application using your own native loader, you will need to follow the steps above for enabling a native applications.