Я учусь на Linux, поэтому, пожалуйста, пойдите немного со мной. Я использую Linux Mint с XFCE4, не особо настроенный. Я использую его на ноутбуке, который использует сенсорную панель Elantech. Использование сенсорной панели Elantech по умолчанию довольно ужасно. Он невероятно неточен и неприятен в использовании, особенно потому, что он работает слишком быстро при попытке тонких движений. Когда я пытаюсь изменить настройки чувствительности и ускорения в графическом интерфейсе XFCE4 и в xinput, например:

xinput set-prop 'Elan Touchpad' 'Device Accel Constant Deceleration' 1.0

целый груз ничего не происходит. Это относится и к моей USB-мыши. Сначала я подумал, что они могут применяться только после перезагрузки, вот что я и сделал. Когда он вернулся, все реквизиты, перечисленные с

xinput list-props 'Elan Touchpad'

были сброшены до того, что они были, прежде чем я перезагрузил. После дальнейшего тестирования я увидел, что после выхода из системы и входа в систему они также были сброшены.

Итак, где я нахожусь:

Требуется ли для изменения настроек Xinput перезагрузка? Если нет, то похоже, что какое-то другое программное обеспечение управляет моей мышью, и мне нужно это диагностировать.

Где находятся возможные места в процессе входа / загрузки, где будут установлены эти настройки? Их нет в /usr/share/X11/xorg.conf.d, да, я проверил наверняка.

Могу ли я полностью предотвратить это с помощью новых драйверов мыши? Какие-либо рекомендации для сенсорных панелей Elantech? Я видел других с этой проблемой (дрянные драйверы Elan Pad), но никаких предложений.

Большое спасибо.

2 ответа2

2

Убедитесь, что настройки приняты без ошибок xinput. Затем они могут быть помещены в сценарий оболочки. Мои в .xinputrc загружены .xinitrc. Моя сенсорная панель i2c, вероятно, не то же самое, поэтому будьте осторожны и не копируйте все дословно. Вот моя установка:

#!/bin/sh
xinput --set-prop "ELAN1300:00 04F3:3057 Touchpad" "Device Accel Profile" "1"
xinput --set-prop "ELAN1300:00 04F3:3057 Touchpad" "Device Accel Constant Deceleration" "1.000000"
xinput --set-prop "ELAN1300:00 04F3:3057 Touchpad" "Device Accel Adaptive Deceleration" "1.000000"
xinput --set-prop "ELAN1300:00 04F3:3057 Touchpad" "Device Accel Velocity Scaling" "1.000000"
xinput --set-ptr-feedback "ELAN1300:00 04F3:3057 Touchpad" 4 2 1

Затем настройки можно найти с помощью xinput:

Device 'ELAN1300:00 04F3:3057 Touchpad':
Device Enabled (152):   1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (280): 1
Device Accel Constant Deceleration (281):   1.000000
Device Accel Adaptive Deceleration (282):   1.000000
Device Accel Velocity Scaling (283):    1.000000
Synaptics Edges (284):  128, 3080, 119, 2091
Synaptics Finger (285): 5, 60, 0
Synaptics Tap Time (286):   180
Synaptics Tap Move (287):   171
Synaptics Tap Durations (288):  180, 2, 100
Synaptics ClickPad (289):   1
Synaptics Middle Button Timeout (290):  0
Synaptics Two-Finger Pressure (291):    282
Synaptics Two-Finger Width (292):   7
Synaptics Scrolling Distance (293): 154, 77
Synaptics Edge Scrolling (294): 0, 0, 0
Synaptics Two-Finger Scrolling (295):   1, 0
Synaptics Move Speed (296): 1.000000, 1.000000, 0.000000, 0.000000
Synaptics Off (297):    1 <- because of syndaemon with typing
Synaptics Locked Drags (298):   0
Synaptics Locked Drags Timeout (299):   5000
Synaptics Tap Action (300): 0, 0, 0, 0, 0, 0, 0
Synaptics Click Action (301):   1, 3, 2
Synaptics Circular Scrolling (302): 0
Synaptics Circular Scrolling Distance (303):    0.100000
Synaptics Circular Scrolling Trigger (304): 0
Synaptics Circular Pad (305):   0
Synaptics Palm Detection (306): 1
Synaptics Palm Dimensions (307):    10, 200
Synaptics Coasting Speed (308): 20.000000, 50.000000
Synaptics Pressure Motion (309):    30, 160
Synaptics Pressure Motion Factor (310): 1.000000, 1.000000
Synaptics Grab Event Device (311):  0
Synaptics Gestures (312):   1
Synaptics Capabilities (313):   1, 0, 0, 1, 1, 0, 0
Synaptics Pad Resolution (314): 32, 31
Synaptics Area (315):   0, 0, 0, 0
Synaptics Soft Button Areas (316):  1924, 0, 1812, 0, 1283, 1892, 1812, 0
Synaptics Noise Cancellation (317): 19, 19
Device Product ID (276):    1267, 12375
Device Node (275):  "/dev/input/event15"

