qjoypad
Control mouse and keyboard with a gamepad
TLDR
Start QJoyPad
Start QJoyPad and look for devices in a specific directory
Start QJoyPad but don't show a system tray icon
Start QJoyPad and force the window manager to use a system tray icon
Force a running instance of QJoyPad to update its list of devices and layouts
Load the given layout in an already running instance of QJoyPad, or start QJoyPad using the given layout
SYNOPSIS
qjoypad [OPTIONS]
PARAMETERS
--layout <file>
Loads the specified layout/profile file upon startup. This allows automated loading of configurations for specific applications.
--no-gui
Starts qjoypad without displaying the graphical user interface. It runs silently in the background, applying the configured mappings. Useful for system startup scripts.
--start-hidden
Launches qjoypad hidden in the system tray instead of opening its main window. The icon will still be visible in the tray for easy access.
--delay <ms>
Introduces a delay (in milliseconds) before qjoypad starts processing events. Can be useful if joystick devices take time to initialize after system boot.
--version
Displays the version information of qjoypad and exits.
--help
Shows a brief help message with available command-line options and exits.
DESCRIPTION
qjoypad is a graphical Linux utility designed to map joystick and gamepad input events to keyboard presses and mouse movements/clicks. This allows users to control applications and games that do not natively support joysticks, by simulating keyboard and mouse input. It's particularly useful for playing older PC games, emulators, or controlling desktop environments with a gamepad. Users can create and save multiple profiles (layouts) tailored for different applications, enabling quick switching between configurations. The application runs primarily as a graphical user interface (GUI) but can also be launched in the background without a visible window, making it suitable for automatic startup.
CAVEATS
qjoypad primarily relies on the X Window System (X11) for input simulation, which means its direct functionality might be limited or require compatibility layers (like XWayland) on modern Wayland-based desktop environments.
Development on qjoypad has been sporadic, and while generally stable, it might occasionally encounter compatibility issues with very new Linux kernels, joystick drivers, or specific hardware setups. Users might need to ensure proper permissions for joystick devices (e.g., being part of the 'input' group).
GRAPHICAL INTERFACE AND PROFILES
The primary interaction with qjoypad is through its intuitive graphical interface. Users can easily assign keyboard keys, mouse buttons, mouse movements, and even complex macros to individual joystick axes and buttons. The ability to save and load multiple 'layout' or 'profile' files is a core feature, allowing users to quickly switch between different control schemes for various games or applications. These profiles store all mappings for a specific joystick and can be loaded via the GUI or command-line options.
BACKGROUND OPERATION
While qjoypad is a GUI application, it can be configured to start automatically at system boot and run silently in the background using the --no-gui or --start-hidden options. This makes it ideal for users who want their joystick mappings active immediately without needing to manually launch the application's window each time.
HISTORY
qjoypad emerged as a valuable tool in the early 2000s for Linux gamers and desktop users seeking to bridge the gap between joystick input and traditional keyboard/mouse controls. At a time when native gamepad support in Linux applications was less common, qjoypad provided a crucial solution for playing a wider range of games (especially Windows games via Wine) and improving accessibility. While newer solutions and Steam's Big Picture mode have gained prominence, qjoypad remains a lightweight and effective option for its specific niche.