Я просто установил человечность 16.04 как двойную загрузку с (предварительно установленным) Windows (на всякий случай, мне нужен он два раза в год...) на моем новом 13-ac004nf HP Spectre x360. В соответствии с 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
, но это только отключает движущееся обнаружение... Что означает, что сенсорная панель все еще обнаруживает, что существует другой палец, касающийся ее, и она переходит к режиму жеста двойных пальцев (прокрутка). Я хотел бы, чтобы моя сенсорная панель вела себя как сенсорная панель с отдельными кнопками (как первое изображение) и не обнаружила что-либо по зоне кнопок. Как заставить это произойти?
Я не уверен, что существует техническое решение Вашей проблемы. Если бы это был я, то я, вероятно, просто включил бы мышь, выключил бы сенсорную панель и прекратил бы дело.
Нетехническое решение
, Когда Вы не сможете найти программное решение, переключите скорости. Попытайтесь получить некоторый запас карты или что-то. Более тяжелый, чем бумага для принтера и легче, чем картон. Фигура, сколько слоев Вы испытываете необходимость. Отключите как раз достаточно, чтобы покрыть кнопки на области кнопки сенсорной панели и прикрепить ее к сенсорной панели с небольшим горячим связующим звеном или чем-то еще, что будет легко удалить позже.
Это не может быть симпатично, но Ваши кнопки больше не будут сенсорными, и Вы все еще сможете спешить их к лево-и щелкнуть правой кнопкой.
сначала выполните список xinput для нахождения устройства (у меня есть 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"
первый должен включить щелчок правой кнопкой и второй щелчок средней кнопкой.
Вы включили в своих настройках "Две прокрутки пальца", отключает это, чтобы только иметь прокрутку справа и нижнюю часть Вашей сенсорной панели.
Теперь, выход из системы, перезапуск, входит в систему снова и с удачей Ваш слева/справа, регионам нужно включить.