Commit Graph

325 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
49c36ac0f1 .github: use new common driver build actions
Using the new driver build actions in X11Libre/actions-build-driver repo,
instead of having lots of duplicated pipeline and script in all the
individual driver repos.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-23 10:10:10 +01:00
Enrico Weigelt, metux IT consult
435ff07ff3 configure.ac: probe module directory only via pkg-config
In general, the xserver should be authority on where to place modules.

If some distro *REALLY* wants to do something differently, they shall
do it via own patches or post-processing and take full responsibility
for it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 17:24:50 +01:00
Enrico Weigelt, metux IT consult
5b8ddc8c56 replace tabs by whitespace
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:55:37 +01:00
Enrico Weigelt, metux IT consult
643aebbbc3 configure.ac: formatting cleanups
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:51:48 +01:00
Enrico Weigelt, metux IT consult
a1a1241b20 configure.ac: increase minimum xserver version to 25.0.0
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:50:12 +01:00
Enrico Weigelt, metux IT consult
8292cff4cf don't install header file anymore
Nothing's compiling against this driver, so it shouldn't install
header files. If these constants are considered a public spec,
then they should go to some appropriate proto package.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:47:35 +01:00
Enrico Weigelt, metux IT consult
672c00900c release 25.0.0
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
xlibre-xf86-input-joystick-25.0.0
2025-12-18 18:24:55 +01:00
Enrico Weigelt, metux IT consult
0541fbe830 configure.ac: replace DRIVER_NAME symbol by actual name
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-18 12:29:52 +01:00
Enrico Weigelt, metux IT consult
ddc32e59b9 drop obsolete #ifdef HAVE_CONFIG_H
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-17 18:56:58 +01:00
Enrico Weigelt, metux IT consult
398b259e0a drop .gitlab-ci.yml
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-17 18:50:22 +01:00
Enrico Weigelt, metux IT consult
bf09f5e5ba drop xorg-joystick.pc
Nothing ever compiling against this driver, so no .pc file needed.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-17 18:42:54 +01:00
Enrico Weigelt, metux IT consult
c0ba3d3707 man: replace Xorg by XLibre
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-16 15:57:09 +01:00
Enrico Weigelt, metux IT consult
8ba4f31204 configure.ac: replace Xorg by XLibre
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-16 15:57:06 +01:00
Enrico Weigelt, metux IT consult
668512856e README.md: fix URLs
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-16 12:22:44 +01:00
Enrico Weigelt, metux IT consult
99fc62133f release 1.6.5
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
xlibre-xf86-input-joystick-1.6.5
2025-12-15 17:07:29 +01:00
Enrico Weigelt, metux IT consult
89cc8a2a39 configure.ac: fix package name and issue tracker URL
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-15 13:24:46 +01:00
Alan Coopersmith
a8a239fb91 Strip trailing whitespace from source files
Performed with: `git ls-files | xargs perl -i -p -e 's{[ \t]+$}{}'`

`git diff -w` & `git diff -b` show no diffs from this change

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/10>
2025-12-09 11:52:28 +01:00
b-aaz
931dbdbb84 configure: Automatically detect the default xorg-module-dir.
The module directory has changed to a per ABI folder in the xlibre-xserver.
Now the default value of `xorg-module-dir` will be detected from the `moduledir` variable in xorg-server.pc.

Signed-off-by: b-aaz <b-aazbsd.proton.me>
xlibre-xf86-input-joystick-1.6.4.2
2025-07-29 18:50:47 +02:00
Enrico Weigelt, metux IT consult
dfa3ba461b .github: add CI pipeline
This pipeline builds the driver against the latest Xserver stable
release as well as current master.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-29 17:23:42 +02:00
callmetango
865b2520e8 .github: Add issue forms
Add the following forms for issue creation:

* Bug report
* Feature request
* Code change
* Documentation update
* Organizational task

* add issue type selection page on "New Issue" call
* mention Github Discussions and the mailing list where appropriate

Part-of: X11Libre/misc#156
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
2025-07-07 17:01:27 +02:00
Alan Coopersmith
f6e29f848a Improve man page formatting
More closely follow common style as described on
https://man7.org/linux/man-pages/man7/man-pages.7.html
and fix warnings raised by `mandoc -T lint` and `groff -rCHECKSTYLE=10`

Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/9>
xlibre-xf86-input-joystick-1.6.4.1
2025-06-01 15:36:36 -07:00
Enrico Weigelt, metux IT consult
75daef8c34 use strdup() instead of xstrdup() / Xstrdup()
Those call sites can never pass in NULL, so it's safe to use strdup()

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/8>
2025-03-04 14:09:40 +01:00
Enrico Weigelt, metux IT consult
fa296d27fb drop compat with ancient xservers
Relying on >= 1.18, which has XINPUT 22.1.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/6>
2024-07-27 22:37:02 +00:00
Enrico Weigelt, metux IT consult
5f6820549b fix FTBS on FreeBSD
Work around name clash between linux/input.h and xf86str.h

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/7>
2024-06-05 09:42:39 +02:00
theofficialgman
06a4edcea3 use standard mouse button names for left/right/middle click and scroll wheel
also fixes incorrect labeling of absolute and relative axis

Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/-/merge_requests/5>
2024-05-13 12:15:45 -04:00
Enrico Weigelt, metux IT consult
a5f72befe2 stop using long deprecated xf86BlockSIGIO() and xf86UnblockSIGIO()
These functions have been replaced by input_lock() and input_unlock()
about a decade ago and only exisiting as inlined wrappers.

v2: increase required server version to 1.18.99.2