В Xorg.0.log показаны некоторые настройки, которые я не знаю, как установить, так что это пока загадка:

 [21.058] (II) config/udev: Adding input device ELAN1300:00 04F3:3057 Touchpad (/dev/input/event15)
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "evdev touchpad catchall"
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "libinput touchpad catchall"
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "touchpad catchall"
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "Default clickpad buttons"
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "touchpad catchall"
 [21.058] (**) ELAN1300:00 04F3:3057 Touchpad: Applying InputClass "Synaptics Clickpad"
 [21.058] (II) LoadModule: "synaptics"
 [21.059] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
 [21.060] (II) Module synaptics: vendor="X.Org Foundation"
 [21.060]   compiled for 1.20.0, module version = 1.9.1
 [21.060]   Module class: X.Org XInput Driver
 [21.060]   ABI class: X.Org XInput driver, version 24.1
 [21.060] (II) Using input driver 'synaptics' for 'ELAN1300:00 04F3:3057 Touchpad'
 [21.060] (**) ELAN1300:00 04F3:3057 Touchpad: always reports core events
 [21.060] (**) Option "Device" "/dev/input/event15"
 [21.186] (II) synaptics: ELAN1300:00 04F3:3057 Touchpad: found clickpad property
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: x-axis range 0 - 3208 (res 31)
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: y-axis range 0 - 2210 (res 32)
 [21.186] (II) synaptics: ELAN1300:00 04F3:3057 Touchpad: device does not report pressure, will use touch data.
 [21.186] (II) synaptics: ELAN1300:00 04F3:3057 Touchpad: device does not report finger width.
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: buttons: left double triple
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: Vendor 0x4f3 Product 0x3057
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: invalid pressure range.  defaulting to 0 - 255
 [21.186] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: invalid finger width range.  defaulting to 0 - 15
 [21.186] (**) Option "FingerLow" "5"
 [21.186] (**) Option "FingerHigh" "60"
 [21.186] (**) Option "MaxTapTime" "1"
 [21.186] (**) Option "MaxDoubleTapTime" "2"
 [21.186] (**) Option "HasSecondarySoftButtons" "0"
 [21.186] (**) Option "EmulateMidButtonTime" "0"
 [21.187] (**) Option "VertScrollDelta" "154"
 [21.187] (**) Option "CornerCoasting" "0"
 [21.187] (**) Option "LockedDrags" "0"
 [21.187] (**) Option "CircularPad" "0"
 [21.187] (**) Option "PalmDetect" "1"
 [21.187] (**) Option "MinSpeed" "0.9"
 [21.187] (**) Option "MaxSpeed" "0.9"
 [21.187] (**) Option "AccelFactor" "0"
 [21.187] (**) Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"
 [21.187] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: touchpad found
 [21.187] (**) ELAN1300:00 04F3:3057 Touchpad: always reports core events
 [21.206] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN1300:00/0018:04F3:3057.0001/input/input18/event15"
 [21.206] (II) XINPUT: Adding extended input device "ELAN1300:00 04F3:3057 Touchpad" (type: TOUCHPAD, id 11)
 [21.206] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) MinSpeed is now constant deceleration 1.1
 [21.206] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) MaxSpeed is now 1.00
 [21.206] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) AccelFactor is now 0.000
 [21.206] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) keeping acceleration scheme 1
 [21.206] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration profile 1
 [21.206] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration factor: 2.000
 [21.206] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration threshold: 4
 [21.207] (--) synaptics: ELAN1300:00 04F3:3057 Touchpad: touchpad found
 [21.208] (II) config/udev: Adding input device ELAN1300:00 04F3:3057 Touchpad (/dev/input/mouse0)
 [21.208] (**) ELAN1300:00 04F3:3057 Touchpad: Ignoring device from InputClass "touchpad ignore duplicates"

Мой /etc/X11/xorg.conf.d/70-synaptics.conf имеет их, как указано в предыдущем ответе, за исключением тех настроек xinput, которые вы выполняете и не включены в драйвер synaptics:

