LinuxCommandLibrary

qjoypad

Control mouse and keyboard with a gamepad

TLDR

Start QJoyPad

$ qjoypad
copy

Start QJoyPad and look for devices in a specific directory
$ qjoypad --device=[path/to/directory]
copy

Start QJoyPad but don't show a system tray icon
$ qjoypad --notray
copy

Start QJoyPad and force the window manager to use a system tray icon
$ qjoypad --force-tray
copy

Force a running instance of QJoyPad to update its list of devices and layouts
$ qjoypad --update
copy

Load the given layout in an already running instance of QJoyPad, or start QJoyPad using the given layout
$ qjoypad "[layout]"
copy

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.

SEE ALSO

jstest(1), evtest(1), xmodmap(1), xboxdrv(1)

Copied to clipboard