summaryrefslogtreecommitdiffstats
path: root/src/plugins/generic
Commit message (Collapse)AuthorAgeFilesLines
* Fix compiler warning in evdevmouse plugin.Friedemann Kleint2012-04-131-1/+3
| | | | | Change-Id: I3b203b485079ff2cc96044789b06525ab2cde448 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove input plugins hard libudev dependencyBhooshan Supe2012-04-1210-7/+34
| | | | | | | | | | libudev extends the base functionality of these plugins but should not be mandatory as it is missing on many embedded devices that still actually require input devices (keyboard and/or mouse and/or touchscreen) support Change-Id: Ieeb949f1af5e774578f689a63f47a8c48f546ac1 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* remove obsolete qudevhelper and adopt mouse and touch pluginsJohannes Zellner2012-03-149-50/+299
| | | | | | | | | | | | The QUDevHelper class is now replaced by QUDeviceHelper class. All evdev input plugins are using the new udev helper now to enable hotplugin for keyboard and mouse input. EvdevTouch plugin still only uses the first detected device by udev, this cannot be tested on my side, due to the lack of multiple touch input devices. Change-Id: I01a4cfe1a80000bfb27c67a2f53faf560906b73c Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Query udev build parameters from pkg-configDonald Carr2012-03-073-2/+6
| | | | | | | | Change-Id: Ia3b7329d7359684ee7bf572a7e5fb681105108f4 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Holger Freyther <holger+qt@freyther.de> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix the bit test for ABS_MT_SLOT to detect protocol BShawn Rutledge2012-03-071-1/+1
| | | | | | | | | I tested, it didn't work. This is from a previous patch I had already gotten working before 40a5ba4d3fccb449dcfd8d9a0deaf4c7f0fe12bc was submitted. Change-Id: I868f069fe834b3122ed9b5b3dc9af0781d6e1d0d Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Support 16+4 mouse buttons within the generic/evdevmouse plugin.Rick Stockton2012-03-021-4/+19
| | | | | | | | | | | | The Kernel's evdev module is capable of presenting up to 16 mouse buttons, plus wheel events (UP, DOWN, LEFT, and RIGHT). This patch updates our Plugin, so that it tranlates all of those button numbers into corresponding MouseEvent Qt::MouseButton values. Task-number: QTBUG-24590 Change-Id: Ib8cbb9500280c76f06a51ce95095e22ae84de1c6 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Add protocol type B support to the evdevtouch pluginLaszlo Agocs2012-03-024-11/+102
| | | | | | | | | Also adds optional support for libmtdev (a helper library which translates transparently from type A to B when using type A kernel drivers). Change-Id: Ic9c065b2fd130e9db2dd07e7dc103e9d45c08c99 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add UDev helper class for evdev pluginsJohannes Zellner2012-02-243-168/+43
| | | | | | | Adopt evdevkeyboard plugin to use new UDev helper Change-Id: Ie914c77dde9a28a8cf7f7cd972acd963c13bc698 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Migrate evdev plugins to the new plugin systemLaszlo Agocs2012-02-229-6/+33
| | | | | Change-Id: I7eb283646b7529080c8c2f41c267b0135c8f57e4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix another typo in the evdev keyboard plugin.Friedemann Kleint2012-02-171-1/+1
| | | | | | | Amend 3296b7327bd84f420df7e5561d192c0a8d0bb409 Change-Id: Ide58a6b8cbd980eda6ff91948c8f4fb45a30e527 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fixed typo.Rohan McGovern2012-02-151-1/+1
| | | | | | | | keyboar -> keyboard Change-Id: Ia305237ac92ac5b0d5c8b0d3cc638292238cec02 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Fixed compile with -qtnamespaceRohan McGovern2012-02-132-0/+6
| | | | | | | | | Add missing (unbalanced) macros. Some files had QT_BEGIN_NAMESPACE without a corresponding QT_END_NAMESPACE. Change-Id: I50226a37a3710eda80ad76320d11efee39aa1fd8 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Add evdev based generic linux keyboard pluginJohannes Zellner2012-02-118-1/+1911
| | | | | | | | | | | This introduces a udev based evdev keyboard plugin. It contains a default US keyboard map to fit the QKey enumeration. Most of the udev related code was developed by ICS. Major parts of the keyboard handler itself is reused from Qt 4 codebase. Change-Id: I383d05eecfde1c8916b0007dd101bfcb66711968 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Reorganize evdev pluginsLaszlo Agocs2012-02-0818-740/+406
| | | | | | | | | | | | | | | | | | | | | | | | | linuxinput becomes evdevmouse. The experimental touch code is removed, now the plugin's purpose is solely to generate mouse events from absolute and relative pointer events. The plugin key is EvdevMouse. touchscreen becomes evdevtouch. The plugin key is EvdevTouch. In case keyboard support appears some day, it will fit nicely in the system by the name of evdevkeyboard or similar. Some little udev code is moved to platformsupport so it can be shared between the plugins. This may be extended later if more sophisticated udev support is needed. N.B. the intention is to keep this as simple as possible. We are shipping these plug-ins as reference examples, not as full-featured drivers. evdev and udev support has configure time tests from now on. This means the "drivers" (generic plugins) will get built automatically when the support is available. Change-Id: Iaf6260b5c2edfb9f25d070d2764466725adc6b4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3016-16/+16
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix compilation of MeeGo/Maliit related code after Qt::ScreenOrientation API ↵Simon Hausmann2012-01-271-1/+1
| | | | | | | | | changes Qt::UnknownOrientation is now Qt::PrimaryOrientation. Change-Id: I2846a90bd11ecd1416c29b7bd861f180ccb129a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2316-16/+16
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Support current screen orientation changes on HarmattanSimon Hausmann2012-01-177-0/+397
| | | | | | | | Subscribe to the corresponding property via DBus and report it through QWindowSystemInterface::handleScreenOrientationChanged. Change-Id: Ibd2901de798866e177aba898374ee2b9877310ed Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update touchscreen plug-in's readmeLaszlo Agocs2012-01-131-5/+3
| | | | | | | | To match the new mouse-for-unhandled-touch-event feature in QGuiApplication. Change-Id: Ifa3872ab51a8e95bee235a3681b0a9d1ec13081c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Do not mark any touch points as primary when no mouse event is sentLaszlo Agocs2012-01-121-4/+0
| | | | | | | | | The touchscreen plug-in generates touch events only and therefore no touch point must be marked as primary because that would mean there is also a mouse event created from that point which is not the case. Change-Id: I80c5fdbc52b048cd74c834900b6c8100963210e6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update year in Nokia copyright headers.Jason McDonald2012-01-108-8/+8
| | | | | | | | The previous change missed some headers from years prior to 2011, and a few new files were merged after the previous change. Change-Id: Ib7d1a2b7062228c2a5373da64242b2ee1f0981e1 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-053-3/+3
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update the touchscreen plug-in.Laszlo Agocs2011-12-195-148/+188
| | | | | | | | | | | | | | | | | | | | | | | | | Now works with bcm5974: Added manual contact tracking for drivers that do not report a tracking id and fixed abs limit querying to use ABS_MT_* instead of ABS_*. Fixed reported area: The incoming point was the top-left point instead of the center which was incorrect. Added pressure support. Tracking of event type has been removed as handleTouchEvent no longer needs it. Broken debug prints have been removed. Changed udev auto-detection to pick only /dev/input/event*. Fixed multiple released state reports with some drivers. Name and capabilities are now set properly for the QTouchDevice. Change-Id: I8f026c9a14465bfb6d567f4dcf36c5c03f843868 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Store the primary status in the touch point flags.Laszlo Agocs2011-12-122-7/+8
| | | | | | | | | | | | | | | | | For some reason the primary bit has previously been encoded in the touch point state, even though it has nothing to do with the regular states like Pressed, Released, etc. The value is now stored in the recently introduced flags member of the touch points. This also reduces the need for error-prone internal masking of the state value. The structure used by QWindowSystemInterface::handleTouchEvent also becomes cleaner because the primary status can now be set in the flags member and the isPrimary bool can be dropped. Change-Id: I1da2cb99154afd97e1e3a5943ab115cae3a8232f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove event type parameter from handleTouchEvent.Laszlo Agocs2011-12-094-6/+5
| | | | | | | | | | | Requiring platform and generic plug-ins to pass TouchBegin, TouchUpdate, or TouchEnd is unnecessary. The type can be easily deduced from the touch point states. In fact handleTouchEvent already collected the combined point states, it was just not utilized until now. Change-Id: Icf3c787fefdebc51609a763bc4286c18a0b6aac2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Extend touch events.Laszlo Agocs2011-12-092-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The capability flags indicate which information is valid in the touch points. Previously there was no way to tell if e.g. the value returned by pressure() is actually the value provided by the driver/device or it is just something bogus due to pressure not being supported. The points' flags return information about the individual touch points. One use case is to differentiate between touches made by finger and pen. Velocity, if available, is now also exposed. Each touch point can now contain an additional list of "raw" positions. These points are not reported individually but are taken into account in some way by the underlying device and drivers to generate the final, "accurate" touch point. In case the underlying drivers expose these additional positions, they are made available in the lists returned by the touch points' rawScreenPosition(). The raw positions are only available in screen coordinates to prevent wasting time with mapping from global positions in applications that do not use this data. Instead, apps can query the QWindow to which the touch event was sent via QTouchEvent::window() and can call mapFromGlobal() manually if they need local raw positions. The capability and device type information is now held in a new QTouchDevice class. Each touch event will contain only a pointer to one of the global QTouchDevice instances. On top of type and capability, the new class also contains a name which can be used to differentiate between multiple touch input devices (i.e. to tell from which one a given QTouchEvent originates from). The introduction of QTouchDevice has three implications: The QTouchEvent constructor and QWindowSystemInterface::handleTouchEvent need to be changed (to pass a QTouchDevice pointer instead of merely a device type value), and each platform or generic plug-in is now responsible for registering one or more devices using the new API QWindowSystemInterface::registerTouchDevice. Change-Id: Ic1468d3e43933d8b5691d75aa67c43e1bc7ffe3e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove mtdev dependency from the touchscreen QPA plugin.Laszlo Agocs2011-10-216-142/+145
| | | | | | | | | | There is no reason to enforce the usage of the mtdev library. As long as ABS_MT_TRACKING_ID is provided protocol type A is perfectly enough. This makes the plugin more suitable for embedded systems. Change-Id: I73ce4a1056a6dc27daacb69dc4761bca393a7e43 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Calculate an area in the touchscreen qpa plugin.Laszlo Agocs2011-10-132-3/+6
| | | | | | | | | | | | Instead of ignoring the touch major/minor and returning a rectangle with width and height of 1, the size of the area is now calculated based on the major. This is incomplete and far from perfect but at least it makes visualizers, like the fingerpaint example app, work out of the box. Change-Id: I3bb70b4d7247f289e5cae4e7de2460ecf2c9d009 Reviewed-on: http://codereview.qt-project.org/6566 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Migrate the touchscreen generic qpa plugin to QWindow.Laszlo Agocs2011-10-131-4/+5
| | | | | | | | | This plugin was still using QApplication and QDesktopWidget. The code is now migrated to QGuiApplication, QWindow, and QScreen. Change-Id: I22a7e15982efea16cbf560d09c8831cd82ed29d0 Reviewed-on: http://codereview.qt-project.org/6528 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Get linux input plugin compiling by removing keyboard supportGunnar Sletta2011-08-094-227/+1
| | | | | | | Change-Id: I46ade27b5dde6c8d326a84e94abbbde1435889f8 Reviewed-on: http://codereview.qt.nokia.com/2765 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fixed build of generic linuxinput plugin.Samuel Rødal2011-07-201-0/+2
| | | | | | | Change-Id: I2289e369c831bfee9646ffe5c587647443548804 Reviewed-on: http://codereview.qt.nokia.com/1870 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Implement todos in touchscreen generic plug-in.Laszlo Agocs2011-07-196-28/+62
| | | | | | | | | | | | The patch implements periodic clearing of the point states when no activity occurs (i.e. no ev_syn is coming at all, meaning that most probably all the fingers are already up) and also moves the entire functionality into a separate thread even when used as a plug-in. Change-Id: Ib1daa738085b61af9b07eb8a284416e5a3fcabe8 Reviewed-on: http://codereview.qt.nokia.com/1744 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Add a touchscreen generic qpa plugin.Laszlo Agocs2011-06-308-0/+755
| | | | | | Change-Id: Iaf79df05eb4f60d254d95f5d0f280a8f8f8a8de8 Reviewed-on: http://codereview.qt.nokia.com/941 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Made qpluginbase.pri into a feature profile.axis2011-05-312-2/+2
| | | | | | | | | | | This enables other modules to use it without having access to the QtBase sources. Change-Id: I0a588b2e14ca88fa068c7c2bcc69ff669444f6c6 Task: QTBUG-19585 Reviewed-on: http://codereview.qt.nokia.com/237 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-246-102/+102
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Introduced the QT.<module>.plugins variable to module profiles.axis2011-04-272-2/+2
|
* Initial import from the monolithic Qt.Qt by Nokia2011-04-278-0/+1078
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12