Quantcast UltraNav Middle Click Button & Scroll

+ Reply to Thread
Page 1 of 4 1234 LastLast
Results 1 to 10 of 40
  1. #1
    Emodicon
    Join Date
    Nov 2008
    Posts
    7,727
    Rep Power
    48

    Default UltraNav Middle Click Button & Scroll

    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?

  2. #2
    Notebook Virtuoso
    Join Date
    Feb 2008
    Location
    Santa Barbara, CA
    Posts
    2,875
    Rep Power
    25

    Default Re: UltraNav Middle Click Button & Scroll

    Smooth scrolling needs to be set. I use the middle button to scroll and to open and close tabs.
    Thinkpad x200: Win 7 x64, P8400, 4gigs ddr3 (crucial 2x2gig), 80gig Intel X25m G2/64gig Samsung SLC SSD, Intel wifi5100, 9cell, fingerprint reader, BT, NMB keyboard, ultrabase driving HP LP2475w (displayport/dvi)

    Guide to adding a bluetooth module in the x200

  3. #3
    Emodicon
    Join Date
    Nov 2008
    Posts
    7,727
    Rep Power
    48

    Default Re: UltraNav Middle Click Button & Scroll

    Quote Originally Posted by jaredy View Post
    Smooth scrolling needs to be set. I use the middle button to scroll and to open and close tabs.
    Ah, well smooth scrolling is just the conventional press-in-middle-button-on-mouse scroller thing. I prefer the standard scroller, the one with the small gray vertical bar with the mouse pointer. Any way to still use that along with the middle click function?

    Thanks for the answer though.

  4. #4
    Notebook Consultant
    Join Date
    Feb 2009
    Posts
    143
    Rep Power
    11

    Default Re: UltraNav Middle Click Button & Scroll

    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

  5. #5
    Emodicon
    Join Date
    Nov 2008
    Posts
    7,727
    Rep Power
    48

    Default Re: UltraNav Middle Click Button & Scroll

    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

  6. #6
    Notebook Evangelist
    Join Date
    Sep 2009
    Posts
    516
    Rep Power
    12

    Default Re: UltraNav Middle Click Button & Scroll

    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% )
        }
    }
    Double click the file to run it, place it Startup folder so it runs all the time (works after standby/resume).

    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/comma...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 Attached Files
    Last edited by aznguyphan; 28th February 2010 at 05:36 PM.

  7. #7
    Notebook Consultant
    Join Date
    Jun 2007
    Location
    SG
    Posts
    138
    Rep Power
    15

    Default Re: UltraNav Middle Click Button & Scroll

    Autohotkey huh? What a great find! Ive been trying to look for a Setpoint alternative and I think this may be it!
    My Current Squeeze:
    ThinkPad T400 | Intel Core 2 Duo T9600 2.8GHz Processor | 8192MB Corsair PC3-8500 RAMs | ATI Mobility Radeon HD3470 (1440×900) | Intel X25-M G2 34nm 160GB SSD | Seagate Momentus 7200.4rpm 500GB HDD via UltraBay | Windows 7 Ultimate x64 | Ubuntu 9.10 x64 (Karmic Koala) via UltraBay

  8. #8
    Notebook Evangelist
    Join Date
    Sep 2009
    Posts
    516
    Rep Power
    12

    Default Re: UltraNav Middle Click Button & Scroll

    Quote Originally Posted by elixiash View Post
    Autohotkey huh? What a great find! Ive been trying to look for a Setpoint alternative and I think this may be it!
    Never heard of Setpoint before. Did it serve the same purpose as this script? I imagine a driver from a large corporation would be a better solution than a random script off the internet xD. Why are you looking for a replacement?

  9. #9
    Notebook Consultant
    Join Date
    Jun 2007
    Location
    SG
    Posts
    138
    Rep Power
    15

    Default Re: UltraNav Middle Click Button & Scroll

    Quote Originally Posted by aznguyphan View Post
    Never heard of Setpoint before. Did it serve the same purpose as this script? I imagine a driver from a large corporation would be a better solution than a random script off the internet xD. Why are you looking for a replacement?
    Setpoint (from Logitech if you really dont know) 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!
    My Current Squeeze:
    ThinkPad T400 | Intel Core 2 Duo T9600 2.8GHz Processor | 8192MB Corsair PC3-8500 RAMs | ATI Mobility Radeon HD3470 (1440×900) | Intel X25-M G2 34nm 160GB SSD | Seagate Momentus 7200.4rpm 500GB HDD via UltraBay | Windows 7 Ultimate x64 | Ubuntu 9.10 x64 (Karmic Koala) via UltraBay

  10. #10
    Notebook Evangelist
    Join Date
    Sep 2009
    Posts
    516
    Rep Power
    12

    Default Re: UltraNav Middle Click Button & Scroll

    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% )
        }
    }
    Last edited by aznguyphan; 28th February 2010 at 05:31 PM.

 

 
Page 1 of 4 1234 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -4. The time now is 04:50 AM.
Powered by vBulletin® Version 4.2.0
Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.
SEO by vBSEO 3.6.0