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!