1{
2 lib,
3 mkDerivation,
4 fetchFromGitHub,
5 pkg-config,
6 cmake,
7 libX11,
8 libXtst,
9 qtbase,
10 qttools,
11 qtx11extras,
12}:
13mkDerivation rec {
14 pname = "qjoypad";
15 version = "4.3.1";
16
17 src = fetchFromGitHub {
18 owner = "panzi";
19 repo = pname;
20 rev = "v${version}";
21 hash = "sha256:1w26ddxb1xirb7qjf7kv9llxzjhbhcb7warnxbx41qhbni46g26y";
22 };
23
24 nativeBuildInputs = [
25 pkg-config
26 cmake
27 qttools
28 ];
29 buildInputs = [
30 libX11
31 libXtst
32 qtbase
33 qtx11extras
34 ];
35
36 meta = with lib; {
37 description = "Program that lets you use gaming devices anywhere";
38 longDescription = ''
39 A simple Linux/QT program that lets you use your gaming devices
40 where you want them: in your games! QJoyPad takes input from a
41 gamepad or joystick and translates it into key strokes or mouse
42 actions, letting you control any XWindows program with your game
43 controller. This lets you play all those games that for some
44 reason don't have joystick support with your joystick. QJoyPad
45 also gives you the advantage of multiple saved layouts so you
46 can have a separate setting for every game, or for every class
47 of game! That way you can play your games the way you want, not
48 the way the programmers decided, and you can have the same
49 button be "fire" in every one of your space fighters. QJoyPad
50 gives you the freedom and flexibility to really take advantage
51 of gaming devices in Linux, and makes the Linux gaming
52 experience just a little bit nicer.
53 '';
54 homepage = "https://github.com/panzi/qjoypad/";
55 license = lib.licenses.gpl2Only;
56 platforms = with platforms; linux;
57 mainProgram = "qjoypad";
58 };
59}