- C++ 79.1%
- Objective-C++ 11.2%
- CMake 4.5%
- Java 3.8%
- Objective-C 0.9%
- Other 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The example links Qt::QuickActionStore without ever asking for it. That worked as long as every QML plugin recorded its backing module as a CMake dependency: Qt6QmlConfig loads every file in Qt6Qml/QmlPlugins, so find_package(Qt6 COMPONENTS Quick) pulled in Qt6QuickActionStore by way of its QML plugin. After qtbase commit 2a04c2501f627c6d09f030355c9ab6031b2eebc0 those dependencies are recorded only for Android, and configuring the example standalone fails with Target "mousegrab" links to: Qt::QuickActionStore but the target was not found. Asking for QuickUniversalInput is not enough, because Qt6QuickUniversalInput does not depend on Qt6QuickActionStore. Task-number: QTBUG-149668 Change-Id: Ibea765fdbcd3c7062c62adc3af928826b2bc4c98 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> |
||
| coin | ||
| examples | ||
| LICENSES | ||
| src | ||
| tests | ||
| .cmake.conf | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .tag | ||
| CMakeLists.txt | ||
| configure.cmake | ||
| dependencies.yaml | ||
| licenseRule.json | ||
| README.md | ||
| REUSE.toml | ||
Qt Universal Input
Qt Universal Input is an experimental module that explores cross-platform handling of game controllers, joysticks and other exotic input devices. Its input layer is derived from the input handling of the Godot engine and uses the community SDL game controller database to map physical devices onto a common gamepad layout.
Modules
This repository builds three closely related areas of functionality:
- QtUniversalInput — the core module.
QUniversalInputis a singleton that reports the live state of connected joysticks and gamepads, andQActionStoremaps raw input onto named, game-level actions. - QtGamepad — a thin compatibility module providing the
QGamepadconvenience class for reading a single gamepad. It is implemented on top of QtUniversalInput. - QML modules (
QtUniversalInput,QtActionStore,QtGamepad) that expose the same functionality to Qt Quick.
Platform backends are provided as plugins for Android, iOS, Linux (evdev), macOS and Windows.
Building
The module builds like any other Qt module:
qt-configure-module /path/to/qtgamepad
cmake --build .
Examples
The examples/universalinput directory contains several examples, including a
console joystick monitor, an on-screen virtual gamepad, and games driven
through the action-mapping API.
License
Qt Universal Input is available under commercial licenses, and under the
LGPL 3.0, GPL 2.0 and GPL 3.0 open source licenses. Bundled third-party
components are covered by their own licenses; see the LICENSES directory and
the qt_attribution.json files for details.
