Re: ALPS touchpad ot correctly recognized: GlidePoint vs DualPoint
From: Pali Rohár <hidden>
Date: 2018-02-04 20:21:21
On Sunday 04 February 2018 20:39:06 Juanito wrote:
On 02/04/2018 07:16 PM, Pali Rohár wrote:quoted
On Monday 11 September 2017 13:26:30 Juanito wrote:quoted
Hi Masaki Ota, Thanks! On 11.09.2017 04:38, Masaki Ota wrote:quoted
Hi, Juanito, In my information, ALPS Touchpad is used on Thinkpad E series and L series. I don't know the device that is ALPS Touchpad + other vendor TrackStick. But Lenovo might use ALPS Touchpad on such a combination.Well, that is probably my fault, as it is not the original touchpad that was delievered with the laptop. I bought the touchpad (that included the three buttons) separately because I didn't like the clickpad that came with my laptop.Hi Juanito,Hi Pali,quoted
if you are still want to play with your touchpad hardware, I have a good news for your.Yeah! I'd love to get it to work! It's just I've been "working" on some other projects and my last kernel builds didn't work at all so I gave up and never got back to it. Thank you very much for that!quoted
It looks like that at least ALPS rushmore touchpads allow to receive RAW PS/2 packets from trackstick to host kernel, without modifying them by touchpad. Plus I was able to tell ALPS touchpad to start "mixing" those RAW trackstick PS/2 packets with native touchpad packets. On my configuration trackstick in RAW PS/2 mode by default talks with standard bare 3 byte PS/2 protocol and touchpad in 6 byte ALPS protocol. alps.c/psmouse.ko is already able to process and parse such mixed packets. And trackstick can be switched to some extended 4 byte protocol... All this happen when passthrough mode is enabled. From my understanding it seems that in normal mode, touchpad and trackstick communicate with that 4 byte protocol and touchpad converts it into 6 byte ALPS protocol and then send to kernel. On thinkpads trackstick communicate with TPPS/2 protcol and above 4 byte. So in my opinion ALPS touchpad by default cannot understand it. But you should be able to enter passthrough mode and then you would receive that TPPS/2 in alps kernel code.I don't really understand what you mean. Do I "just" have to set it to passthrough mode? How exactly can I do that?
Look at function alps_passthrough_mode_v3(). And try to call it after touchpad is initialized. You can also look which alps_command_mode_write_reg() functions are called for your touchpad and maybe try to figure out what those registers can enabled/disable. On http://www.cirque.com/gen4-dev-resources you can find document named GP-AN- 130823 INTERFACING TO GEN4 OVER I2C (PDF) which contains some description of those registers (in section 7). Register C2C8, bit 0 has description "PS2AuxControl.CommandPassThruEnabled" If trackstick is not detected, it seems you can "force" enable it by setting bit 7 "PS2AuxControl.AuxDevicePresent" in same register.
Again, thank you very much!
Have you tried to read from that register which Masaki Ota talked in previous emails? -- Pali Rohár pali.rohar@gmail.com
Attachments
- signature.asc [application/pgp-signature] 195 bytes