You are not logged in.
See the below link:
http://wiki.archlinux.org/index.php/MX1000_Buttons
Comments, questions, additions most welcomed! By the way, the steps outlined in this Wiki page are not MX1000 specific and can be used to set up ANY mouse to perform the way you wish. Specific details for the MX1000 *are* provided of course, but the approach should work with ANY mouse. No more xmodmap and ZAxisMapping "magic". Hopefully, it is all explained clearly. If it isn't I would love to hear back.
A final question to MrWeatherbee. If you plowed through the whole Wiki page (now much longer) and managed to stay awake (!) you may notice a potential issue. The MX1000 has buttons immediately in front of and immediately behind the scroll wheel. They are intended as a clickable way of scrolling forward/back vs. rolling the wheel, for those that prefer clicking.
Since scrolling is already properly mapped onto the scroll wheel itself, I can't use xmodmap to move the Scroll Forward and Scroll Back functions onto these two buttons (scrolling needs to stay on the wheel itself) AND I cannot discover any keystroke that will cause Firefox to generically scroll up/down. Hence, I cannot map any keystrokes that implement scrolling onto these buttons via xbindkeys.
What I need to do here is in essence duplicate the function of the scroll forward and back scroll wheel operations onto these two buttons. xmodmap seems to let me move things around, but not duplicate them.
Any ideas how I could assign forward and back scrolling, already and correctly assigned to the scroll wheel, to these two buttons as well? Thanks!
Cast off the Microsoft shackles Jan 2005
Offline
Any ideas how I could assign forward and back scrolling, already and correctly assigned to the scroll wheel, to these two buttons as well? Thanks!
You have a numpad? Usually, the "8" duplicates UP (up arrow) and "2" duplicates DOWN (down arrow) when the NUMLOCK is off. These keys on my keyboard are:
XEV Output
8 = KP_Up
2 = KP_Down
So, if (per your Wiki article) Button 11 is ALTERNATE UP (Fwd) SCROLL and Button 12 is ALTERNATE DOWN (Back) SCROLL, then try:
"/usr/bin/xvkbd -xsendevent -text "\[KP_Up]""
m:0x0 + b:11
"/usr/bin/xvkbd -xsendevent -text "\[KP_Down]""
m:0x0 + b:12Sorry for taking so long to respond, I somehow missed this one until now. I'll read through the Wiki thoroughly sometime today. I'm sure I won't fall asleep. ![]()
Offline
Good but ubuntu one is better:
Rip the info to enable nautilus back-forward buttons too ![]()
Offline
I have reviewed the Ubuntu article Mikko777. Thanks for the pointer to it. I agree that it is formatted more nicely - the graphics improve the look quite a bit.
[Enter Opinion Mode]
But, I prefer the approach of the Arch Wiki entry. The Arch Wiki entry takes the "explain how it all works" approach, while the Ubuntu Wiki simply says "here is the recipe - use it and it will work". The great thing about the Arch Wiki page is that if you read it and understand it, you can now set up ANY mouse, not just an MX1000. IMHO, and I agree that it is just an opinion, this is a better approach. It is also more consistent with the "Arch way" as I perceive it.
[/Enter Opinion Mode]
Last edited by mac57 (2007-08-29 14:26:36)
Cast off the Microsoft shackles Jan 2005
Offline
mac57 wrote:Any ideas how I could assign forward and back scrolling, already and correctly assigned to the scroll wheel, to these two buttons as well? Thanks!
You have a numpad? Usually, the "8" duplicates UP (up arrow) and "2" duplicates DOWN (down arrow) when the NUMLOCK is off. These keys on my keyboard are:
XEV Output
8 = KP_Up
2 = KP_DownSo, if (per your Wiki article) Button 11 is ALTERNATE UP (Fwd) SCROLL and Button 12 is ALTERNATE DOWN (Back) SCROLL, then try:
"/usr/bin/xvkbd -xsendevent -text "\[KP_Up]"" m:0x0 + b:11 "/usr/bin/xvkbd -xsendevent -text "\[KP_Down]"" m:0x0 + b:12Sorry for taking so long to respond, I somehow missed this one until now. I'll read through the Wiki thoroughly sometime today. I'm sure I won't fall asleep.
Always a font of useful information MrWeatherbee. Thanks. I will try this out and let you know if it works. If it does, I will upgrade the Wiki with this information.
Cast off the Microsoft shackles Jan 2005
Offline
Hmmm... interesting result. It works... sort of. Through trial and error, I have discovered that if I simply go to web page that is long enough to be able to scroll up and down, mapping the two buttons in question to either Up/Down or KP_Up/KP_Down seems to work just fine. However, if I use Firefox's Back function to go the previous page, and then the Forward function to go back to the original scrollable page, Firefox ignores the Up/KP_Up and/or Down/KP_Down keys (plus the associated mouse buttons). Very odd.
The mapping you suggest clearly works, but Firefox seems selective in when it pays attention to it.
No bother, I have left it in place and will upgrade the Wiki.
Now, let me REALLY push my luck. How about auto repeat? For buttons on the mouse like vertical and horizontal scrolling, an auto repeat function would be nice, so that if you continued to hold the button, it continued to send Xevents. Is this possible?
Cast off the Microsoft shackles Jan 2005
Offline
@Mikko777,
the Ubuntu-Howto dosn't work better than the Arch-Wiki. It works well but not better.
My MX-1000 works with Thunar very well with ALL buttons (incl. horz. scrolling).
The only thing that not work is auto repeat with horz. scrolling. The reason: the button number switch from 13/14 to 8/9.
That means, if I push the wheel one times the number is 13/14 (rigth/left), if I hold then wheel continous the button numer switch to 8/9. So I can no find a rule in .xbindkeysrc
I'm root. if you see me smile, you'd better have a backup!! ![]()
Offline
Hmmm... interesting result. It works... sort of. Through trial and error, I have discovered that if I simply go to web page that is long enough to be able to scroll up and down, mapping the two buttons in question to either Up/Down or KP_Up/KP_Down seems to work just fine. However, if I use Firefox's Back function to go the previous page, and then the Forward function to go back to the original scrollable page, Firefox ignores the Up/KP_Up and/or Down/KP_Down keys (plus the associated mouse buttons). Very odd.
The mapping you suggest clearly works, but Firefox seems selective in when it pays attention to it.
No bother, I have left it in place and will upgrade the Wiki.
I can repeat this behavior. Yes ... very odd. It is a FF bug, I suppose. I can't think of a purpose for deliberately implementing such functionality. Maybe someone else can.
Now, let me REALLY push my luck. How about auto repeat? For buttons on the mouse like vertical and horizontal scrolling, an auto repeat function would be nice, so that if you continued to hold the button, it continued to send Xevents. Is this possible?
Though in general I did not like the Ubuntu guide linked by Mikko777, especially its organization and complete lack of explanation for why things were done as they were, I did find the following xbindkeysrc code intriguing:
"echo ButtonRelease 11 ButtonPress 4 ButtonRelease 4 | xmacroplay -d 0 :0.0"
b:11
"echo ButtonRelease 12 ButtonPress 5 ButtonRelease 5 | xmacroplay -d 0 :0.0"
b:12
"echo ButtonRelease 13 ButtonPress 6 ButtonRelease 6 | xmacroplay -d 0 :0.0"
b:13
"echo ButtonRelease 14 ButtonPress 7 ButtonRelease 7 | xmacroplay -d 0 :0.0"
b:14Note the use of macroplay. This is how that guide is achieving Cruise (evidently, Logitech's cute name for what you are terming "auto-repeat") for Buttons 11 and 12. This "Cruise" control on the Intellimouse is controlled by clicking the middle-wheel button; doing so changes the onscreen cursor and also changes the behavior of the mouse. Simply moving the mouse up or down or left or right scrolls in the desired vertical or horizontal direction (as opposed to the alternative of rolling or tilting the wheel). The behavior is speed / distance sensitive. If given the right speed and distance of the initial mouse movement, one can let go of the mouse and the page will continue scrolling at the desired speed and in the desired direction. Fortunately for me, no special applications or additional code is required to get this functionality to work.
The above code also seems to suggest that similar auto-repeat code is necessary for the horizontal scroll (tilt-wheel), though on my Intellimouse, the "auto-repeat" just works for as long as the tilt-wheel is held in left-tilt position or right-tilt position. So, with your mouse, as it functions now, you have to repeatedly tilt-left, tilt-left, tilt-left to scroll horizontally left and vice-versa for right-scroll? If you get smooth, continuous horizontal scrolling just by holding the wheel in the desired direction already, then I don't understand the inclusion of the xmacro code for Buttons 13 & 14.
At any rate, to achieve any sort of repeating functionality, you must determine the key sequence that initiates a behavior in the MX1000 and then run that sequence with a utility like xmacro. The author of the Ubuntu guide has provided the information for you, but Xmacro doesn't appear to be in any Arch repo or in AUR. You can compile it if you wish.
Since I don't have an MX1000, I could only go on your assessment / description of what the buttons were supposed to do, or what you desired them to do. However, now seeing that Logitech's intention for Buttons 11 and 12 was "Cruise", perhaps this is a more appropriate alternative if you decide to forego using xmacro:
XEV Output
PAGE UP = Prior
PAGE DOWN = Next
"/usr/bin/xvkbd -xsendevent -text "\[Prior]""
m:0x0 + b:11
"/usr/bin/xvkbd -xsendevent -text "\[Next]""
m:0x0 + b:12That gives you a full-page step with each click.
Last edited by MrWeatherbee (2007-08-29 22:50:48)
Offline
Thanks for the update MrWeatherbee. However, at this point, I think I will leave well enough alone.
If you see any factual errors or have any other suggestions for improvement on the wiki, don't hesitate to email or PM me.
Thanks again for all your help. I may have done the Wiki entry writing, but with very few exceptions, you provided most of the technical content. I am in your debt.
Cast off the Microsoft shackles Jan 2005
Offline