Compare commits

...

15 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
8bdf7f1d44 configure.ac: use AC_CONFIG_FILES() macro
passing output file names directly to AC_OUTPUT() is deprecated.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-12 12:15:59 +01:00
Enrico Weigelt, metux IT consult
f32592af5b configure.ac: query input_drivers_dir from xlibre-server.pc
Use new pkg-config name and variable for retrieving the input
driver installation directory.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-12 09:11:29 +01:00
Enrico Weigelt, metux IT consult
3c37d58f21 man: use autoconf instead of extra sed run
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-08 16:56:17 +01:00
Enrico Weigelt, metux IT consult
83d7cfecfd replace obsolete "pointer" typedef by void*
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-02 18:03:28 +01:00
Enrico Weigelt, metux IT consult
93d89e4374 .github: update action version
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-30 15:45:35 +01:00
Enrico Weigelt, metux IT consult
87f04d892f .github: add freebsd and dragonfly bsd build
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-27 14:19:17 +01:00
Enrico Weigelt, metux IT consult
173cdfa20a .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:09:07 +01:00
polaris
4d30b39c0a configure.ac: make libudev optional 2025-12-22 22:20:26 +01:00
Enrico Weigelt, metux IT consult
0f8cbdff4f configure.ac: query xserver directories via pkg-config
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 17:01:10 +01:00
Enrico Weigelt, metux IT consult
77129e1138 evdev-properties: drop unused EVDEV_PROP_REOPEN
Not used for 16 years now. See 59056e656c.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:25:50 +01:00
Enrico Weigelt, metux IT consult
114073c225 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:25:48 +01:00
Enrico Weigelt, metux IT consult
13fb800c0c drop compat with xserver < 24.0
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:13:01 +01:00
Enrico Weigelt, metux IT consult
cfac96b809 drop compat with Xserver < 21.0
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:09:52 +01:00
Enrico Weigelt, metux IT consult
5c74de60b3 drop compat with ancient xservers
Relying on xserver >= 1.18, which has XINPUT 22.1

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 15:08:12 +01:00
Enrico Weigelt, metux IT consult
679c6cb77f 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:05:38 +01:00
19 changed files with 63 additions and 437 deletions

View File

@@ -1,69 +0,0 @@
name: 'build driver'
description: 'build driver against specific Xserver'
inputs:
xserver-version:
required: true
runs:
using: "composite"
steps:
- name: check out driver repo
uses: actions/checkout@v4
- name: prepare build environment
shell: bash
run: |
MACHINE=`gcc -dumpmachine`
echo "MACHINE=$MACHINE" >> "$GITHUB_ENV"
echo "PKG_CONFIG_PATH=$X11_PREFIX/share/pkgconfig:$X11_PREFIX/lib/$MACHINE/pkgconfig:$X11_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" >> "$GITHUB_ENV"
sudo chown root /bin/tar && sudo chmod u+s /bin/tar
- name: apt cache
uses: actions/cache@v4
with:
path: /var/cache/apt
key: apt-cache-${{ hashFiles('.github/scripts/ubuntu/install-pkg.sh') }}
restore-keys: apt-cache-
- name: pkg install
shell: bash
run: sudo .github/scripts/ubuntu/install-pkg.sh
- name: X11 prereq cache
uses: actions/cache@v4
with:
path: |
${{ env.X11_PREFIX }}
key: ${{ runner.name }}-x11-deps-${{ hashFiles('.github/scripts/install-prereq.sh') }}
restore-keys: ${{ runner.name }}-x11-deps-
- name: generic prereq
shell: bash
run: .github/scripts/install-prereq.sh
- name: check out xserver repo
uses: actions/checkout@v4
with:
repository: X11Libre/xserver
path: xserver-sdk
ref: ${{ inputs.xserver-version }}
- name: build xserver sdk
shell: bash
env:
MESON_ARGS: -Dc_args="-fno-common" -Dprefix=/usr -Dnamespace=false -Dxselinux=false -Dxephyr=false -Dwerror=false -Dxcsecurity=false -Dxorg=true -Dxvfb=false -Dxnest=false -Ddocs=false
run: |
cd xserver-sdk
echo -n > .meson_environment
echo "export MESON_BUILDDIR=$MESON_BUILDDIR" >> .meson_environment
echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> .meson_environment
.gitlab-ci/meson-build.sh --skip-test
sudo meson install --no-rebuild -C "$MESON_BUILDDIR"
sudo mkdir -p /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules
sudo chown -R runner /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules
- name: compile driver
shell: bash
run: |
CFLAGS="-Wall" ./autogen.sh # --prefix=$X11_PREFIX
CFLAGS="-Wall" make -j # install

View File

@@ -1,13 +0,0 @@
export X11_OS=`uname -s`
export X11_PREFIX="${X11_PREFIX:-$HOME/x11}"
export X11_BUILD_DIR="${X11_BUILD_DIR:-$HOME/build-deps}"
export DRV_BUILD_DIR="${DRV_BUILD_DIR:-$HOME/build-drivers}"
case "$X11_OS" in
Darwin) export FDO_CI_CONCURRENT=`sysctl -n hw.logicalcpu` ;;
Linux) export FDO_CI_CONCURRENT=`nproc` ;;
esac
export PATH="$X11_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="$X11_PREFIX/lib/x86_64-linux-gnu/pkgconfig:$X11_PREFIX/lib/pkgconfig:$X11_PREFIX/share/pkgconfig:$PKG_CONFIG_PATH"

View File

@@ -1,17 +0,0 @@
#!/bin/bash
err() {
echo "$0: $*"
}
[ "$GITHUB_REPOSITORY" ] || err "missing variable GITHUB_REPOSITORY"
TITLE=$(git tag -l --format='%(contents)' $tag)
echo "tag=$tag"
echo "title=$TITLE"
gh release create "$tag" \
--repo="$GITHUB_REPOSITORY" \
--title="$tag" \
--generate-notes

View File

@@ -1,15 +0,0 @@
#!/bin/bash
set -e
. .github/scripts/util.sh
mkdir -p $X11_BUILD_DIR
cd $X11_BUILD_DIR
if [ "$X11_OS" = "Linux" ]; then
build_meson drm https://gitlab.freedesktop.org/mesa/drm libdrm-2.4.121 "" \
-Domap=enabled
fi
build_meson libxcvt https://gitlab.freedesktop.org/xorg/lib/libxcvt libxcvt-0.1.0
build_ac xorgproto https://gitlab.freedesktop.org/xorg/proto/xorgproto xorgproto-2024.1

View File

@@ -1,94 +0,0 @@
#!/bin/bash
set -e
# Packages which are needed by this script, but not for the xserver build
EPHEMERAL="
libexpat-dev
libgles2-mesa-dev
libxkbcommon-dev
x11-utils
x11-xserver-utils
xauth
xvfb
"
apt-get update
apt-get install -y \
$EPHEMERAL \
autoconf \
automake \
build-essential \
ca-certificates \
libaudit-dev \
libbsd-dev \
libcairo2-dev \
libdbus-1-dev \
libdrm-dev \
libegl1-mesa-dev \
libepoxy-dev \
libevdev2 \
libexpat1 \
libffi-dev \
libgbm-dev \
libgcrypt-dev \
libgl1-mesa-dev \
libgles2 \
libglx-mesa0 \
libinput10 \
libinput-dev \
libnvidia-egl-wayland-dev \
libpciaccess-dev \
libpixman-1-dev \
libspice-protocol-dev \
libsystemd-dev \
libudev-dev \
libunwind-dev \
libx11-dev \
libx11-xcb-dev \
libxau-dev \
libxaw7-dev \
libxcb-glx0-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-keysyms1-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-util0-dev \
libxcb-xf86dri0-dev \
libxcb-xkb-dev \
libxcb-xv0-dev \
libxcb1-dev \
libxdmcp-dev \
libxext-dev \
libxfixes-dev \
libxfont-dev \
libxi-dev \
libxinerama-dev \
libxkbcommon0 \
libxkbfile-dev \
libxmu-dev \
libxmuu-dev \
libxpm-dev \
libxrender-dev \
libxres-dev \
libxshmfence-dev \
libxt-dev \
libxtst-dev \
libxv-dev \
mesa-common-dev \
meson \
nettle-dev \
libpango1.0-dev \
pkg-config \
x11-xkb-utils \
xfonts-utils \
xkb-data \
xtrans-dev \
xutils-dev \
libxaw7-dev \
python3-mako

