git: 654acf5f9583 - main - x11-drivers/xlibre-drivers: New port: XLibre drivers
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 12 Dec 2025 01:26:55 UTC
The branch main has been updated by acm:
URL: https://cgit.FreeBSD.org/ports/commit/?id=654acf5f9583dd34074696ab76d9108cca5b8058
commit 654acf5f9583dd34074696ab76d9108cca5b8058
Author: b-aaz <b-aazbsd@proton.me>
AuthorDate: 2025-12-12 01:23:34 +0000
Commit: Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
CommitDate: 2025-12-12 01:26:26 +0000
x11-drivers/xlibre-drivers: New port: XLibre drivers
New port: x11-drivers/xlibre-xf86-input-elographics
New port: x11-drivers/xlibre-xf86-input-evdev
New port: x11-drivers/xlibre-xf86-input-joystick
New port: x11-drivers/xlibre-xf86-input-keyboard
New port: x11-drivers/xlibre-xf86-input-libinput
New port: x11-drivers/xlibre-xf86-input-mouse
New port: x11-drivers/xlibre-xf86-input-synaptics
New port: x11-drivers/xlibre-xf86-input-vmmouse
New port: x11-drivers/xlibre-xf86-input-void
New port: x11-drivers/xlibre-xf86-input-wacom
New port: x11-drivers/xlibre-xf86-video-amdgpu
New port: x11-drivers/xlibre-xf86-video-ast
New port: x11-drivers/xlibre-xf86-video-ati
New port: x11-drivers/xlibre-xf86-video-dummy
New port: x11-drivers/xlibre-xf86-video-intel
New port: x11-drivers/xlibre-xf86-video-mga
New port: x11-drivers/xlibre-xf86-video-nv
New port: x11-drivers/xlibre-xf86-video-qxl
New port: x11-drivers/xlibre-xf86-video-vesa
New port: x11-drivers/xlibre-xf86-video-vmware
Reviewed by: dtxdf acm
Tested by: dtxdf acm
Obtained from: https://github.com/b-aaz/xlibre-ports
---
x11-drivers/Makefile | 21 +
x11-drivers/xlibre-drivers/Makefile | 85 ++
x11-drivers/xlibre-drivers/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-elographics/Makefile | 18 +
x11-drivers/xlibre-xf86-input-elographics/distinfo | 3 +
.../xlibre-xf86-input-elographics/pkg-descr | 1 +
.../xlibre-xf86-input-elographics/pkg-plist | 2 +
x11-drivers/xlibre-xf86-input-evdev/Makefile | 23 +
x11-drivers/xlibre-xf86-input-evdev/distinfo | 3 +
x11-drivers/xlibre-xf86-input-evdev/pkg-descr | 3 +
x11-drivers/xlibre-xf86-input-evdev/pkg-plist | 5 +
x11-drivers/xlibre-xf86-input-joystick/Makefile | 19 +
x11-drivers/xlibre-xf86-input-joystick/distinfo | 3 +
x11-drivers/xlibre-xf86-input-joystick/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-joystick/pkg-plist | 4 +
x11-drivers/xlibre-xf86-input-keyboard/Makefile | 18 +
x11-drivers/xlibre-xf86-input-keyboard/distinfo | 3 +
.../files/patch-at_scancode.c | 31 +
.../files/patch-src__bsd_KbdMap.c | 229 +++++
.../files/patch-src__bsd_kbd.c | 14 +
.../files/patch-src__kbd.c | 24 +
x11-drivers/xlibre-xf86-input-keyboard/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-keyboard/pkg-plist | 2 +
x11-drivers/xlibre-xf86-input-libinput/Makefile | 21 +
x11-drivers/xlibre-xf86-input-libinput/distinfo | 3 +
x11-drivers/xlibre-xf86-input-libinput/pkg-descr | 3 +
x11-drivers/xlibre-xf86-input-libinput/pkg-plist | 5 +
x11-drivers/xlibre-xf86-input-mouse/Makefile | 18 +
x11-drivers/xlibre-xf86-input-mouse/distinfo | 3 +
.../files/patch-src-bsd_mouse.c | 1039 ++++++++++++++++++++
.../files/patch-src_mouse.c | 196 ++++
.../files/patch-src_mouse.h | 25 +
.../files/patch-src_mousePriv.h | 11 +
x11-drivers/xlibre-xf86-input-mouse/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-mouse/pkg-plist | 4 +
x11-drivers/xlibre-xf86-input-synaptics/Makefile | 27 +
x11-drivers/xlibre-xf86-input-synaptics/distinfo | 3 +
.../files/patch-Makefile.am | 7 +
.../files/patch-configure.ac | 10 +
.../files/patch-src_eventcomm.h | 18 +
x11-drivers/xlibre-xf86-input-synaptics/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-synaptics/pkg-plist | 9 +
x11-drivers/xlibre-xf86-input-vmmouse/Makefile | 23 +
x11-drivers/xlibre-xf86-input-vmmouse/distinfo | 3 +
x11-drivers/xlibre-xf86-input-vmmouse/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-vmmouse/pkg-plist | 8 +
x11-drivers/xlibre-xf86-input-void/Makefile | 18 +
x11-drivers/xlibre-xf86-input-void/distinfo | 3 +
x11-drivers/xlibre-xf86-input-void/pkg-descr | 1 +
x11-drivers/xlibre-xf86-input-void/pkg-plist | 2 +
x11-drivers/xlibre-xf86-input-wacom/Makefile | 41 +
x11-drivers/xlibre-xf86-input-wacom/distinfo | 3 +
.../files/fixpatch-src-wcmValidateDevice.c | 64 ++
.../files/patch-src-wcmConfig.c | 19 +
.../files/patch-src-wcmUSB.c | 29 +
.../files/patch-src-xf86WacomDefs.h | 12 +
.../files/patch-tools-isdv4-serial-debugger.c | 10 +
.../files/patch-tools-isdv4-serial-inputattach.c | 71 ++
.../files/patch-tools-tools-shared.c | 34 +
.../xlibre-xf86-input-wacom/files/pkg-message.in | 15 +
.../files/wacom.conf.sample | 33 +
x11-drivers/xlibre-xf86-input-wacom/files/wacom.in | 44 +
x11-drivers/xlibre-xf86-input-wacom/pkg-descr | 2 +
x11-drivers/xlibre-xf86-input-wacom/pkg-plist | 14 +
x11-drivers/xlibre-xf86-video-amdgpu/Makefile | 32 +
x11-drivers/xlibre-xf86-video-amdgpu/distinfo | 5 +
x11-drivers/xlibre-xf86-video-amdgpu/pkg-descr | 7 +
x11-drivers/xlibre-xf86-video-ast/Makefile | 19 +
x11-drivers/xlibre-xf86-video-ast/distinfo | 3 +
.../files/patch-src_ast__driver.c | 19 +
x11-drivers/xlibre-xf86-video-ast/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-ati/Makefile | 28 +
x11-drivers/xlibre-xf86-video-ati/distinfo | 3 +
x11-drivers/xlibre-xf86-video-ati/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-ati/pkg-plist | 5 +
x11-drivers/xlibre-xf86-video-dummy/Makefile | 16 +
x11-drivers/xlibre-xf86-video-dummy/distinfo | 3 +
x11-drivers/xlibre-xf86-video-dummy/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-dummy/pkg-plist | 1 +
x11-drivers/xlibre-xf86-video-intel/Makefile | 54 +
x11-drivers/xlibre-xf86-video-intel/distinfo | 3 +
.../files/patch-benchmarks_dri3-swap.c | 25 +
.../xlibre-xf86-video-intel/files/patch-hyphen | 24 +
.../files/patch-man_meson.build | 9 +
.../files/patch-meson.build | 35 +
.../files/patch-meson__options.txt | 13 +
.../files/patch-prefer-iris | 31 +
.../files/patch-src_intel__device.c | 13 +
.../files/patch-src_intel__list.h | 145 +++
.../files/patch-src_meson.build | 38 +
.../files/patch-src_sna_kgem.c | 24 +
.../files/patch-src_sna_meson.build | 11 +
.../files/patch-test_present-speed.c | 99 ++
.../files/patch-tools_meson.build | 11 +
x11-drivers/xlibre-xf86-video-intel/pkg-descr | 14 +
x11-drivers/xlibre-xf86-video-intel/pkg-plist | 10 +
x11-drivers/xlibre-xf86-video-mga/Makefile | 19 +
x11-drivers/xlibre-xf86-video-mga/distinfo | 3 +
.../files/patch-src_mga__dac3026.c | 15 +
.../files/patch-src_mga__dri.c | 22 +
.../files/patch-src_mga__driver.c | 19 +
x11-drivers/xlibre-xf86-video-mga/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-mga/pkg-plist | 2 +
x11-drivers/xlibre-xf86-video-nv/Makefile | 19 +
x11-drivers/xlibre-xf86-video-nv/distinfo | 3 +
x11-drivers/xlibre-xf86-video-nv/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-nv/pkg-plist | 2 +
x11-drivers/xlibre-xf86-video-qxl/Makefile | 39 +
x11-drivers/xlibre-xf86-video-qxl/distinfo | 3 +
.../files/patch-spiceqxl_audio.c | 14 +
.../xlibre-xf86-video-qxl/files/patch-src-mspace.h | 11 +
x11-drivers/xlibre-xf86-video-qxl/pkg-descr | 3 +
x11-drivers/xlibre-xf86-video-qxl/pkg-plist | 5 +
x11-drivers/xlibre-xf86-video-vesa/Makefile | 19 +
x11-drivers/xlibre-xf86-video-vesa/distinfo | 3 +
x11-drivers/xlibre-xf86-video-vesa/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-vesa/pkg-plist | 2 +
x11-drivers/xlibre-xf86-video-vmware/Makefile | 25 +
x11-drivers/xlibre-xf86-video-vmware/distinfo | 3 +
.../xlibre-xf86-video-vmware/files/patch-saa_saa.h | 10 +
.../files/patch-src_vmware.c | 11 +
.../files/patch-vmwgfx_vmwgfx__driver.h | 10 +
x11-drivers/xlibre-xf86-video-vmware/pkg-descr | 1 +
x11-drivers/xlibre-xf86-video-vmware/pkg-plist | 2 +
124 files changed, 3339 insertions(+)
diff --git a/x11-drivers/Makefile b/x11-drivers/Makefile
index a3c59c418859..981a770111b8 100644
--- a/x11-drivers/Makefile
+++ b/x11-drivers/Makefile
@@ -22,6 +22,27 @@
SUBDIR += xf86-video-scfb
SUBDIR += xf86-video-vesa
SUBDIR += xf86-video-vmware
+ SUBDIR += xlibre-drivers
+ SUBDIR += xlibre-xf86-input-elographics
+ SUBDIR += xlibre-xf86-input-evdev
+ SUBDIR += xlibre-xf86-input-joystick
+ SUBDIR += xlibre-xf86-input-keyboard
+ SUBDIR += xlibre-xf86-input-libinput
+ SUBDIR += xlibre-xf86-input-mouse
+ SUBDIR += xlibre-xf86-input-synaptics
+ SUBDIR += xlibre-xf86-input-vmmouse
+ SUBDIR += xlibre-xf86-input-void
+ SUBDIR += xlibre-xf86-input-wacom
+ SUBDIR += xlibre-xf86-video-amdgpu
+ SUBDIR += xlibre-xf86-video-ast
+ SUBDIR += xlibre-xf86-video-ati
+ SUBDIR += xlibre-xf86-video-dummy
+ SUBDIR += xlibre-xf86-video-intel
+ SUBDIR += xlibre-xf86-video-mga
+ SUBDIR += xlibre-xf86-video-nv
+ SUBDIR += xlibre-xf86-video-qxl
+ SUBDIR += xlibre-xf86-video-vesa
+ SUBDIR += xlibre-xf86-video-vmware
SUBDIR += xorg-drivers
SUBDIR += xorgxrdp
SUBDIR += xorgxrdp-devel
diff --git a/x11-drivers/xlibre-drivers/Makefile b/x11-drivers/xlibre-drivers/Makefile
new file mode 100644
index 000000000000..6882b419a964
--- /dev/null
+++ b/x11-drivers/xlibre-drivers/Makefile
@@ -0,0 +1,85 @@
+PORTNAME= xlibre-drivers
+PORTVERSION= 0.1
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre drivers meta-port
+WWW= https://github.com/X11Libre/
+
+LICENSE= none
+
+USES= metaport
+
+.include "../../x11-servers/xlibre-server/Makefile.version"
+MODULEDIR= ${PREFIX}/lib/xorg/modules/xlibre-${XLIBRE_MJR_VER}/
+XORG_MODULEDIR= ${PREFIX}/lib/xorg/modules/
+VIDEODIR= ${MODULEDIR}/drivers
+INPUTDIR= ${MODULEDIR}/input
+XORG_VIDEODIR= ${XORG_MODULEDIR}/drivers
+XORG_INPUTDIR= ${XORG_MODULEDIR}/input
+
+INPUT_DRIVERS= elographics \
+ evdev \
+ joystick \
+ keyboard \
+ libinput \
+ mouse \
+ synaptics \
+ void \
+ egalax \
+ wacom
+
+VIDEO_DRIVERS= ast \
+ dummy \
+ nv \
+ scfb \
+ vesa
+
+OPTIONS_DEFAULT= KEYBOARD \
+ LIBINPUT \
+ MOUSE \
+ SCFB
+
+.for type in input video
+. for a in ${${type:tu}_DRIVERS}
+OPTIONS_DEFINE+= ${a:tu}
+${a:tu}_DESC= Install ${a} ${type} driver
+. endfor
+.endfor
+
+OPTIONS_DEFINE_amd64= AMDGPU ATI INTEL VMMOUSE VMWARE
+OPTIONS_DEFAULT_amd64= VESA
+
+AMDGPU_DESC= Install amdgpu video driver
+ATI_DESC= Install ati (radeon) video driver
+INTEL_DESC= Install intel video driver
+VMMOUSE_DESC= Install vmmouse input driver
+VMWARE_DESC= Install vmware video driver
+
+# these drivers have a different module name compared to the plugin they install
+QUIRKS= keyboard:kbd
+NONXLIBRE= scfb egalax
+
+.include <bsd.port.options.mk>
+
+# Manual add arch specific drivers so they be added to depend lines.
+.if ${ARCH}==i386 || ${ARCH}==amd64
+INPUT_DRIVERS+= vmmouse
+VIDEO_DRIVERS+= amdgpu ati intel vmware
+.endif
+
+.for type in input video
+. for i in ${${type:tu}_DRIVERS}
+. if ${PORT_OPTIONS:M${i:tu}} != ""
+. if ${QUIRKS:M${i}\:*:C/.*://} != ""
+RUN_DEPENDS+= ${${type:tu}DIR}/${QUIRKS:M${i}\:*:C/.*://}_drv.so:x11-drivers/xlibre-xf86-${type}-${i}
+. elif ${NONXLIBRE:M${i}}
+# RUN_DEPENDS+= ${XORG_${type:tu}DIR}/${i}_drv.so:x11-drivers/xf86-${type}-${i}@xlibre
+. else
+RUN_DEPENDS+= ${${type:tu}DIR}/${i}_drv.so:x11-drivers/xlibre-xf86-${type}-${i}
+. endif
+. endif
+. endfor
+.endfor
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-drivers/pkg-descr b/x11-drivers/xlibre-drivers/pkg-descr
new file mode 100644
index 000000000000..5eb8e024f47f
--- /dev/null
+++ b/x11-drivers/xlibre-drivers/pkg-descr
@@ -0,0 +1 @@
+This is a meta-port that contains various XLibre drivers for the XLibre server.
diff --git a/x11-drivers/xlibre-xf86-input-elographics/Makefile b/x11-drivers/xlibre-xf86-input-elographics/Makefile
new file mode 100644
index 000000000000..6645f3394c96
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-elographics/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= xlibre-xf86-input-elographics
+PORTVERSION= 1.4.4.2
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre elographics input driver
+WWW= https://github.com/X11Libre/xf86-input-elographics/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-elographics
+
+USES= xlibre-cat:driver
+
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-elographics/distinfo b/x11-drivers/xlibre-xf86-input-elographics/distinfo
new file mode 100644
index 000000000000..6cf0513762fe
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-elographics/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760816138
+SHA256 (xlibre/driver/X11Libre-xf86-input-elographics-1.4.4.2-xlibre-xf86-input-elographics-1.4.4.2_GH0.tar.gz) = 704388429ec78b0a38b77c8598e15b6855383f4f1b49c0d7978a29fd18767bf9
+SIZE (xlibre/driver/X11Libre-xf86-input-elographics-1.4.4.2-xlibre-xf86-input-elographics-1.4.4.2_GH0.tar.gz) = 18960
diff --git a/x11-drivers/xlibre-xf86-input-elographics/pkg-descr b/x11-drivers/xlibre-xf86-input-elographics/pkg-descr
new file mode 100644
index 000000000000..fabf8a56636a
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-elographics/pkg-descr
@@ -0,0 +1 @@
+This package contains the XLibre xf86-input-elographics driver.
diff --git a/x11-drivers/xlibre-xf86-input-elographics/pkg-plist b/x11-drivers/xlibre-xf86-input-elographics/pkg-plist
new file mode 100644
index 000000000000..b2d5859882be
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-elographics/pkg-plist
@@ -0,0 +1,2 @@
+lib/xorg/modules/xlibre-25.0/input/elographics_drv.so
+share/man/man4/elographics.4x.gz
diff --git a/x11-drivers/xlibre-xf86-input-evdev/Makefile b/x11-drivers/xlibre-xf86-input-evdev/Makefile
new file mode 100644
index 000000000000..a2a935e3161a
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-evdev/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= xlibre-xf86-input-evdev
+PORTVERSION= 2.11.0.2
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre event device input driver
+WWW= https://github.com/X11Libre/xf86-input-evdev/
+
+LICENSE= MIT # various styles
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-evdev
+
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+LIB_DEPENDS= libevdev.so:devel/libevdev \
+ libmtdev.so:devel/libmtdev
+RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
+
+USES= pathfix xlibre-cat:driver
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+CONFIGURE_ENV= UDEV_CFLAGS=" " UDEV_LIBS=" "
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-evdev/distinfo b/x11-drivers/xlibre-xf86-input-evdev/distinfo
new file mode 100644
index 000000000000..384c203d2940
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-evdev/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760816207
+SHA256 (xlibre/driver/X11Libre-xf86-input-evdev-2.11.0.2-xlibre-xf86-input-evdev-2.11.0.2_GH0.tar.gz) = 70a8a65ec56cce7057b8491f68744c6883debe8750948bb290ae7b1c3ec28dfc
+SIZE (xlibre/driver/X11Libre-xf86-input-evdev-2.11.0.2-xlibre-xf86-input-evdev-2.11.0.2_GH0.tar.gz) = 50815
diff --git a/x11-drivers/xlibre-xf86-input-evdev/pkg-descr b/x11-drivers/xlibre-xf86-input-evdev/pkg-descr
new file mode 100644
index 000000000000..0517dd586a1c
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-evdev/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the XLibre xf86-input-evdev driver. It supports
+all input devices that webcamd knows about, including tablets,
+touchscreens, joysticks and HIDs.
diff --git a/x11-drivers/xlibre-xf86-input-evdev/pkg-plist b/x11-drivers/xlibre-xf86-input-evdev/pkg-plist
new file mode 100644
index 000000000000..8f0ebe5df126
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-evdev/pkg-plist
@@ -0,0 +1,5 @@
+include/xorg/evdev-properties.h
+lib/xorg/modules/xlibre-25.0/input/evdev_drv.so
+libdata/pkgconfig/xorg-evdev.pc
+share/man/man4/evdev.4x.gz
+share/X11/xorg.conf.d/10-evdev.conf
diff --git a/x11-drivers/xlibre-xf86-input-joystick/Makefile b/x11-drivers/xlibre-xf86-input-joystick/Makefile
new file mode 100644
index 000000000000..49bbb337c1bd
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-joystick/Makefile
@@ -0,0 +1,19 @@
+PORTNAME= xlibre-xf86-input-joystick
+PORTVERSION= 1.6.4.1
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre joystick input driver
+WWW= https://github.com/X11Libre/xf86-input-joystick/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-joystick
+
+GH_TAGNAME= 931dbdb
+USES= pathfix xlibre-cat:driver
+
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-joystick/distinfo b/x11-drivers/xlibre-xf86-input-joystick/distinfo
new file mode 100644
index 000000000000..a4f30057988e
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-joystick/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760819782
+SHA256 (xlibre/driver/X11Libre-xf86-input-joystick-1.6.4.1-931dbdb_GH0.tar.gz) = 166c8156dd50bbe4fa2b0406de48caa6a6af84109356814a0644eade8dba0a75
+SIZE (xlibre/driver/X11Libre-xf86-input-joystick-1.6.4.1-931dbdb_GH0.tar.gz) = 38524
diff --git a/x11-drivers/xlibre-xf86-input-joystick/pkg-descr b/x11-drivers/xlibre-xf86-input-joystick/pkg-descr
new file mode 100644
index 000000000000..b773a83901b5
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-joystick/pkg-descr
@@ -0,0 +1 @@
+This package contains the XLibre xf86-input-joystick driver.
diff --git a/x11-drivers/xlibre-xf86-input-joystick/pkg-plist b/x11-drivers/xlibre-xf86-input-joystick/pkg-plist
new file mode 100644
index 000000000000..db8fa1093e82
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-joystick/pkg-plist
@@ -0,0 +1,4 @@
+include/xorg/joystick-properties.h
+lib/xorg/modules/xlibre-25.0/input/joystick_drv.so
+libdata/pkgconfig/xorg-joystick.pc
+share/man/man4/joystick.4x.gz
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/Makefile b/x11-drivers/xlibre-xf86-input-keyboard/Makefile
new file mode 100644
index 000000000000..82220fefad03
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= xlibre-xf86-input-keyboard
+PORTVERSION= 2.1.0.2
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre keyboard input driver
+WWW= https://github.com/X11Libre/xf86-input-keyboard/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-keyboard
+
+USES= xlibre-cat:driver
+
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/distinfo b/x11-drivers/xlibre-xf86-input-keyboard/distinfo
new file mode 100644
index 000000000000..3f95207b8ae2
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760816300
+SHA256 (xlibre/driver/X11Libre-xf86-input-keyboard-2.1.0.2-xlibre-xf86-input-keyboard-2.1.0.2_GH0.tar.gz) = 6e72dc5bde6215d1daa6970367caac27a7b8f491c1ea6b3030960a4736169110
+SIZE (xlibre/driver/X11Libre-xf86-input-keyboard-2.1.0.2-xlibre-xf86-input-keyboard-2.1.0.2_GH0.tar.gz) = 49451
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/files/patch-at_scancode.c b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-at_scancode.c
new file mode 100644
index 000000000000..4a24423e4f33
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-at_scancode.c
@@ -0,0 +1,31 @@
+--- src/at_scancode.c.orig Sun Jul 3 09:01:35 2005
++++ src/at_scancode.c Sat Oct 7 21:27:29 2006
+@@ -84,6 +84,10 @@
+ case KEY_Prefix0:
+ pKbd->scanPrefix = 0;
+ switch (*scanCode) {
++ case 0x1e: *scanCode = KEY_AudioRaise;break;
++ case 0x1f: *scanCode = KEY_AudioLower;break;
++ case 0x20: *scanCode = KEY_Power; break;
++ case 0x25: *scanCode = KEY_Mute; break;
+ case KEY_KP_7: *scanCode = KEY_Home; break; /* curs home */
+ case KEY_KP_8: *scanCode = KEY_Up; break; /* curs up */
+ case KEY_KP_9: *scanCode = KEY_PgUp; break; /* curs pgup */
+@@ -103,6 +107,17 @@
+ case 0x5b: *scanCode = KEY_LMeta; break;
+ case 0x5c: *scanCode = KEY_RMeta; break;
+ case 0x5d: *scanCode = KEY_Menu; break;
++ case 0x5e: *scanCode = KEY_L1; break; /* stop */
++ case 0x5f: *scanCode = KEY_L2; break; /* again */
++ case 0x60: *scanCode = KEY_L3; break; /* props */
++ case 0x61: *scanCode = KEY_L4; break; /* undo */
++ case 0x62: *scanCode = KEY_L5; break; /* front */
++ case 0x63: *scanCode = KEY_L6; break; /* copy */
++ case 0x64: *scanCode = KEY_L7; break; /* open */
++ case 0x65: *scanCode = KEY_L8; break; /* paste */
++ case 0x66: *scanCode = KEY_L9; break; /* find */
++ case 0x67: *scanCode = KEY_L10; break; /* cut */
++ case 0x68: *scanCode = KEY_Help; break;
+ case KEY_F3: *scanCode = KEY_F13; break;
+ case KEY_F4: *scanCode = KEY_F14; break;
+ case KEY_F5: *scanCode = KEY_F15; break;
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_KbdMap.c b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_KbdMap.c
new file mode 100644
index 000000000000..add495f1ee74
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_KbdMap.c
@@ -0,0 +1,229 @@
+Don't query console keymap
+
+This seems to be useless and doesn't work anymore with vt(4), due to the
+use of Unicode codepoints in vt(4). So remove the related code. This fixes
+a segmentation fault during X.Org server startup.
+
+PR: 191459
+Submitted by: Claude Buisson <clbuisson@orange.fr> (earlier version)
+
+--- src/bsd_KbdMap.c.orig 2013-10-28 01:44:15.000000000 +0100
++++ src/bsd_KbdMap.c 2014-09-08 19:22:28.000000000 +0200
+@@ -27,168 +27,6 @@
+ #include "xf86Keymap.h"
+ #include "bsd_kbd.h"
+
+-#if (defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT)) && defined(GIO_KEYMAP)
+-#define KD_GET_ENTRY(i,n) \
+- eascii_to_x[((keymap.key[i].spcl << (n+1)) & 0x100) + keymap.key[i].map[n]]
+-
+-static unsigned char remap[NUM_KEYCODES] = {
+- 0, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* 0x00 - 0x07 */
+- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08 - 0x0f */
+- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, /* 0x10 - 0x17 */
+- 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18 - 0x1f */
+- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, /* 0x20 - 0x27 */
+- 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, /* 0x28 - 0x2f */
+- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0, /* 0x30 - 0x37 */
+- 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, /* 0x38 - 0x3f */
+- 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0, /* 0x40 - 0x47 */
+- 0, 0, 0, 0, 0, 0, 0, 0, /* 0x48 - 0x4f */
+- 0, 0, 0, 0, 0, 0, 0x56, 0x57, /* 0x50 - 0x57 */
+- 0x58, 0, 0, 0, 0, 0, 0, 0, /* 0x58 - 0x5f */
+- 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60 - 0x67 */
+- 0, 0, 0, 0, 0, 0, 0, 0, /* 0x68 - 0x6f */
+- 0, 0, 0x69, 0x65, 0, 0, 0, 0, /* 0x70 - 0x77 */
+- 0, 0, 0, 0, 0, 0, 0, 0, /* 0x78 - 0x7f */
+-};
+-
+-/* This table assumes the ibm code page 437 coding for characters
+- * > 0x80. They are returned in this form by PCVT */
+-static KeySym eascii_to_x[512] = {
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- XK_BackSpace, XK_Tab, XK_Linefeed, NoSymbol,
+- NoSymbol, XK_Return, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, XK_Escape,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- XK_space, XK_exclam, XK_quotedbl, XK_numbersign,
+- XK_dollar, XK_percent, XK_ampersand, XK_apostrophe,
+- XK_parenleft, XK_parenright, XK_asterisk, XK_plus,
+- XK_comma, XK_minus, XK_period, XK_slash,
+- XK_0, XK_1, XK_2, XK_3,
+- XK_4, XK_5, XK_6, XK_7,
+- XK_8, XK_9, XK_colon, XK_semicolon,
+- XK_less, XK_equal, XK_greater, XK_question,
+- XK_at, XK_A, XK_B, XK_C,
+- XK_D, XK_E, XK_F, XK_G,
+- XK_H, XK_I, XK_J, XK_K,
+- XK_L, XK_M, XK_N, XK_O,
+- XK_P, XK_Q, XK_R, XK_S,
+- XK_T, XK_U, XK_V, XK_W,
+- XK_X, XK_Y, XK_Z, XK_bracketleft,
+- XK_backslash, XK_bracketright,XK_asciicircum, XK_underscore,
+- XK_grave, XK_a, XK_b, XK_c,
+- XK_d, XK_e, XK_f, XK_g,
+- XK_h, XK_i, XK_j, XK_k,
+- XK_l, XK_m, XK_n, XK_o,
+- XK_p, XK_q, XK_r, XK_s,
+- XK_t, XK_u, XK_v, XK_w,
+- XK_x, XK_y, XK_z, XK_braceleft,
+- XK_bar, XK_braceright, XK_asciitilde, XK_Delete,
+- XK_Ccedilla, XK_udiaeresis, XK_eacute, XK_acircumflex,
+- XK_adiaeresis, XK_agrave, XK_aring, XK_ccedilla,
+- XK_ecircumflex, XK_ediaeresis, XK_egrave, XK_idiaeresis,
+- XK_icircumflex, XK_igrave, XK_Adiaeresis, XK_Aring,
+- XK_Eacute, XK_ae, XK_AE, XK_ocircumflex,
+- XK_odiaeresis, XK_ograve, XK_ucircumflex, XK_ugrave,
+- XK_ydiaeresis, XK_Odiaeresis, XK_Udiaeresis, XK_cent,
+- XK_sterling, XK_yen, XK_paragraph, XK_section,
+- XK_aacute, XK_iacute, XK_oacute, XK_uacute,
+- XK_ntilde, XK_Ntilde, XK_ordfeminine, XK_masculine,
+- XK_questiondown,XK_hyphen, XK_notsign, XK_onehalf,
+- XK_onequarter, XK_exclamdown, XK_guillemotleft,XK_guillemotright,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- XK_Greek_alpha, XK_ssharp, XK_Greek_GAMMA, XK_Greek_pi,
+- XK_Greek_SIGMA, XK_Greek_sigma, XK_mu, XK_Greek_tau,
+- XK_Greek_PHI, XK_Greek_THETA, XK_Greek_OMEGA, XK_Greek_delta,
+- XK_infinity, XK_Ooblique, XK_Greek_epsilon, XK_intersection,
+- XK_identical, XK_plusminus, XK_greaterthanequal, XK_lessthanequal,
+- XK_topintegral, XK_botintegral, XK_division, XK_similarequal,
+- XK_degree, NoSymbol, NoSymbol, XK_radical,
+- XK_Greek_eta, XK_twosuperior, XK_periodcentered, NoSymbol,
+-
+- /*
+- * special marked entries (256 + x)
+- */
+-
+- /* This has been checked against what syscons actually does */
+- NoSymbol, NoSymbol, XK_Shift_L, XK_Shift_R,
+- XK_Caps_Lock, XK_Num_Lock, XK_Scroll_Lock, XK_Alt_L,
+- XK_ISO_Left_Tab,XK_Control_L, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, XK_F1,
+- XK_F2, XK_F3, XK_F4, XK_F5,
+- XK_F6, XK_F7, XK_F8, XK_F9,
+- XK_F10, XK_F11, XK_F12, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- XK_Control_R, XK_Alt_R, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+- NoSymbol, NoSymbol, NoSymbol, NoSymbol
+-};
+-
+ #ifdef SYSCONS_SUPPORT
+ static
+ unsigned char sysconsCODEMap[] = {
+@@ -205,7 +43,6 @@
+ sysconsCODEMap
+ };
+ #endif
+-#endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */
+
+ #ifdef WSCONS_SUPPORT
+
+@@ -1245,40 +1082,6 @@
+ KeySym *k;
+ int i;
+
+-#ifndef __bsdi__
+- switch (pKbd->consType) {
+-
+-/*
+- * XXX wscons has no GIO_KEYMAP
+- */
+-#if (defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)) && defined(GIO_KEYMAP)
+- case SYSCONS:
+- case PCVT:
+- {
+- keymap_t keymap;
+-
+- if (ioctl(pInfo->fd, GIO_KEYMAP, &keymap) != -1) {
+- for (i = 0; i < keymap.n_keys && i < NUM_KEYCODES; i++)
+- if (remap[i]) {
+- k = map + (remap[i] << 2);
+- k[0] = KD_GET_ENTRY(i,0); /* non-shifed */
+- k[1] = KD_GET_ENTRY(i,1); /* shifted */
+- k[2] = KD_GET_ENTRY(i,4); /* alt */
+- k[3] = KD_GET_ENTRY(i,5); /* alt - shifted */
+- if (k[3] == k[2]) k[3] = NoSymbol;
+- if (k[2] == k[1]) k[2] = NoSymbol;
+- if (k[1] == k[0]) k[1] = NoSymbol;
+- if (k[0] == k[2] && k[1] == k[3])
+- k[2] = k[3] = NoSymbol;
+- }
+- }
+- }
+- break;
+-#endif /* SYSCONS || PCVT */
+-
+- }
+-#endif /* !bsdi */
+-
+ /*
+ * compute the modifier map
+ */
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_kbd.c b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_kbd.c
new file mode 100644
index 000000000000..984a73680601
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__bsd_kbd.c
@@ -0,0 +1,14 @@
+Index: src/bsd_kbd.c
+@@ -237,6 +237,12 @@
+ #endif
+ }
+ }
++/*
++ * Switch keyboards which are not attached to console in RAW mode
++ */
++#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
++ ioctl(pInfo->fd, KDSKBMODE, K_RAW);
++#endif
+ return Success;
+ }
+
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__kbd.c b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__kbd.c
new file mode 100644
index 000000000000..e9b0397baea7
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/files/patch-src__kbd.c
@@ -0,0 +1,24 @@
+Index: src/kbd.c
+@@ -25,6 +25,7 @@
+
+ #include "xf86.h"
+ #include "atKeynames.h"
++#include "xf86Priv.h"
+ #include "xf86Privstr.h"
+
+ #include <X11/extensions/XI.h>
+@@ -392,6 +393,14 @@
+ RemoveEnabledDevice(pInfo->fd);
+ pKbd->KbdOff(pInfo, what);
+ device->public.on = FALSE;
++ /*
++ * Close device file for keyboards which are not attached
++ * to console, otherwise they can't be opened again after
++ * relogin when using session manager like xdm.
++ * X server will take care about console attached keyboards.
++ */
++ if (pInfo->fd != xf86Info.consoleFd)
++ close(pInfo->fd);
+ break;
+
+ default:
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/pkg-descr b/x11-drivers/xlibre-xf86-input-keyboard/pkg-descr
new file mode 100644
index 000000000000..e31af508c95d
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/pkg-descr
@@ -0,0 +1 @@
+This package contains the XLibre xf86-input-keyboard driver.
diff --git a/x11-drivers/xlibre-xf86-input-keyboard/pkg-plist b/x11-drivers/xlibre-xf86-input-keyboard/pkg-plist
new file mode 100644
index 000000000000..e76fe16577a9
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-keyboard/pkg-plist
@@ -0,0 +1,2 @@
+lib/xorg/modules/xlibre-25.0/input/kbd_drv.so
+share/man/man4/kbd.4x.gz
diff --git a/x11-drivers/xlibre-xf86-input-libinput/Makefile b/x11-drivers/xlibre-xf86-input-libinput/Makefile
new file mode 100644
index 000000000000..63673db15bcc
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-libinput/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= xlibre-xf86-input-libinput
+PORTVERSION= 1.5.1.0
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre libinput input driver
+WWW= https://github.com/X11Libre/xf86-input-libinput/
+
+LICENSE= MIT # various styles
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-libinput
+
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+LIB_DEPENDS= libinput.so:x11/libinput
+
+USES= pathfix tar:xz xlibre-cat:driver
+
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-libinput/distinfo b/x11-drivers/xlibre-xf86-input-libinput/distinfo
new file mode 100644
index 000000000000..9a71a804f755
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-libinput/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760812277
+SHA256 (xlibre/driver/X11Libre-xf86-input-libinput-1.5.1.0-xlibre-xf86-input-libinput-1.5.1.0_GH0.tar.gz) = f1be5a443af78307af18103a6bb614021fe163380b0eb43dec820a2389fbd6c8
+SIZE (xlibre/driver/X11Libre-xf86-input-libinput-1.5.1.0-xlibre-xf86-input-libinput-1.5.1.0_GH0.tar.gz) = 65498
diff --git a/x11-drivers/xlibre-xf86-input-libinput/pkg-descr b/x11-drivers/xlibre-xf86-input-libinput/pkg-descr
new file mode 100644
index 000000000000..d8b3784285c7
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-libinput/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the XLibre xf86-input-libinput driver. It is a thin
+wrapper around libinput, so while it does provide all features that libinput
+supports it does little beyond.
diff --git a/x11-drivers/xlibre-xf86-input-libinput/pkg-plist b/x11-drivers/xlibre-xf86-input-libinput/pkg-plist
new file mode 100644
index 000000000000..52e536d56563
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-libinput/pkg-plist
@@ -0,0 +1,5 @@
+include/xorg/libinput-properties.h
+lib/xorg/modules/xlibre-25.0/input/libinput_drv.so
+libdata/pkgconfig/xorg-libinput.pc
+share/man/man4/libinput.4x.gz
+share/X11/xorg.conf.d/40-libinput.conf
diff --git a/x11-drivers/xlibre-xf86-input-mouse/Makefile b/x11-drivers/xlibre-xf86-input-mouse/Makefile
new file mode 100644
index 000000000000..fdc9c28efa6b
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-mouse/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= xlibre-xf86-input-mouse
+PORTVERSION= 1.9.5.4
+CATEGORIES= x11-drivers
+
+MAINTAINER= b-aazbsd@proton.me
+COMMENT= XLibre mouse input driver
+WWW= https://github.com/X11Libre/xf86-input-mouse/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS_INSTALL= xf86-input-mouse
+
+USES= pathfix xlibre-cat:driver
+
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xlibre-xf86-input-mouse/distinfo b/x11-drivers/xlibre-xf86-input-mouse/distinfo
new file mode 100644
index 000000000000..1d9fa8b9738d
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-mouse/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1764440351
+SHA256 (xlibre/driver/X11Libre-xf86-input-mouse-1.9.5.4-xlibre-xf86-input-mouse-1.9.5.4_GH0.tar.gz) = 9f2108e435d52dc5b373f4fa2a7503a53738ae911a899ce3bf351cd2b912e6e9
+SIZE (xlibre/driver/X11Libre-xf86-input-mouse-1.9.5.4-xlibre-xf86-input-mouse-1.9.5.4_GH0.tar.gz) = 78830
diff --git a/x11-drivers/xlibre-xf86-input-mouse/files/patch-src-bsd_mouse.c b/x11-drivers/xlibre-xf86-input-mouse/files/patch-src-bsd_mouse.c
new file mode 100644
index 000000000000..8f542a60af12
--- /dev/null
+++ b/x11-drivers/xlibre-xf86-input-mouse/files/patch-src-bsd_mouse.c
@@ -0,0 +1,1039 @@
+--- src/bsd_mouse.c.orig 2018-06-19 04:36:21 UTC
++++ src/bsd_mouse.c
+@@ -26,6 +26,24 @@
+ * authorization from the copyright holder(s) and author(s).
+ */
+
++
++/*
++ * XXX - Should this be autoconf'd instead?
++ */
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
++
++#if !defined(USBMOUSE_SUPPORT)
++#define USBMOUSE_SUPPORT
++#endif
++#if !defined(HAS_LIB_USB_HID)
++#define HAS_LIB_USB_HID
++#endif
++#if !defined(XPS2_SUPPORT)
++#define XPS2_SUPPORT
++#endif
++
++#endif /* defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) */
++
+ #include <xorg-server.h>
+
+ #include <X11/X.h>
+@@ -33,9 +51,23 @@
+ #include "xf86Priv.h"
+ #include "xf86_OSlib.h"
+ #include "xf86Xinput.h"
++#include <exevents.h>
+ #include "mouse.h"
+ #include "xisb.h"
+ #include "mipointer.h"
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3
++#define HAVE_PROPERTIES 1
++#endif
++#ifdef HAVE_PROPERTIES
++#include <X11/Xatom.h>
++#include <xserver-properties.h>
++/* 1.6 has properties, but no labels */
++#ifdef AXIS_LABEL_PROP
++#define HAVE_LABELS
++#else
++#undef HAVE_LABELS
++#endif
++#endif
+ #ifdef WSCONS_SUPPORT
+ #include <dev/wscons/wsconsio.h>
+ #endif
+@@ -47,9 +79,6 @@
+ #else
+ # include <dev/usb/usb.h>
+ #endif
+-#ifdef USB_GET_REPORT_ID
+-#define USB_NEW_HID
+-#endif
+
+ #define HUP_GENERIC_DESKTOP 0x0001
+ #define HUP_BUTTON 0x0009
+@@ -75,11 +104,13 @@ static const char *FindDevice(InputInfoPtr, const char
+ #define DEFAULT_MOUSE_DEV "/dev/mouse"
+ #define DEFAULT_SYSMOUSE_DEV "/dev/sysmouse"
+ #define DEFAULT_PS2_DEV "/dev/psm0"
++#define DEFAULT_USB_DEV "/dev/ums0"
+
+ static const char *mouseDevs[] = {
+ DEFAULT_MOUSE_DEV,
+ DEFAULT_SYSMOUSE_DEV,
+ DEFAULT_PS2_DEV,
*** 3265 LINES SKIPPED ***