Il y avait une autre réponse, mais cela fait un mois que l'auteur l'a supprimée. Écrivons-en une nouvelle.
Espérons qu'un jour quelqu'un créera un PPA avec la dernière version de libinput. En attendant, voici les instructions pour construire vous-même un paquet libinput à jour.
C'est facile, les instructions ci-dessous sont principalement tiré d'ici et le conseil sur le méson est tiré de la réponse effacée. Je suppose également que vous n'avez pas besoin de générer des documents, donc je n'installe pas de dépendances pour eux et les désactive dans le fichier meson
appel. Il est également important pour --prefix
à être usr
dans la ligne meson-configuration, afin que les bibliothèques soient installées à des emplacements standard.
Etape 1 : installer les dépendances de construction
J'espère ne pas en avoir oublié, mais n'hésitez pas à commenter si c'est le cas.
$ sudo apt install -y git ninja-build
$ sudo apt build-dep libinput
Vous aurez également besoin de meson
. Il est dans le repo Ubuntu, cependant dans la commande suivante je l'installe avec pip. La raison est la suivante : Ubuntu fournissant la plupart du temps des logiciels anciens, il est possible que leur version de meson soit trop ancienne pour pouvoir construire libinput. ATM Ubuntu 18.04 est connu pour avoir ce problème, mais je suppose qu'avec le temps cela peut arriver à d'autres versions également.
$ sudo apt install python3-pip
$ sudo pip3 install meson
Étape 2 : cloner et construire libinput
$ git clone https://gitlab.freedesktop.org/libinput/libinput
$ cd libinput
$ meson --prefix=/usr -Ddocumentation=false build/
$ ninja -C build/
Étape 3 : créer le paquet libinput et l'installer
Bien que la manière la plus simple d'installer la librairie construite soit d'exécuter ninja -C build install
mais je vous le déconseille fortement, sauf si vous savez ce que vous faites. (vous obtiendrez des fichiers non tracés partout dans votre système qui peuvent être écrasés lors de la mise à jour du système, et selon la situation peut même casser complètement libinput) .
Au lieu de cela, utilisez ce script que j'ai écrit. pour assembler un paquet.
$ wget https://gist.githubusercontent.com/Hi-Angel/45030ab89a2378b42511612cbe48d247/raw/package-deb-libinput.sh
[…]
$ bash ./package-deb-libinput.sh build/
[…]
dpkg-deb: building package 'libinput-git' in 'libinput_1.15.3-212-g60edbd2d.deb'.
Vous pouvez voir le nom du nouveau paquet dans la sortie script, il ne reste donc plus qu'à l'installer (remarque : le ./
dans le chemin est nécessaire pour apt
pour interpréter correctement l'argument comme un fichier local) :
$ sudo apt install -y ./build/libinput_1.15.3-212-g60edbd2d.deb
Pour utiliser la librairie installée, vous devez redémarrer la session graphique. (par exemple, redémarrage) .
Retour à l'ancienne libinput
Si vous souhaitez récupérer la librairie fournie par la distribution, installez simplement libinput10
paquet (il remplacera libinput-git
) :
$ apt install -y libinput10
Annexe
Au cas où quelque chose arriverait à github gist, voici le contenu actuel du script :
#!/bin/bash
set -e
if [ "$#" -ne 1 ]; then
echo "Wrong number of parameters.
Usage: $(basename $0) build_dir"
exit 1
fi
MESON_BUILD_ROOT=$(readlink -f $1)
PACKAGE_VERSION=$(grep -Po 'LIBINPUT_GIT_VERSION.*"\K.+(?=")' "$MESON_BUILD_ROOT"/libinput-git-version.h)
PKG_DIR="$MESON_BUILD_ROOT"/deb
mkdir -p $PKG_DIR/DEBIAN/
cat > $PKG_DIR/DEBIAN/control <<- END_OF_TEXT
PACKAGE: libinput-git
Version: $PACKAGE_VERSION
Architecture: amd64
Maintainer: Mystique Packager
Description: input device management and event handling library
Depends: libevdev2, libmtdev1, libudev1, libwacom2
Conflicts: libinput10, libinput-bin, libinput-dev, libinput-tools
Provides: libinput10, libinput-bin, libinput-dev, libinput-tools
Homepage: https://gitlab.freedesktop.org/libinput/libinput
END_OF_TEXT
cd "$MESON_BUILD_ROOT"
DESTDIR=$PKG_DIR ninja install
fakeroot dpkg-deb --build $PKG_DIR/ libinput_$PACKAGE_VERSION.deb