View File

@@ -1,85 +0,0 @@
. .github/scripts/conf.sh
clone_source() {
local pkgname="$1"
local url="$2"
local ref="$3"
local commit="$4"
if [ ! -f $pkgname/.git/config ]; then
echo "need to clone $pkgname"
if [ "$commit" ]; then
git clone $url $pkgname --branch=$ref
else
git clone $url $pkgname --branch=$ref --depth 1
fi
else
echo "already cloned $pkgname"
fi
if [ "$commit" ]; then
( cd $pkgname && git checkout -f "$commit" )
fi
}
build_meson() {
local pkgname="$1"
local url="$2"
local ref="$3"
local commit="$4"
shift
shift
shift
shift || true
if [ -f $X11_PREFIX/$pkgname.DONE ]; then
echo "package $pkgname already built"
else
clone_source "$pkgname" "$url" "$ref" "$commit"
(
cd $pkgname
meson "$@" build -Dprefix=$X11_PREFIX
ninja -j${FDO_CI_CONCURRENT:-4} -C build install
)
touch $X11_PREFIX/$pkgname.DONE
fi
}
build_ac() {
local pkgname="$1"
local url="$2"
local ref="$3"
local commit="$4"
shift
shift
shift
shift || true
if [ -f $X11_PREFIX/$pkgname.DONE ]; then
echo "package $pkgname already built"
else
clone_source "$pkgname" "$url" "$ref" "$commit"
(
cd $pkgname
./autogen.sh --prefix=$X11_PREFIX
make -j${FDO_CI_CONCURRENT:-4} install
)
touch $X11_PREFIX/$pkgname.DONE
fi
}
build_drv_ac() {
local pkgname="$1"
local url="$2"
local ref="$3"
local commit="$4"
shift
shift
shift
shift || true
clone_source "$pkgname" "$url" "$ref" "$commit"
(
cd $pkgname
./autogen.sh # --prefix=$X11_PREFIX
make -j${FDO_CI_CONCURRENT:-4} # install
)
}

View File

