Re: FocalTech Touchpad (v2) PS/2 Reverse Engineering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 24-10-2019 12:37, Hamza Farooq wrote:
Got an error by yahoo mail (as usual), trying again.

Hi,

Earlier this week I was thinking to get it merged, but I don’t think it’s ready yet.

Ok, if you can let me know (and mail me a copy) when you have a version which
works well under Linux for you by replacing the current FocalTech code, then
I can integrate it into the kernel in such a manner that it can co-exist with
the existing driver.

Regards,

Hans





There are 2 issues that need to be fixed first.

1st: Laptop keyboard have a built in Key to disable/enable touchpad that works on windows. While on Linux/macOS pressing it once disable device as expected, and if I press it second time then device is back online and works Fine. But the thing is if I use the touchpad after 1st time pressing button while it is disabled (place finger/press button etc.), in that case it doesn’t work and device is dead. On linux I can reload psmouse module that resets device and fix input (sudo modprobe -r psmouse).
I have checked EC Quries to make sure how that button disable device in first place, it isn’t EC Query and I don’t see any ps2/adb code on macOS (other button generate key specific code, this one doesn’t); I don’t know how to check this on Linux. So I want to know is there some other method/protocol that I’m missing here. I can use some other button as a replacement on macOS to reset device whenever it’s pressed manually(also I really don’t need this disable functionality at all, but just in case I disable it accidentally then I won’t have to reboot just to get Touchpad working again. And I’m not aware of modprobe alternative on Mac so this is best option right now until I figure out what that button does and how it disable the device) But I’m not sure what to do on Linux. And I would like to try something that might help understand this scenario.

2nd: touchpad finger movement is not uniform in both axis (x-axis, y-axis), it has something to do with touchpad size (2272 x 992 ; 85mm x 37.1mm according to my approximation, I’m not sure about actual physical size). With y_max = 992 movement over y-axis is pretty fast (accelerated) as compared to x-axis. Right now I’m using y_axis = 1360 this make the movement a little better but should make horizontal edge scrolling unusable (I use 2 finger scrolling though). I tried injecting input_abs_set_res for both x and y, but that didn’t change anything.
Also I remember seeing wrong touchpad reported by kernel in mm, I don’t remember the command now. But It wasn’t 85x37 (may be that is the issue). On the other hand I though this was related to touchpad somehow it self (back when I first got it working in July), but a few weeks ago I got It working on macOS (via. VoodooI2C MT2 Simulator, and I’m using 85mm x 37.1 mm as physical size)  and guess what pointer movement is uniform there. I want to know how I can fix it on Linux with y_max = 992

Thanks.

Regards,
Hamza



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux