Im Gegensatz zu den TrackPoints bei Lenovo Notebooks kann der TrackStick des Dell Latitude 7490 nicht ohne Anpassungen in Kombination mit der mittleren TrackStick-Taste zum Scrollen benutzt werden. Es gibt aber sowohl für X11 als auch Wayland eine Möglichkeit, dem Latitutde middle-button-scroll beizubringen. Bei mir funktioniert beides unter Fedora 29.
Unter X11
Wer noch X11 nutzt, hat es am Einfachsten. Hier muss nur eine Konfiguration für libinput erstellt werden. Also einfach den folgenden Inhalt kopieren und als Datei unter „/etc/X11/xorg.conf.d/40-libinput-trackpoint.conf“ oder „/usr/share/X11/xorg.conf.d/40-libinput-trackpoint.conf“ speichern.
Datei „40-libinput-trackpoint.conf“
Section "InputClass"
Identifier "Trackpoint Scroll"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Option "ScrollMethod" "button"
Option "ScrollButton" "2"
Driver "libinput"
EndSection
Wer statt libinput lieber evdev nutzen möchte, findet bei Francesco Provino eine alternative Konfiguration.
Credit/Quelle: askubuntu.com
Unter Wayland
Unter Wayland ist eine einfache Anassung per libinput Konfiguration nicht möglich. PeterCyx hat aber eine (vielleicht nicht unbedingt schönen, aber funktionierenden) Workaround gefunden. Dafür den folgenden Inhalt als Datei unter „/usr/lib/hook/hook.c“ speichern.
Datei „hook.c“
#define _GNU_SOURCE
#include <dlfcn.h>
#include <libinput.h>
typedef const char* (*orig_get_name_t)(struct libinput_device *device);
const char* libinput_device_get_name(struct libinput_device *device) {
set_scroll_emulation(device); // Inject the code to set scrolling emulation
orig_get_name_t orig_get_name;
orig_get_name = (orig_get_name_t) dlsym(RTLD_NEXT, "libinput_device_get_name");
return orig_get_name(device);
}
void set_scroll_emulation(struct libinput_device *device) {
libinput_device_config_middle_emulation_set_enabled(device, LIBINPUT_CONFIG_MIDDLE_EMULATION_ENABLED);
libinput_device_config_scroll_set_method(device, LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN);
libinput_device_config_scroll_set_button(device, 2);
}
Als nächstes müssen die zum Kompilieren noch fehlenden Dateien nachinstallierte werden. Anschließend den Kompilierbefehl ausführen.
sudo dnf install libinput-devel libudev-devel
sudo gcc -shared -ldl -linput -fPIC hook.c -o hook.so
Jetzt noch den folgenden Inhalt zum Einbinden der Library in der Datei „/etc/profile.d/libinput.sh“ speichern.
Datei „libinput.sh“
export LD_PRELOAD="$LD_PRELOAD /usr/lib/hook/hook.so"
Nach einem Neustart sollte jetzt das Scrollen mittels mittlerem TrackStick-Button problemlos funktionieren.
Credit/Quelle: PeterCyx