@@ -1,43 +1,50 @@
name: Build driver
permissions:
contents: write
env:
MESON_BUILDDIR: "build"
X11_PREFIX: /home/runner/x11
X11_BUILD_DIR: /home/runner/build-deps
on:
push:
pull_request:
jobs:
for-xserver-stable-25_0:
ubuntu:
strategy:
matrix:
xserver-version: [ master, xlibre-xserver-25.1.0, xlibre-xserver-25.0.0.18 ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-driver
- uses: X11Libre/action-build-driver/target/ubuntu@v0.3.7
with:
xserver-version: xlibre-xserver-25.0.0.5
xserver-version: ${{ matrix.xserver-version }}
for-xserver-master:
freebsd:
strategy:
matrix:
xserver-version: [ master, xlibre-xserver-25.1.0, xlibre-xserver-25.0.0.18 ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-driver
- uses: X11Libre/action-build-driver/target/freebsd@v0.3.7
with:
xserver-version: master
xserver-version: ${{ matrix.xserver-version }}
release:
name: Release pushed tag
dragonfly:
strategy:
matrix:
# xlibre-xserver-25.0.x not compiling on dragonfly yet
xserver-version: [ master, xlibre-xserver-25.1.0 ]
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/xlibre-') }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
run: .github/scripts/github/make-release
- uses: X11Libre/action-build-driver/target/dragonfly@v0.3.7
with:
xserver-version: ${{ matrix.xserver-version }}
# Not supported on NetBSD
release-notes:
name: Release pushed tag
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/xlibre-') }}
needs: [ ubuntu, freebsd, dragonfly ]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: X11Libre/action-build-driver/release@v0.3.7

2
.gitignore vendored
View File

@@ -76,3 +76,5 @@ core
# Edit the following section as needed
# For example, !report.pc overrides *.pc. See 'man gitignore'
#
man/evdev.4
man/evdev.man

View File

@@ -21,10 +21,9 @@
# During distcheck, system locations (as provided by pkg-config) may
# not be writable; provide instead relative locations.
DISTCHECK_CONFIGURE_FLAGS = --with-xorg-module-dir='$${libdir}/xorg/modules' \
--with-sdkdir='$${includedir}/xorg'
DISTCHECK_CONFIGURE_FLAGS = --with-xorg-module-dir='$${libdir}/xorg/modules'
SUBDIRS = src man include
SUBDIRS = src man
MAINTAINERCLEANFILES = ChangeLog INSTALL
dist_xorgconf_DATA = 10-evdev.conf

View File

@@ -44,37 +44,22 @@ XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
# Obtain compiler/linker options from server and required extensions
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.18] xproto [inputproto >= 2.1.99.3])
PKG_CHECK_MODULES(UDEV, libudev, [AC_DEFINE(HAVE_LIBUDEV, 1,[libudev support])])
PKG_CHECK_MODULES(XORG, [xorg-server >= 25.0.0] xproto [inputproto >= 2.1.99.3])
PKG_CHECK_MODULES(UDEV, libudev,
[HAVE_UDEV=yes], [HAVE_UDEV=no])
AS_IF([test "$HAVE_UDEV" = "yes"],
[AC_DEFINE([HAVE_LIBUDEV], [1], [Define if libudev is available])])
PKG_CHECK_MODULES(LIBEVDEV, [libevdev >= 0.4])
PKG_CHECK_MODULES(MTDEV, mtdev)
# Define a configure option for an alternate input module directory
PKG_PROG_PKG_CONFIG([0.25])
AC_ARG_WITH(xorg-module-dir,
AS_HELP_STRING([--with-xorg-module-dir=DIR],
[Default xorg module directory]),
[moduledir="$withval"],
[moduledir=`$PKG_CONFIG --variable=moduledir xorg-server`])
inputdir=${moduledir}/input
AC_SUBST(inputdir)
xlibre_input_drivers_dir=`$PKG_CONFIG --variable=input_drivers_dir xlibre-server`
AC_SUBST(xlibre_input_drivers_dir)
AC_ARG_WITH(xorg-conf-dir,
AC_HELP_STRING([--with-xorg-conf-dir=DIR],
[Default xorg.conf.d directory [[default=$prefix/share/X11/xorg.conf.d/]]]),
[xorgconfdir="$withval"],
[xorgconfdir="$prefix/share/X11/xorg.conf.d"])
xorgconfdir=`$PKG_CONFIG --variable=sysconfigdir xorg-server`
AC_SUBST(xorgconfdir)
# X Server SDK location is required to install evdev header files
# This location is also relayed in the xorg-evdev.pc file
sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
# Workaround overriding sdkdir to be able to create a tarball when user has no
# write permission in sdkdir. See DISTCHECK_CONFIGURE_FLAGS in Makefile.am
AC_ARG_WITH([sdkdir], [], [sdkdir="$withval"])
AC_SUBST([sdkdir])
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile include/Makefile])
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile man/evdev.man])
AC_OUTPUT

View File

@@ -1 +0,0 @@
sdk_HEADERS = evdev-properties.h

View File

@@ -56,10 +56,6 @@
/* BOOL, 2 values [x, y], 1 inverts axis */
#define EVDEV_PROP_INVERT_AXES "Evdev Axis Inversion"
/* Reopen attempts. */
/* CARD8 */
#define EVDEV_PROP_REOPEN "Evdev Reopen Attempts" /* OBSOLETE */
/* Run-time calibration */
/* CARD32, 4 values [minx, maxx, miny, maxy], or no values for unset */
#define EVDEV_PROP_CALIBRATION "Evdev Axis Calibration"

