Действительно отключить тачпад над областью кнопки
Я только что установил Ubuntu 16.04 в качестве двойной загрузки с (предварительно установленной) Windows (на всякий случай, если она мне нужна дважды в год...) на моем новом HP Specter x360 13-ac004nf. В Windows тачпад работает хорошо и интуитивно, но в Ubuntu он практически не работает. Проблема в том, что зона кнопок чувствительна. Другими словами, тачпад не выглядит так:
но вот так:
И каждый раз, когда я кладу палец в зону левой кнопки (не щелкая), указатель перестает двигаться, потому что система обнаруживает жест двумя пальцами. Вот конфигурация, возвращаемая synclient
:
Parameter settings:
LeftEdge = 1605
RightEdge = 5337
TopEdge = 1369
BottomEdge = 4487
FingerLow = 25
FingerHigh = 30
MaxTapTime = 180
MaxTapMove = 248
MaxDoubleTapTime = 100
SingleTapTimeout = 180
ClickTime = 100
EmulateMidButtonTime = 0
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = -113
HorizScrollDelta = -113
VertEdgeScroll = 0
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 1
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0353857
TouchpadOff = 2
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 = 28
VertHysteresis = 28
ClickPad = 1
RightButtonAreaLeft = 3471
RightButtonAreaRight = 0
RightButtonAreaTop = 4087
RightButtonAreaBottom = 0
MiddleButtonAreaLeft = 0
MiddleButtonAreaRight = 0
MiddleButtonAreaTop = 0
MiddleButtonAreaBottom = 0
и вот что возвращается less /var/log/Xorg.0.log | grep -i range
:
[ 5.776] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1302 - 5640 (res 37)
[ 5.776] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1116 - 4740 (res 64)
[ 5.776] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[ 5.776] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15
Я пытался играть с AreaBottomEdge
, но он отключает только обнаружение движения... Это означает, что сенсорная панель по-прежнему обнаруживает, что к ней прикасается другой палец, и входит в режим жестов двумя пальцами (прокрутка). Я бы хотел, чтобы мой тачпад вел себя как тачпад с отдельными кнопками (как на первом изображении) и не обнаруживал ничего в зоне кнопок. Как это сделать?
2 ответа
Я не уверен, что есть техническое решение вашей проблемы. Если бы это был я, я бы, наверное, просто подключил мышь, выключил сенсорную панель и назвал бы ее день.
Нетехническое решение
Если вы не можете найти программное решение, переключайтесь. Попытайтесь получить некоторый запас карты или кое-что Тяжелее, чем бумага для принтера, и легче, чем картон. Выясните, сколько слоев вам понадобится. Вырежьте ровно столько, чтобы покрыть кнопки в области кнопок сенсорной панели и закрепить ее на сенсорной панели с помощью небольшого количества горячего клея или чего-то еще, что будет легко удалить позже.
Это может быть не красиво, но ваши кнопки больше не будут чувствительны к прикосновениям, и вы все равно сможете нажимать их левой и правой кнопкой мыши.
Сначала выполните xinput list, чтобы найти ваше устройство (у меня HP x360 i7-6500u)
~/devops > xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen Pen id=10 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics 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
....
Вы можете видеть, в моем случае идентификатор 14 (SynPS/2 Synaptics TouchPad
)
Теперь снова увидеть возможности этого устройства
~/devops > xinput list-props "14" | grep Capabilities
Synaptics Capabilities (330): 1, 0, 0, 1, 1, 1, 1
если ваше третье число равно нулю (как у меня), то у вас нет физической правой кнопки, и это должно быть "эмулировано" программным обеспечением.
сейчас скопируйте /usr/share/X11/xorg.conf.d/50-synaptics.conf в /etc/X11/xorg.conf.d/
sudo cp -ax /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/
а теперь в новом файле /etc/X11/xorg.conf.d/50-synaptics.conf
найдите этот абзац:
# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
EndSection
Добавьте две дополнительные строки перед опцией "SoftButtonAreas" "50% 0 82% 0 0 0 0 0":
Option "ClickPad" "true"
Option "EmulateMidButtonTime" "0"
первый должен активировать правый клик, а второй средний клик.
У вас в настройках включена "Прокрутка двумя пальцами", отключите эту функцию, чтобы прокрутка была только в правой и нижней части сенсорной панели.
Теперь выйдите из системы, перезагрузите компьютер, войдите снова и, если повезет, ваши левый / правый регионы должны быть включены.