3
1
Fork
You've already forked qtgamepad
0
No description
  • C++ 76.3%
  • Objective-C++ 13.4%
  • Java 4.6%
  • CMake 4.2%
  • Objective-C 1.1%
  • Other 0.4%
Alexandru Croitor 6de4c9d2ad CMake: Fix target conflict with qthttpserver simple example
Change-Id: I404097f1c7937b968e433838e1574435d9d07dcf
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2026年06月05日 12:37:43 +00:00
coin Restore buildable state on dev after CMake conversion 2026年06月03日 15:55:18 +00:00
examples CMake: Fix target conflict with qthttpserver simple example 2026年06月05日 12:37:43 +00:00
LICENSES Add source SBOM and REUSE licensing metadata 2026年06月03日 15:55:39 +00:00
src Add module documentation 2026年06月05日 12:37:29 +00:00
tests Add unit tests for the input module 2026年06月05日 12:37:26 +00:00
.cmake.conf Restore buildable state on dev after CMake conversion 2026年06月03日 15:55:18 +00:00
.gitattributes import missing .gitattributes 2016年05月10日 17:30:12 +00:00
.gitignore Cleanup Examples 2017年02月03日 13:46:51 +00:00
.gitmodules Expand scope of QtGamepad to QtUniversalInput 2024年06月09日 19:22:21 +02:00
.tag import missing .gitattributes 2016年05月10日 17:30:12 +00:00
CMakeLists.txt Expand scope of QtGamepad to QtUniversalInput 2024年06月09日 19:22:21 +02:00
configure.cmake Expand scope of QtGamepad to QtUniversalInput 2024年06月09日 19:22:21 +02:00
dependencies.yaml Restore buildable state on dev after CMake conversion 2026年06月03日 15:55:18 +00:00
licenseRule.json Add source SBOM and REUSE licensing metadata 2026年06月03日 15:55:39 +00:00
README.md Add module documentation 2026年06月05日 12:37:29 +00:00
REUSE.toml Add source SBOM and REUSE licensing metadata 2026年06月03日 15:55:39 +00:00

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.

Stylistic Gamepads

Modules

This repository builds three closely related areas of functionality:

  • QtUniversalInput — the core module. QUniversalInput is a singleton that reports the live state of connected joysticks and gamepads, and QActionStore maps raw input onto named, game-level actions.
  • QtGamepad — a thin compatibility module providing the QGamepad convenience 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.