Section "InputClass"
    Identifier "Synaptics Clickpad"
    Driver "synaptics"
    MatchIsTouchpad "on"

    Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"
    Option "MaxTapTime" "1"
    Option "MaxDoubleTapTime" "2"
    Option "HasSecondarySoftButtons" "0"
    Option "EmulateMidButtonTime" "0"
    Option "CornerCoasting" "0"
    Option "FingerLow" "5"
    Option "FingerHigh" "60"
    Option "LockedDrags" "0"
    Option "CircularPad" "0"
    Option "PalmDetect" "1"
    Option "AccelFactor" "0"
    Option "VertScrollDelta" "154"
    Option "MinSpeed" "0.9"
    Option "MaxSpeed" "0.9"
    Option "AccelProfile" "flat"
    Option "AccelSpeed" "0.0"
EndSection

Хотелось бы, чтобы был простой способ выгрузить текущие настройки из xinput в файл конфигурации, который можно загружать каждый раз и легко изменять. Простой скрипт awk, вероятно, тоже подойдет.

РЕДАКТИРОВАТЬ: Тайна растворилась. Я наконец-то получил настройки ускорения в новый файл: /etc/X11/xorg.conf.d/80-pointer.conf

Section "InputClass"
  Identifier "ELAN1300"
  MatchIsTouchpad "on"
  MatchProduct "ELAN1300:00"
  Option "AccelerationProfile" "1"
  Option "AccelerationScheme" "predictable"
  Option "AccelerationThreshold" "5"
  Option "AccelerationNumerator" "2"
  Option "AccelerationDenominator" "1"
  Option "ConstantDeceleration" "2.4"
  Option "AdaptiveDeceleration" "2.1"
EndSection

Тогда я получаю это в моем Xorg.0.log:

[ 16732.671] (II) XINPUT: Adding extended input device "ELAN1300:00 04F3:3057 Touchpad" (type: TOUCHPAD, id 11)
[ 16732.671] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) MinSpeed is now constant deceleration 2.5
[ 16732.671] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) MaxSpeed is now 1.75
[ 16732.671] (**) synaptics: ELAN1300:00 04F3:3057 Touchpad: (accel) AccelFactor is now 0.051
[ 16732.671] (**) Option "AccelerationScheme" "predictable"
[ 16732.671] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) keeping acceleration scheme 1
[ 16732.671] (**) Option "ConstantDeceleration" "2.4"
[ 16732.671] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) constant deceleration by 2.4
[ 16732.671] (**) Option "AdaptiveDeceleration" "2.1"
[ 16732.671] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) adaptive deceleration by 2.1
[ 16732.671] (**) Option "AccelerationProfile" "1"
[ 16732.672] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration profile 1
[ 16732.672] (**) Option "AccelerationNumerator" "2"
[ 16732.672] (**) Option "AccelerationDenominator" "1"
[ 16732.672] (**) Option "AccelerationThreshold" "5"
[ 16732.672] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration factor: 2.000
[ 16732.672] (**) ELAN1300:00 04F3:3057 Touchpad: (accel) acceleration threshold: 5

Таким образом, сценарий оболочки больше не нужен для изменения этих настроек. Они являются частью Xserver вместо драйвера synaptics. Эти настройки ускорения, кажется, работают нормально, хотя я не понял их. Я на самом деле пытался лучше контролировать нажатие и нажатие. Теперь я использую VertEdgeScroll вместо VertTwoFingerScroll, и некоторые нестабильности исчезли.

0

1) Изменения xinput вносятся непосредственно в драйверы ввода X-сервера. Они эффективны сразу, не требуют перезагрузки и нигде не хранятся, поэтому после перезагрузки или перезапуска X-сервера они исчезнут.

2) Чтобы сделать постоянные изменения, самый простой способ - создать xorg.conf с InputDevice или InputClass . Эти разделы не присутствуют в xorg.conf умолчанию (на самом деле часто отсутствует xorg.conf ) и должны быть добавлены.

Осторожно, параметры не всегда имеют точно такие же имена, как в списке свойств xinput . Обратите внимание на пробелы и прописные / строчные буквы. См. man xorg.conf , man evdev и man- страницу драйвера для вас Elan Touchpad (см. Xorg.log) для подробностей. В Интернете также есть множество обучающих программ.

3) Я не знаком с сенсорной панелью Elan, и я не видел полный список свойств, но часто свойства работают согласованно и могут быть эффективными только в некоторых режимах или конфигурациях (управляемых другими свойствами). Поэтому вам может потребоваться установить другие свойства до того, как вступят в силу изменения «Device Accel Concel Deleleration». Кроме того, не забудьте еще раз проверить с помощью -list-props что настройка была зарегистрирована.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .