So up until now, I've been using my UltraNav middle-click button with "advanced features" disabled, meaning no magnification or scrolling use - this is because I always use the middle-click button to open a link in a new tab, navigate around Google Sketchup, and it's a handy button in general.
However, I have recently tried out the TrackPoint scrolling along with the middle-click button's scrolling feature, and it's very useful. When I enable the feature, however, it uses clicks of the middle button as a toggle to turn the scrolling on or off, and does not allow middle-clicking of links anymore.
I was wondering whether it is possible at all to use the TrackPoint scrolling along with the middle-click button?
-
-
Smooth scrolling needs to be set. I use the middle button to scroll and to open and close tabs.
-
Thanks for the answer though. -
what i did was, i set the the trackpoint middle button to the default scrolling
then, i set a tap zone on the top left corner of the touchpad to act as the conventional middle click button. i then just have to move my right thumb 1 cm to tap the button to open links, and still have the trackpoint middle button scrolling -
Slightly-more-than-three-month-bump
I was wondering whether anyone has any more insight into this issue. I recently found another thread on NBR of someone who has the exact same issue as me. Unfortunately, no resolution in that thread -
Note sure if anyone still cares about this, but I wanted to do exactly what MidnightSun does and I have a sort of a working solution. It's a bit long winded and...improvised but it works.
Basically I found a script on the Autohotkey forum that emulates a scroll wheel when you hold down a button and move in the x or y direction. The result was good, but it made the cursor jittery because the script tries to keep your cursor in its original place but it still allows for movement. So I solved this by hiding the cursor while scrolling (a work around to the work around...).
If you just want to run a script exe then download the attachment, unzip it to a place of your preference and add a shortcut to it in your Startup folder.
Install Steps (If you want to be able to edit the script):
You need Autohotkey installed.
Copy/paste code into .ahk file with Notepad.
Code:$*MButton:: Hotkey, $*MButton Up, MButtonup, off KeyWait, MButton, T0.2 If ErrorLevel = 1 { Hotkey, $*MButton Up, MButtonup, on MouseGetPos, ox, oy SetTimer, WatchTheMouse, 1 SystemCursor("Toggle") } Else Send {MButton} return MButtonup: Hotkey, $*MButton Up, MButtonup, off SetTimer, WatchTheMouse, off SystemCursor("Toggle") return WatchTheMouse: MouseGetPos, nx, ny dy := ny-oy dx := nx-ox If (dx**2 > 0 and dx**2>dy**2) ;edit 4 for sensitivity (changes sensitivity to movement) { times := Abs(dy)/1 ;edit 1 for sensitivity (changes frequency of scroll signal) Loop, %times% { If (dx > 0) Click WheelRight Else Click WheelLeft } } If (dy**2 > 0 and dy**2>dx**2) ;edit 0 for sensitivity (changes sensitivity to movement) { times := Abs(dy)/1 ;edit 1 for sensitivity (changes frequency of scroll signal) Loop, %times% { If (dy > 0) Click WheelDown Else Click WheelUp } } MouseMove ox, oy return SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others { static AndMask, XorMask, $, h_cursor ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call { $ = h ; active default cursors VarSetCapacity( h_cursor,4444, 1 ) VarSetCapacity( AndMask, 32*4, 0xFF ) VarSetCapacity( XorMask, 32*4, 0 ) system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650 StringSplit c, system_cursors, `, Loop %c0% { h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% ) h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 ) b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0 , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask ) } } if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T")) $ = b ; use blank cursors else $ = h ; use the saved cursors Loop %c0% { h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 ) DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% ) } }
Scrolling with the script is very sensitive, you can adjust it to your own preferences. I also opened Regedit, went to HKEY_CURRENT_USER\Control Panel\Desktop and changed WheelScrollLines to 1 (default is 3)
Now you have the best of both worlds, middle clicking in any program, as well as scrolling in most places (I would say everywhere but I haven't tested enough).
Sources:
http://www.autohotkey.com/docs/commands/DllCall.htm#HideCursor
http://www.autohotkey.com/forum/topic33712.html
Edit: This is all with the middle button set to neither btw. Actually, if you have only a trackpoint and no touchpad (or no use for the touchpad), you can uninstall Lenovo's drivers and use the generic Windows Driver + Autohotkey to eliminate the extra process. Although Autohotkey is like 4 times the size of Daemon, still only 2mb.
Further testing shows horizontal scrolling doesn't really work at all xD. Worked in notepad, presumably some other stuff...Not gonna worry about it, it was a perk anyway. Also hiding the cursor only seems to work on windows cursors, stuff like Foxit's hand and Firefox's magnifying class stay on the screen.Attached Files:
-
-
Autohotkey huh? What a great find! Ive been trying to look for a Setpoint alternative and I think this may be it!
-
-
) is getting very bloated nowadays and I only need the functions of the extra buttons of my vx revolution mouse! Besides, Logitech dont listens anymore of complaints that their software messes a lot of stuffs!
-
Uploaded a Autohotkey compiled script in previous post, you no longer have to have Autohotkey installed unless you want to adjust the script for your own preference
Updated the code so that horizontal scrolling works better...Did I say I wasn't going to worry about it? Well it was actually simple and with that attitude I wouldn't of had this script in the first place =D.
Also made it so that it only either scrolls horizontally or vertically and not both at once, felt this was needed for control since my settings have it so sensitive to movement.
Code:$*MButton:: Hotkey, $*MButton Up, MButtonup, off KeyWait, MButton, T0.2 If ErrorLevel = 1 { Hotkey, $*MButton Up, MButtonup, on MouseGetPos, ox, oy SetTimer, WatchTheMouse, 5 SystemCursor("Toggle") } Else Send {MButton} return MButtonup: Hotkey, $*MButton Up, MButtonup, off SetTimer, WatchTheMouse, off SystemCursor("Toggle") return WatchTheMouse: MouseGetPos, nx, ny dy := ny-oy dx := nx-ox If (dx**2 > 0 and dx**2>dy**2) ;edit 4 for sensitivity (changes sensitivity to movement) { times := Abs(dy)/1 ;edit 1 for sensitivity (changes frequency of scroll signal) Loop, %times% { If (dx > 0) Click WheelRight Else Click WheelLeft } } If (dy**2 > 0 and dy**2>dx**2) ;edit 0 for sensitivity (changes sensitivity to movement) { times := Abs(dy)/1 ;edit 1 for sensitivity (changes frequency of scroll signal) Loop, %times% { If (dy > 0) Click WheelDown Else Click WheelUp } } MouseMove ox, oy return SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others { static AndMask, XorMask, $, h_cursor ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call { $ = h ; active default cursors VarSetCapacity( h_cursor,4444, 1 ) VarSetCapacity( AndMask, 32*4, 0xFF ) VarSetCapacity( XorMask, 32*4, 0 ) system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650 StringSplit c, system_cursors, `, Loop %c0% { h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% ) h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 ) b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0 , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask ) } } if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T")) $ = b ; use blank cursors else $ = h ; use the saved cursors Loop %c0% { h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 ) DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% ) } }
-
-
I've noticed that...and...well that's it xD, I have no idea how to interact with windows that are not the focused window.
I know the Lenovo's drivers are able to do it, but hey...that's why we pay them isn't it =P.
Now, if you want to edit the script so that it middle clicks first and then scrolls when you hold it down, that'll change the focus for you. But this will cause accidental link clicks when you're scrolling a web page. I don't know how to change a focus window without a click of some sort. -
aperture science Notebook Consultant
-
Yes, if you want to play with the code. Otherwise just download MScroll.exe
Make sure to do the registry edit to number of lines per scroll -
Old thread, but I wanted to say thank you so much aznguyphan. Your script works great. I like it better than the other solution I found, which is to use Marble Mouse Scroll Wheel. It sets up similarly to your script (set the trackpoint settings to neither), and it probably acts more like the trackpoint's standard scroll, but yours has a better feel and it works smoother on more programs (I've noticed Pidgin and Winamp).
Also I would like to add that you don't need to edit the registry, you can change the number of lines it scrolls in Window's control panel under mouse.
Now if only we could figure out how to scroll whichever window the cursor is hovering over, regardless of focus, then it would be perfect. -
I have been searching for a way to get essentially "trackpoint scrolling = standard" funtionality, but with middle clicking functionality. I don't quite understand everything about MScroll.exe, but I downloaded it and ran it, and I set the trackpoint to neither, and I seem to now have what I want.
Awesome! Thanks aznguyphan! -
This is great! IMHO Lenovo should pay you guys and incorporate this into all of the current Thinkpads. Whomever coded this should know that the Thinkpad community is very grateful!
-
This Script is amazing! Sorry for the old bump, but could you please clarify how to change the sensitivity? I don't understand the two lines you commented, but I want to decrease the sensitivity for vertical scrolling.
-
edit: Also if you have paypal want some beer money then pm me your paypal id -
Not sure if anyone still cares but for future reference:
The UltraNav that came with my x220 has a scrolling type "Auto-select" under trackpoint settings which seems to accomplish what we're after. -
For me it doesn't do what is desired in the OP of this thread.
If I set the scrolling type to smooth, and the functionality to scrolling, it just acts like a middle click. For programs like chrome and firefox this is manageable as they bring up the scroller. For programs like notepad, it does nothing (it cannot scroll). -
adante is correct. With the settings suggested, the X220 behaves like laptops bevor: middle click is then just the "normal" middle click, which in browsers triggers "smooth scrolling".
-
I will give this script a go. -
Just wondering, apart from changing the scroll wheel lines from regedit/control panel, how can i change the sensitivity in the script?
-
Thanks, this script is great. However, since I updated a bunch of Lenovo programs this morning (including the navpoint software) it stopped working. It still works with a mouse or if I hold the middlebutton and use one finger on the touchpad, but not while using the touchpoint. I can't see how it's any different but somehow it is. Any suggestions would be appriciated, thanks.
-
I have no idea what could be causing that problem. I use the script on a x200s which doesn't have a trackpad and probably uses a different driver from Thinkpads with trackpad/trackpoint combos. Only thing to try is to downgrade your driver.
Another option is to use an API based program someone else on the forum posted: http://forum.notebookreview.com/lenovo-ibm/472713-map-double-clicking-trackpoint-center-button.html -
I have discovered a better solution for this, and it's very simple. A little program called Marble Mouse Scroll Wheel. It's somewhat difficult to find as the original page is down, but you can get it here: Casey Tech: Download Marble Mouse Scroll Wheel Here!. Just install it and set the scroll button to Middle (Button 3).
This problem has bothered me since I first got my Thinkpad. I looked everywhere and tried the script mentioned in this thread but never really found what I was looking for, until today. This program achieves a scroll very much like the UltraNav's, including the ability to scroll windows that are behind other windows without changing focus, and it allows you to use the middle click as normal.
*edit*
I forgot to say, you should uninstall the UltraNav drivers first, this program works with the generic Windows drivers. -
-
-
Why don't you try Marble Mouse Wheel as hyetou suggested?
-
-
-
I'm going crazy with a similar problem. My problem is that Middle Click stops the Trackpoint cursor. Touchpad works fine.
I'm trying to explain it on Lenovo's forums:
Newest UltraNav driver brakes native windows middl... - Lenovo Community
Here is my post from that forum:
Button Tester (source code included, in case you are afraid of a virus)
Can you try if you can draw with the middle button using the TrackPoint? For me it doesn't work with Lenovo's driver. -
I have a thinkpad e430 and been trying to retain thinkpad scrolling AND use middle click.
I'm running windows 8... and finally found this tiny little app to do exactly what I wanted.
Thought I'd share since it took me forever to find this...
ThinkPad TrackPoint & mouse middle click button... | msafi.com -
A thread discussing TPMiddle is linked on page 3 of this thread. Anyway, I like Marek's program, but the problem is that it does not allow adjusting the scrolling speed, i.e. it uses the Windows default setting, e.g. 3 rows per "wheel". Consequently it is way to sensitive, at least for me. I asked Marek a while ago if he would be able to implement some speed adjustment and he said he would think about it.
-
As far as I know, Marek's app doesn't mess with the scroll speed at all. All it does is send a middle click when the middle button of the TrackPoint is used.
Since we're here talking about this, I'd really like to express how much I appreciate this little app that Marek made for the ThinkPad community. It's a life saver. Thank you so much Marek! -
At least for opening tabs using the middle click, I've become used to navigating the trackpoint with my right hand and being able to control+click on links.
-
Really sorry for the old bump, but I'm looking for a similar solution as well.
Marek's solution is excellent, fits my need almost perfectly except for one little thing: I don't really press down my middle button firmly when I scroll, so usually it kind of "bounces" when I press it. Since Marek is using timeout to distinguish middle clicks and scrolling, it's really annoying when I scroll halfway and suddenly registers a middle click when I don't want to.
If Marek's program can be changed to count movements (as the script in the first page) rather than timeout, that would be the perfect solution for me. Could someone modify Marek's program or write a script that does the same thing? -
Hi, sorry but I don't quite understand what you mean with not pressing the middle button "firmly"...either you press it (and it is registered as pressed) or you don't. It's not touch sensitive.
-
It appears that the Ultranav buttons on my T430 uses a membrane switch instead of a microswitch. This likely why it feels better than most other mouse buttons, but has the drawback of bad contact if there's not enough pressure. Most keyboards provide this pressure with the rubber dome, but the ultranav buttons seems to be not very tactile.
UltraNav Middle Click Button & Scroll
Discussion in 'Lenovo' started by MidnightSun, Oct 6, 2009.