ELAN Touchpad - отключить во время набора текста не работает?
Я люблю свой новый ноутбук. Быстрый процессор, m.2 ssd, свободная память, xUbuntu работает отлично.
Тем не менее, Tocuhpad сводит меня с ума! Пока я печатаю, щелчки мышью в любом окне заканчиваются. Хуже всего то, что функция "Отключить тачпад во время набора", которая должна об этом позаботиться, не работает.
Начнем с некоторых спецификаций:
#uname -a
Linux PickledPeanuts 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
#cat /etc/issue
Ubuntu 16.04.1 LTS \n \l
#ps ax|grep syndaemo
13764 pts/6 S+ 0:00 syndaemon -i 3 -KR
13793 pts/2 S+ 0:00 grep --color=auto syndaemo
#xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN1010:00 04F3:3012 Touchpad id=12 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
↳ DELL Wireless hotkeys id=16 [slave keyboard (3)]
#ps ax|grep wm
2062 ? S 0:15 xfwm4 --replace
13860 pts/2 S+ 0:00 grep --color=auto wm
#dmesg|grep -i elan
[ 1.604814] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x4d5f02)
[ 1.617181] psmouse serio1: elantech: Synaptics capabilities query result 0x00, 0x15, 0x10.
[ 1.629063] psmouse serio1: elantech: Elan sample query result 0c, 02, 75
[ 1.692084] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6
[ 2.194620] input: ELAN1010:00 04F3:3012 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-ELAN1010:00/0018:04F3:3012.0001/input/input12
[ 2.194862] hid-multitouch 0018:04F3:3012.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN1010:00 04F3:3012] on i2c-ELAN1010:00
#
#synclient
Parameter settings:
LeftEdge = 128
RightEdge = 3092
TopEdge = 130
BottomEdge = 2292
FingerLow = 1
FingerHigh = 1
MaxTapTime = 180
MaxTapMove = 177
MaxDoubleTapTime = 100
SingleTapTimeout = 180
ClickTime = 100
EmulateMidButtonTime = 0
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 80
HorizScrollDelta = 80
VertEdgeScroll = 1
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 0
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0496401
TouchpadOff = 1
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 2
RBCornerButton = 3
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 3
TapButton3 = 0
ClickFinger1 = 1
ClickFinger2 = 3
ClickFinger3 = 0
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 10
PalmMinZ = 200
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect = 1
GrabEventDevice = 0
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 20
VertHysteresis = 20
ClickPad = 1
RightButtonAreaLeft = 1610
RightButtonAreaRight = 0
RightButtonAreaTop = 1986
RightButtonAreaBottom = 0
MiddleButtonAreaLeft = 0
MiddleButtonAreaRight = 0
MiddleButtonAreaTop = 0
MiddleButtonAreaBottom = 0
#
Обратите внимание, что сенсорная панель ETPS/2 Elantech отключена в окне настроек мыши и сенсорной панели. Когда ELAN1010:00 04F3:3012 Сенсорная панель отключена, тачпад больше не работает (так что именно он используется).
Что я пробовал (без разницы):
- Стандартная опция "Отключить тачпад во время набора" в интерфейсе
- отключение выше и запуск syndaemon -i 3 -DK
- отключение выше и запуск syndaemon -i 3
- Запуск Syndaemon от имени пользователя root (на всякий случай)
Как я знаю, если это работает / не работает:
- Постоянно нажимайте одну клавишу в окне
- во время выполнения вышеуказанного нажатия на сенсорную панель в другом окне
- если фокус переключается на другое окно, сенсорная панель не отключается при наборе текста
Теория пары относительно того, что может происходить:
- Драйвер сенсорной панели просто не работает правильно
- syndaemon отключение неправильной записи сенсорной панели (как проверить / исправить?)
- syndaemon не определяет активность клавиатуры (как проверить / исправить?)
Я не хочу быть придурком, когда обращаюсь за помощью, но прежде чем кто-то предложит "создать командный файл, чтобы отключить тачпад и сопоставить его с клавишей", обходной путь. Я уже знаю об этом, но это просто не жизнеспособное решение для меня. Большую часть моего времени я провожу, нажимая, набирая несколько строк, нажимая снова. и т.д. Я специально ищу, чтобы отключить тачпад во время набора текста. Я очень техничен, использую разные версии linux около 18 лет и программирую уже 20 лет. Тем не менее, я не знаю задействованных кодовых баз и хотел бы получить некоторую помощь в поиске этого.
1 ответ
Привет, у меня была такая же проблема, и я нашел решение. Я где-то читал, что драйверы для мыши путаются, когда в xinput указано несколько устройств для мыши.
Итак, я только что проверил это и сделал следующее, чтобы остановить перемещение курсора в другое место во время ввода:
От твоего xinput list
Я вижу, что тачпад, который нужно отключить, - это ID 14. Просто запустите в терминале:
xinput set-prop 14 "Device Enabled" 0
Ваша мышь должна по-прежнему работать с касанием и физическим щелчком. Теперь, если вы печатаете, пытаясь нажать в другом месте, где он не должен потерять фокус (физический щелчок все равно заставит его потерять фокус, но я пока не понял, почему это так. Однако это не большая проблема для меня, так как я никогда не опираюсь на планшет) достаточно при наборе, чтобы заставить его щелкать таким образом). Теперь вам просто нужно запустить это при запуске, чтобы не было обнаружено двух разных мышей одновременно.