foriequal0 / tpmiddle-rs

Rust port of https://github.com/tene0/tpmiddle
16 stars 4 forks source link

Not Working? #13

Open seniorm0ment opened 11 months ago

seniorm0ment commented 11 months ago

Thinkpad T16, Gen1, Windows 10 LTSC ENT

I followed the steps. Uninstalled ELAN Trackpoint software, rebooted, downloaded the tpmiddle-rs, threw the folder in my documents, added a shortcut of the .exe to startup, targetto C:\Users\username\Documents\tpmiddle-rs\tpmiddle-rs.exe --fn-lock --scroll smooth, rebooted again just in case. Also tried manually clicking it to ensure. It shows enabled under startup services. I also see it running under processes (it has 3 processes currently showing running).

While the trackpoint works, as in, I can move it around and stuff.. maybe I am misunderstanding the software's use case?

I was hoping it would fix it and behave like the older Thinkpad's (like the T430). Where the middle click would work as a middle click if you just pressed it, but if you held it and dragged it acted to scroll. The ELAN Trackpoint software has options for "middle click" and "scroll", however if you choose "middle click", the scroll is not the good scroll. It is the one that would be if you click middle mouse on a mouse, then slide up or down. It would not scroll in a lot of applications either. If I chose "scroll", it was perfect, however middle click would no longer work (which I use all the time for stuff such as opening & closing browser tabs)

foriequal0 commented 11 months ago

Hi! I built this around "Lenovo ThinkPad TrackPoint Keyboard II" for my work/home desktop. They had a terrible scroll behavior (it is differently terrible from TP laptop keyboard) so I built this.

I think some internals (such as scroll smoothing) can be used for other TrackPoint devices since it doesn't rely on device specific configuration (except for dealing with some quirks), but it uses HID API to discover and configure devices since the keyboard provides USB(built-in proprietary wireless dongle)/Bluetooth connectivity, so older ThinkPad laptop's internal keyboard (I assume they used PS/2 internally) support can be little bit tricky.

I also have TP, and I think the middle click behavior isn't what it did when I bought this anymore for a while, so I'm willing to digging into this more. But I'm little bit busy at this time and my model is released in 2022, which doesn't use PS/2 anymore for some years (It might be wrong. I just heard that, not checked)

seniorm0ment commented 11 months ago

Hi, you may have misread it. The T16 (Gen1) is a pretty brand new laptop model. As I said, I was hoping it could act similar to my older T430, however this device is newer.

But yeah basically I am just trying to get it to use the nice scrolling (not the "middle click" type scrolling that you would get if you middle clicked and dragged with an actual mouse) , while also being able to middle click to act as middle click (to close and open tabs and stuff).

foriequal0 commented 11 months ago

Oh, I'm sorry for misreading it at first. I was hasty since there were colleagues waiting for me on the lunch time, but I should have paid more attention to leave a comment considering that I haven't looked into this project for a long time. Thank you for pointing it out.

I think I now got what you mean. I confirmed the behavior that you've described is replicated on my TP. I've also checked that while "scroll" mode behavior of the laptop is same as "ThinkPad Preferred Scrolling" function mode of the keyboard, the "middle click" mode behavior of the laptop is somewhat different from the behavior when "ThinkPad Preferred Scrolling" is disabled on the keyboard.

I'll explain it more tomorrow while recalling my memories.

seniorm0ment commented 11 months ago

No worries, I appreciate it. Thank you for your efforts in looking into this!

foriequal0 commented 9 months ago

I'm sorry I didn't know "tomorrow" will be this long. It took too long to get on track of my life. I was thinking Elan trackpoint driver behavior is getting unbearably worse over recent updates. Trackpoint pause after keyboard input behavior seems more buggier in the recent driver, and basically makes it unusable. Lenovo uses PS/2 Elan trackpoint, and I think these annoying behaviors are controlled by the driver, not user-space process. I think we can control it by removing Elan driver on the system and use the Windows stock PS/2 compat driver, and filter and modify these uninterrupted events by ourselves. the problem is, it become more drift-y and I think it's not somewhat stable during my quick test.

foriequal0 commented 9 months ago

Hmm... It is not pausing after keyboard input. My trackpoint doesn't work sometimes without reasons.