No need to support almost 1.5 decades old and unmaintained Xserver version,
almost one decade is more than enough ;-)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-24 09:55:29 -08:00
Alan Coopersmith
c8d19c805d gitlab CI: ensure libtool is installed in build container
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-10-01 12:01:04 -07:00
Alan Coopersmith
8326644a0d xf86-input-joystick 1.6.4
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
xf86-input-joystick-1.6.4
2022-12-08 16:03:10 -08:00
Alan Coopersmith
9bb1dbbaef gitlab CI: stop requiring Signed-off-by in commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-12-08 16:01:29 -08:00
Alan Coopersmith
0e37171b20 gitlab CI: add a basic build test
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 11:23:24 -08:00
Alan Coopersmith
758adebe13 Fix spelling/wording issues
Found by using:
    codespell --builtin clear,rare,usage,informal,code,names

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 11:01:54 -08:00
Alan Coopersmith
aca8dee2b3 Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 10:58:36 -08:00
Alan Coopersmith
2d7f96e5ac Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-25 12:46:18 -08:00
Alan Coopersmith
64d03c11a7 Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-18 11:32:37 -08:00
Alan Coopersmith
463fd02a4e Fix quoting in man page synopsis section
Fixes: https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick/issues/1

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-08-16 22:58:22 -07:00
Manuel Bouyer
f45c3d0f35 Adapt to USB HID header changes on NetBSD-8.99.9.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
2018-01-08 15:09:06 -05:00
Mihail Konev
e28608c8fb autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
2017-01-26 14:00:21 +10:00
Emil Velikov
6920963c8f autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-01-26 11:26:20 +10:00
Peter Hutterer
73a8c29082 autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-01-26 11:25:39 +10:00
Colin Walters
99a2b4957a autogen.sh: Implement GNOME Build API
http://people.gnome.org/~walters/docs/build-api.txt

Signed-off-by: Adam Jackson <ajax@redhat.com>
2017-01-26 11:25:39 +10:00
Peter Hutterer
2a35c37bb2 configure: Drop AM_MAINTAINER_MODE
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-01-26 11:18:15 +10:00
Peter Hutterer
de424865ec joystick 1.6.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-joystick-1.6.3
2016-11-18 08:58:35 +10:00
Matthieu Herrb
60d0e9c451 use xf86{Add,Remove}EnabledDevice()
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-16 18:15:03 +10:00
Hans de Goede
baf8bd4441 Add support for server managed fds
Keep things simple by handling server managed fds in the common parts
of the open and close paths.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-03-20 12:14:06 +10:00
Hans de Goede
341d23ceaa Add a generic jstkCloseDevice helper function
This is a preparation patch for adding support for server managed fds.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-03-20 12:13:35 +10:00
Hans de Goede
6de3b75c45 Use jstkCloseDevice_* on error in jstkOpenDevice_* backend functions
This is a preparation patch for adding support for server managed fds, this
also fixes a missing free() in an error handling path in the evdev back-end.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-03-20 12:12:55 +10:00
Peter Hutterer
a976a85aef Handle DEVICE_ABORT for input ABI 19.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-10-10 14:02:18 +10:00
Sascha Hlusiak
426c3aa3c8 joystick 1.6.2
Signed-off-by: Sascha Hlusiak <saschahlusiak@arcor.de>
xf86-input-joystick-1.6.2
2013-01-16 11:10:38 +01:00
Sascha Hlusiak
8f9342484a config: warning in default xorg.conf.d snippet: do not enable by default
see discussion: https://bugs.gentoo.org/show_bug.cgi?id=403003

distributions should not ship the module enabled by default, because a lot
of users have the joystick module installed without knowing, resulting in
confusion and bad user experience when trying to play games, the more
likely usecase when plugging in a joystick.

the default configuration only fits for a limited number of users.

it does not make much sense to automatically enable hotplugging of the
module without explicit user consent and reviewing of the configuration.

Signed-off-by: Sascha Hlusiak <saschahlusiak@arcor.de>
2013-01-16 11:10:38 +01:00
Sascha Hlusiak
819ba33c9d jast_axis: tune accelerated axis transformation to better work with circular axis fields
reference: https://bugs.freedesktop.org/show_bug.cgi?id=42399

joysticks with a rectangular field have a
corner position of (32768,32768), joysticks with a
circular field have (23170,23170).

make sure that diagonal movement feels fast. either:
1) linear

  f(32768) ~= f(23170) + f(23170)
  f(32768) ~= a * f(23170)
         a  = 2.0

  on circular joysticks, the time needed for xy movement is
  exactly the time needed for x + the time for y separately.
  absolute diagonal travel speed (in cm/s) is 0.707 times as fast,
  which feels pretty slow.

  on square joysticks, diagonal travel speed is always 1.41 times
  faster than orthogonal travel speed. time needed for diagonal
  movement is always 0.5 times as long as for orthogonal movement.

  the value of a = 2.0 results in a nice, non-linear acceleration.

or
2) trigonometric

  f(32768) ~= sqrt(f(23170)^2 + f(23170)^2))
  f(32768) ~= a * f(23170)
  a = 1.414

on circular joysticks, the absolute pointer travel speed
(in cm/s) is now the same for both linear and diagonal movement,
which feels natural. moving diagonally takes 0.707 times the time
of moving orthogonally.

on square joysticks, values are as in 1)

the value of a = 1.414 results in linear acceleration, which feels
too slow.

to maintain non-linear acceleration, make sure that:

a >>= 1.414

the following formula achieves results inbetween,
so it should feel natural on both devices while maintaining a
nice acceleration:

f(32768) ~= 1.620 * f(23170)
2013-01-16 10:50:40 +01:00