View File

@@ -1,37 +1,7 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
drivermandir = $(DRIVER_MAN_DIR)
driverman_PRE = evdev.man
driverman_DATA = $(driverman_PRE:man=$(DRIVER_MAN_SUFFIX))
EXTRA_DIST = evdev.man
driverman_DATA = evdev.$(DRIVER_MAN_SUFFIX)
CLEANFILES = $(driverman_DATA)
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(DRIVER_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
cp $< $@

View File

@@ -1,6 +1,6 @@
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH EVDEV __drivermansuffix__ 2016-11-17 __vendorversion__
.TH EVDEV @DRIVER_MAN_SUFFIX@ 2016-11-17 "@PACKAGE_STRING@" "X Version 11"
.SH NAME
evdev \- Generic Linux input driver for XLibre
.SH SYNOPSIS
@@ -363,7 +363,7 @@ Value range 0-32, 0 disables a value.
.SH AUTHORS
Kristian Høgsberg, Peter Hutterer
.SH "SEE ALSO"
.BR XLibre (__appmansuffix__),
.BR xorg.conf (__filemansuffix__),
.BR Xserver (__appmansuffix__),
.BR X (__miscmansuffix__)
.BR XLibre (@APP_MAN_SUFFIX@),
.BR xorg.conf (@FILE_MAN_SUFFIX@),
.BR Xserver (@APP_MAN_SUFFIX@),
.BR X (@MISC_MAN_SUFFIX@)

View File

@@ -31,7 +31,7 @@ AM_CPPFLAGS =-I$(top_srcdir)/include $(LIBEVDEV_CFLAGS)
evdev_drv_la_LTLIBRARIES = evdev_drv.la
evdev_drv_la_LDFLAGS = -module -avoid-version
evdev_drv_la_LIBADD = $(MTDEV_LIBS) $(UDEV_LIBS) $(LIBEVDEV_LIBS)
evdev_drv_ladir = @inputdir@
evdev_drv_ladir = @xlibre_input_drivers_dir@
evdev_drv_la_SOURCES = evdev.c \
evdev.h \

View File

@@ -185,11 +185,7 @@ EvdevMBEmuTimer(InputInfoPtr pInfo)
int id;
int mapped_id;
#if HAVE_THREADED_INPUT
input_lock();
#else
int sigstate = xf86BlockSIGIO();
#endif
pEvdev->emulateMB.pending = FALSE;
if ((id = stateTab[pEvdev->emulateMB.state][4][0]) != 0) {
@@ -205,11 +201,7 @@ EvdevMBEmuTimer(InputInfoPtr pInfo)
pEvdev->emulateMB.state);
}
#if HAVE_THREADED_INPUT
input_unlock();
#else
xf86UnblockSIGIO(sigstate);
#endif
return 0;
}
@@ -274,7 +266,7 @@ EvdevMBEmuFilterEvent(InputInfoPtr pInfo, int button, BOOL press)
}
void EvdevMBEmuWakeupHandler(WAKEUP_HANDLER_ARGS)
void EvdevMBEmuWakeupHandler(void *data, int i)
{
InputInfoPtr pInfo = (InputInfoPtr)data;
EvdevPtr pEvdev = (EvdevPtr)pInfo->private;
@@ -288,7 +280,7 @@ void EvdevMBEmuWakeupHandler(WAKEUP_HANDLER_ARGS)
}
}
void EvdevMBEmuBlockHandler(BLOCK_HANDLER_ARGS)
void EvdevMBEmuBlockHandler(void *data, void *waitTime)
{
InputInfoPtr pInfo = (InputInfoPtr) data;
EvdevPtr pEvdev= (EvdevPtr) pInfo->private;
@@ -334,7 +326,7 @@ EvdevMBEmuOn(InputInfoPtr pInfo)
RegisterBlockAndWakeupHandlers (EvdevMBEmuBlockHandler,
EvdevMBEmuWakeupHandler,
(pointer)pInfo);
(void*)pInfo);
}
void
@@ -345,7 +337,7 @@ EvdevMBEmuFinalize(InputInfoPtr pInfo)
RemoveBlockAndWakeupHandlers (EvdevMBEmuBlockHandler,
EvdevMBEmuWakeupHandler,
(pointer)pInfo);
(void*)pInfo);
}

