Juan Ramón Molina Menor <in...@juanmolina.eu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |in...@juanmolina.eu
--- Comment #24 from Juan Ramón Molina Menor <in...@juanmolina.eu> ---
I have tested the patch on two Lenovo laptops which have Synaptics (ThinkPad
S440) and Elantech (S20-30) trackpads. I already had Synaptics support with the
psm(4) driver and the patch doesn’t seem to introduce regressions.
What I have tested, both on console and X:
- Select / Copy / Paste with tap, drag and three-finger tap.
- Two-finger scroll.
- Normal button operation.
Hope it helps,
Juan
--- Comment #25 from Vladimir Kondratyev <wu...@cicgroup.ru> ---
(In reply to Juan Ramón Molina Menor from comment #24)
Thank you, Juan!
Could you add debug.psm.loglevel=2 to /boot/loader.conf and provide us with
some info about your touchpad hardware from "dmesg" and "sysctl hw.psm."
commands output?
Following is what my laptop prints:
# dmesg
... skipped ...
Elantech touchpad hardware v.4 firmware v.0x461f02
... skipped ...
Model information:
MaxX: 2772
MaxY: 1452
DpmmX: 32
DpmmY: 32
TracesX: 21
TracesY: 11
SemiMT: 0
Clickpad: 1
Trackpad: 0
CRC: 0
Pressure: 1
psm0: found Elantech Touchpad
# sysctl hw.psm.elantech.
hw.psm.elantech.softbutton3_x: 1848
hw.psm.elantech.softbutton2_x: 924
hw.psm.elantech.softbuttons_y: 363
hw.psm.elantech.touchpad_off: 0
hw.psm.elantech.vscroll_div_max: 50
hw.psm.elantech.vscroll_div_min: 30
hw.psm.elantech.vscroll_min_delta: 15
hw.psm.elantech.vscroll_ver_area: 0
hw.psm.elantech.vscroll_hor_area: 0
hw.psm.elantech.taphold_timeout: 250000
hw.psm.elantech.tap_min_queue: 2
hw.psm.elantech.tap_max_delta: 25
hw.psm.elantech.div_len: 30
hw.psm.elantech.div_max_na: 10
hw.psm.elantech.div_max: 6
hw.psm.elantech.div_min: 3
hw.psm.elantech.weight_len_squared: 200
hw.psm.elantech.weight_previous_na: 20
hw.psm.elantech.weight_previous: 6
hw.psm.elantech.weight_current: 3
hw.psm.elantech.multiplicator: 10000
hw.psm.elantech.window_max: 10
hw.psm.elantech.window_min: 4
hw.psm.elantech.na_left: 0
hw.psm.elantech.na_bottom: 0
hw.psm.elantech.na_right: 0
hw.psm.elantech.na_top: 0
hw.psm.elantech.margin_left: 0
hw.psm.elantech.margin_bottom: 0
hw.psm.elantech.margin_right: 0
hw.psm.elantech.margin_top: 0
hw.psm.elantech.max_width: 10
hw.psm.elantech.max_pressure: 220
hw.psm.elantech.min_pressure: 1
hw.psm.elantech.two_finger_scroll: 1
hw.psm.elantech.directional_scrolls: 0
--- Comment #26 from Juan Ramón Molina Menor <in...@juanmolina.eu> ---
# dmesg
...
Elantech touchpad hardware v.3 firmware v.0x350f00
...
Model information:
MaxX: 2436
MaxY: 1044
DpmmX: 32
DpmmY: 32
TracesX: 22
TracesY: 10
SemiMT: 1
Clickpad: 0
Trackpad: 0
CRC: 0
Pressure: 1
psm0: found Elantech Touchpad
...
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Elantech Touchpad, device ID 0-00, 3 buttons
psm0: config:00004000, flags:00000008, packet size:6
psm0: syncmask:04, syncbits:00
# sysctl hw.psm.elantech
hw.psm.elantech.touchpad_off: 0
hw.psm.elantech.vscroll_div_max: 50
hw.psm.elantech.vscroll_div_min: 30
hw.psm.elantech.vscroll_min_delta: 15
hw.psm.elantech.vscroll_ver_area: 0
hw.psm.elantech.vscroll_hor_area: 0
hw.psm.elantech.taphold_timeout: 125000
--- Comment #27 from Vladimir Kondratyev <wu...@cicgroup.ru> ---
(In reply to Juan Ramón Molina Menor from comment #26)
> Elantech touchpad hardware v.3 firmware v.0x350f00
HW version 3 can be considered as basicaly working. Thanks
> SemiMT: 1
Here is harmless bug in driver. HWv3 is multitouch TP not semi-multitouch. I
will fix that
Could you do following gestures and post results here:
Gest 1.
1. Put first finger on e.g. left bottom corner of TP
2. Do a short move so cursor moves too
3. Put second finger on opposite corner
4. Move both fingers to trigger 2finger scroll
5. Release first (left) finger but leave second on TP
6. Move second finger across TP
Gest 2.
1 - 4 is the same
5. Release second (right) finger but leave first on TP
6. Move first finger across TP
Does cursor jump on p.5?
What is happening on p.6? Cursor moving or scrolling?
Could you post synaptics "dmesg" and "sysctl hw.psm." output here too?
--- Comment #28 from Juan Ramón Molina Menor <in...@juanmolina.eu> ---
Hi again.
> Could you do following gestures and post results here:
>
> Gest 1.
> 1. Put first finger on e.g. left bottom corner of TP
> 2. Do a short move so cursor moves too
> 3. Put second finger on opposite corner
> 4. Move both fingers to trigger 2finger scroll
> 5. Release first (left) finger but leave second on TP
> 6. Move second finger across TP
>
> Gest 2.
> 1 - 4 is the same
> 5. Release second (right) finger but leave first on TP
> 6. Move first finger across TP
Results:
--- Synaptics ---
Gest 1 and 2: Cursor does not jump on p. 5. Scroll stops in p. 6 and cursor
resumes moving.
--- Elantech ---
Gest 1: Cursor jumps on p. 5. Scroll stops in p. 6. and cursor resumes moving.
Gest 2: Cursor does not jump on p. 5. Scroll stops in p. 6 and cursor resumes
moving.
> Could you post synaptics "dmesg" and "sysctl hw.psm." output here too?
# dmesg
...
Synaptics Touchpad v8.1
...
Model information:
infoRot180: 0
infoPortrait: 0
infoSensor: 1
infoHardware: 113
infoNewAbs: 1
capPen: 0
infoSimplC: 1
infoGeometry: 1
...
Extended capabilities:
capExtended: 1
capMiddle: 0
nExtendedQueries: 5
capPassthrough: 1
capLowPower: 0
capMultiFingerReport: 1
capSleep: 0
capFourButtons: 0
capBallistics: 0
capMultiFinger: 1
capPalmDetect: 1
infoXupmm: 45
infoYupmm: 52
...
Extended model ID:
verticalScroll: 0
horizontalScroll: 0
verticalWheel: 0
nExtendedButtons: 0
capEWmode: 1
...
Continued capabilities:
capClickPad: 1
capDeluxeLEDs: 0
noAbsoluteFilter: 0
capReportsV: 1
capUniformClickPad: 0
capReportsMin: 1
capInterTouch: 1
capReportsMax: 1
capClearPad: 0
capAdvancedGestures: 0
capCoveredPad: 0
maximumXCoord: 5674
maximumYCoord: 4684
minimumXCoord: 1266
minimumYCoord: 1170
Additional Buttons: 1
...
psm0: found Synaptics Touchpad
...
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Synaptics Touchpad, device ID 0-00, 4 buttons
psm0: config:00004000, flags:00000008, packet size:6
psm0: syncmask:c0, syncbits:00
# sysctl hw.psm.synaptics
hw.psm.synaptics.softbutton3_x: 4700
hw.psm.synaptics.softbutton2_x: 3600
hw.psm.synaptics.softbuttons_y: 1700
hw.psm.synaptics.touchpad_off: 0
hw.psm.synaptics.vscroll_div_max: 150
hw.psm.synaptics.vscroll_div_min: 100
hw.psm.synaptics.vscroll_min_delta: 50
hw.psm.synaptics.vscroll_ver_area: -400
hw.psm.synaptics.vscroll_hor_area: 0
hw.psm.synaptics.taphold_timeout: 125000
hw.psm.synaptics.tap_min_queue: 2
hw.psm.synaptics.tap_max_delta: 80
hw.psm.synaptics.div_len: 100
hw.psm.synaptics.div_max_na: 30
hw.psm.synaptics.div_max: 17
hw.psm.synaptics.div_min: 9
hw.psm.synaptics.weight_len_squared: 2000
hw.psm.synaptics.weight_previous_na: 20
hw.psm.synaptics.weight_previous: 6
hw.psm.synaptics.weight_current: 3
hw.psm.synaptics.multiplicator: 10000
hw.psm.synaptics.window_max: 10
hw.psm.synaptics.window_min: 4
hw.psm.synaptics.na_left: 1600
hw.psm.synaptics.na_bottom: 1408
hw.psm.synaptics.na_right: 0
hw.psm.synaptics.na_top: 1314
hw.psm.synaptics.margin_left: 200
hw.psm.synaptics.margin_bottom: 200
hw.psm.synaptics.margin_right: 0
hw.psm.synaptics.margin_top: 0
hw.psm.synaptics.max_width: 10
hw.psm.synaptics.max_pressure: 220
hw.psm.synaptics.min_pressure: 16
hw.psm.synaptics.two_finger_scroll: 1
hw.psm.synaptics.directional_scrolls: 0
--- Comment #30 from Vladimir Kondratyev <wu...@cicgroup.ru> ---
(In reply to Juan Ramón Molina Menor from comment #28)
> --- Elantech ---
> Gest 1: Cursor jumps on p. 5. Scroll stops in p. 6. and cursor resumes moving.
New version should eliminate cursor jump
> # sysctl hw.psm.synaptics
> ....
> hw.psm.synaptics.na_right: 0
> hw.psm.synaptics.na_top: 1314
Ooops. I subtracted wrong axis here. Should be fixed now.
> Continued capabilities:
> capClickPad: 1
Is it synaptics clickpad?
If so, could you check proper softbuttons sizing? Pressing on to lower-right
part of synaptics clickpad should produce middle or right mouse button events
rather than left button event. Zones are tuned via
hw.psm.synaptics.softbutton3_x, hw.psm.synaptics.softbutton2_x and
hw.psm.synaptics.softbuttons_y sysctls and their default values was taken to
match HP pavillion clickpad drawing. I wonder, if these values match your
touchpad geometry?
Big thanx for testing, Juan!
--- Comment #33 from Juan Ramón Molina Menor <in...@juanmolina.eu> ---
Hi Vladimir.
Sorry for not replying earlier.
Unfortunately, I’m having a graphics problem with the laptop with the Elantech
touchpad: I’m testing the DRM 4.6 support and something has broken Xorg in a
recent commit. I’m not seeing the 'jump' issues with the touchpad in the
console, but there is no two-finger scroll to be tested…
Well, I have tested your new path in my Haswell laptop with a Synaptics
touchpad and it works as before, so support do not seem to have regressed.
I’ll be back to you as soon as I have something. Thanks for your efforts.
Juan
--- Comment #34 from Juan Ramón Molina Menor <in...@juanmolina.eu> ---
(In reply to Vladimir Kondratyev from comment #30)
>> Gest 1: Cursor jumps on p. 5. Scroll stops in p. 6. and cursor resumes moving.
>New version should eliminate cursor jump
Yes it does.
>> Continued capabilities:
>> capClickPad: 1
>Is it synaptics clickpad?
>If so, could you check proper softbuttons sizing? Pressing on to lower-right
>part of synaptics clickpad should produce middle or right mouse button events
>rather than left button event. Zones are tuned via
>hw.psm.synaptics.softbutton3_x, hw.psm.synaptics.softbutton2_x and
>hw.psm.synaptics.softbuttons_y sysctls and their default values was taken to
>match HP pavillion clickpad drawing. I wonder, if these values match your
>touchpad geometry?
Thanks for pointing this, I didn’t know. Softbuttons are also working, but
require fine-tuning their position with the sysctl values. They also require an
actual click, tapping would not trigger them. All considered, I still prefer
double and triple tapping.
Best regards,