summaryrefslogtreecommitdiffstats
path: root/src/input/frontend
Commit message (Collapse)AuthorAgeFilesLines
* Use a more suitable name for qt3d input devices.BogDan Vatra2016-01-141-1/+1
| | | | | | | Export proper MODULE_PLUGIN_TYPES Change-Id: Id1b51aafd318b1c0800cc194e006e5585d8c159d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Added front end classes as a start to support aggregate actionsColin Ogilvie2016-01-128-2/+533
| | | | | Change-Id: Ic852ccf3994bb8604924687165bb49cb1dec3077 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Start at implementing QAbstractAction InputColin Ogilvie2016-01-127-16/+135
| | | | | Change-Id: I392dd326cb0bf1b8c12b72d8554a866156d43e76 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Stop using enum references that require C++11.Raphael Kubo da Costa2015-12-302-27/+27
| | | | | | | | | | | Use Qt::Foo instead of Qt::Enum::Foo, which is a C++11 extension. When building with clang without -std=c++11, this results in warnings. With older GCC versions, the code simply does not build. This is similar to commit deffdaf9 ("GraphicsHelper: fix switch"). Change-Id: I28389b90bafb3df87187742ef55267ce2df1ba1a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Allow device integration impls to see the aspectKevin Ottens2015-12-212-0/+9
| | | | | Change-Id: I257ecd56a454ba7ad969859fad94fc45a8e729c4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move services() and jobManager() to the pimplKevin Ottens2015-12-171-1/+1
| | | | | | | This way we avoid leaking private types through public API. Change-Id: Ifb30d7e57d8b995bba8cf9a95ae77f8d7818d79a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputDeviceIntegration can register backend typesKevin Ottens2015-12-173-2/+24
| | | | | | | | No need to make registerBackendType() public on QInputAspect anymore, it's properly exposed to the QInputDeviceIntegration sub classes only. Change-Id: Ica44e0d37f9e6eecb099d87b0420a7b8bbc6ab59 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QInputDeviceIntegration::initialize() saferKevin Ottens2015-12-173-1/+14
| | | | | | | | initialize() is now public and non virtual, only recording the aspect pointer, while doInitialize() is private and pure virtual. Change-Id: Ic68b7b729205d9ec01927e9dc576cab16f53d18e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add missing pimpl to QInputeDeviceIntegrationKevin Ottens2015-12-174-2/+91
| | | | | Change-Id: I87cc1525adf0dc0665affe3797f3be79ae1294b5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove useless reimplementationsKevin Ottens2015-12-162-10/+0
| | | | | Change-Id: I0b19646de41014274674c75650028980076b8349 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Only aspect subclasses register backend typesKevin Ottens2015-12-161-0/+2
| | | | | | | | Also make registerBackendType public on QInputAspect for now since its plugins will also need to register backend types. Change-Id: I7b07162d806b5644daf12f6b22161677f16da38e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Implement dead zone supportSean Harmer2015-12-161-2/+2
| | | | | Change-Id: Icd5d31ba690484dc310de872be9df3ec9a520c63 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Turn all services private for nowKevin Ottens2015-12-121-2/+2
| | | | | Change-Id: I9da605c77c5489b9bef4f07079e05f8babb9559f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename Q3D*Event to Q*Event and handle namespaceMike Krus2015-12-1010-148/+149
| | | | | | | | Q3DMouseEvent, Q3DWheelEvent, Q3DKeyEvent Also removed unused variables and fixed some formatting Change-Id: Ie4c531f2084875fe4d8b6ac9bafd2b3c085dead4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use lists of ints for axes on axis settingsSean Harmer2015-12-092-8/+8
| | | | | Change-Id: Ie1cc4b46f7888f4e9ecdecb0b204c30703da36ee Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Added parameters to signals and made setters Q_SLOTSTomi Korpipää2015-12-0914-39/+46
| | | | | | Change-Id: Icec2f9f207221e35ffdeeb594bb9b4dc6ef890f1 Task-number: QTBUG-49797 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add sensitivity property to QMouseControllerSean Harmer2015-12-073-1/+36
| | | | | | | | | | | | | | The sensitivity is defined as the recipricol of the number of pixels the mouse is required to move to obtain the extreme axis value (-1 or +1). That is if you set it to 0.1 you need to move the mouse 10 pixels to get an axis value of magnitude 1. If it is 0.01, 100 pixels gives an axis value of magnitude 1. The user is responsible for applying any additional transformations in a suitable handler. Change-Id: I51cd28a17d4fc0b8461ac3e49efb26b2c66081b3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* MouseController: various fixesPaul Lemire2015-12-071-0/+2
| | | | | Change-Id: Ie6f90a8b0ffca4a20b90edebb70b41a210246d2a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QMouseController: converted to QAbstractPhysicalDevicePaul Lemire2015-12-073-9/+72
| | | | | Change-Id: I532e7378fe459ec201629b3ec3f0c9a69acf691f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Input: make KeyboardController a physical devicePaul Lemire2015-12-075-7/+208
| | | | | Change-Id: I8b3de65348006fda1156adc9b55744055eef969c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAxisInput/QActionInput: use list of int rather than int maskPaul Lemire2015-12-044-14/+12
| | | | | | | Needed to allow devices like keyboards which have more than 64 keys Change-Id: Ia837285ba9c5b7c26d3d89046d7d9f7a4cddb2ba Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractPhysicalDevice: Remove axis/buttons methodsPaul Lemire2015-12-041-3/+0
| | | | | | | They do not need to be on the frontend node Change-Id: I16cd5ad9a2d556916a3d8f4e6856eddf00fb7d3e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Further improve axis/action dispatchPaul Lemire2015-12-041-12/+14
| | | | | Change-Id: I6c6dd6b6c78f1c348ef75f6dae4c68b64ba638b2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Transmit axis/action updates to QAxisActionHandlerPaul Lemire2015-12-043-11/+41
| | | | | Change-Id: I4d1fbc3e06ff649ef73cb6a3f2458a8147a7151d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Store vector of active AxisActionHandlersPaul Lemire2015-12-041-4/+9
| | | | | Change-Id: I33fb52391936d8f19757351aded8b1dae662fee3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAxisActionHandler: make ctor explicitPaul Lemire2015-12-041-1/+1
| | | | | Change-Id: I4d2ed6a94e69783b5f2865459ad948b7fc1bdef1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add backend class for axis-action handlerSean Harmer2015-12-041-0/+3
| | | | | | | And do usual registration. Change-Id: I8d1ceadda1138e3bb298e95a6d0f8a635188595e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add signal and normalise signatures in QAxisActionHandlerSean Harmer2015-12-041-2/+3
| | | | | Change-Id: I27c854f56b9f3f2eee2f7ba7f60e480dc67c7491 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QActionHandler to QAxisActionhandlerSean Harmer2015-12-044-28/+28
| | | | | | | No need to have two classes for the handlers. Change-Id: Ia174502f21b5392179774ce8e0d8f2cd228a7ea6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Store logical device in QActionHandlerSean Harmer2015-12-043-19/+5
| | | | | Change-Id: I6bd53c04460df463d93e91c6b2ae94a2e68a98d7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add started() and finished() signals to QActionSean Harmer2015-12-041-0/+3
| | | | | Change-Id: I809e634ccdb9f41861b4e44ea58af03525ff4c44 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Store logical device in QActionHandlerSean Harmer2015-12-043-4/+46
| | | | | Change-Id: Iab92eb3974c335a16b01cb1455ddd219c36490cd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QActionHandler frontend classSean Harmer2015-12-044-2/+227
| | | | | | | Still need all the dynamic signal handler magic adding to it. Change-Id: I8bc49f46c09bee7d9153c007fc224e314a4d02ce Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Factor out in QAbstractAspect common behaviorKevin Ottens2015-12-032-35/+0
| | | | | | | | There was code involving the node visitor duplicated in several aspect, move that logic back into their common base class: QAbstractAspect. Change-Id: I47320e93691edb43e3cccdd81753423816ad955d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move the QT3D_REGISTER_*_ASPECT macros to QAbstractAspectKevin Ottens2015-12-011-1/+0
| | | | | | | First step toward turning QAspectFactory into a private class. Change-Id: Ia62aae820fde1ab3cee0c5852d10981c6b9f4970 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QInputAspect: launch an axis/action update framePaul Lemire2015-11-302-6/+15
| | | | | Change-Id: I78038ed7a559647db87be800a8fe2d080da3620c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* LogicalDeviceManager: store vector of active LogicalDevice instancesPaul Lemire2015-11-301-1/+6
| | | | | | | | Will make it easier to find all the logical devices and update the axis/actions for them. Change-Id: I839da4a87f650a429957c0fcecf196e02bad2f13 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Export QAbstractPhysicalDevicePrivatePaul Lemire2015-11-301-1/+3
| | | | | Change-Id: I680779ca9f49689406e24f4221fd6a6c00ea5079 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect: add a comments regarding QInputDeviceIntegration::initializePaul Lemire2015-11-301-0/+4
| | | | | Change-Id: I7a5f20fdd4704a0229fed66c350f0a99490c4908 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputDeviceIntegration: update to retrieve physical devices and their backendPaul Lemire2015-11-301-0/+5
| | | | | Change-Id: I7698bd96b74dd8837448fb4afcd1f316e7948764 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractPhysicalDevice: allow to create by providing a private QNode dptrPaul Lemire2015-11-301-1/+1
| | | | | | | Also fix a getter to be const Change-Id: Ib838d6d2ab4d4efd0d092b8517802c37cac6e28c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add API to handle QAxisSettings in QAbstractPhysicalDeviceSean Harmer2015-11-294-7/+131
| | | | | Change-Id: I8d40a0fcd315f3408dfa734fa43c1cef664e3ec2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Register backend type for AxisSettingSean Harmer2015-11-291-0/+3
| | | | | Change-Id: Ifba69b66cdc2eef2779b48a3742f107ba58c5f09 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputDevicePlugin: Remove useless and dangerous Q_DECLARE_INTERFACEPaul Lemire2015-11-291-2/+0
| | | | | | Change-Id: I1e6d86d6b80e3775a8437ad6186212accbeb2400 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add missing export to QInputDeviceIntegrationPaul Lemire2015-11-281-1/+1
| | | | | Change-Id: Ibbf0d4b42a88ce78396d1bb80223207ba4199372 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add QAxisSetting frontend classSean Harmer2015-11-283-2/+220
| | | | | Change-Id: I9f433f7deb19027c8a136a24ee0b7edc0c38fce0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QInputAspect: createPhysicalDevicePaul Lemire2015-11-283-4/+20
| | | | | | | | | Lookups al the QInputDeviceIntegration to find the first one able to instantiate a QAbstractPhysicalDevice given a name. Change-Id: I1a2ba10105024400a322d61e39a6a66e678aabe6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractPhysicalDevice: add API to introspect axes/buttonsPaul Lemire2015-11-281-1/+10
| | | | | Change-Id: I6a4ddc7d5ef400cf35d133deb54029abbdf36400 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAxisInput: keys specified as a bit mask directlyPaul Lemire2015-11-282-6/+7
| | | | | Change-Id: If4a3cc675c4bd58e1d3b389144d85d1a8e477fe5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QActionInput: keys specified as a bit mask directlyPaul Lemire2015-11-282-8/+7
| | | | | Change-Id: Idbc36d2a391fa2dcf21735f85a5b2d3859c97450 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>