View File

@@ -81,24 +81,16 @@ Evdev3BEmuPostButtonEvent(InputInfoPtr pInfo, int button, enum ButtonAction act)
* @param arg The InputInfoPtr for this device.
*/
CARD32
Evdev3BEmuTimer(OsTimerPtr timer, CARD32 time, pointer arg)
Evdev3BEmuTimer(OsTimerPtr timer, CARD32 time, void *arg)
{
InputInfoPtr pInfo = (InputInfoPtr)arg;
EvdevPtr pEvdev = pInfo->private;
struct emulate3B *emu3B = &pEvdev->emulate3B;
#if HAVE_THREADED_INPUT
input_lock();
#else
int sigstate = xf86BlockSIGIO();
#endif
emu3B->state = EM3B_EMULATING;
Evdev3BEmuPostButtonEvent(pInfo, emu3B->button, BUTTON_PRESS);
#if HAVE_THREADED_INPUT
input_unlock();
#else
xf86UnblockSIGIO(sigstate);
#endif
return 0;
}

View File

@@ -2693,16 +2693,9 @@ _X_EXPORT InputDriverRec EVDEV = {
#endif
};
static void
EvdevUnplug(pointer p)
{
}
static void EvdevUnplug(void *p) { }
static pointer
EvdevPlug(pointer module,
pointer options,
int *errmaj,
int *errmin)
static void *EvdevPlug(void *module, void *options, int *errmaj, int *errmin)
{
xf86AddInputDriver(&EVDEV, module, 0);
return module;

View File

@@ -68,22 +68,6 @@
#define LED_CNT (LED_MAX+1)
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 18
#define LogMessageVerbSigSafe xf86MsgVerb
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
#define HAVE_THREADED_INPUT 1
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 24
#define BLOCK_HANDLER_ARGS void *data, void *waitTime
#define WAKEUP_HANDLER_ARGS void *data, int i
#else
#define BLOCK_HANDLER_ARGS pointer data, struct timeval **waitTime, pointer LastSelectMask
#define WAKEUP_HANDLER_ARGS void *data, int i, pointer LastSelectMask
#endif
#define EVDEV_MAXBUTTONS 32
#define EVDEV_MAXQUEUE 32
@@ -278,14 +262,14 @@ unsigned int EvdevUtilButtonEventToButtonNumber(EvdevPtr pEvdev, int code);
/* Middle Button emulation */
int EvdevMBEmuTimer(InputInfoPtr);
BOOL EvdevMBEmuFilterEvent(InputInfoPtr, int, BOOL);
void EvdevMBEmuWakeupHandler(WAKEUP_HANDLER_ARGS);
void EvdevMBEmuBlockHandler(BLOCK_HANDLER_ARGS);
void EvdevMBEmuWakeupHandler(void *data, int i);
void EvdevMBEmuBlockHandler(void *data, void *waitTime);
void EvdevMBEmuPreInit(InputInfoPtr);
void EvdevMBEmuOn(InputInfoPtr);
void EvdevMBEmuFinalize(InputInfoPtr);
/* Third button emulation */
CARD32 Evdev3BEmuTimer(OsTimerPtr timer, CARD32 time, pointer arg);
CARD32 Evdev3BEmuTimer(OsTimerPtr timer, CARD32 time, void *arg);
BOOL Evdev3BEmuFilterEvent(InputInfoPtr, int, BOOL);
void Evdev3BEmuPreInit(InputInfoPtr pInfo);
void Evdev3BEmuOn(InputInfoPtr);