Sony Vaio UX390n слишком чувствительный клик трекпоинта.

Добрый день ru arch. Столкнулся (вернее бадаюсь не первый месяц ) со следующей проблемой, трекпоинт регистрирует малейшее касание как клик и как итог при его использовании постоянно выделяется текст, прожимается что попало итд. До этого на машинке стоял Linux Mint 17 и проблема решалась с помощью этого патча https://github.com/antonizoon/psmouse-ux. После перехода на арч, на новом ядре этот способ работать перестал. Настроить по аналогии со своим Thinkpad t430 по wiki(https://wiki.archlinux.org/index.php/TrackPoint) не вышло.
Всё что удалось на данный момент сделать это подшаманить в /etc/X11/xorg.conf.d, но таким образом перестаёт работать не только клик на трекпоинте но и физическая левая кнопка, так что пришлось переназначить левый клик на клавиатуру как временное решение.

Section "InputDevice"
Identifier "evdev pointer catchall"
MatchIsPointer "on"
Driver "evdev"
Option "Device" "/dev/input/event*"
Option "ButtonMapping" "0 2 3 4 5 6 7"

EndSection

Заранее благодарю за помощь.
DarkDaral
трекпоинт регистрирует малейшее касание как клик
Загруби ... ни разу не работал с трекпоинт, но, имхо, должен регулироваться также как и тачпад.
За чувствительность касания к тачпаду отвечают FingerLow и FingerHigh.
Чтобы проверить есть ли эти функции у трекпоинт, смотри вывод - synclient -l | grep -i finger
Если в выводе будет значение типа
FingerLow               = 25
FingerHigh              = 30
пробуй загрубить, например, synclient FingerHigh=80 ... если работает, подбирай нужное значение.
Ошибки не исчезают с опытом - они просто умнеют
Пробовал, к сожалению synaptics не работает с трекпоинтом, ну и на сколько теперь знаю и не должен, ибо заточен под тачпад. К тому же на устройстве нет тачпада в принципе, только сенсорный экран и трекпоинт. Правда удалось заметить такую вещь, через xinput list выводится два устройства Alps/2 ALPS DualPointer Stick и Alps/2 ALPS DualPointer TouchPad.
Причём если перезапустить с параметром через,
 modprobe psmouse proto=imps
то вместо двух этих устройств всё определится как обычная PS/2 мышь. Похоже что трекпоинт воспринимается как два отдельных устройства.
Может уже и просмотрено всё, но вот что дал поиск в утке.
DarkDaral
к сожалению synaptics не работает с трекпоинтом, ну и на сколько теперь знаю и не должен, ибо заточен под тачпад
Не соглашусь - есть разные Synaptics - есть Synaptics touchpad input-synaptics и есть Synaptics trackpoint input-trackpoint... вот и пробуй ставь его
исправил ошибку - не точно выразился

PS - попробуй из AUR xf86-input-evdev-trackpoint ... хотя подробно не смотрел - может есть что то похожее и в репах и рекомендую заглянуть на BBS

EDIT 1 - заглянул на BBS (поиск по trackpoint) , топики на тему trackpoint имееются (и беглым взором подметил, что завязаны они на i2c_i801)
Ошибки не исчезают с опытом - они просто умнеют
Сегодня для интереса почитал об этом trackpoint в части чувствительности.
Настройка быть должна.
1. Согласно Wiki за это отвечает параметр "Device Accel Constant Deceleration" - название такое же как и у тачпад
The "Device Accel Constant Deceleration" line configures the sensitivity of the trackpoint.
Проверяй (у меня нет, а потому проверить не могу)
Как проверить? - находим устройство, используя xinput --list, смотрим параметра xinput list-props <id>, если имеется, пробуем изменить ….
2. Нужно поискать файл sensitivity в директориях /sys/bus/serio/devices/serio* или /sys/devices/platform/i8042/serio* - если имеется пробуем изменить.
В инете инфа имеется, дерзай.

PS - и да, могут быть нюансы, если trackpoint имеет отношение к Elan (также как и тачпад - топики на эту тему были)
Ошибки не исчезают с опытом - они просто умнеют
"Device Accel Constant Deceleration" - это всё же чувствительность по X и Y осям, вернее затухание инерции, а в моём случае проблема с Z осью. В прочем этого параметра у меня нет в любом случае, но благо тут это не критично, XY можно настроить многими способами. Поиски возможности сделать всё через конфиги ни к чему не привела, в /sys/bus/serio/devices/serio* практически нет настроек связанных с трекпоинтом, по неясным мне причинам.
Но в прочем не буду о грустном, проблему таки удалось решить, но пришлось пересобирать модуль psmouse из сорс кода, предварительно его подправив.
--- /usr/src/linux-source/linux/driver/input/mouse/alps.c 2019-08-02 19:06:28.969352104 +0300
+++ /usr/src/alps.c 2019-08-02 20:03:28.529232598 +0300
@@ -1966,33 +1966,20 @@
                  struct ps2dev *ps2dev = %psmouse->ps2dev;
                  int cmd = enable ? PSMOUSE_CMD_SETRATE : PSMOUSE_CMD_SETRES;
                  unsigned char tap_arg = enable ? 0x0A : 0x00;
-                 unsigned char param;
+                 unsigned char tap_arg2 = enable ? 0x14 : 0x0A;
+                 unsigned char param;

                  if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO) ||
	              ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) ||
	              ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) ||
	              ps2_command(ps2dev, &tap_arg, cmd))
                          return -1;
+
+                if (ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	              ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	              ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	              ps2_command(ps2dev, &tap_arg2, PSMOUSE_CMD_SETRATE))
+                         return -1;

                 if (alps_get_status(psmouse, param))
                          return -1;
@@ -2023,8 +2030,9 @@
                          return -1;
                 }

-                 if (alps_tap_mode(psmouse, true)) {
-                           psmouse_warn(psmouse, "Failed to enable hardware tapping\n");
+                 psmouse_warn(psmouse, "setting tap mode for mouse 0x%p", (void*)psmouse);
+                 if (alps_tap_mode(psmouse, false)) {
+		            psmouse_warn(psmouse, "Failed to disable hardware tapping\n");
                            return -1;
                 }
Ну а дальше только dkms и готово.
Вообщем по простому не получилось и по сути пришлось делать заново под новое ядро патч аналогичный тому, что я использовал раньше на Linux Mint 17.
DarkDaral
В прочем этого параметра у меня нет в любом случае
Этого не может быть - даю ссылку на документацию libinput - там много есть интересного (смотри слева) и даже описано как изменить этот параметр ....

PS - возможно был и не прав, в документации libinput этот параметр фигурирует как AttrTrackpointMultiplier, а вот как он называется после установки и должен ли выводиться обязательно, не знаю - почему то посчитал, что это одно и тоже - возможно от того, что настройкой Trackpoint ни разу заниматься не приходилось.
Так что погорячился с выводом "Этого не может быть" - возможно и может быть.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.