View Full Version : btnx: Send keyboard and mouse combination events with mouse buttons
pototo
May 4th, 2008, 04:12 AM
Sorry if I missed it, but is there a list of mouses that are known to work with this? I'd like to know if it works with Logitech MX 1000, since I'd like to be able to configure my extra buttons so I can set them to other keyboard buttons (like ctrl, shift, pgUp, etc.)
It would be so nice to be able to do that for setting hotkeys for games like WoW, and Vent... the one thing I truly miss from Windows.
I'm using a Logitech MX1000 mouse too, working fine with btnx. I don'y have all buttons configured, only the lateral buttons on the wheel which I use to change workspaces, but I think it has to work great with the other buttons.
odierick
May 4th, 2008, 10:25 AM
Well, after my last post I eventually found that
export XAUTHORITY='/home/username/.Xauthority'
is a better way of retrieving missing X window support after first start of btnx.
Put this in your script file along with export DISPLAY=':0.0' and your mouse button should execute X apps every time.
Hope this helps.
oni5115
May 5th, 2008, 12:46 AM
I'm using a Logitech MX1000 mouse too, working fine with btnx. I don'y have all buttons configured, only the lateral buttons on the wheel which I use to change workspaces, but I think it has to work great with the other buttons.
Hmmm... how did you get it to work? I'm using 7.10, at the moment and tried to install it from the gutsy repos, and that worked. However, when running the btnx-config it doesn't seem to actually find any event handler. I click the button, wait 5 seconds, then move my mouse around and press all the buttons but get nothing. =/
Note: I have run through the following FAQ in the past trying to get my mouse to work properly.
https://help.ubuntu.com/community/MX1000Mouse?highlight=%28MX%29%7C%281000%29
EDIT: I did some digging in the trouble shooting sections of the manual. Figured out it was my xorg.conf file, since I had customized it to use evdev as per the above linked guide. Fixed up my xorg.conf and poof, issues resolved.
Still working on setting up the buttons, but should be able to do that now. ^.^
daou
May 5th, 2008, 07:36 AM
Well, after my last post I eventually found that
export XAUTHORITY='/home/username/.Xauthority'is a better way of retrieving missing X window support after first start of btnx.
Put this in your script file along with export DISPLAY=':0.0' and your mouse button should execute X apps every time.
Hope this helps.
Thanks odierick for documenting how you solved the issue. I might use some of this in a newer version of btnx to export X env. variables correctly.
tim71
May 5th, 2008, 11:56 AM
It seems like I found a solution for "lomoco (and other similar tools) not working in hardy" problem.
I have been used lomoco to disable the smart-scrolling function and was disappointed when noticed, that this trick was not working any more. After a little research I found out that lsusb was also almost fully non-functional (only -t option was giving any output).
This lead to little bit of searching around the web and I found something like this (http://readlist.com/lists/vger.kernel.org/linux-kernel/69/347220.html).
After a little bit of tinkering I got this piece from there
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
and added it as a separate udev rule - I made it as '/etc/udev/rules.d/50-libusb.rules'
Then just restart udev and here you have it :) - lsusb works as it should and lomoco works too.
Only one thing remains though - I had not yet managed to add this 'lomoco --no-sms' command to some elegant place to fire up. Until now it has been in '/etc/rc.local' but it would be perfect, if it could be added to '/etc/udev/rules.d/99-btnx.rules' somehow to be initiated on hotplugging...
daou
May 5th, 2008, 12:19 PM
Only one thing remains though - I had not yet managed to add this 'lomoco --no-sms' command to some elegant place to fire up. Until now it has been in '/etc/rc.local' but it would be perfect, if it could be added to '/etc/udev/rules.d/99-btnx.rules' somehow to be initiated on hotplugging...
Some of this could be integrated into btnx, the automatic exec and udev rules. However, it sounds to me like this is a bug in Hardy (especially if tools as fundamental as lsusb aren't working), and if it is, it would not be a good idea to place workarounds for it in btnx. Have you thought about filing a bug report?
tim71
May 5th, 2008, 12:48 PM
However, it sounds to me like this is a bug in Hardy (especially if tools as fundamental as lsusb aren't working), and if it is, it would not be a good idea to place workarounds for it in btnx. Have you thought about filing a bug report?
As I understand, it is not a bug, but just leaving the (deprecated) 'CONFIG_USB_DEVICE_CLASS' option unactivated when kernel was compiled.
http://readlist.com/lists/vger.kernel.org/linux-kernel/69/347220.html
http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg162394.html
http://www.google.com/search?q=CONFIG_USB_DEVICE_CLASS&num=20&hl=en&safe=off&start=20&sa=N
P.S. This workaround is not "being used in btnx" - I added the separate udev rule on the global system level, that has nothing to do with btnx. However this lomoco thing would be really nice to be working on hotplugging with btnx. Maybe I just did not bother to tinker enough with this lomoco/btnx udev "integration" :) - it just did not work when I added this action in /'etc/udev/rules.d/99-btnx.rules' although btnx itself stopped and started as it should.
daou
May 5th, 2008, 01:16 PM
As I understand, it is not a bug, but just leaving the (deprecated) 'CONFIG_USB_DEVICE_CLASS' option unactivated when kernel was compiled.
http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg162394.html
http://www.google.com/search?q=CONFIG_USB_DEVICE_CLASS&num=20&hl=en&safe=off&start=20&sa=N
P.S. This workaround is not "being used in btnx" - I added the separate udev rule on the global system level, that has nothing to do with btnx. However this lomoco thing would be really nice to be working on hotplugging with btnx. Maybe I just did not bother to tinker enough with this lomoco/btnx udev "integration" :) - it just did not work when I added this action in /'etc/udev/rules.d/99-btnx.rules' although btnx itself stopped and started as it should.
I suppose I could add an option to the advanced settings to fire up lomoco, either when btnx starts or during hotplugging. This would require the udev rule for usb-device at least for Hardy users. I'll think about this.
tim71
May 5th, 2008, 02:20 PM
I suppose I could add an option to the advanced settings to fire up lomoco, either when btnx starts or during hotplugging. This would require the udev rule for usb-device at least for Hardy users. I'll think about this.
It would need the additional options - lomoco has many functions as command line options.
And I would like to point out again: this lomoco udev-integrating is not Hardy-specific thing - I had this command in rc.local before (and it works there), but it's obvious, that it could use a better place for execution - especially considering the hotplugging option.
tim71
May 5th, 2008, 04:38 PM
...However, it sounds to me like this is a bug in Hardy (especially if tools as fundamental as lsusb aren't working), and if it is, it would not be a good idea to place workarounds for it in btnx. Have you thought about filing a bug report?If this issue could be considered as a bug, then... someone else already has issued a bugreport (https://bugs.launchpad.net/ubuntu/+source/usbutils/+bug/184139).
pmaconi
May 5th, 2008, 06:22 PM
Just a quick suggestion: Could you add an instruction on the first post to add btnx to the startup sessions? It was something that I didn't immediately realize.
oni5115
May 5th, 2008, 06:38 PM
pmaconi, not sure if you need to know (or just want it on the front page) how to add it to sessions, but it worked for me using "sudo btnx".
On a side note, is there a way to force X to stop reading my MX 1000's middle thumb button as "Mouse 3". I assume I can use xmodmap for this? What would be a good setting to use? (Never used xmodmap before).
My goal really is simply to have this thumb button count as clicking "shift", which is working at the moment, except it also counts is clicking "mouse 3" + shift. Which doesn't quite work for WoW, since button 3 makes you walk forward!
pmaconi
May 5th, 2008, 06:47 PM
I am fairly sure that I was able to configure the mouse wheel click using xbindkeys in 7.10 - I'm not sure if it will translate correctly to 8.04, but I don't see why it wouldn't. There is documentation towards the bottom of this guide. (https://help.ubuntu.com/community/MX1000Mouse)
Also, btnx (without sudo) works fine as a command in sessions. I just think it should be on the front page.
oni5115
May 5th, 2008, 07:36 PM
Hmm, using xev it appears that both clicking down the wheel, and clicking the middle thumb button appears to be giving me "button 2". Is there a way to fix that? (MX 1000 mouse if that helps)
Here's what I have in xorg.conf
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Buttons" "12"
Option "ZAxisMapping" "4 5 7 6"
Option "Emulate3Buttons" "false"
EndSection
EDIT: I got it working now =)
.Xmodmap
pointer = 1 21 3 4 5 9 7 8 6
Using lower numbers was giving me a lot of weird results, so I just put in a higher value and it automagically fixed itself. Yay!
pmaconi
May 5th, 2008, 07:49 PM
I'm not sure, but have you tried setting Emulate3Buttons to true and seeing what happens? Or adding Option "ChordMiddle" (the only description of this toggle that I found was that it is for some 3-button logitech mice)?
DanielCeregatti
May 5th, 2008, 07:50 PM
I've been trying to setup btnx to do _exactly_ what I want, and have been unable to. First, this is what I want to accomplish:
I have an mx1000 mouse, and I'd like to have the 3 thumb buttons perform the shift, control, and alt keyboard events, the scroll buttons perform the "control + [" and "control + ]" keyboard combinations, and the rest of the buttons perform their "normal" functions as they appear when using the evdev driver, namely, buttons 1-7.
In order to even get btnx to recognize my mouse, I had to completely disable evdev. I'd really like to know how all these other people are claiming to use btnx AND evdev, when they are entirely incompatible, as btnx wants to read the mouse device directly, and so does evdev (from what I understand). Anyhow, once I got the mouse configured with the "mouse" xorg driver, using protocol "auto", which detected it as "ExplorerPS/2", I was able to have btnx detect the mouse and all its 12 buttons.
The problems begin here. It's a bit hard to explain, so please bear with me. This is what I've observed, after extensive trial and error: Once btnx works, and the "mouse" driver (Option "driver" "mouse") is configured, X only "sees" 7 mouse buttons, even though Xorg.0.log reports 9. In this state, btnx can only generate events for the mouse buttons X "sees". In other words, say I tell btnx to issue the BTN_8 event. Nothing happens for this event. But if I tell btnx to generate the BTN_0 event, mouse button 1 will be seen (when using xev to monitor events). Adding a Option "buttons" "12" into xorg.conf does nothing to change this, even though Xorg.0.log reports more buttons. Additionally, some buttons generate duplicate button events (2 buttons will send mouse button 6, for example).
My goal is simple: I'd like for the X mouse driver to handle the x and y axes of the mouse, and btnx to generate ALL mouse button events. If X cannot be configured to prevent the mouse driver from sending the "native" mouse events to X, this can easily be worked around by remapping these native buttons to high button numbers with xmodmap. As long as btnx can still send buttons 1 through 7, it should still work as I'd like.
My question is: How can this be done? I've tried several methods, from creating 2 mouse devices in xorg.conf, to mapping the event devices btnx creates directly as mouse devices, all while doing extensive trial and error, process of elimination testing within btnx.
I think that the solution lies in being able to map ANY mouse button, from 1 to 32, using btnx, regardless of what X seems to think is available. From what I can tell, this has to be done at the xorg.conf/driver level.
Thoughts?
Daniel
tim71
May 6th, 2008, 05:50 AM
Just a quick suggestion: Could you add an instruction on the first post to add btnx to the startup sessions? It was something that I didn't immediately realize.
Btnx is started as a daemon on system startup - there is no need to add anything to user session.
Additionally - btnx will start, when appropriate mouse is connected, if hotplugging option is enabled in btnx-config.
pmaconi
May 6th, 2008, 08:47 AM
Btnx is started as a daemon on system startup - there is no need to add anything to user session.
Additionally - btnx will start, when appropriate mouse is connected, if hotplugging option is enabled in btnx-config.
When I was first getting btnx to work, I would have sworn that it didn't start on startup (hotplugging worked immediately, but the buttons weren't responsive if the computer started while the mouse was plugged in). However, when I just tested everything, it all works fine. I guess I'm just crazy. :confused:
TremerePuck
May 6th, 2008, 10:20 AM
When I was first getting btnx to work, I would have sworn that it didn't start on startup (hotplugging worked immediately, but the buttons weren't responsive if the computer started while the mouse was plugged in). However, when I just tested everything, it all works fine. I guess I'm just crazy. :confused:
It did the same to me. But then I noticed that now my zoom buttons on my MX600 adjust the volume without btnx running. In fact xev says that a few of my buttons are mapped to keyboard keymap. So with btnx running I get things zooming AND my volume being adjusted with my zoom buttons. it's very annoying...
Plus I noticed that one of my handlers is kbd
H: Handlers=kbd mouse1 event6
When I hotswapped my old mouse out and this mouse in it all worked fine. This all happened after I restarted.
DanielCeregatti
May 6th, 2008, 12:45 PM
The problems begin here. It's a bit hard to explain, so please bear with me. This is what I've observed, after extensive trial and error: Once btnx works, and the "mouse" driver (Option "driver" "mouse") is configured, X only "sees" 7 mouse buttons, even though Xorg.0.log reports 9. In this state, btnx can only generate events for the mouse buttons X "sees". In other words, say I tell btnx to issue the BTN_8 event. Nothing happens for this event. But if I tell btnx to generate the BTN_0 event, mouse button 1 will be seen (when using xev to monitor events). Adding a Option "buttons" "12" into xorg.conf does nothing to change this, even though Xorg.0.log reports more buttons. Additionally, some buttons generate duplicate button events (2 buttons will send mouse button 6, for example).
After some further testing, I can be a bit more specific. Even though 9 buttons are detected, only buttons 1-5 and 8 and 9 are producible by the mouse, and therefore available to btnx. By using the BTN_X keycodes in btnx-config, I can make any button on the mouse replicate these existing mouse button events, but no others. Many applications use buttons 6 and 7 for horizontal scrolling. Gtk and Qt applications, for example.
If only I could get buttons 6 and 7 to be "available", I could accomplish my goal.
tim71
May 6th, 2008, 03:21 PM
If only I could get buttons 6 and 7 to be "available", I could accomplish my goal.
Which buttons are 6 and 7?
TariBuntu
May 6th, 2008, 07:08 PM
Thanks a million, BTNX is great, my MX1000 is all buttons now!
maxxum
May 6th, 2008, 07:59 PM
The theme shouldn't matter, but always remember to start btnx-config with sudo. Try deleting the file /etc/btnx/btnx_manager and if a file called /etc/btnx/btnx_config_Default exists, delete that as well. Then start btnx-config again.
A file by the name btnx_config_Default does not exist in that directory. As of now the only files in it are btnx_manager, btnx)settings, and events. I cannot start btnx-config even as sudo. I cannot start the program from the menu either, although it does ask for my password when I click on it. Nothing happens after that.
blazoner
May 6th, 2008, 11:31 PM
It's pretty obvious that some people in the process are trying to "fix" things by making X,GDM, and other parts respond to things such as "multimedia buttons" and the things that stop working/change between distros and updates.
Since different mouses send different keycodes, even for similar buttons, if you try to generalize, then you're using an unwieldy kludge, and you break things, especially the things that we use to deal with the actual problems, especially the ones that actually work.
Now, if only there were an elegant way to address this so that such changes could be reverted.... As of now, the only thing we can do is locate where the problems actually lie, and submit individual bug reports for them, and pray - that someone will see it our way, and even if they do, we still have to hope that they care enough about it to fix it.
Not impossible, just labor-intensive.
DanielCeregatti
May 7th, 2008, 01:01 PM
Which buttons are 6 and 7?
It doesn't matter. What matters is that I can't make btnx reproduce buttons 6 and 7 when, in the xorg.conf configuration I must use to get btnx to work at all, they simply don't "exist". As I stated before, only buttons 1-5, 8 and 9 "exist" to be either clicked natively by the mouse or reproduced via btnx, as observed using xev. Using all the available BTN_* keycodes in btnx-config yields no output in xev other than button events 1-5, 8, and 9. I know, it doesn't seem to make sense, but this is what I've observed.
But, to answer your question: Gtk and Qt apps know about buttons 6 and 7, which are normally mapped to HWHEEL events. They're used for horizontal scrolling in applications that use Gtk and Qt.
Anyhow, just so this is clear, when using evdev, this mouse produces button events 1-12 as expected, so it's not a hardware issue.
So again, what I think I need is some sort of xorg.conf mouse section that can "make buttons 1-7 exist" (I don't need anything higher than 7), regardless of what X seems to think exists via the driver. That way btnx should be able to generate the buttons I need. Does this seem feasible? If so, does anyone have any suggestions?
At this time, I have btnx doing exactly what I want, minus the availability of buttons 6 and 7, which I suppose I could live without. It just bugs me that I can't everything I want! :)
Daniel
DanielCeregatti
May 8th, 2008, 03:27 PM
Here I am, responding to my own post again. Anyhow, using xmodmap, I _can_ generate buttons 6 and 7 from the mouse buttons but NOT from btnx. Any one of BTN_* fails to generate buttons 6 or 7.
I'm at a loss here.
maxxum
May 9th, 2008, 03:26 AM
I just want to mention that I did fresh installations of both 64 bit and 32 bit and got btnx working fine with my MX Revolutino mouse! it is simply great now that everything works!
The default profile not found error is something you can fix in the next version maybe. What was happening was I created a new profile by the name MX and set all the buttons. However when I click to restart btnx, it won't restart and say check if btnx was correctly installed. When trying to restart from the command line, it would complain about the default profile not found. I double clicked on Default in btnx-config and that made it active (an asterisk on it) and then btnx restarted fine. Even if the profile MX is not set as default, all buttons work as desired.:guitar:
iamnotthemessiah
May 9th, 2008, 01:20 PM
thanks for a great app!
i got it all running smoothly with my mx revolution except one minor thing, back and forward mouse clicks in firefox take me two pages back or forward, this is probably due to those buttons were working back and forward buttons in firefox already before i installed btnx.
one solution might be to unassign those buttons but i really like to have back and forward working also in nautilus etc
any suggestions?
RVDowning
May 10th, 2008, 07:24 AM
Has anyone come up with a convenient way to switch between virtual desktops.
In KDE, on the taskbar there is an "up arrow" displayed, and if one clicks on it a list of desktops appears along with a list of what is on each desktop. I would like to assign that functionality to a mouse button. Anybody know the command to execute that "up arrow" thingie?
RVDowning
May 10th, 2008, 12:07 PM
Answered my own question. Alt-F5 will show the list of windows and the applications that are open within each window. The only drawback is that it only shows windows that have something open in them. So, if you want to open an application in a new window, you have to open the application first, and then do the right click on the title bar and To Desktop option. Then it will appear in the applications list and you can switch to it.
nezach
May 10th, 2008, 01:31 PM
Worked great with my MX Revo on hardy. Thanks for the great app daou
volksman
May 12th, 2008, 09:10 AM
I have an MX518 in Hardy and everything works the way I want except for two issues.
1) Revoco says it doesn't detect an MX mouse. Haven't read the manual yet cause I'm not overly concerned about it since the side buttons still work with btnx enabled.
2) How do I kill forward and back mouse clicks in FF3? In Gutsy I never had an issue but I map my copy and paste functions to the thumb buttons and its damn annoying to paste a URL and the browser still steps back a page.
Any help is very much appreciated.
olmari
May 12th, 2008, 04:10 PM
1) Revoco says it doesn't detect an MX mouse. Haven't read the manual yet cause I'm not overly concerned about it since the side buttons still work with btnx enabled.
Revoco talks about MX _Revolution_ mouse, so that part won't affect you anyways...
debian_person
May 13th, 2008, 03:30 AM
Would anyone consider porting btnx to Debian stable, currently Etch. Etch would require back porting as virtually all dependencies are too old. If this is too hard then perhaps you would consider Lenny which is due to be released in the September time frame. Lenny meets all dependencies. I use Debian only and I came across this nifty program through Google. I have a MX Revolution.
Aikon-
May 15th, 2008, 08:49 AM
You nailed it, thank you so much!
I'm using MX Revolution and everything works OK. However I did make some changes to the config. The only problem I get is when I use thumb button forward, which I configured this way:
# Thumb button forward.
# Does an Alt+Right. Ex. Firefox forward
Button
rawcode = 0x01011400
type = 0
keycode = KEY_RIGHT
mod1 = KEY_LEFTALT
EndButton
It does go forward, but it displays the window menu (close, move, resize...) where the pointer is after clicking forward. It's weird, because back is configured the same way and it doesn't have any issues. Do you know how to solve this?
Thanks again.
Someone else had a problem with the menu popping up with a different mouse as well. I can't replicate it myself. I'm not sure what could be the possible cause, other than it's probably an xorg.conf or some other mouse config setting.
I am experiencing this issue with a VX Revolution mouse. I did a clean Hardy install a few weeks ago and have made no modifications to xorg.conf nor any other mouse-related configuration (besides btnx, of course).
The configuration for this button is:
Button
name = Forward
rawcode = 0x01000114
enabled = 1
type = 0
delay = 0
force_release = 0
keycode = KEY_RIGHT
mod1 = KEY_LEFTALT
mod2 = NONE
mod3 = NONE
EndButton
Everything else seems to be working just fine, the only problem is the forward button. It does go forward, but it also pops up the "Window Menu."
Has anyone been able to come up with a solution since this initial post? (Long thread to read through, and search is only so-so). Let me know if there is any other information I can provide that would help.
-Aikon
volksman
May 15th, 2008, 09:36 AM
I fixed my Forward/Back issues buy enabling xbindkeys:
sudo apt-get install xbindkeys xvkbd
Then create an rc file in your home dir:
gedit ~/.xbindkeysrc
Populate it with the key combos you want:
# Copy and Paste buttons
"xvkbd -xsendevent -text "\[Shift_L]\[Ins]""
m:0x0 + b:8
"xvkbd -xsendevent -text "\[Ctrl_L]\[Ins]""
m:0x0 + b:9
Then add xbindkeys to your session startup and start it manually or log out and log back in. This stopped Firefox from going back or forward when trying to copy or paste a URL using mouse clicks.
Aikon-
May 15th, 2008, 09:40 AM
Hmm.. Actually, I do want Firefox to go back / forward.. which it is doing, but only because I have btnx set to send Alt+Left and Alt+Right with the forward/back buttons. What I don't want Firefox (or any other program, for that matter) to do is to open up the "Window menu" that pops up everytime I press Forward.
azncookiecutter
May 20th, 2008, 01:17 PM
Need a little bit of help getting my Logitech V450 to work. Trying to assign alt-left and alt-right to the directional scroll buttons, but extra events are being processed. Tried to modify xorg.conf, but no luck so far. Funny thing is that I've gotten it to work under 7.10 and when I upgraded to 8.04, but on a clean install of 8.04, nothing works. Here's my xorg.conf section:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection
dondad
May 20th, 2008, 03:27 PM
Need a little bit of help getting my Logitech V450 to work. Trying to assign alt-left and alt-right to the directional scroll buttons, but extra events are being processed. Tried to modify xorg.conf, but no luck so far. Funny thing is that I've gotten it to work under 7.10 and when I upgraded to 8.04, but on a clean install of 8.04, nothing works. Here's my xorg.conf section:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection
Which version of btnx do you have installed? The version that works in gutsy does not work properly in hardy, with extra events as you noticed. You need to install the one from subversion to work in hardy. That is what I am using with a revolution and it works great.
azncookiecutter
May 21st, 2008, 10:47 AM
I got 0.4.11 installed, it's from the hardy repos listed on the first post of this thread.
dondad
May 21st, 2008, 12:33 PM
I got 0.4.11 installed, it's from the hardy repos listed on the first post of this thread.
That is probably your problem. I am not at home right now, so don't have the link, but if you do a search for btnx +subversion +hardy, you should find it. I had the same issues and when I installed the version from the subversion trunk, it worked fine.
afeasfaerw23231233
May 22nd, 2008, 09:22 AM
i did this and it says "couldn't find package btnx
sudo apt-get install btnx
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package btnx
EDIT: i visit the manual page of btnx and install it. but the revoco settings are disabled.
according to this page
http://www.ollisalonen.com/btnx/man/x613.html
The settings are disabled if an MX Revolution mouse has not been detected by btnx-config. The screenshot below shows btnx-config with the revoco settings tab open.
mine is not a MX Revolution but i want to correct it's horizontal scroll wheel - it acts the same as the vertical scroll wheel and scroll the page vertically. the speed of the vertical wheel is slow too. this mouse has a left button, right button, thumb button, vertical scroll wheel and horizontal scroll wheel. how can i make the horizontal wheel work? thanks! it is an A4-Tech WWW-9 mechanic mouse.
blazoner
May 22nd, 2008, 11:20 PM
Revoco is designed to trigger a hardware response from only 2 mouses on the market:
The Logitech MX Revolution and the Logitech VX Revolution. All it does is tell the mouse to either click with the turn of the wheel, or to not click using it. nothing more, nothing less. The other mouse in that series, the VX Nano, doesn't switch between modes due to software, or anything other than depressing the scroll wheel.
The short answer, Revoco won't work for any other mouses. Period.
It doesn't do what you want!
Now go do some homework. It's the best way to learn.
p.s. Don't take this as being unhelpful/short/disrespectful. If I can read every single post on this topic, so can you... and you'll end up better for it. :)
festyballs
May 23rd, 2008, 07:35 PM
I'm having issues getting btnx to detect a few of my mouse buttons. I'm using a logitech mx518 and it wont detect the sensitivity up/down or the button in the center of the mouse. I'm running hardy 8.04. Sorry if a fix for this has been posted, but I couldn't find anything with the search feature/skimming through the thread.
melenor
May 23rd, 2008, 10:05 PM
I have a Logitech MX610 and i have been looking around for the best way to get all the buttons to work proberly, will this allow me to use the IM, and the tilt wheel? Also would i be able to pass 2 mouse keys as a keyboard combination? Is this better then this one for me: https://help.ubuntu.com/community/Logitech_MX610.
Thanks
blazoner
May 24th, 2008, 12:44 AM
Btnx can do everything you want except allow a button to be used as a standalone modifier key. That's not currently a supported feature.
azncookiecutter
May 24th, 2008, 03:31 PM
That is probably your problem. I am not at home right now, so don't have the link, but if you do a search for btnx +subversion +hardy, you should find it. I had the same issues and when I installed the version from the subversion trunk, it worked fine.
Nope, still won't work. The SVN version doesn't even restart when hitting the restart btnx button. Any help would be appreciated.
melenor
May 24th, 2008, 03:34 PM
Btnx can do everything you want except allow a button to be used as a standalone modifier key. That's not currently a supported feature.
what is a standalone modifier key, and does this mean that if i go ahead and install the other way to use MX610, i can still use this? and would it do the horizantel scrolling?
blazoner
May 25th, 2008, 03:10 AM
It means that although you can set a key to be for example right_alt, btnx will only read a single button press at a time, which means if you hit and hold right_alt, and left_click, btnx only reads the right_alt, not the left_click. In other words, you can't get it to do what you were talking about.
If it's really that big of an issue for you now, I'd suggest using something like this post (http://ubuntuforums.org/showthread.php?t=316441&highlight=tweedledee) to help you set your mouse up. It is a bit more complicated, however.
Eventually, btnx will have that functionality, but it'll probably be a little bit before it does.
steveneddy
May 25th, 2008, 07:58 PM
If we could get this app to resume after suspend with or without a hack, it would make me very happy.
If I turn off my mouse, lock the laptop or suspend, btnx stops and will not resume unless I restart btnx manually.
I have filed a bug for this.
Do we just need to put something in resume.d?
DLGandalf
May 28th, 2008, 06:40 PM
can I send "legacy" scrollwheel events
for example simulate a super+wheelUp to zoom in, in compiz?
dandellion
June 1st, 2008, 01:58 AM
I used btnx with Gutsy in previous installation. But, when I reinstalled the system (though the configuration is the same) something went wrong. I installed btnx from the repositories. Detection went fine. But when I try to restart btnx pop-up says:
Failed to execute command: "/etc/init.d/btnx restart". Make sure btnx is installed correctly.
What is the problem and how to fix it?
Thanks.
mortelrdv
June 1st, 2008, 08:29 AM
hello
I Use Btnx 0.4.9 With Btnx-config 0.4.8, I Have A "logitech Mouseman Dual Optical" (4 Buttons + Wheel).
With Compiz-fusion (default Config), I Use <ctrl>+<alt>+<left Mouse Bouton> To Rotate The Cube.
In General, I Use <ctrl>+<alt>+<"left Or Middle Or Right Or Wheel" Mouse>.
I Don't Use The Fourth Mouse Button.
How Can I Do <ctrl>+<alt> = <4th Mouse Button> ? => Simple Manipulation Of The Cube With The Single Hand.
Thank
Btnx can do everything you want except allow a button to be used as a standalone modifier key. That's not currently a supported feature.
It means that although you can set a key to be for example right_alt, btnx will only read a single button press at a time, which means if you hit and hold right_alt, and left_click, btnx only reads the right_alt, not the left_click. In other words, you can't get it to do what you were talking about.
If it's really that big of an issue for you now, I'd suggest using something like this post (http://ubuntuforums.org/showthread.php?t=316441&highlight=tweedledee) to help you set your mouse up. It is a bit more complicated, however.
Eventually, btnx will have that functionality, but it'll probably be a little bit before it does.
Well, i found a soluce to do that i want but it'nt nice.
you need xbindkey1.8.2 , xautomation1.02 , btnx0.4.11 , btnx-config 0.4.9 .
(sorry i don't try others versions)
Problem : i use compiz.
To rotate the cube, i press (ctrl+alt)keyboard+mouse1.
To rotate left, i press (ctrl+alt+left)keyboard.
To rotate right, i press (ctrl+alt+right)keyboard.
etc.....
I would like :
To rotate the cube, i press mouse4+mouse1.
To rotate left, i press mouse4+scroll up(mouse). (or Left keyboard)
To rotate right, i press mouse4+scroll down(mouse). (or Right keyboard)
etc... "To ..., i press mouse4+(mouse or keyboard)"
In btnx, if you configure http://nsa02.casimages.com/img/2008/06/01/mini_080601021229.png (http://www.casimages.com/img.php?i=080601021229.png)
when you press mouse4, xev show (ctrl+alt+mouse4)press, => you can't do nothing, it must be (ctrl+alt)press only.
Soluce :
run xbindkeys with config :
"xte 'mouseup 4'"
b:4
# xte (it's xautomation)
when press mouse4, xev show ctrl(down)+alt(down)+mouse4(down)+mouse4(up) => you have now only ctrl(down)+alt(down).
It's work for me until btnx evolves.
Btnx can do everything you want except allow a button to be used as a standalone modifier key. That's not currently a supported feature.
Eventually, btnx will have that functionality, but it'll probably be a little bit before it does.
PS : Sorry i'm french and i'm not good in english
DLGandalf
June 2nd, 2008, 07:43 AM
I'm having trouble getting btnx to work properly.
As I've read multiple times corepointer and sendCoreEvents should ben turned off?
if I do so, my mouse is not giving out the right signals with the primary buttons (1, 2, 3)
So is the *core* property needed in xorg?
if I do turn them on btnx sends multiple events with the cruisecontrol buttons and thumb buttons (despite of the lomoco tool being run), and all the FAQ stuff doesn't work.
btw, it's an mx1000 with hardy
//edit
cruisup button always gives a browser-back event, whether corepointer is on or off.
As do the thumbbuttons.
Can someone post me his xorg if they have a mx 1000?
tim71
June 3rd, 2008, 11:38 AM
I am having one weird problem - btnx does not start on system startup and does not seem to generate any error messages either.
However, if I start it later manually with
sudo /etc/init.d/btnx start
then it just starts absolutely normally.
All links in /etc/rcX.d/ are in place and working too... :confused:
All started after I tried the binaries from the launchpad repository. There was no problem with btnx compiled from source, but now the problem remains even if these binaries are substituted with my own compilation...
P.S. Now after the kernel update the problem is gone again....
Leefmc
June 5th, 2008, 07:50 PM
Has anyone tried http://ubuntuforums.org/showthread.php?t=277388 with Ubuntu 8.04?
BTNX does not have functionlity i need (the "holding" of buttons, and mapping of standalone modifier buttons), so does the above link provide that functionality?
Leefmc
June 7th, 2008, 08:22 AM
Is Btnx dead? It seems activity for it has gone down. I'd be happy to donate to it if i saw some acivity heh.
Also, whats the status on accepting modifier keys? Thats basically my numberone priority heh.
yuv656
June 10th, 2008, 02:12 PM
Hi there, this program works very well, thanks!
I hope this thread is still alive, since I have one question:
How do I prevent ubuntu from opening beagle/trackersearch/whatever when I press the "search" button on my logitech mx revolution?
I changed the search button to a middle click button using btnx, and this works, but whenever I use it, the beagle/trackersearch window still appears.
Any help will be appreciated
mustang
June 11th, 2008, 01:03 AM
Fantastic program. This application was sorely needed. My sincere thanks goes out to the authors.
Question: How do I map a mouse button so that it switches to a different workspace. I am using a MX revolution.
yuv656
June 11th, 2008, 07:11 AM
I solved the problem of the search window by going to Preferences -> Keyboard shortcuts and removing the keyboard shortcut for Search
DLGandalf
June 11th, 2008, 03:28 PM
switching between layouts isn't optimal yet.
As a feature I'd recommend sending a dbus command to a notifier of some kind to show the current layout when using a layout switching button.
And if a layout switching button is pressed again within say 2 seconds it would go to the next.
Btw, some functionality/events with mouseup, mousedown would be nice.
firsttimeuser
June 12th, 2008, 12:26 PM
hi guys, I have a question on how to customize the middle click on my logitech VX revolution.
The default middle click(the wheel) does not work well so my though is changing the "search button" to middle click button.
What I am doing right now is assign "BTN_MIDDLE" to the "search button", but it only work partially.
On firefox3, every time when I select a link, and press this newly assigned middle click button, I do get a new tab of the link I click, BUT the current tab at the same time changes to google search, which drives me crazy
What can I do to disable this annoying "google search page"?
jpka
June 13th, 2008, 07:02 AM
Hello all!
Thanks to author and debuggers for btnx! It's extremly great program, and I think it's a 'must have' stuff for every new ubuntu distributives. I have configured Logitech MediaPlay mice using btnx, while all other ways (evdev, xorg.confs) not work on my Hardy.
But there is a problem: I can't catch the _release_ events of buttons. There is only opposite option - kill these events ('force immediate button release').
As a result, I can't configure the wheel for generate different events when I scroll it holded down, or simply scroll (released).
I suggest the each button can have three available modes like this: press/release with different events on each; press once (holding down and release is not used); and autorepeated (holding down acts like keyboard button).
Then I tie wheel (mid button) press to change to one configuration, and wheel release - to change to other configuration, and be able to solve my problem.
Can the author do this?
Or another way to detect 'hold down + scroll' (and multiple pressed buttons?) is exist?
Leefmc
June 13th, 2008, 09:02 AM
Yea, i also have the _need_ for holding buttons down.Sadly i need to find an alternative to BTNX since not being able to have holding modifiers (holding ctrl/alt/shift) on my mouse is of little use to me.
adkein
June 17th, 2008, 03:22 PM
Hello! Thank you so much for developing a program like this. I have installed btnx but the mouse detection never happens. You mention evdev in the troubleshooting notes. That is an installed package on my system, but when I try to uninstall it I am frightened by how much that depends on it will be also uninstalled. (I am new to linux, obviously.) Would you please advise me what to try next?
My goal is to customize the functions of the buttons of my Logitech MX 400 mouse. I am running Fedora 9.
My xorg.conf file, for what it's worth, is catanted below.
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
# keyboard added by rhpxl
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "intel"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
jpka
June 18th, 2008, 02:51 AM
I don't know how it do in Fedora, but in Ubuntu, if I see xogr.conf without mouse section, I run some like this 'dpkg reconfigure xserver-xorg', then see in xorg.conf lines like this (my Logitech work now using this default config)
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
There is driver 'mouse', not 'evdev'. Restart and try btnx.
Mamonetti
June 21st, 2008, 06:19 AM
I have a MX500, that was working fine with btnx on kubuntu hardy just before i switched from ati to nvidia graphics card (i didn't save may old mouse-related xorg.conf).
I just tried to convert my "right button" (may call it X) to the MIDDLE button. Right now every time i click buttonX i'm receiving both buttonX events and middleButton events. The output of xev for this is this one:
ButtonPress event, serial 30, synthetic NO, window 0x3600001,
root 0x13b, subw 0x0, time 1897027, (62,79), root: (1479,101),
state 0x0, button 8, same_screen YES
ButtonPress event, serial 30, synthetic NO, window 0x3600001,
root 0x13b, subw 0x0, time 1897027, (62,79), root: (1479,101),
state 0x0, button 2, same_screen YES
ButtonRelease event, serial 30, synthetic NO, window 0x3600001,
root 0x13b, subw 0x0, time 1897027, (62,79), root: (1479,101),
state 0x200, button 2, same_screen YES
ButtonRelease event, serial 30, synthetic NO, window 0x3600001,
root 0x13b, subw 0x0, time 1897147, (62,79), root: (1479,101),
state 0x0, button 8, same_screen YES
I've tried to increase the value for "Repeat Delay" (up to 200), i've changed the selection for "force immediate button release", but no results.
My xorg.conf is pretty simple. That's it:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
And from the usb input devices i'm getting this:
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=046d Product=c025 Version=0110
N: Name="B16_b_02 USB-PS/2 Optical Mouse"
P: Phys=usb-0000:00:1a.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.1/usb2/2-1/2-1:1.0/input/input2
U: Uniq=
H: Handlers=mouse1 event2
B: EV=20017
B: KEY=ff0000 0 0 0 0
B: REL=103
B: MSC=10
B: LED=ff00
I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=40001
B: SND=6
I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/virtual/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=3
B: KEY=10000000000000 0
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=kbd event5
B: EV=3
B: KEY=10000000000000 0
I: Bus=0000 Vendor=b216 Product=0002 Version=0000
N: Name="btnx keyboard"
P: Phys=
S: Sysfs=/devices/virtual/input/input8
U: Uniq=
H: Handlers=kbd event6
B: EV=100003
B: KEY=7fffffffffffffff ffffffffffffffff ffffffff00000000 0 ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff
I: Bus=0000 Vendor=b216 Product=0001 Version=0000
N: Name="btnx mouse"
P: Phys=
S: Sysfs=/devices/virtual/input/input9
U: Uniq=
H: Handlers=mouse2 event7
B: EV=7
B: KEY=ffffffff ffffffffffffffff 0 0 0 0
B: REL=103
How can i fix this??
Thx in advance, and regards
jpka
June 22nd, 2008, 03:27 PM
I use xmodmap for such task, because Xserver catch some mouse events prior to btnx, and thus it can't be (re)defined with btnx.
1. See btnx FAQ for xmodmap.
2. man xmodmap:
EXAMPLES
Many pointers are designed such that the first button is pressed using
the index finger of the right hand. People who are left-handed fre‐
quently find that it is more comfortable to reverse the button codes
that get generated so that the primary button is pressed using the
index finger of the left hand. This could be done on a 3 button
pointer as follows:
% xmodmap -e "pointer = 3 2 1"
Maybe xmodmap -e "pointer = 1 3 2" suitable for you?
Mamonetti
June 23rd, 2008, 03:40 PM
right now it's working with it
thx :D
slope
June 23rd, 2008, 06:18 PM
I run ubuntu as a guest os in vmware. Host os is xubuntu.
I run into problems with btnx.
It installed fine. But when I run btnx and try to detect buttons only left/right + scroll up/down are detected. If I go to the tab named "revoco" I see an error message:
"A MX Revolution mouse has not been detected. revoco is disabled."
Below I have bolded all parts that I have done. Do not know how to check nr 1, and the link seems to not work. The rest is done and ok.
1.Make sure your mouse is recognized as a USB input device. See this part for more info.
2.Remove any custom udev rules that you have made for the mouse.
3.It's possible that some buttons use a different event handler than the mouse itself. You must press each button on your mouse during mouse detection to ensure that all event handlers have been detected.
4.You might have incompatible settings in your xorg.conf file (see xorg.conf section). If you are using the evdev driver, you are certain to run into problems.
5.If you have mouseemu installed, try removing it.
Here is my xorg.conf
Section "InputDevice"
Identifier "Configured Mouse"
Driver "vmmouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
EndSection
What is next for this to work?
The strangest thing is that btnx works just fine in xubuntu hardy my Host OS. Can't see why it should not work in guest os?
bfharreguy
June 24th, 2008, 09:48 AM
Hello!! i need help. I was 4 hours configuring mouse, i see in xev command, all bottons funcionts, and is exellent, but in the btns-config, not detect mouse!!! in the option (Detect mouse & buttons) i follow the steps, but dont detect my mouse,
my xorg configuration here:
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "evdev"
Option "Protocol" "auto"
option "Device" "/dev/input/event3"
Option "Emulate3Buttons" "false"
Option "ZAxisMapping" "7 8"
Option "Buttons" "8"
option "ButtonMapping" "1 2 3 4 5 6 7 8"
option "HWHEELRelativeAxisButtons" "8 7"
Option "Name" "A4Tech RF USB Mouse"
Option "Resolution" "800"
EndSection
:confused:
jpka
June 24th, 2008, 10:53 AM
I not sure, but suggest to remove 'evdev' driver, and best way to do this IMHO is some like 'dpkg reconfigure xserver-xorg', then see in new xorg.conf line like 'driver "mouse"', restart & try btnx.
Many more info about xorg.conf is in btnx's FAQ.
4 hours
It's not a time. I was configuring my mouse 2 weeks, and widescreen via DVI - more than 500 days and not done yet...
blazoner
June 25th, 2008, 02:41 AM
I run ubuntu as a guest os in vmware. Host os is xubuntu.
I run into problems with btnx.
It installed fine. But when I run btnx and try to detect buttons only left/right + scroll up/down are detected. If I go to the tab named "revoco" I see an error message:
"A MX Revolution mouse has not been detected. revoco is disabled."
Below I have bolded all parts that I have done. Do not know how to check nr 1, and the link seems to not work. The rest is done and ok.
Here is my xorg.conf
Section "InputDevice"
Identifier "Configured Mouse"
Driver "vmmouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
EndSectionWhat is next for this to work?
The strangest thing is that btnx works just fine in xubuntu hardy my Host OS. Can't see why it should not work in guest os?
A couple of things to consider:
1.)Virtualization software only mimics an actual system, in other words, instead of having access to your real mouse, it creates a virtual mouse (vmmouse) which mimics the movements of your real mouse, and mimics the standard mouse button functions. The only way to circumvent this would be to have a dedicated direct link to your USB plug that the USB receiver is inserted into. I don't know if that's possible under VMWare, but it would leave your mouse undetected by your host system.
2.)I'm not conversant with how VMWare applies external inputs, but when I was using VirtualBox with their "Guest Additions," specifically their "Mouse Pointer Integration," everything I was using btnx for from my host system was being sent to user space, and triggering the appropriate responses from the guest OS. In short, it just worked.
Sorry I couldn't be more direct help.
blazoner
Kronie
June 25th, 2008, 06:04 AM
installed btnx for my mx revolution, launched it, it detected the mouse, and everything was cewl, untill i changed the scrool switch to click-by click and pressed on close button. now i cant launch btnx. this is what i get:
kron@kron-desktop:~$ sudo btnx
btnx: uinput modprobed successfully.
btnx: Opening config file: /etc/btnx/btnx_config_Default
btnx: Could not read the config file: No such file or directory
btnx: Configuration file error.
please, help me launch this thing! i really need it! i forgot whats the middle mouse for! and i never actually used middle mouse in ubuntu yet! T_T
jpka
June 25th, 2008, 07:59 AM
I have same problem sometimes, don't know why. Then I uninstall btnx, remove all like /etc/btnx, and install it again. Not cool, but work.
desudesudesu
June 29th, 2008, 08:06 AM
For whatever reason BTNX won't let me use revoco.
I have an MX Revolution mouse, I'm 100% sure of that, but BTNX and revoco say I don't.
What's up with that?
edit: I see. I forgot to do the mouse detection.
babucher
July 4th, 2008, 02:46 PM
Greetings,
Hardware:
Macbook Pro 4,1 (penryn, 2.5 GHz)
Logitech Mx500 mouse
- cat /proc/bus/input/devices shows:
--- begin quote ---
I: Bus=0003 Vendor=046d Product=c025 Version=0110
N: Name="B16_b_02 USB-PS/2 Optical Mouse"
P: Phys=usb-0000:00:1a.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-2/1-2:1.0/input/input1
U: Uniq=
H: Handlers=mouse1 event1
B: EV=20017
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10
B: LED=ff00
--- end quote ---
I am attempting to get Wolfenstein Enemy Territory (ET) to see the mouse buttons on my Mx500 correctly. At present, it works well except for the thumb buttons. Both thumb buttons register as KP_EQUALS when trying to set them in ET. In OS X they show up as MOUSE4 and MOUSE5. The other buttons perform fine. I've done this so far:
Installed btnx
Run btnx-config
Detected the mouse
Detected the mouse buttons
Enabled the two mouse buttons that are registering as the same thing in ET:
- ThumbUp
- ThumbDown
Assigned Key combination as the Even type, and Keycodes for each button
- ThumbUp: KEY_KP7
- ThumbDown: BTN_THUMBR
(I tried two completely different keycodes to see what happens)
I Restart btnx
No change in how ET responds when I attempt to set the thumb mouse buttons. Both still show up as KP_EQUALS.
I have tried this with two different xorg.conf settings for the mouse:
--- xorg.conf setting 1 ---
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "protocol" "auto"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection
---
--- xorg.conf setting 2 (the original xorg.conf setting) ---
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
---
I've restarted the computer after making the changes to make sure all settings go into effect.
Thanks
danx
July 4th, 2008, 07:20 PM
This might help some having problems with the thumb buttons of the MX Revolution mouse in Hardy. Specifically if the thumb buttons do more than one action. i.e. in firefox they do whatever they were bound to in btnx and the forward/back behavior.
What I found worked was the advice on the website regarding xmodmap, specifically use xmodmap to bind buttons 8, 9 to 10, 11.
It took a while to figure out that xmodmap doesn't like it if you omit any of the original 9 buttons from the remapping for some reason. e.g. xmodmap -e "pointer = 1 2 3 4 5 6 7 10 11" does not work because 8, 9 are missing. Still not sure why.
After playing around with it for a bit I found that this works.
xmodmap -e "pointer = 1 2 3 4 5 6 7 10 11 8 9"
I put "pointer = 1 2 3 4 5 6 7 10 11 8 9" in ~/.Xmodmap and this in ~/.kde/Autostart/whatever (don't know the gnome equivalent).
#!/bin/bash
xmodmap ~/.Xmodmap
Note: The suggested xorg.conf file at the btnx was used.
Brando569
July 9th, 2008, 02:37 PM
whenever i try to make btnx detect my mouse i get this error:
Error: handler_add event handler open failed: dev/input/event0: No such file or directory
Error: moused_add_handler failed at handler addition.
even though it exists!
Pierre Lourens
July 9th, 2008, 04:24 PM
I have looked around yet haven't found much on this.
I have successfully installed btnx on my first generation Macbook, and everything works untiL I get to the button detection step. BTNX only recognizes my left and right buttons, not the multitude of other buttons on my MX Revolution.
Also, for clarification, during the button detection step, are you supposed to click and hold the same button, or click the same button multiple times to fill up the bar. The documentation is not clear.
Brando569
July 9th, 2008, 04:32 PM
youre supposed to press the same button multiple times until the bar fills up. the mouse im having problems with is my logitech G7, yet btnx worked fine with my dads mx400
Pierre Lourens
July 9th, 2008, 05:02 PM
youre supposed to press the same button multiple times until the bar fills up. the mouse im having problems with is my logitech G7, yet btnx worked fine with my dads mx400
Did you install from SVN?
Brando569
July 9th, 2008, 05:39 PM
no i downloaded the source from the authors website and compiled it, i have a slight idea that the problem may be caused by my custom kernel, ill try the stock one and see if the same thing happens.
Pierre Lourens
July 10th, 2008, 01:17 PM
I've been messing around with BTNX so long, that I think I need to completely remove it to start over with these (http://ubuntuforums.org/showpost.php?p=4636763&postcount=876) instructions.
How do I remove every trace of btnx on my system?
Edit: I've removed it completely, but am still looking for a solution for my MX Revolution
Leefmc
July 12th, 2008, 09:37 PM
Has anyone found a solution for this yet ? According to xev my middle button is being detected as a KeyPress instead of a Button Press. This used to work in Gutsy.
KeyPress event, serial 30, synthetic NO, window 0x4400001,
root 0x253, subw 0x0, time 2961965, (124,136), root:(129,185),
state 0x10, keycode 229 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 30, synthetic NO, window 0x4400001,
root 0x253, subw 0x0, time 2961965, (124,136), root:(129,185),
state 0x10, keycode 229 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
I've got the same issue. Anyone seen a solution yet?
bismark
July 18th, 2008, 05:43 PM
I don't know if this is an issue with FF3 or btnx but it's getting really annoying.
I have a Logitech MX500, along with the mouse wheel it also has PgUp and PgDn buttons which I have configured for just that. However in FF it seems to want to think that my PgUp command means go up a page and then back in history. Hitting PgUp on the keyboard does exactly what is expected.
EDIT:
I just check stuck with xev and when I press PgUp\PgDn I get a control codes, however I only get said control codes when I press the Mouse PgDn button, Mouse PgUp tells me ButtonPress on number 8.
Software Versions
Ubuntu 8.04
FF3
btnx 0.4.7 from repository
Here are my relevant configs
xorg.conf
Section "InputDevice"
Identifier "UsbMouse"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
#Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
#Option "Buttons" "3"
EndSection
btnx_config
# This is a btnx configuration file generated by btnx-config
Mouse
vendor_name = Logitech
product_name = MX500
vendor_id = 0x046d
product_id = 0xc025
revoco_mode = 0
revoco_btn = 3
revoco_up_scroll = 5
revoco_down_scroll = 5
EndMouse
Button
name = Left Button
rawcode = 0x01000110
enabled = 0
type = 0
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Right Button
rawcode = 0x01000111
enabled = 0
type = 0
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Back Button
rawcode = 0x01000113
enabled = 1
type = 0
delay = 0
force_release = 0
keycode = KEY_LEFT
mod1 = KEY_LEFTALT
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Forward Button
rawcode = 0x01000114
enabled = 1
type = 0
delay = 0
force_release = 0
keycode = KEY_RIGHT
mod1 = KEY_LEFTALT
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Wheel Up
rawcode = 0x02010008
enabled = 0
type = 1
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Wheel Down
rawcode = 0x02ff0008
enabled = 0
type = 1
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Up Button
rawcode = 0x01000116
enabled = 1
type = 0
delay = 0
force_release = 1
keycode = KEY_PAGEUP
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Down Button
rawcode = 0x01000117
enabled = 1
type = 0
delay = 0
force_release = 0
keycode = KEY_PAGEDOWN
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = Middle Button
rawcode = 0x01000112
enabled = 0
type = 0
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Button
name = App Button
rawcode = 0x01000115
enabled = 0
type = 0
delay = 0
force_release = 0
keycode = NONE
mod1 = NONE
mod2 = NONE
mod3 = NONE
EndButton
Anyone have any ideas?
GSZX1337
July 22nd, 2008, 06:05 PM
I'm having a problem with btnx-config. I press "Detect Mouse & Buttons" and then press "Press to start mouse detection." I look at the terminal and see
Warning: no valid pipes from pid: xxxx
The xxxx is usually a four digit number that changes every time I run the app. The app also says that it could not detect any mouse handlers.
sofficinifindus
July 26th, 2008, 06:33 AM
I'm having a problem with btnx-config. I press "Detect Mouse & Buttons" and then press "Press to start mouse detection." I look at the terminal and see
Warning: no valid pipes from pid: xxxx
The xxxx is usually a four digit number that changes every time I run the app. The app also says that it could not detect any mouse handlers.
you have to run it like root, or $ sudo btnx-config
i've a different problem.
the first time the config stared well,
now no... i receive this message
root@acer:/home/giacomo# btnx-config
/usr/share/btnx-config/btnx-config.glade
Warning: configuration file for configuration "Default" does not exist. Deleting configuration.
Aborted
what i should do to run it?
(one idea is use a working one?? can anyone post one? )
thanks
EDIT: solved looking here https://bugs.launchpad.net/btnx-config/+bug/200156/comments/2 , deleted dir, and reinstalled btnx
sofficinifindus
July 26th, 2008, 07:22 AM
in my mouse (logitech nx80)
i've 2 buttons , setted like BTN_FORWARD and BTN_BACK
ok, they works fine in opera, but in firefox they works like right or left arrows (assigned at lateral scrolling gear)
in nautilus, they doesn't work...
anyone with this problem?
how you setted this kind of buttons??
many thanks
p.s. how can i put btnx in autostart at each session?
GSZX1337
July 27th, 2008, 01:26 AM
Ugh, I can't seem to do anything right! I got btnx-config to detect my buttons and I set my preferred key combinations (Alt-Left and Alt-Right), I set the Event type to Key Combination, but the buttons won't do anything in Firefox. Before you ask, yes I did check enable. :P
delta1119
July 27th, 2008, 02:05 PM
My apologies if this is answered elsewhere. Searching here and googling failed to led me there.
I have btnx installed and working with only one hitch - btnx stops running after some unknown period of inactivity. So every time I come back to the system I have to restart btnx.
My working theory is that when the mouse sits idle, it downshifts to a sleep-like mode, and then btnx can't see it and stops running. Here are the details. Let me know if there's any other helpful info I can provide. Caveat: new to Linux, so keep things simple for me. :-)
distro: Linux Mint 5 (so Ubuntu Hardy inside)
mouse: Logitech MX1000 [bluetooth]
btnx: 0.4.9
To test this, I ran btnx from a terminal and left it open. Here's the annotated output:
michael@Marvin:~$ sudo btnx
[sudo] password for michael:
btnx: uinput modprobed successfully.
btnx: Opening config file: /etc/btnx/btnx_config_MX1000
btnx: revoco not started. Disabled in configuration.
btnx: No startup errors.
<now leave system for a while and come back to find this>
btnx: Handler read failed.
btnx: Exiting...
So no errors anywhere, just a process that is feeling unloved and unused so it takes its ball and goes home. :)
Am I missing a setting somewhere? Is there some Linux trick I can do to keep the process alive?
Thanks.
--Michael
Capa Pinbacker
July 28th, 2008, 11:16 PM
To turn middle button into a double-click (thanks to prior threads and the btnx website for providing this info):
Here is what I did with a new Ubuntu install on my Sony PCG-K33 laptop (I've said good riddance to Windows, but I sure do like that middle-button double click on my old logitech mouse):
1. Put the following lines to the end of your /etc/apt/sources.list file (example here is for "hardy" distribution):
Double click on the file "sources.list", and a gui will pop up whereby the following can be added to the "Third Party Software" tab:
deb http://ppa.launchpad.net/daou/ubuntu hardy main
deb-src http://ppa.launchpad.net/daou/ubuntu hardy main
2. Open Terminal and run the following command to install btnx and btnx-config:
$ sudo apt-get update && sudo apt-get install btnx
3. Once installed, run btnx-config from Applications->System Tools->btnx
4. Click "detect mouse & buttons", then Click "press start to detect buttons"
5. Click middle button until bar fills up, name it "Middle Button", then click "+ADD"
6. Click on the "Buttons" tab, then "Middle Button" in left pane
7. Check "enabled", and change Keycode to "BTN_LEFT"
8. Close btnx
9. Use an undocumented feature in btnx to make make the button a double click:
a) open the configuration file /etc/btnx/btnx_config_Default
b) change the type value of the middle button to "type = 1"; this makes the double click
10. Open btnx again, and click "Restart btnx"
Voila, middle button is now double click
angrykeyboarder
July 29th, 2008, 12:18 AM
I just installed btnx/btnx-config in Hardy from your repo. The installation went fine but the configuration didn't.
Just how long is one expected to hold each button before the progress bar fills up?
I gave up after it wasn't filling up after several minutes holding s single button (and my hand couldn't take it anymore).
Then I had an idea... start all over but instead of having the mouse on the desktop, just hold it in my hand and press the button. btnx-config detected my button press and now I had the luxury of being able to move when I got tired as long as I held the button as the laser wasn't detecting motion due to my not actually having the mouse on a surface.
The end result of my bright idea ... nothing.
The problem was the same either way. 7-8 minutes is a bit long for detection of a single button is it not?
With either of the above methods, the progress bar jumped to 1/4 of the way and never moved beyond that.
I'm running Hardy i386.
The mouse is a Logitech MX Revolution (which naturally works like it should under Windows with the Setpoint drivers. - I only point this out so that you will know that the hardware itself is OK).
Thanks.
unabatedshagie
July 29th, 2008, 01:59 AM
As far as I can remember you don't hold the button to detect it you press it repeatedly.
kaligus
July 29th, 2008, 02:02 AM
I just installed btnx/btnx-config in Hardy from your repo. The installation went fine but the configuration didn't.
Just how long is one expected to hold each button before the progress bar fills up?
I gave up after it wasn't filling up after several minutes holding s single button (and my hand couldn't take it anymore).
Then I had an idea... start all over but instead of having the mouse on the desktop, just hold it in my hand and press the button. btnx-config detected my button press and now I had the luxury of being able to move when I got tired as long as I held the button as the laser wasn't detecting motion due to my not actually having the mouse on a surface.
The end result of my bright idea ... nothing.
The problem was the same either way. 7-8 minutes is a bit long for detection of a single button is it not?
With either of the above methods, the progress bar jumped to 1/4 of the way and never moved beyond that.
I'm running Hardy i386.
The mouse is a Logitech MX Revolution (which naturally works like it should under Windows with the Setpoint drivers. - I only point this out so that you will know that the hardware itself is OK).
Thanks.
ok, first I have to laugh because I did that for some time until I made the connection...
press the button several times, each time it will nock the bar one chunk.
... and promise not to tell anyone I did that too :lolflag:
kaligus
July 29th, 2008, 02:08 AM
Ugh, I can't seem to do anything right! I got btnx-config to detect my buttons and I set my preferred key combinations (Alt-Left and Alt-Right), I set the Event type to Key Combination, but the buttons won't do anything in Firefox. Before you ask, yes I did check enable. :P
I am having many issues with btnx + FF3, FF does what it wants with my buttons no matter what I tell btnx to do.
I haven't spent too much time trying to figure out what I am doing wrong, what FF is doing wrong, etc... but some day when it annoys me enough I will look into it further ;)
lemonadeX
July 30th, 2008, 01:05 PM
Hi all,
Having read through millions of replies I cannot find a fix to this problem. I've installed btnx in Ubuntu and am trying to configure the buttons with my Logitech MX1000 mouse. Note: before finding btnx, I tried xbindkeys and xvkbd which I couldn't get working, and have (hopefully) removed both of these.
The main problem I'm having is that the scroll wheel (up/down) is no longer working properly - instead it acts as a back/forward button in Firefox (except when there is no page to go back/forward to, then it scrolls OK).
In btnx-config, I have set the keycodes to KEY_UP and KEY_DOWN (because KEY_SCROLLUP/DOWN didn't seem to work). The scrolling side of things worked perfectly until I messed around to get the other buttons working ;)
The lines added in my xorg.conf are as follows:
Section "InputDevice"
Identifier "MX1000"
Driver "mouse"
Option "CorePointer"
Option "Protocol" "evdev"
Option "Dev Name" "Logitech USB Receiver"
Option "Buttons" "12"
Option "ZAxisMapping" "8 9"
Option "Resolution" "800"
Option "Emulate3Buttons" "false"
EndSection
Using xev I have confirmed that scroll up/down are buttons 8 and 9.
Any help would be greatly appreciated :)
Thanks,
Will
blazoner
July 31st, 2008, 02:34 AM
It's really not advisable to map ANY buttons to your scroll-wheel. Gnome already knows what to do with them by default. I suggest that you click on "disable", and try it then. If that doesn't solve the problem, please repost in this thread, and we'll see what we can come up with.
lemonadeX
July 31st, 2008, 03:07 PM
It's really not advisable to map ANY buttons to your scroll-wheel. Gnome already knows what to do with them by default. I suggest that you click on "disable", and try it then. If that doesn't solve the problem, please repost in this thread, and we'll see what we can come up with.
Thanks for your reply. I've disabled both the scroll-up and scroll-down keys in btnx-config, as well as the back/forward buttons (in case they were interfering) I've also commented out the whole MX1000 section that I copy/pasted into xorg.conf and made sure that xbindkeys has been fully removed. Still, scrolling up acts as the BACK key and scrolling down acts as the FORWARD key :(
Is there a way to get GNOME to reset its mouse config or something? Before, the scroll worked fine and the 2 buttons on the side of my mouse worked as the back/forward (like in XP). My touchpad scrolls bars also go back/forward.
Any advice you can provide would be great, this is driving me mad! ;)
lemonadeX
August 1st, 2008, 03:58 AM
I've now completely removed btnx and btnx-config - still not working though. Strange thing is that the other binds I setup in btnx-config (such as the tilt buttons for volume control) still work :confused: so I guess something is lingering which is interfering?
psorcerer
August 2nd, 2008, 10:37 AM
I'm trying to set up a DiNovo Mini keyboard to work with btnx.
I have successfully set up a "media player" button to be a middle click.
It sends keyboard code 97 and mouse code 0x66 simultaneously, so I've set code 97 to nothing in xmodmap and mapped 0x66 to BTN_MIDDLE in btnx.
Right now I'm struggling with "zoom in/out" buttons which happen to send only mouse codes.
I want it to act as a scroll wheel. But when I map it to BTN_3 and BTN_4 respectively I see in xev: button 8 and button 9.
I've tried to remap 8 and 9 in xmodmap: "pointer = 1 2 3 8 9" but it gives me "out of range" error and it indeed maps only first 5 buttons only.
Any ideas?
4Play
August 5th, 2008, 08:10 PM
Hi, this question might seem a bit stupid, but I haven't found an answer to this yet...I got btnx to work nicely with my VX Revolution, but the search button keeps bringing up the "Tracker Search Tool" and I cant seem to get Gnome to disassociate that button with the Search tool.
The problem is that xev doesn't seem to think the button is a button at all..I managed to narrow down what xev captured when I pressed the search button by pressing the left mouse button before and after the search button was pressed... here is the output:
LeaveNotify event, serial 31, synthetic NO, window 0x4800001,
root 0x13b, subw 0x0, time 8349594, (30,42), root:(859,93),
mode NotifyUngrab, detail NotifyInferior, same_screen YES,
focus YES, state 0
FocusOut event, serial 31, synthetic NO, window 0x4800001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 31, synthetic NO, window 0x4800001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 31, synthetic NO, window 0x0,
keys: 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FocusOut event, serial 31, synthetic NO, window 0x4800001,
mode NotifyNormal, detail NotifyNonlinear
PropertyNotify event, serial 31, synthetic NO, window 0x4800001,
atom 0x1ae (_NET_WM_ICON_GEOMETRY), time 8352960, state PropertyNewValue
Again, this must be VERY simple, and I will feel like an idiot after I find out how to do this, but I am at a loss right now, so any help would be very appreciated.
Thanks :)
dondad
August 5th, 2008, 09:35 PM
Hi, this question might seem a bit stupid, but I haven't found an answer to this yet...I got btnx to work nicely with my VX Revolution, but the search button keeps bringing up the "Tracker Search Tool" and I cant seem to get Gnome to disassociate that button with the Search tool.
The problem is that xev doesn't seem to think the button is a button at all..I managed to narrow down what xev captured when I pressed the search button by pressing the left mouse button before and after the search button was pressed... here is the output:
Again, this must be VERY simple, and I will feel like an idiot after I find out how to do this, but I am at a loss right now, so any help would be very appreciated.
Thanks :)
What version of btnx are you running? I had that same problem with the ones that worked with Ubuntu versions earlier than Hardy. When I installed Hardy, I had to use a later version of btnx. I am currently running 4.11-hardy1 and don't have that problem with my revolution mouse.
4Play
August 6th, 2008, 12:25 AM
Thanks for the reply, btnx -v yields:btnx v.0.4.11
Author: Olli Salonen <oasalonen@gmail.com>
Compatible with btnx-config >= v.0.4.7
I installed with apt-get so I should have the latest version...
perhaps it has something to do with 64 bit ubuntu?
dondad
August 6th, 2008, 12:58 AM
Thanks for the reply, btnx -v yields:
I installed with apt-get so I should have the latest version...
perhaps it has something to do with 64 bit ubuntu?
That could be. I am running the 32 bit version.
clevercasey
August 6th, 2008, 07:27 AM
Thanks for the awesome program...I have been able to configure my VX Nano to use the extra buttons for back/forward in nautilus...however I am having a problem that is keeping me awake trying to figure out.
I for the life of me can't get horizontal scrolling to work on this mouse at all...I have searched and searched all over the place to no avail. Anyone have any ideas?
PierreDeKat
August 7th, 2008, 05:22 PM
I´m having a little trouble trying to figure out what´s going on with my 5-button USB Intellimouse, and hopefully somebody can give me some ideas on getting the other buttons to work.
I´ve installed btnx and it seems to recognize when I click the other buttons. So I have 5 buttons, all enabled, and I believe configured properly.
Like I wanted a ¨copy¨ button, so I have button 5 set up with keycodes ¨key_c¨ and ¨key_leftctrl¨, which should be giving me the same that as hitting CTRL+C on the keyboard, as near as I can tell.
The problem is, when I run xev, there are no events happening when I hit buttons 4 and 5, and the wrong event when I hit button 3.
So here´s what I have in xorg.conf:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
And here´s where it really gets questionable, doing $ cat /proc/bus/input/devices , I appear to have two different mice showing up:
I: Bus=0003 Vendor=045e Product=0039 Version=0110
N: Name="Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/input/input2
U: Uniq=
H: Handlers=mouse1 event2
B: EV=17
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10
and:
I: Bus=0000 Vendor=b216 Product=0001 Version=0000
N: Name="btnx mouse"
P: Phys=
S: Sysfs=/devices/virtual/input/input9
U: Uniq=
H: Handlers=mouse2 event7
B: EV=7
B: KEY=ffffffff ffffffff ffffffff 0 0 0 0 0 0 0 0
B: REL=103
Is that my problem? That btnx created me, like, a ¨virtual¨ mouse that is not associated with my actual mouse?
Or am I doing something wrong, here?
And how do I fix this?
I have been studying this thing for days, but the more I read, the more confused I´m getting.
TIA
[S]Duke
August 7th, 2008, 11:02 PM
I'm having some issues geting btnx to recognize my mouse. I have the MX Revolution. And it doesn't recognize it at all D:
Here's my xorg.conf:
Section "InputDevice"
Identifier "MouseMX"
Driver "evdev"
Option "Device" "/dev/input/event2" # cat /proc/bus/input/devices
Option "Name" "Logitech MX Revolution"
Option "CorePointer"
EndSection
Not exactly sure what's wrong. I'm on Ubuntu Hardy.
PierreDeKat
August 8th, 2008, 04:06 AM
I´m having a little trouble trying to figure out what´s going on with my 5-button USB Intellimouse, and hopefully somebody can give me some ideas on getting the other buttons to work.
I´ve installed btnx and it seems to recognize when I click the other buttons. So I have 5 buttons, all enabled, and I believe configured properly.
Like I wanted a ¨copy¨ button, so I have button 5 set up with keycodes ¨key_c¨ and ¨key_leftctrl¨, which should be giving me the same that as hitting CTRL+C on the keyboard, as near as I can tell.
The problem is, when I run xev, there are no events happening when I hit buttons 4 and 5, and the wrong event when I hit button 3.
So here´s what I have in xorg.conf:
And here´s where it really gets questionable, doing $ cat /proc/bus/input/devices , I appear to have two different mice showing up:
and:
Is that my problem? That btnx created me, like, a ¨virtual¨ mouse that is not associated with my actual mouse?
Or am I doing something wrong, here?
And how do I fix this?
I have been studying this thing for days, but the more I read, the more confused I´m getting.
TIA
Oh my gosh, I am such an idiot! I had logged in and out several times after installing and configuring btnx, thinking that should be enough for X to catch up with the changes. Nope.
Shut down last night and booted up this morning, and my mouse works perfectly! Woohoo!
Thanks, btnx guys!
Dipdip
August 12th, 2008, 12:51 AM
I have a Logitech VX Nano on Hardy and the two small buttons on the left side beside the left mouse button is used as forward and back by default. I used btnx to set these buttons as volume control and it worked fine except for the fact that it also executes the default forward and back at the same time. Basically each button does 2 different things. How can I fix this??? Also, when I enter:
sudo gedit etc/X11/xorg.conf
It is completely empty, no text or anything. Any help would be much appreciated. Thank you.
PierreDeKat
August 12th, 2008, 04:29 AM
I have a Logitech VX Nano on Hardy and the two small buttons on the left side beside the left mouse button is used as forward and back by default. I used btnx to set these buttons as volume control and it worked fine except for the fact that it also executes the default forward and back at the same time. Basically each button does 2 different things. How can I fix this??? Also, when I enter:
sudo gedit etc/X11/xorg.conf
It is completely empty, no text or anything. Any help would be much appreciated. Thank you.
I'm no expert on this, but as near as I can tell, the "Forward" and "Back" functions are purely a Firefox deal.
Apparently the developers of Firefox thought they should set up "Forward" and "Back" mouse buttons automatically, which makes some sense for people who don't want to futz around with settings much and for people who aren't terribly fixed on a certain button setup. But as you have noticed, it's not necessarily right for everybody.
Possible options include: A) use Seamonkey instead of Firefox -- Seamonkey doesn't set up your mouse buttons automatically, nor does it override your button settings; B) change your window focus away from Firefox before you hit those buttons; C) figure out how to edit your chrome to disable the automatic "Forward" and "Back" mouse button function.
Macdelaney
August 22nd, 2008, 02:23 PM
Great guide! thanks
I'm only having one "issue":
I'm using a Mx revolution and i want the click of the thumb wheel to initialize "Scale" (Default compiz component, similar to mac os's Expose), the thing is that when i click it shows all my windows scaled properly, but cant choose one, because btnx sends multiple events (since i'm still pressing down the button) and it goes away.
I don't know if i'm being clear, or if i this is the correct place to post.
I've tried everything i could think of, and any help would be much appreciated.
pandaking
August 22nd, 2008, 08:06 PM
I'm no expert on this, but as near as I can tell, the "Forward" and "Back" functions are purely a Firefox deal.
Apparently the developers of Firefox thought they should set up "Forward" and "Back" mouse buttons automatically, which makes some sense for people who don't want to futz around with settings much and for people who aren't terribly fixed on a certain button setup. But as you have noticed, it's not necessarily right for everybody.
Possible options include: A) use Seamonkey instead of Firefox -- Seamonkey doesn't set up your mouse buttons automatically, nor does it override your button settings; B) change your window focus away from Firefox before you hit those buttons; C) figure out how to edit your chrome to disable the automatic "Forward" and "Back" mouse button function.
I am having the exact same issue as Dipdip, but I don't / didn't in Windows.
When running Windows I set in "Logitech Setpoint" for my back button to act as a different key and in Firefox it worked fine, no back button action - so I am not so sure it is a built in Firefox feature?
I am also having an issue with some other keys I have set on my mouse and the setting "Force immediate button release", which doesn't seem to do anything.
Many thanks,
Panda
SnappyU
August 23rd, 2008, 09:13 PM
Just to post that btnx works for the following mouse as well:
Microsoft Wireless Notebook Optical Mouse 4000
Left
Right
ScrollWheel-up
ScrollWheel-down
TiltWheel-Left *
TiltWheel-Right *
Side Button
This is so cool! The TiltWheel button for the Microsoft mouse cannot be configured for other key strokes in Microsoft Windows XP, but can be done with btnx in ubuntu!! :D
Square
August 30th, 2008, 12:35 PM
Hi,
I'm experiencing a somewhat strange problem.
btnx correctly identifies my mouse (Logitech LX3) and all its buttons, including the horizontal scroll buttons. Since Ubuntu doesn't recognize my horizontal scroll buttons I decided to map them using btnx-config. Unfortunately the desired action isn't carried out whenever I use either of the scroll buttons - I also tried assigning a command to the buttons instead of keystrokes. I made sure that only my scroll buttons were enabled and nothing else.
Strangely, it turns out that each time I push one of the assigned buttons (my scroll buttons in this case), a new btnx process is spawned. It took me a while to figure out what was happening by which stage I had over 50 btnx processes running.
I'm using the latest version of btnx available through the repo and am on Hardy.
Any help would be appreciated.
Creap
August 31st, 2008, 08:30 AM
Is btnx removed from the repositories? Apt get finds nothing, and neither does a search (http://packages.ubuntu.com/search?suite=all§ion=all&arch=any&searchon=names&keywords=btnx-config) at Ubuntu Packages.
Nevermind, I should read the entire first post first...
daponz
August 31st, 2008, 10:15 AM
hi,
Did someone get BTNX compile under intrepid alpha 4? I get errors at compiling (uinpit.c errors)
And big thanks to Olli for this great piece of software
DLGandalf
September 2nd, 2008, 06:17 PM
I emailed Ollie personally, and he said fixing btnx for intrepid is not on top of his priority list.
Does someone know of a workaround for intrepid, I really miss zooming in with my wireless mouse.
btw, does someone know how to make the "mouse" driver to list more than 9 buttons? this driver seems to work alot better in intrepid, it just exports too few buttons to programs like compiz.
Kronie
September 5th, 2008, 11:49 PM
need help here..
i am one of the unlucky\doomed people who own overprices MX revolution, and i cant make it work >_< i tried both ways. compiling from source and downlaoding it from distros. when i compiled it from source i actually got to launch it but then after first pc restart it wouldnt launch again, so i uninstalled it(cd'd to the installation directory and sudo make uninstalled it) and then i tried to dl it from distro but in the end it gave me this error
W: Failed to fetch http://blognux.free.fr/debian/dists/unstable/main/binary-i386/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
and the launcher didnt appear in applications menu, nor i can launch it from terminal..
nathanscottdaniels
September 9th, 2008, 06:58 PM
need help here..
i am one of the unlucky\doomed people who own overprices MX revolution, and i cant make it work >_< i tried both ways. compiling from source and downlaoding it from distros. when i compiled it from source i actually got to launch it but then after first pc restart it wouldnt launch again, so i uninstalled it(cd'd to the installation directory and sudo make uninstalled it) and then i tried to dl it from distro but in the end it gave me this error
and the launcher didnt appear in applications menu, nor i can launch it from terminal..
I am having the same problem!
Jingu
September 14th, 2008, 10:00 PM
Hello. MX Revolution owner on Kubuntu Hardy here.
And it works almost perfectly. I love it.
I've set the search button to work as my middle button, and everywhere else it works.
But in Firefox, it insists on bringing up the start page.
Since I (normally) use my middle button constantly in Firefox, I'm going crazy!
Here's the pertinent xorg.conf section:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection
nathanscottdaniels
September 16th, 2008, 11:17 AM
Well the author hasn't been on the forums since May so I guess it is fair to say he has either died or been entered into witness protection. Either way, btnx is no longer available to download via the repositories and I have no idea how to compile the source code so is there any other software similar to this?
Fanas
September 19th, 2008, 09:20 AM
I got VX Nano, it would be great if i could use search button to open google. Anyone know how to do it?
manoutside
September 20th, 2008, 05:56 AM
installed btnx for my mx revolution, launched it, it detected the mouse, and everything was cewl, untill i changed the scrool switch to click-by click and pressed on close button. now i cant launch btnx. this is what i get:
kron@kron-desktop:~$ sudo btnx
btnx: uinput modprobed successfully.
btnx: Opening config file: /etc/btnx/btnx_config_Default
btnx: Could not read the config file: No such file or directory
btnx: Configuration file error.
please, help me launch this thing! i really need it! i forgot whats the middle mouse for! and i never actually used middle mouse in ubuntu yet! T_T
I've also got this error, but being a certified idiot, I've no idea how to get it sorted. I've tried removing it, but I can still see the files under etc/btnx - could someone enlighten a poor newbie. I wish I could offer some assistance in return, but I'm afraid that, unless you're after tutoring in ancient Greek or Roman poetry, I'm unlikely to be of use. And I was told the classics would come in handy in any circumstance...
mgol
September 24th, 2008, 12:04 PM
My mouse (Logitech MX310) has 6 buttons. The 6th one is used in Windows as a replacement for Alt+Tab. Nonetheless, Ubuntu treats is exactly the same as the 3rd button, hidden under mouse wheel.
I tried xev which reported that it treats both middle and - let's name it changeApp - buttons as one thins - button nr 2. Therefore I replaced 2nd by 9th (not existing) by running:
xmodmap -e "pointer = 1 9 3 4 5 6 7 8 2"
as proposed in Troubleshooting of btnx. This allows me to change the behaviour of changeApp button, but I'd like to replace earlier functionality to middle button.
I tried to set middle to BTN_MIDDLE, but it doesn't work. However, BTN_4 works similarly - I said: similarly, not exactly as middle click.
There is an example - middle click in Fx enables autoscroll, identified by small circle-shaped icon. Next middle click, anywhere inside the window, turns this off. BTN_4 makes autoscroll enabled, but next click inside the window doesn't turn it off - but enables once again, now displaying autoscroll icon in last-clicked place.
So that's the question: how to bring middle button back default middle click functionality, not affecting changeApp button functionality?
EDIT: It turned out that BTN_4 limites middle button functionality even more - all paste-like behavior disappeared. For example, marking some text in a console and then middle-clicking doesn't paste selected text. As it's one of the most needed functions for me, without it working btnx become useless for me...
Anybody could help?
SnappyU
September 26th, 2008, 08:16 PM
Hi,
I'm experiencing a somewhat strange problem.
btnx correctly identifies my mouse (Logitech LX3) and all its buttons, including the horizontal scroll buttons. Since Ubuntu doesn't recognize my horizontal scroll buttons I decided to map them using btnx-config. Unfortunately the desired action isn't carried out whenever I use either of the scroll buttons - I also tried assigning a command to the buttons instead of keystrokes. I made sure that only my scroll buttons were enabled and nothing else.
Strangely, it turns out that each time I push one of the assigned buttons (my scroll buttons in this case), a new btnx process is spawned. It took me a while to figure out what was happening by which stage I had over 50 btnx processes running.
I'm using the latest version of btnx available through the repo and am on Hardy.
Any help would be appreciated.
1. Somewhat belated ... but what keystrokes did you assign your scroll buttons to?
2. Are you referring to your tilt-wheel buttons and not the scroll-wheel itself?
I presume you are using
* btnx:
o 0.4.11 - btnx-0.4.11.tar.gz
o ChangeLog
* btnx-config:
o 0.4.9 - btnx-config-0.4.9.tar.gz
o ChangeLog
I just configured my logitech V150 on another machine from scratch and it worked, less for the "Could not restart btnx" bug. I got mine from http://www.ollisalonen.com/btnx/ via the repo.
Let us know if you still need any help.
SnappyU
September 26th, 2008, 08:17 PM
From http://www.ollisalonen.com/btnx/
September 14, 2008
Good and bad news. Bad news first. Ubuntu Intrepid Ibex, which is to be released in October, breaks the foundations that btnx was built on. It seems that the kernel input event pipes can no longer be read. It is most likely related X.Org v.7.4. This means I will stop all development of btnx.
Then the good news. It seems evdev is catching up with today's input devices and reports all buttons from at least an MX Revolution. There exist methods to bind these buttons to other events. However, all of these are somewhat laborous and cryptic. One option is to develop a new GUI and daemon for binding these X mouse button events, similar to btnx, but one that lives only in x-sessions. It would sniff the X mouse events and send alternate keyboard/mouse events through XTest.
I do not have time to do this by myself. However, if someone is interested in developing something, get in touch with me. I have a few ideas that I would be glad to share and might even help in development.
olmari
September 26th, 2008, 08:41 PM
Damn... All good has to come to an end I suppose... I just hope someone knowing enough will come and take over... Just want my MX Revo to work as good as now at the future...
JemW
September 28th, 2008, 05:40 AM
Damn... All good has to come to an end I suppose... I just hope someone knowing enough will come and take over... Just want my MX Revo to work as good as now at the future...
I have an MX Revolution, and having seen the post about 'the death of btnx' some days ago I tried this http://ubuntuforums.org/showthread.php?t=219894 ...and I'm still struggling with it.
I can get a response from the side scroll wheel (for example) by running xev in a terminal window, but when it comes to mapping the buttons to functions I'm clueless - I cannot get xbindkeys to work. This is where someone with the right understanding / experience could do something useful in developing a btnx 'equivalent' UI. Anyone out there understand all this?
My example is that I want to use the side scroll wheel to control the volume control. I know the corresponding button numbers for 'scroll wheel pull' and 'scroll wheel push' but I can't map them.
ktulu1115
October 3rd, 2008, 06:22 PM
I have an MX Revolution, and having seen the post about 'the death of btnx' some days ago I tried this http://ubuntuforums.org/showthread.php?t=219894 ...and I'm still struggling with it.
I can get a response from the side scroll wheel (for example) by running xev in a terminal window, but when it comes to mapping the buttons to functions I'm clueless - I cannot get xbindkeys to work. This is where someone with the right understanding / experience could do something useful in developing a btnx 'equivalent' UI. Anyone out there understand all this?
My example is that I want to use the side scroll wheel to control the volume control. I know the corresponding button numbers for 'scroll wheel pull' and 'scroll wheel push' but I can't map them.
I tried for weeks getting my MX 1000 or whatever it is working with xbindkeys without any luck. This is quite aggravating that btnx will no longer with with 8.10 - it was the only application that actually made it easy to configure. :mad:
SnappyU
October 5th, 2008, 12:44 AM
I tried for weeks getting my MX 1000 or whatever it is working with xbindkeys without any luck. This is quite aggravating that btnx will no longer with with 8.10 - it was the only application that actually made it easy to configure. :mad:
It is! I wonder if the ubuntu/linux developers are all keyboarders ... and so don't really care for the mouse buttons.
It is these "simple" features that windows users expect linux to already have but are missing, that push them away. They don't really care for whether the file system is ext2 or ext3 or FAT16 ... as long as they can install the OS and run.
Anyone from canonical here running 8.10 and using anything remotely resembling a mouse with more than 2 buttons and a scrollwheel? :)
nexxteh
October 12th, 2008, 04:47 AM
Can somebody please explain to me how the profiles work in btnx?
What I want to do, is set up a 'Desktop' (or Default) profile and a 'Gaming' profile. The default profile binds my Logitech MX Revolution buttons to various compiz/window things like switching between workstations...this works just fine. But I also want to be able to switch to a profile where all the buttons are bound to F5-F12 so I can easily use them in games.
The problem is every time I create a new profile, make it active & set up all new keys for it...when I go back to the Default profile all the keys are now F5,F6,F7 etc. It seems the 'Buttons' and 'Configurations' tabs are either unrelated or the Default profile is getting it's binds overwritten?
Yashiro
October 20th, 2008, 08:01 PM
My Logitech MX518 nightmare, solved.
My conf
Section "InputDevice"
Identifier "MX518"
Driver "evdev"
Option "Name" "Logitech USB-PS/2 Optical Mouse"
Option "AllowMouseOpenFail" "true"
Option "VertScrollDelta" "12"
Option "Emulate3Buttons" "false"
EndSection
- Install Lomoco.
Set this up to run at each boot. I also set the dpi at this time too.
locomo -m
lomoco --no-sms
exit 0
in your /etc/rc.local for example.
- Install btnx and btnx-config.
Use the ppa repositories in the first post.
With the earlier lomoco change, Btnx is now able to detect the buttons that are normally assigned to change the dpi. (above/below the scroll wheel).
Without lomoco this is troublesome.
It has taken me 2 weeks of Internet searching, Xorg editing, Xbindkeys tweaking, Xev monitoring and more to get to this point! Fun indeed.
It's almost working. The dpi+ button is sending two messages currently. My Btnx command and a generic 'button 8'.
The current kernel/driver reports both the thumb button and the dpi+ button (the button above the scroll wheel) as button 8.
Hmm. Some time later...
Use this xmodmap string:
xmodmap -e "pointer = 1 2 3 4 5 6 7 10 9 8"
Or
pointer = 1 2 3 4 5 6 7 10 9 8
in an ~/.xmodmap file that is set to run on startup.
This renders these broken buttons unusable by X.
This is good because Btnx still sees them.
Now, map the thumb buttons to (KEY_LEFT + LEFT_ALT) and (KEY_RIGHT + LEFT_ALT). This gets back/forward working again in the browser.
Fixes Nautilus and most other apps too. (No xbindkeys needed for Nautilus etc.)
You can now map those two buttons by the scroll wheel for whatever you want. Success. Now make yourself some tea. You've earned it.
***
Btnx and lomoco need to make it into Ubuntu as standard apps.
They're invaluable, and Btnx is superbly done. Many thanks to the author.
If the new Xorg renders Btnx unusable then we really need someone to fix Btnx or write a WORKING mouse tool. As someone noted, it's tragic that you have to jump through these hoops to get a mouse working. We need to make this easier.
mgc8
October 23rd, 2008, 07:54 AM
I tried for weeks getting my MX 1000 or whatever it is working with xbindkeys without any luck. This is quite aggravating that btnx will no longer with with 8.10 - it was the only application that actually made it easy to configure. :mad:
It is indeed unfortunate that btnx is no longer working, however configuring with xbindkeys is not impossible. Here is a small HOWTO, I managed to get the same functionality out of my MX Revo that I had with btnx:
=============================
0. Note: this requires a newer version of X and the kernel, therefore a recent Intrepid Ibex. Older versions do not see all the mouse buttons correctly (but you can use btnx there).
1. Install needed programs: xbindkeys and xmacro (use your favourite package manager instead of aptitude):
$ sudo aptitute install xbindkeys xmacro
2. Configure xbindkeys:
$ nano ~/.xbindkeysrc
#==============#
"echo 'ButtonPress 2 ButtonRelease 2' | xmacroplay :0"
c:0xE1
"echo 'KeyStrPress Control_L KeyStr KP_Add KeyStrRelease Control_L' | xmacroplay :0"
b:13
"echo 'KeyStrPress Control_L KeyStr KP_Subtract KeyStrRelease Control_L' | xmacroplay :0"
b:15
"echo 'KeyStrPress Shift_L KeyStr Right KeyStrRelease Shift_L' | xmacroplay :0"
b:17
#==============#
(you can also use "xbindkeys --defaults" to create a default config file, just remember to comment out those default settings)
Customize the setup to suit your needs -- in my case, I have assigned the thumb wheel to Ctrl-+ and Ctrl-- (enlarge/shrink fonts in Firefox, Konsole, OO.org) and the thumb wheel click to Shift-Right (handy in Konsole/Firefox to switch tabs quickly); I also set the little "search" button as middle click as I find it a lot more convenient than clicking the wheel.
The configuration basically entails two lines: the first contains the command to execute (in our case, the keys to send when a specific button is pressed) and the second line contains the trigger (in our case, the mouse button we want to assign to a task). In the above example, "c:0xE1" means "keycode 225" (hexa) -- the "search button", and "b:13" means "mouse button 13" (that's how X sees it via "xev"). Check out the xbindkeys man page or the default config file for more information.
When adding/removing keys and mouse buttons to xmacroplay, remember to always give the "xxxRelease" event also, otherwise the key/button will remain pressed and strange things will happen!
3. Test the settings:
$ xbindkeys -n -v
This should keep the program running on the terminal, and you can press the various buttons and see if they do what they should. If not, check with "xev" to see what X thinks about them.
4. Ctrl-C to stop it, then put xbindkeys in the background by running it thusly:
$ xbindkeys
5. Try various programs (Firefox, OO.org, etc.) and if satisfied with the configuration, add xbindkeys to your session startup (depends on the WM in use).
Enjoy!
=============================
Hope this helps, at least until a proper multiple-input configuration is available in KDE/Gnome (something to encompass everything from keyboards and mice to joysticks and remotes)... may take a while ;)
P.S.: You can't do this in Windows actually. Even using the Logitech SetPoint software, you are limited in the types of commands you can assign (for example, in order to set the "Search button" to be middleclick, ironically I had to manually edit an XML file)... so Linux is more customizable, albeit not very friendly.
Regards,
Mihnea
Edited to add some configuration hints
Macdelaney
October 23rd, 2008, 09:03 AM
Great! The only thing that was going to keep me off 8.10 was this, I'll install it in a VM to see how it works :)
dondad
October 23rd, 2008, 09:51 AM
It is indeed unfortunate that btnx is no longer working, however configuring with xbindkeys is not impossible. Here is a small HOWTO, I managed to get the same functionality out of my MX Revo that I had with btnx:
=============================
0. Note: this requires a newer version of X and the kernel, therefore a recent Intrepid Ibex. Older versions do not see all the mouse buttons correctly (but you can use btnx there).
1. Install needed programs: xbindkeys and xmacro (use your favourite package manager instead of aptitude):
$ sudo aptitute install xbindkeys xmacro
2. Configure xbindkeys:
$ nano ~/.xbindkeysrc
#==============#
"echo 'ButtonPress 2 ButtonRelease 2' | xmacroplay :0"
c:0xE1
"echo 'KeyStrPress Control_L KeyStr KP_Add KeyStrRelease Control_L' | xmacroplay :0"
b:13
"echo 'KeyStrPress Control_L KeyStr KP_Subtract KeyStrRelease Control_L' | xmacroplay :0"
b:15
"echo 'KeyStrPress Shift_L KeyStr Right KeyStrRelease Shift_L' | xmacroplay :0"
b:17
#==============#
(you can also use "xbindkeys --defaults" to create a default config file, just remember to comment out those default settings)
Customize the setup to suit your needs -- in my case, I have assigned the thumb wheel to Ctrl-+ and Ctrl-- (enlarge/shrink fonts in Firefox, Konsole, OO.org) and the thumb wheel click to Shift-Right (handy in Konsole/Firefox to switch tabs quickly); I also set the little "search" button as middle click as I find it a lot more convenient than clicking the wheel.
The configuration basically entails two lines: the first contains the command to execute (in our case, the keys to send when a specific button is pressed) and the second line contains the trigger (in our case, the mouse button we want to assign to a task). In the above example, "c:0xE1" means "keycode 225" (hexa) -- the "search button", and "b:13" means "mouse button 13" (that's how X sees it via "xev"). Check out the xbindkeys man page or the default config file for more information.
When adding/removing keys and mouse buttons to xmacroplay, remember to always give the "xxxRelease" event also, otherwise the key/button will remain pressed and strange things will happen!
3. Test the settings:
$ xbindkeys -n -v
This should keep the program running on the terminal, and you can press the various buttons and see if they do what they should. If not, check with "xev" to see what X thinks about them.
4. Ctrl-C to stop it, then put xbindkeys in the background by running it thusly:
$ xbindkeys
5. Try various programs (Firefox, OO.org, etc.) and if satisfied with the configuration, add xbindkeys to your session startup (depends on the WM in use).
Enjoy!
=============================
Hope this helps, at least until a proper multiple-input configuration is available in KDE/Gnome (something to encompass everything from keyboards and mice to joysticks and remotes)... may take a while ;)
P.S.: You can't do this in Windows actually. Even using the Logitech SetPoint software, you are limited in the types of commands you can assign (for example, in order to set the "Search button" to be middleclick, ironically I had to manually edit an XML file)... so Linux is more customizable, albeit not very friendly.
Regards,
Mihnea
Edited to add some configuration hints
I did the same thing and it worked fine. One other thing if you have the MX revo. If you used revoco in btnx, you can install that separately and get the same functionality in intrepid. I like the speed sensitive release of the "clicks" on the wheel and with revoco, if I spin it fast, it releases and freewheels which makes it nice for scrolling to the bottom of a long page.
mgc8
October 23rd, 2008, 06:45 PM
I tested this all day, and I found some quirks with the setup above. Apparently the "xmacroplay" program is very old -- it's been un-maintained for about 8 years... And it has some annoying bugs, namely the last key is sometimes not read correctly. As it happens, that is usually the "KeyRelease" event, and therefore sometimes the Shift key would get stuck because of this, leading to very annoying problems.
A workaround would be to add another "benign" key after the real ones, but that's kindof ugly and no guarantee of trouble-free operation.
So I dug up another way to solve the issue, unfortunately slightly more convoluted.
===============
1. A few new programs are needed for this, namely xkbset and xvkbd. The usual
$ sudo aptitude install xkbset xvkbd
should work.
2. xbindkeys remains the main helper here, but the configuration will be changed thusly:
#==============#
"/usr/bin/xvkbd -text '\[Control_L]\[+]'"
b:13
"/usr/bin/xvkbd -text '\[Control_L]\[-]'"
b:15
"/usr/bin/xvkbd -text '\[Shift_L]\[Right]'"
b:17
#==============#
3. As you can see, we've mapped the mouse buttons to keypresses as before, but unfortunately we can't do it the other way round with xvkbd (at least I wasn't able to find a way) so remapping the "search button" is more problematic. What I came up with is a series of kludges:
3.a) set the key to report "Pointer_Button2" via xmodmap:
$ xmodmap -e 'keycode 225 = Pointer_Button2'
3.b) however, X won't honor this unless "MouseKeys" is turned on (an Accessibility feature). Thus:
$ xkbset m
3.c) this unfortunately also turns on the "use keypad as mouse" feature, making the keypad useless. Here comes the kludge:
Turn off "MouseKeys" via shortcut: LeftShift+LeftAlt+NumLock
3.d) at this point, the search button should still work as middleclick, and the keypad should be ok.
===============
We really need a better way of handling the "map keypress to mouse button" problem. So far it seems a dead end, but I'd be happy for any suggestions that would make the above hacks obsolete.
So there you have it, after a day's work, the functionality of btnx can be duplicated... somewhat. Oh well, at least it can be done ;)
Yashiro
October 23rd, 2008, 09:28 PM
Yeah, that's the method I used before using Btnx. It's Ok but let's not mention the hours of messing with Xev to get a working modmap string.
maxxum
October 31st, 2008, 10:52 PM
I cannot work without btnx! I have gotten so used to all the mouse buttons being configured by btnx that when I upgrade to a new version of ubuntu I find it difficult!
So... 8.10 is out and I am running 64-bit version. I tried to compile it from scratch but it failed. Any idea when you will make btnx available for Intrepid?
dondad
October 31st, 2008, 10:59 PM
I cannot work without btnx! I have gotten so used to all the mouse buttons being configured by btnx that when I upgrade to a new version of ubuntu I find it difficult!
So... 8.10 is out and I am running 64-bit version. I tried to compile it from scratch but it failed. Any idea when you will make btnx available for Intrepid?
There is an earlier thread on this. It will not be updated for Intrepid. The way that mouse keys are detected is different for intrepid and it is not compatible with btnx. You have to use evdev and xbindkeys to mostly duplicate the functionality. If you have an mx revolution mouse, you can also run revoco to get the free wheeling wheel.
maxxum
October 31st, 2008, 11:13 PM
Thanks for responding. I didn't know about this. Yes I do have MX revolution mouse with free scrolling wheel. Let me search for the thread. If you find it, please post.
jcphil
November 2nd, 2008, 01:21 PM
I can't get btnx to build on Intrepid. Configure runs fine, but the build always fails at this point:
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Werror -W -Wunused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wswitch -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls `pkg-config --cflags libdaemon` -g -O2 -MT uinput.o -MD -MP -MF .deps/uinput.Tpo -c -o uinput.o uinput.c
cc1: warnings being treated as errors
uinput.c: In function ‘uinput_init’:
uinput.c:59: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:67: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c: In function ‘uinput_send_mods’:
uinput.c:117: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:122: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c: In function ‘uinput_send_key’:
uinput.c:144: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:151: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:157: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
make[2]: *** [uinput.o] Error 1
make[2]: Leaving directory `/home/rebus/Desktop/btnx-0.4.11/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rebus/Desktop/btnx-0.4.11'
make: *** [all] Error 2
A run of lsmod shows that the uinput module is loaded. I've installed everything this thread says is required (AFAICT). But I always get the same error. Anybody able to build on Intrepid? Or is there some source for debs that will work on Intrepid?
dondad
November 2nd, 2008, 01:44 PM
I can't get btnx to build on Intrepid. Configure runs fine, but the build always fails at this point:
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Werror -W -Wunused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wswitch -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls `pkg-config --cflags libdaemon` -g -O2 -MT uinput.o -MD -MP -MF .deps/uinput.Tpo -c -o uinput.o uinput.c
cc1: warnings being treated as errors
uinput.c: In function ‘uinput_init’:
uinput.c:59: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:67: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c: In function ‘uinput_send_mods’:
uinput.c:117: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:122: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c: In function ‘uinput_send_key’:
uinput.c:144: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:151: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
uinput.c:157: error: ignoring return value of ‘write’, declared with attribute warn_unused_result
make[2]: *** [uinput.o] Error 1
make[2]: Leaving directory `/home/rebus/Desktop/btnx-0.4.11/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rebus/Desktop/btnx-0.4.11'
make: *** [all] Error 2
A run of lsmod shows that the uinput module is loaded. I've installed everything this thread says is required (AFAICT). But I always get the same error. Anybody able to build on Intrepid? Or is there some source for debs that will work on Intrepid?
See posts above. BTNX does not work on intrepid and there are presently no plans to redo it. The method of button detection changed and that makes it incompatible with intrepid.
Braedley
November 3rd, 2008, 12:23 AM
THANK YOU!
This is my .xbindkeysrc:
"echo 'ButtonRelease 10 ButtonPress 2 ButtonRelease 2' | xmacroplay :0"
b:10
As you can see, all I'm doing is mapping button 10 (middle thumb button) to the middle button, but in order for the middle button press to be recognized, I first need to "release" button 10. Various tests (including xev, of course) show that a button 2 press is being registered when I press button 10.
Macdelaney
November 3rd, 2008, 07:09 AM
You may find this thread helpful
http://ubuntuforums.org/showthread.php?t=968530
Macdelaney
November 3rd, 2008, 08:55 PM
#==============#
"echo 'ButtonPress 2 ButtonRelease 2' | xmacroplay :0"
c:0xE1
[/i]
Is anyone else having problems with the Search button the MX revo? I followed the instructions and I cant make it work, the Search window keeps popping up and everything else is working perfectly.
Curlydave
November 8th, 2008, 03:56 PM
I've used btnx before and it's fantastic, and should have been included with Ubuntu many distros ago.
I just installed 8.10, but can't get this working.
If I do the binary, it works until the last step, where it fails to fetch the sources.gz file. If I compile from source, it appears to install, but when I run it I get the message: Error, no keycode file. btnx-config needs /etc/btnx/events to run.
Let me know if you know how to fix this.
EDIT: didn't read thread. Does anyone know how to make the MX-rev's search button work as Mouse3 without btnx?
langenaam
November 17th, 2008, 10:38 AM
It is a pitty that btnx doesn't work.
I find it strange that one is able to program each and every combination of alt-shift-super-<something>, of which an average user might remember at most 5 different ones.
But it is impossible to (re)program the 3 or 5 buttons I know how to find with my eyes closed.
dondad
November 17th, 2008, 08:04 PM
It is a pitty that btnx doesn't work.
I find it strange that one is able to program each and every combination of alt-shift-super-<something>, of which an average user might remember at most 5 different ones.
But it is impossible to (re)program the 3 or 5 buttons I know how to find with my eyes closed.
I have the logitech revolution mouse, and have been able to duplicate everything btnx did (except the search button) using revoco and xbindkeys.
ubersoft
November 18th, 2008, 04:58 AM
I have the logitech revolution mouse, and have been able to duplicate everything btnx did (except the search button) using revoco and xbindkeys.
Have you? When I was using btnx in Hardy I had the two thumb buttons of my revolution set so that one acted as a shift key, and one acted as a control key. I can't seem to replicate this function with xbindkeys because xbindkeys apparently only recognizes shift and control when they're combined with other keys (i.e. shift+q, ctrl+v, etc.) What I want is to be able to press a button on my mouse and have it trigger the shift or control key, and not release it until I let go of the button. btnx did this without any difficulty whatsoever. How do I get xbindkeys to do it?
dondad
November 18th, 2008, 08:18 AM
Have you? When I was using btnx in Hardy I had the two thumb buttons of my revolution set so that one acted as a shift key, and one acted as a control key. I can't seem to replicate this function with xbindkeys because xbindkeys apparently only recognizes shift and control when they're combined with other keys (i.e. shift+q, ctrl+v, etc.) What I want is to be able to press a button on my mouse and have it trigger the shift or control key, and not release it until I let go of the button. btnx did this without any difficulty whatsoever. How do I get xbindkeys to do it?
I should modify that: I was able to get everything that I used it for duplicated. I wasn't trying the things that you are doing.
ubersoft
November 18th, 2008, 11:52 AM
I should modify that: I was able to get everything that I used it for duplicated. I wasn't trying the things that you are doing.
And once again a glimmer of hope is crushed by the harsh fist of reality.:)
I have to say that whatever the ubuntu developers did to make btnx stop working has earned them my undying dislike...
aurelix
November 18th, 2008, 06:38 PM
On the topic of modifier keys. Running under Hardy (8.04) with KDE, I want one of my thumb buttons as Meta_L key (for window movement). I tried with btnx and subsequently with evrouter to remap the key. I mapped the thumb button to KEY_LEFTMETA with 1. no modifiers and 2. KEY_LEFTMETA as modifier.
*Something* works, at least xev reports the Meta_L keypress & release events. However, window moving does not work, which was the point of all the fuzz.
Has anyone such a configuration working (with kwin or compiz)? *desperate*
-- EDIT: for anyone having the same question. It can't work. Why? KDE window move / resize won't work if another mouse button is pressed at the same time. Disabling the button via xmodmap, fake release event or similar does not work because KDE reads more or less directly from the hardware (circumventing X).
My solution: Mapped the thumb buttons to the key combinations which are assigned to move/resize (default: Alt+F6 / Alt+F7). xbindkeys+xmacroplay works fine for this.
.xbindkeysrc:
"echo -e 'KeyStrPress Alt_L KeyStr F7 KeyStrRelease Alt_L' | xmacroplay :0"
b:9 + Release
"echo -e 'KeyStrPress Alt_L KeyStr F8 KeyStrRelease Alt_L' | xmacroplay :0"
b:8 + Release
JemW
November 20th, 2008, 03:47 AM
And once again a glimmer of hope is crushed by the harsh fist of reality.:)
I have to say that whatever the ubuntu developers did to make btnx stop working has earned them my undying dislike...
Mine too. Out of interest, the guy who developed btnx says on his website (http://www.ollisalonen.com/btnx/) that he would be willing to develop something new for 8.10. He doesn't have the time to do it on his own though and is inviting people to help. Is there any expertise here in this forum? This has to be our best bet, as there is no other solution that I can find, other than the cryptic manual methods discussed in this forum. Hopefully someone will step forward - I'm too new to Linux otherwise I'd volunteer myself... :)
daou
November 20th, 2008, 06:30 AM
Hi Everyone,
It's been a while (6 months?) since I visited the forum and this thread. The news seems to have found its way to this thread, so no need to retype that here.
It's a shame what happened with 8.10, but I'm glad to see people have at least rediscovered the old methods of button configuration. Up until the day that I found out about the incompatibilities and announced the end of development, I was working on a complete rewrite of btnx to make it even better. You can imagine my disappointment as all that work, including the 1.5 years of developing/maintaining btnx, went down the drain. Coding and bug fixing was probably 10% of the work involved, the rest of it was giving support to users on this thread and via emails, writing manuals, and other tasks.
If nothing else, at least some people got to enjoy a relatively hassle-free mouse configuration for a while, and I enjoyed my time working on btnx. Not only the reward of contributing, but also of giving invaluable experience on everything related to software development processes. And perhaps it increased the visibility of mouse issues in Linux and showed that mouse configuration can be as good (or better?) as in other popular OSs.
I want to thank everyone who contributed: bug reports, translations, suggestions, packaging for other distros, answering questions on this thread, and even asking questions or giving complaints. They all helped make btnx better.
And once again a glimmer of hope is crushed by the harsh fist of reality.:)
I have to say that whatever the ubuntu developers did to make btnx stop working has earned them my undying dislike...
This comment made my day. Suffice to say, I am not pleased either. In fact, I am still running the same Feisty I developed btnx on, mostly because btnx works well with it.
wladyx
November 20th, 2008, 07:16 AM
A little offtopic, regarding ubuntu&ubuntu developers, in 8.10 Logitech MX5500 doesn't even work, you have to reset de conection at every boot. And the bug is still not assigned to anyone. It's a shame to pay a lot of money on a wireless kit, enjoy it on 8.04, and after the upgrade to stop working.
But i don't really use Ubuntu anymore, i migrated to Arch :)
I also used btnx, it was really good!
Thanks for it!
lazork
November 25th, 2008, 10:29 AM
You can imagine my disappointment as all that work, including the 1.5 years of developing/maintaining btnx, went down the drain. Coding and bug fixing was probably 10% of the work involved, the rest of it was giving support to users on this thread and via emails, writing manuals, and other tasks.
If nothing else, at least some people got to enjoy a relatively hassle-free mouse configuration for a while, and I enjoyed my time working on btnx.
On archlinux btnx is still working fine, so to me (and probably all other arch users) those 1.5 years you spent coding have not yet gone down the drain (and hopefully won't for a long time).
By the way, I wonder why btnx stopped working on ubuntu, since on arch (with all the latest software installed) it's not giving any problems (I read it was a problem with Xorg 7.4, but I'm using the same version and there are no problems here).
I also wonder what's the situation on other distros...
I'm writing this mostly to say a huge "thank you" for developing btnx, as well as to give some hope to those who consider btnx to be dead.
Tom Jaeger
December 12th, 2008, 02:38 PM
The feature that many here seem to be missing, namely binding buttons to modifiers, isn't actually that hard to implement using X extensions (at least in xserver-1.5), and I'm already using the same tricks in my easystroke (http://ww.ubuntuforums.org/showthread.php?t=837032) application. So I've written a little daemon that can bind button press and button release events to commands. The interface isn't very sophisticated, but it gets the job done.
# get development packages
sudo apt-get install git-core g++ libx11-dev libxtst-dev libxi-dev
# download, build and install bindbutton
git clone git://github.com/thjaeger/bindbutton.git
cd bindbutton
make
sudo make install
# make sure the xte program is available
sudo apt-get install xautomation
# bind button 2 to Alt and button 3 to Control
bindbutton 2 'xte "keydown Alt_L"' 'xte "keyup Alt_L"' 3 'xte "keydown Control_L"' 'xte "keyup Control_L"'
ubersoft
December 12th, 2008, 04:55 PM
Tom, this works! The only issue I've noticed is that sometimes the Ctrl Alt and Shift keys "stick" -- this isn't consistent and I don't know why exactly, but thank you so much for this information.
Tom Jaeger
December 12th, 2008, 05:53 PM
Tom, this works! The only issue I've noticed is that sometimes the Ctrl Alt and Shift keys "stick" -- this isn't consistent and I don't know why exactly, but thank you so much for this information.
Hmm, that shouldn't happen. I've added a debugging mode to bindbutton. Can you check if the driver fails to send Xi release events in this situation?
cd /path/to/bindbutton
git pull
make
sudo make install
# then use
DEBUG=1 bindbutton ...
# to enable debugging
JemW
December 12th, 2008, 06:23 PM
The feature that many here seem to be missing, namely binding buttons to modifiers, isn't actually that hard to implement using X extensions (at least in xserver-1.5), and I'm already using the same tricks in my easystroke (http://ww.ubuntuforums.org/showthread.php?t=837032) application. So I've written a little daemon that can bind button press and button release events to commands. The interface isn't very sophisticated, but it gets the job done.
# get development packages
sudo apt-get install git-core g++ libx11-dev libxtst-dev libxi-dev
# download, build and install bindbutton
git clone git://github.com/thjaeger/bindbutton.git
cd bindbutton
make
sudo make install
# make sure the xte program is available
sudo apt-get install xautomation
# bind button 2 to Alt and button 3 to Control
bindbutton 2 'xte "keydown Alt_L"' 'xte "keyup Alt_L"' 3 'xte "keydown Control_L"' 'xte "keyup Control_L"'
After the first command I get the following, ending with 'Abort'. Why?
root@***-desktop:/home/***# sudo apt-get install git-core g++ libx11-dev libxtst-dev libxi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
g++-4.3 libdigest-sha1-perl liberror-perl libpthread-stubs0
libpthread-stubs0-dev libstdc++6-4.3-dev libxau-dev libxcb-xlib0-dev
libxcb1-dev libxdmcp-dev libxext-dev x11proto-core-dev x11proto-input-dev
x11proto-kb-dev x11proto-record-dev x11proto-xext-dev xtrans-dev
Suggested packages:
g++-multilib g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg git-doc
git-arch git-cvs git-svn git-email git-daemon-run git-gui gitk gitweb
libstdc++6-4.3-doc
The following NEW packages will be installed
g++ g++-4.3 git-core libdigest-sha1-perl liberror-perl libpthread-stubs0
libpthread-stubs0-dev libstdc++6-4.3-dev libx11-dev libxau-dev
libxcb-xlib0-dev libxcb1-dev libxdmcp-dev libxext-dev libxi-dev libxtst-dev
x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-record-dev
x11proto-xext-dev xtrans-dev
0 upgraded, 22 newly installed, 0 to remove and 1 not upgraded.
Need to get 11.0MB of archives.
After this operation, 33.0MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Abort.
root@***-desktop:/home/***#
ubersoft
December 12th, 2008, 07:19 PM
Hmm, that shouldn't happen. I've added a debugging mode to bindbutton. Can you check if the driver fails to send Xi release events in this situation?
cd /path/to/bindbutton
git pull
make
sudo make install
# then use
DEBUG=1 bindbutton ...
# to enable debugging
OK, I see what's happening...
I went ahead and bound button 8 on my MX Revolution (the "back button") to the Shift key. When I use that in conjunction with a keyboard key it works fine (i.e., button 8 + e in a text pad creates a capital E.) When I use it in conjunction with a mouse button, however (i.e., pressing button 8 and button 1 in order to open a link in a new browser window) Button 8 isn't released -- I have to actually press it again in order to release it:
Button 8 released (core)
Button 8 pressed (Xi)
Button 1 pressed (Xi)
Button 1 released (Xi)
Button 8 released (core)
Button 8 pressed (Xi)
Button 8 released (Xi)
In the above debug message, the last three entries (release/press/release) are from the second button 8 press I had to initiate in order to release the shift key.
Tom Jaeger
December 12th, 2008, 08:21 PM
OK, I see what's happening...
I went ahead and bound button 8 on my MX Revolution (the "back button") to the Shift key. When I use that in conjunction with a keyboard key it works fine (i.e., button 8 + e in a text pad creates a capital E.) When I use it in conjunction with a mouse button, however (i.e., pressing button 8 and button 1 in order to open a link in a new browser window) Button 8 isn't released -- I have to actually press it again in order to release it:
Button 8 released (core)
Button 8 pressed (Xi)
Button 1 pressed (Xi)
Button 1 released (Xi)
Button 8 released (core)
Button 8 pressed (Xi)
Button 8 released (Xi)
In the above debug message, the last three entries (release/press/release) are from the second button 8 press I had to initiate in order to release the shift key.
Thanks, I forgot all about X treating buttons > 5 differently. It should work now if you pull in the latest changes.
ubersoft
December 12th, 2008, 10:43 PM
Thanks, I forgot all about X treating buttons > 5 differently. It should work now if you pull in the latest changes.
Hm, I updated but I'm still seeing the same problem...
Leefmc
December 13th, 2008, 12:12 AM
Ugh. I hate how 8.10 screwed the pooch on this. I actually heard 8.10 had _better_ mx revolution support out of the box, but in Hardy btnx worked for me out of the box.. in Intrepid i can't get anything but the basic 3 (left/middle/scroll) to work.
*edit*
Can someone post a working xorg.conf for an MX Revolution on Intrepid? My intrepid install didnt even come with one..
*edit2*
Scratch that, i got it working. On my Mac Pro, for some reason Intrepid likes one USB port over another. Fixed for now.
ubersoft
December 13th, 2008, 12:38 AM
Ugh. I hate how 8.10 screwed the pooch on this. I actually heard 8.10 had _better_ mx revolution support out of the box, but in Hardy btnx worked for me out of the box.. in Intrepid i can't get anything but the basic 3 (left/middle/scroll) to work.
Can someone post a working xorg.conf for an MX Revolution on Intrepid? My intrepid install didnt even come with one..
Well all I did was replace the driver entry for the mouse Intrepid chose for me during install with evdev:
Section "InputDevice"
Identifier "Mouse0"
Driver "evdev"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
EndSection
It's the other stuff that I'm finding more complicated. To remap the search button so that it acts as the middle mouse button I had to modify .xbindkeysrc as follows:
"xte 'mousedown 2'"
m:0x10 + c:225
"xte 'mouseup 2'"
m:0x10 + c:225 + release
And thanks to Tom's new tool I was able to map the rest of the buttons:
bindbutton 8 'xte "keydown Shift_L"' 'xte "keyup Shift_L"' 9 'xte "keydown Control_L"' 'xte "keyup Control_L"' 13 'xte "keydown Up"' 'xte "keyup Up"' 15 'xte "keydown Down"' 'xte "keyup Down"' 17 'xte "keydown Alt_L"' 'xte "keyup Alt_L"'
It's pretty usable at the moment. There's still a problem with the modifier keys sticking, but that'll either be worked out or I can work around it.
Leefmc
December 13th, 2008, 12:43 AM
Thanks!
Now onto this button bind thing. I got it working for me in tests (Shift on Button 8), which is awesome. What is the normal method for this to be used though? Where would you put this Daemon command to run at startup?
ubersoft
December 13th, 2008, 12:50 AM
Well, what I did was create a bash script with xbindkeys and the bindbutton string in it, and then added that to the autostart application in KDE's System Settings app (I'm running Kubuntu).
Tom Jaeger
December 13th, 2008, 12:57 AM
Hm, I updated but I'm still seeing the same problem...
Could you post the relevant debugging output again?
ubersoft
December 13th, 2008, 01:09 AM
Hi Tom, here's what I get:
Pressing button 8 (shift)
Button 8 pressed (core)
Button 8 pressed (Xi)
Grabbing device 3
Button 8 released (Xi)
Ungrabbing device 3
Pressing button 9 (control)
Button 9 pressed (core)
Button 9 pressed (Xi)
Grabbing device 3
Button 9 released (Xi)
Ungrabbing device 3
Pressing button 8 + button 1
Button 8 pressed (core)
Button 8 pressed (Xi)
Grabbing device 3
Button 1 pressed (Xi)
Button 1 released (Xi)
Pressing button 8 again (to unstick the shift key)
Button 8 pressed (core)
Button 8 pressed (Xi)
Button 8 released (Xi)
Ungrabbing device 3
Hope this helps.
ubersoft
December 13th, 2008, 01:11 AM
(Double post. Looking for delete button).
Tom Jaeger
December 13th, 2008, 01:46 AM
Pressing button 8 + button 1
Button 8 pressed (core)
Button 8 pressed (Xi)
Grabbing device 3
Button 1 pressed (Xi)
Button 1 released (Xi)
Pressing button 8 again (to unstick the shift key)
Button 8 pressed (core)
Button 8 pressed (Xi)
Button 8 released (Xi)
Ungrabbing device 3
Hope this helps.
Thanks. I have no clue what's going on, this is different than what is happening on my system. Can you post the output of doing the sequence "8 down, 1 down, 1 up, 8 up" twice in a row?
ubersoft
December 13th, 2008, 02:47 AM
Thanks. I have no clue what's going on, this is different than what is happening on my system. Can you post the output of doing the sequence "8 down, 1 down, 1 up, 8 up" twice in a row?
Here's what I get:
Button 8 pressed (core)
Button 8 pressed (Xi)
Grabbing device 3
Button 1 pressed (Xi)
Button 1 released (Xi)
Button 8 pressed (core)
Button 8 pressed (Xi)
Button 1 pressed (Xi)
Button 1 released (Xi)
In both cases there is no release of button 8...
Tom Jaeger
December 13th, 2008, 04:00 AM
Here's what I get:
Button 8 pressed (core)
Button 8 pressed (Xi)
Grabbing device 3
Button 1 pressed (Xi)
Button 1 released (Xi)
Button 8 pressed (core)
Button 8 pressed (Xi)
Button 1 pressed (Xi)
Button 1 released (Xi)
In both cases there is no release of button 8...
Okay, thanks. So XGrabDevice fails. Let's see if we can find out why. Are there any other programs running that might interfere with us? Can you do another update (no need for DEBUG output this time, the regular output of a single click will be fine)?
JemW
December 13th, 2008, 05:38 AM
Sorry, I'm obviously thick or not experienced enough with Linux to understand how this works. Could someone coach me please? I managed to get to the last of Tom's commands and then nothing happens in the Terminal window - it doesn't return to the prompt. What do I do to use this?
Leefmc
December 13th, 2008, 09:17 AM
Sorry, I'm obviously thick or not experienced enough with Linux to understand how this works. Could someone coach me please? I managed to get to the last of Tom's commands and then nothing happens in the Terminal window - it doesn't return to the prompt. What do I do to use this?
To get an output from Tom's program you need to run it with the debug option. So:
DEBUG=1 bindbutton [your bind stuff here]
JemW
December 13th, 2008, 09:29 AM
To get an output from Tom's program you need to run it with the debug option. So:
DEBUG=1 bindbutton [your bind stuff here]
I'm sorry, that means nothing to me. I don't understand how to use it to start with. Maybe I should wait until there's a nice friendly GUI for me to use.
Leefmc
December 13th, 2008, 09:45 AM
I'm sorry, that means nothing to me. I don't understand how to use it to start with. Maybe I should wait until there's a nice friendly GUI for me to use.
Sorry :)
Open up your terminal (Applications->Accessories->Terminal), and run the command.
In the case of it automatically working, you'll need to something like what ubersoft mentioned. I will be testing a method for myself later today and i can post what i end up doing if it'll help.
One thing you want to make sure though, is that you have the mouse buttons actually working. To make sure of this, open up xev (in the terminal, type "xev") and inside the little window that opens up, click your mouse buttons and watch the terminal. You should see an event fired each time you press each button, just like it should when you press your left mouse button.
If all that works, then you can simply go ahead and use Tom's program to bind your mouse buttons. So for the MX Revolution, for now, i have the two thumb back and forward buttons bound to Control and Alt. It looks like this:DEBUG=1 bindbutton 7 'xte "keydown Alt_L"' 'xte "keyup Alt_L"' 8 'xte "keydown Control_L"' 'xte "keyup Control_L"'
It may look a little confusing, but all that really matters are the 7 and the actual key definitions (Control_L, Alt_L, etc).
Hope this helps :)
JemW
December 13th, 2008, 10:50 AM
Hope this helps :)
Thanks for trying, but no - not really. I can't make it work. I'll back off and wait for someone to invent another btnx.
Leefmc
December 13th, 2008, 10:54 AM
Thanks for trying, but no - not really. I can't make it work. I'll back off and wait for someone to invent another btnx.
If you gave more information on what exactly is wrong perhaps we could help :)
Its very easy trust me, but im not sure where your problem lies. It may be as simple as simply getting bindbutton to work, or perhaps its as complex/annoying as an xorg problem and ubuntu not properly seeing all buttons for the MX Revolution.
JemW
December 13th, 2008, 10:58 AM
If you gave more information on what exactly is wrong perhaps we could help :)
Its very easy trust me, but im not sure where your problem lies. It may be as simple as simply getting bindbutton to work, or perhaps its as complex/annoying as an xorg problem and ubuntu not properly seeing all buttons for the MX Revolution.
No, listen, don't worry. I'm just used to 'GUI's' - scared of the command line because I don't understand it. I'm happy to leave the techy stuff to you guys, because I know someone will put all this into a little app. for 'ordinary folks' to use at some point. No worries... :)
JemW
December 13th, 2008, 10:59 AM
If you gave more information on what exactly is wrong perhaps we could help :)
Its very easy trust me, but im not sure where your problem lies. It may be as simple as simply getting bindbutton to work, or perhaps its as complex/annoying as an xorg problem and ubuntu not properly seeing all buttons for the MX Revolution.
No, listen, don't worry. I'm just used to 'GUI's' - scared of the command line because I don't understand it. I'm happy to leave the techy stuff to you guys, because I know someone will put all this into a little app. for 'ordinary folks' to use at some point. No worries... :)
ubersoft
December 13th, 2008, 12:29 PM
Okay, thanks. So XGrabDevice fails. Let's see if we can find out why. Are there any other programs running that might interfere with us? Can you do another update (no need for DEBUG output this time, the regular output of a single click will be fine)?
I wondered if xbindkeys was the culprit (since I'm using that to map the "search button" to button 2 because bindbutton doesn't seem to support the c:225 address it uses) so I killed that and I still get the problem. I'm not sure what other programs would do it. I'm running KDE 4.2 beta 1, so there could be some kind of transient conflict that will go away eventually. In order to work around a few nvidia bugs I'm also running this script:
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
when kwin starts.
I suppose I may have evdev configured incorrectly. As I said earlier all I did was replace the entry in the Driver= section of xorg.conf with evdev, so it looks like this:
Section "InputDevice"
Identifier "Mouse0"
Driver "evdev"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
EndSection
Other than that I can't think of anything that would conflict. At some point I intend to install the wacom-project drivers but I haven't done that yet.
How do I capture the regular output of a single click? I'm not sure what you mean by that...
Tom Jaeger
December 13th, 2008, 12:54 PM
I suppose I may have evdev configured incorrectly. As I said earlier all I did was replace the entry in the Driver= section of xorg.conf with evdev, so it looks like this:
I doubt that this is the problem, since we do get a ButtonRelease event when no additional buttons are pressed, so this must be a problem in the XInput layer.
How do I capture the regular output of a single click? I'm not sure what you mean by that...
Just do a 'git pull', recompile and send me the output of 'bindbutton ...' (if there is any) when clicking one of the buttons that you assigned a key to.
ubersoft
December 13th, 2008, 01:21 PM
Ah, ok -- well, there isn't any output when I don't use the Debug, except for when I press the search button (which as I mentioned isn't configured using bindbutton) -- then it says "Unknown event". But it only does that once. After that it starts pasting the last bit of text I copied into the terminal window.
Tom Jaeger
December 13th, 2008, 02:10 PM
Ah, ok -- well, there isn't any output when I don't use the Debug, except for when I press the search button (which as I mentioned isn't configured using bindbutton) -- then it says "Unknown event". But it only does that once. After that it starts pasting the last bit of text I copied into the terminal window.
Okay, one last try. Can you do another pull, and then start the program as ALWAYS_GRAB=1 bindbutton .... This is a pretty extreme measure, effectively disabling XInput for all other applications. If this doesn't work, I don't know what will.
ubersoft
December 13th, 2008, 03:09 PM
That completely fixed the problem. When ALWAYS_GRAB is active does that mean other device drivers (like from the Wacom tablet project) won't work?
Tom Jaeger
December 13th, 2008, 04:53 PM
That completely fixed the problem. When ALWAYS_GRAB is active does that mean other device drivers (like from the Wacom tablet project) won't work?
They'll still work, but extended information such as subpixel resolution or pressure sensitivity won't be available to other applications. To remedy this, I've added an option to only grab a single device. For example, to bind a button on my track point without affecting the tablet, I would do
DEVICE="TPPS/2 IBM TrackPoint" ALWAYS_GRAB=1 bindbutton [...]
You can use "xinput list" to get a list of device names.
ubersoft
December 13th, 2008, 07:30 PM
They'll still work, but extended information such as subpixel resolution or pressure sensitivity won't be available to other applications. To remedy this, I've added an option to only grab a single device. For example, to bind a button on my track point without affecting the tablet, I would do
DEVICE="TPPS/2 IBM TrackPoint" ALWAYS_GRAB=1 bindbutton [...]
You can use "xinput list" to get a list of device names.
Well, I'm going to go ahead and say that it looks like this now works!
after running xinput list I got two potential options: "ImPS/2 Logitech Wheel Mouse" and "Logitech USB Reciever".
The Wheel Mouse entry didn't work, and when I added a debug to it I saw that it was only recording the mouse press (not the release), i.e.:
Button 8 pressed (core)
Button 9 pressed (core)
Button 8 pressed (core)
Button 9 pressed (core)
So I went with "Logitech USB Receiver" which concerned me because it was listed twice (one for XExtensionKeyboard andone for XExtensionPointer) and I didn't know how to specify between the two, but it seems to be working anyway...
Tom Jaeger
December 13th, 2008, 09:45 PM
The Wheel Mouse entry didn't work, and when I added a debug to it I saw that it was only recording the mouse press (not the release)
This might explain why it didn't work before: The first ButtonPress event comes from this device, so the device is grabbed, and then we never get a release event. It might be worth a try to drop the ALWAYS_GRAB variable from the command line (but keep the DEVICE one).
So I went with "Logitech USB Receiver" which concerned me because it was listed twice (one for XExtensionKeyboard andone for XExtensionPointer) and I didn't know how to specify between the two, but it seems to be working anyway...
Not sure what's up with that, but "xinput list" should have some information about what types of events these devices send out. Right now, the program grabs all devices by that name that it recognizes as a mouse (by checking if it has buttons), so you should be fine in any case.
chris_j
December 27th, 2008, 06:32 PM
I'm running Hardy 64x and i configured btnx. I've detected my mouse buttons and set up the key code's but it does'nt work.
I want to use the scroll button left/right click for go to previous/next page in firefox.
screenshots...
http://i3.photobucket.com/albums/y69/lycans/scrolll-1.png
http://i3.photobucket.com/albums/y69/lycans/scrollr-1.png
chris_j
December 30th, 2008, 06:09 PM
Bump
chris_j
January 2nd, 2009, 05:18 PM
Is there nobody who can help with my problem??
dondad
January 2nd, 2009, 07:41 PM
Is there nobody who can help with my problem??
I had it set up to do what you are asking, but it was alt and the left and right arrows, not the braces. Maybe try that.
chris_j
January 3rd, 2009, 04:15 PM
I had it set up to do what you are asking, but it was alt and the left and right arrows, not the braces. Maybe try that.
Very strange... i can't find the arrow option. There?? is no KEY_Left arrow or KEY_right arrow
Dark-Shot666
January 3rd, 2009, 10:36 PM
Very strange... i can't find the arrow option. There?? is no KEY_Left arrow or KEY_right arrow
I looked for that to and couldn't find it.
I also have a problem with btnx not recognizing my MX Revolution.
I do the mouse test, get all the buttons discovered, go over to revco, and it says no MX Revolution detected, so I can't use it.
And on a side note, how would I go about disabling the forward/back use of the thumb buttons in firefox?
I'm sorry if they have been answered, but I really didn't look forward to looking through over 100 pages.
Dark-Shot666
January 5th, 2009, 05:53 PM
Bump
Help would be greatly appreciated.
oni5115
January 5th, 2009, 09:19 PM
Very strange... i can't find the arrow option. There?? is no KEY_Left arrow or KEY_right arrow
Try Up, Down, Left, or Right. At least that is what Xev outputs when I use the arrows keys.
oni5115
January 5th, 2009, 11:11 PM
This might explain why it didn't work before: The first ButtonPress event comes from this device, so the device is grabbed, and then we never get a release event. It might be worth a try to drop the ALWAYS_GRAB variable from the command line (but keep the DEVICE one).
Not sure what's up with that, but "xinput list" should have some information about what types of events these devices send out. Right now, the program grabs all devices by that name that it recognizes as a mouse (by checking if it has buttons), so you should be fine in any case.
Note: Using 8.10, fully updated and downloaded bindbutton an hour or so before this post. I've been using LXDE/OpenBox if that make a difference.
I haven't been having too much luck with bindbutton. If I run it without ALWAYS_GRAB=1, then I only get button pressed events in the debug output. If I run it with it on, it seems to work ok for a bit, but then explodes. Update: For some strange reason it now works without ALWAYS_GRAB=1, maybe because of a relogin/reboot? Regardless, the bug persists no matter what I have preceding the command.
Basically, using an MX1000, I have set my middle thumb button (application switcher button) B:10, to shift. I also bound alt and ctrl to 9 and 11 respectively. I hold button 10, and press random keys to make sure they are caps. Release the button, and keep on pressing random buttons. Repeat. Sometimes I throw in a random button 9 or 11 press. Everything seems to be going perfectly until my cursor disappears entirely. If I alt tab I get the cursor back, but it no longer does normal left clicks - e.g. I can't close windows or anything.
My guess is that the mouse is only accepting the events buttonbind handles once this happens. As I can hit button 10 to get capital text in the terminal, and hitting button 8 still displays * (KP_Multiply) correctly.
Note: This is using gnome-terminal. Update: It doesn't seem to matter what application I use.
chris_j
January 6th, 2009, 05:21 PM
Try Up, Down, Left, or Right. At least that is what Xev outputs when I use the arrows keys.
Problem solved ! I used Key-left and Key-right and now btnx works perfect!
mgol
January 6th, 2009, 08:25 PM
Is anybody able to help me with my issue? I have Logitech MX310 mouse. X.Org 7.3, used in Hardy, does not recognize a difference between middle button and one extra one (in Windows used as application switcher by default). I had to remap them so that X server does not handle them, by typing:
xmodmap -e "pointer = 1 9 3 4 5 6 7 8 2"
Then I tried to restore middle-click behaviour by setting appropriate button to BTN_MIDDLE in btnx. However, it did not work at all. So I tried BTN_4. It works, but there is one strange issue - when I click anywhere in Firefox by middle button, there shows up an autoscroll button. Standard behaviour for that was to stop when pressed another time. Now it does not stop, but run new autoscroll, in newly clicked place.
How to change that behaviour to the default one? Any help would be greatly appreciated.
oni5115
January 8th, 2009, 05:29 AM
On archlinux btnx is still working fine, so to me (and probably all other arch users) those 1.5 years you spent coding have not yet gone down the drain (and hopefully won't for a long time).
By the way, I wonder why btnx stopped working on ubuntu, since on arch (with all the latest software installed) it's not giving any problems (I read it was a problem with Xorg 7.4, but I'm using the same version and there are no problems here).
I also wonder what's the situation on other distros...
I'm writing this mostly to say a huge "thank you" for developing btnx, as well as to give some hope to those who consider btnx to be dead.
I'm curious how you got it working on Arch, or rather can you do shift/ctrl/alt buttons on Arch?
I've migrated to arch to see if I can get BTNX working or not, and it seems to load and do everything right - except using a mouse button as shift/alt/ctrl. It works fine for tab, *, or any other keys from what I can tell. I just can't find a way to turn a mouse button into shift that doesn't cause something else to explode. =(
Eromatic
January 16th, 2009, 04:39 AM
This might help some having problems with the thumb buttons of the MX Revolution mouse in Hardy. Specifically if the thumb buttons do more than one action. i.e. in firefox they do whatever they were bound to in btnx and the forward/back behavior.
What I found worked was the advice on the website regarding xmodmap, specifically use xmodmap to bind buttons 8, 9 to 10, 11.
It took a while to figure out that xmodmap doesn't like it if you omit any of the original 9 buttons from the remapping for some reason. e.g. xmodmap -e "pointer = 1 2 3 4 5 6 7 10 11" does not work because 8, 9 are missing. Still not sure why.
After playing around with it for a bit I found that this works.
xmodmap -e "pointer = 1 2 3 4 5 6 7 10 11 8 9"
I put "pointer = 1 2 3 4 5 6 7 10 11 8 9" in ~/.Xmodmap and this in ~/.kde/Autostart/whatever (don't know the gnome equivalent).
#!/bin/bash
xmodmap ~/.Xmodmap
Note: The suggested xorg.conf file at the btnx was used.
I've seen similar behavior (Left and Right mouse wheel button) with using my Logitech LX6 cordless mouse in Hardy 8.04.
To correct the issue, I had to use:
xmodmap -e "pointer = 1 2 3 4 5 8 9 10 11 6 7"
The program btnx I then have assign the Left and Right mouse wheel button to whatever function that I need. (Mapped to Page_Down & Page_Up in my case.)
And entered pointer = 1 2 3 4 5 8 9 10 11 6 7 in gedit ~/.Xmodmap to remember the xmodmap (http://ubuntuforums.org/showpost.php?p=4917621&postcount=1) settings.
oni5115
January 16th, 2009, 09:34 PM
In my search for programmable shift/ctrl/alt buttons I have discovered xdotool which is very awesome. It's like xmacro, except it actually compiles on Arch. :lolflag: It also has very simple syntax, handles all the modifer keys, and a bunch more stuff too. Ex. xdotool key Tab. Holding a key requires some xbindkey trickery as follows:
# Mouse 10 to shift
"xdotool keydown shift"
b:10
"xdotool keyup shift"
release + shift + b:10
I've read that it is supposed to be in the Intrepid repos, though I have not checked (as mentioned above I migrated from Ubuntu to Arch to try and get BTNX working).
I really am not sure how BTNX grabbed the buttons, but having some sort of GUI front end to xbindkeys / xdotool would be awesome. That or perhaps taking a peak at the source code could help get BTNX back in business - it works perfectly in Arch even with Xorg 7.4.
Tom Jaeger
February 8th, 2009, 06:04 PM
For those looking for a GUI replacement for all those command-line tools, I've just released version 0.4.0 (https://sourceforge.net/project/showfiles.php?group_id=229797&package_id=278455) of easystroke. It's actually a gesture recognition application, so it comes from the other end of the spectrum (trying to get as many actions out of a mouse with relatively few buttons), but with the introduction of additional gesture buttons in 0.4.0, the case of mice with tons of buttons is also handled as well.
Usage in a nutshell: Install the package and start the application (Apps -> Universal Access -> Easystroke). Click on the tray icon and go to the preferences tab to set up your 'Gesture Button'. If you don't care about mouse gestures, select the 'Instant gestures' checkbox, which will cause actions to be triggered as soon as the button is pressed. To assign an action to the button, use the 'Add Action' button in the 'Actions' tab. The actions that are probably the most interesting ones here are 'Command', which will execute a shell command, 'Key', which will fake a key press and 'Ignore', which will ignore the click and optionally hold down modifiers. You'll need to actually record the gesture before you can use it; in order to do that, click 'Record Stroke' and then simply press the button that you set up earlier.
Additional buttons can be configured in a similar way in the 'Additional Buttons' expander on the 'Preferences' tab.
Caveats:
You might run into trouble if you have broken hardware/driver/setups. For example, if your driver reports only Press events, and no Release events, there's not much easystroke can do. Try restricting the list of devices in the 'Advanced' tab.
Easystroke always resets the core button map, as modified button maps may have unpredictable consequences.
ubersoft
February 11th, 2009, 01:25 PM
Hi Tom, I just tried out easystroke and it seems that it won't replicate binding modifier keys (i.e., Shift, Control, Alt) to buttons. It insists on those modifiers being associated with other keys.
Any advice?
Tom Jaeger
February 11th, 2009, 03:18 PM
Hi Tom, I just tried out easystroke and it seems that it won't replicate binding modifier keys (i.e., Shift, Control, Alt) to buttons. It insists on those modifiers being associated with other keys.
Any advice?
Use 'Ignore' as the type instead of 'Key'.
ubersoft
February 11th, 2009, 03:29 PM
Oooh. Clever. :)
ubersoft
February 11th, 2009, 03:52 PM
That worked. Also, just FYI, the debs you made for Intrepid will also work with the Jaunty alpha.
ubersoft
February 13th, 2009, 10:51 PM
The only "lack" I see in easystroke (and by "lack" I mean in terms of a mouse button configuration tool rather than the purpose for which it was originally intended) is that it doesn't recognize the search button on the MX Revolution mouse. The Search button is identified as m:0x0 + c:225 when you're using .xbindkeysrc.
Tom Jaeger
February 14th, 2009, 05:46 PM
The only "lack" I see in easystroke (and by "lack" I mean in terms of a mouse button configuration tool rather than the purpose for which it was originally intended) is that it doesn't recognize the search button on the MX Revolution mouse. The Search button is identified as m:0x0 + c:225 when you're using .xbindkeysrc.
That's a bug in the mouse driver then. Buttons on mice should register as buttons, not as keys. On the plus side, this means that you can just use xmodmap to map it to a modifier key.
Vadi
February 15th, 2009, 11:05 AM
Is there any workaround to using btnx on 8.10 at all?
daou
March 1st, 2009, 04:35 AM
I took a few days of playing around with ways of configuring a mouse in Jaunty.
It seems that btnx works somewhat in Jaunty. However there are a few problems. evdev recognizes all the buttons so sending keyboard combinations does not always work.
Example: holding down button 8, evdev recognizes it and sends it to X which holds down the button. Then btnx tries to send a key-combo for it, say Ctrl+Alt+Right. X sees the command, but does not send the event because a mouse button is being held down. In the end, nothing happens.
Also, I think I now know exactly the problem that plagued 8.10. The new evdev is configured to grab kernel input event handlers, which means btnx cannot open them for reading. In Jaunty, this did not happen at first, but when I modified, compiled, and installed the latest version of evdev, the same problem reappeared. Also, the evdev driver cannot be disabled from xorg.conf anymore.
I tried disabling evdev through HAL (which is how devices are configured during hot-plugging now) and using the xf86-input-mouse driver, which has to be installed with apt-get. (This is the driver selected with Option "Driver" "mouse" in previous versions). It causes some problems unless a special X flag is set, which leads to disastrous results: pressing Ctrl+C anywhere closes X.
I then thought of combining xbindkeys and xdotool with an easy-to-use GUI configuration application. I created a small prototype. It runs into the same problem with keyboard combinations. When a mouse button is held down, X refuses to send keyboard combinations. So it would only work for keyboard combos that do not need to be held down. For example combining a button to Alt+Mouse_Left does not work for dragging screens.
Now, I can think of two ways to make all of this work, and both involve a modified evdev driver. First would be to modify the evdev driver so it ignores all mouse buttons except left, right, and wheel, and modify it so it does not grab mice. An alternative to not grabbing is to configure HAL so it launches btnx before notifying X. Then btnx can be used like it was before.
The other way would be to include some of what the btnx daemon does into the evdev driver, and an x-session configuration tool that tells the driver how to configure buttons. I tried modifying the evdev driver to reinterpret mouse buttons, and this works. However, I could not figure out how to make it convert mouse buttons into key combos. I'm not familiar enough with how X works internally, and it is a huge pile of legacy code. Perhaps a few questions to the xorg mailing list are in order.
So, to wrap up, I still haven't given up on making powerful button configuration easy, but it seems like a lot is working against it.
Tom Jaeger
March 1st, 2009, 07:40 PM
Example: holding down button 8, evdev recognizes it and sends it to X which holds down the button. Then btnx tries to send a key-combo for it, say Ctrl+Alt+Right. X sees the command, but does not send the event because a mouse button is being held down. In the end, nothing happens.
The X server does send out key events while a button is pressed, so either the application ignores the key press or it is "lost" due to a grab.
Also, I think I now know exactly the problem that plagued 8.10. The new evdev is configured to grab kernel input event handlers, which means btnx cannot open them for reading. In Jaunty, this did not happen at first, but when I modified, compiled, and installed the latest version of evdev, the same problem reappeared. Also, the evdev driver cannot be disabled from xorg.conf anymore.
There is an option for that: man evdev
I then thought of combining xbindkeys and xdotool with an easy-to-use GUI configuration application. I created a small prototype. It runs into the same problem with keyboard combinations. When a mouse button is held down, X refuses to send keyboard combinations. So it would only work for keyboard combos that do not need to be held down. For example combining a button to Alt+Mouse_Left does not work for dragging screens.
It can be made work with some amount of trickery, see easystroke.
Now, I can think of two ways to make all of this work, and both involve a modified evdev driver. First would be to modify the evdev driver so it ignores all mouse buttons except left, right, and wheel, and modify it so it does not grab mice.
You don't need to modify the evdev driver for that, see xinput's set_button_map option, or you can use XSetDeviceButtonMapping directly.
daou
March 2nd, 2009, 04:50 AM
It can be made work with some amount of trickery, see easystroke.
I tried easystroke, and it does most of what I think a mouse configuration tool should. I will definitely keep it on my computer for now. In fact, I think I will advertise this on the btnx homepage, seeing as btnx is still not working as it should anymore.
However, it is overkill for someone who wants to configure a few mouse buttons because it is based on gesture recognition. I'm hoping to create something much simpler for a casual user. Even btnx was overly complicated in my opinion. Press a button, then make the key/button combination. With advanced settings hidden unless explicitly requested.
And yes, the Alt+Button 1 works for drags in easystroke as you said, but it is quite clumsy. What I want to do is hold the mouse button, and have this hold down the Alt+Button 1 combination until I release the mouse button. So this is not possible for an application that grabs events from X and sends XTestFake* events? In this case, it would require a root daemon that takes control of the kernel input handler, and an X-session daemon that takes events from the root daemon and forwards them to X with XTest. A lot of complication for a small feature, but if it makes the user experience better, I think it's worth it.
Tom Jaeger
March 2nd, 2009, 04:39 PM
What I want to do is hold the mouse button, and have this hold down the Alt+Button 1 combination until I release the mouse button.
Easystroke can do this if you assign an action of type 'Button' to an instant-gesture button.
So this is not possible for an application that grabs events from X and sends XTestFake* events?
It is possible, but it is a little more complicated than this. Since you want to change core behavior, you can't accomplish this by listening to core events, you'll need a second channel. You can of course use a /dev/input* device for that, but this approach has its drawbacks, it only works for devices that are supported by the evdev driver, it's only available if the evdev driver hasn't grabbed the device and it's not portable.
The alternative is to use XInput as the second channel, which is what easystroke does. Say you want to remap buttons 9 and 10 to something else. On X servers >= 1.6, you should be able to do the following:
(1) Change the core pointer mapping so that buttons 9 and 10 are disabled (or, if you still need buttons 9 and 10 on other devices, swap buttons 9 and 31 and 10 and 30 on the device and disable core buttons 30 and 31)
(2) Grab buttons 9 and 10 on the XInput device
(3) If you receive button 9/10 press/release events, use XTest to forward them to the X server.
EDIT: If I understood Peter Hutterer correctly, things will get much easier once XInput 2.0 lands: XInput grabs are supposed to temporarily detach the device, so it won't be necessary anymore to modify the core button map.
tehforum
March 7th, 2009, 02:57 PM
Hi,
I'm running Ubuntu 7.10, and I have a new Logitech MX revolution.
I've installed btnx, and configured my mouse so all the buttons show up in BTNX > Buttons.
Now, I basically want all my buttons to work and to be configured.
Does anyone have a guide on how to configure the mx revolution to make use of all of its default features?
If so, I'd gladly appreciated it.
Right now, my left and right click work. My search and thumb scroll wheel buttons don't work. And my forward button acts as a right click, and my back button acts as a open in new tab.
Here is a screenshot of my current "configuration"...
http://www.filehive.com/files/090307/Th.Screenshot-btnx-config.png (http://www.filehive.com/i.php?i=090307/Screenshot-btnx-config.png)
EDIT - I configured my search button to open a new window on firefox.
Also, here are my xorg.conf values.
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Thanks again.
Thanks for any help received!
tehforum
March 9th, 2009, 01:40 PM
Bump.
tehforum
March 10th, 2009, 06:10 PM
Bump.
AND_YOU_ARE
March 23rd, 2009, 02:23 PM
I am very new to Ubuntu. I am still working on setting it up to completely replace Win XP. I own the MX Rev, and would like to set it up with all the features and settings I had in Windows.
Logitech does not offer their setpoint for Linux users. I would like to set up the thumb wheel as volume/mute control, and the search button as an alt-tab feature. The hyper scroll feature would be nice to use as well. The forward/back buttons do not work in file browser.
I have begun reading through different pages trying to get this to work, but its all foreign to me.
Is anything that I am trying to do, possible?
dondad
March 23rd, 2009, 05:28 PM
What version of Ubuntu are you running? BTNX will not work for intrepid onward. You can use evdev to get functionality for most anything that you can find a key combination for, and revoco to get the wheel behavior.
I am very new to Ubuntu. I am still working on setting it up to completely replace Win XP. I own the MX Rev, and would like to set it up with all the features and settings I had in Windows.
Logitech does not offer their setpoint for Linux users. I would like to set up the thumb wheel as volume/mute control, and the search button as an alt-tab feature. The hyper scroll feature would be nice to use as well. The forward/back buttons do not work in file browser.
I have begun reading through different pages trying to get this to work, but its all foreign to me.
Is anything that I am trying to do, possible?
AND_YOU_ARE
March 24th, 2009, 07:43 PM
I am using version 8.10.
dondad
March 24th, 2009, 08:23 PM
I am using version 8.10.
BTNX doesn't work for this version. Apparently the changes required would have needed close to a total rewrite so it will not be updated. Do a search for evdev and xbindkeys to find some ways to get at least most of the functionality that you want.
t.rei
April 3rd, 2009, 12:57 PM
Ok, now I am displeased by Jaunty. Big time:
My MX Revolution is down to: 2 Buttons and a wheel. Nothing else even registers as anything on 'xev'. My wonderfull "Middle-Click-Script" and everything is on hold.
I seriously dont know why?
lspci says:
Bus 006 Device 005: ID 046d:c51a Logitech, Inc. MX Revolution/G7 Cordless Mouse
I got so many xorg.conf's by now, I could wrap them around the world. Even tried the btnx that exists in ubuntu-archieves. It seems to work a little - but not for the "missing buttons".
Funny thing: revoco can assign those buttons to "changing the wheel toggle" without any problems. They just dont register with the x-server or something like that.
uhm... help? please?
recluce
April 12th, 2009, 04:06 PM
It seems that I have solved the problem, at least for my system. IMWheel seems to do the trick (Ubuntu 8.10).
More information here:
https://help.ubuntu.com/community/ManyButtonsMouseHowto
cybergalvez
April 16th, 2009, 02:22 PM
What version of Ubuntu are you running? BTNX will not work for intrepid onward. You can use evdev to get functionality for most anything that you can find a key combination for, and revoco to get the wheel behavior.
I'm unclear about how to use revoco, I've compiled it and ran it and it changed the wheel click (really all I want), but do I have to run it every time the computer starts? do I add it to my session? or will the setting just stick now that I've set them?
Eromatic
April 23rd, 2009, 09:22 PM
Currently running btnx on the live cd session of Jaunty 9.04 with a Logitech LX6 cordless mouse. Immediately after install of btnx from the Ubuntu repository, I got a btnx crashed with SIGSEGV in __strcpy_chk()
Though, btnx continued to work, and I was able to configure the mouse to send the keyboard buttons that I needed. The mouse buttons got a little squirrely at first, so I had to do:
xmodmap -e "pointer = 1 2 3 4 5 10 11 12 13 14 15 16 17 6 7 8 9"
Used Restart btnx after that, and so far so good.
iamnotthemessiah
April 24th, 2009, 01:37 PM
btnx (from ubuntu repos) worked flawlessly for me with mx revolution on jaunty 64.granted ive only bothered programming the search button as a middle button yet but that worked ever so well
Nixed86ed
April 25th, 2009, 08:49 PM
Hi everyone, as I'm fairly new to Ubuntu and have just recently updated to Jaunty. I tried using the tactic on the first page (lol right?) and of course found out it doesn't work. I've since seen the error of my way and have started looking for a more current fix but I haven't found any. I would greatly appreciate a point in the right direction in this thread to the driver/solution to this functionality problem. Had I stopped to think if M$ was the only registered vendor to support this mouse I probably wouldn't have purchased it =/ I appreciate the help in the matter.
Darkjasper
May 7th, 2009, 07:57 AM
I recently reinstalled ubuntu to give it another chance having issues with it before. I have installed 9.04 with a mx 1000 and I have to say this still works wonderfuly. I had to play around with it for a bit but after a while I got all my mouse keys mapped the right way. Thanks alot love this app.
SadaraX
May 12th, 2009, 09:13 AM
My Mouse: Logitech 931689-0403 MX Revolution Cordless Laser Mouse
Used BTNX for over a year but now in Kubuntu 9.04 having an error with wheel tilting and scrolling.
When I use my Wheel Tilts (either right or left) it causes a scroll up or down (depending on whether using right or left tilt). I do not want this. I have tried selecting "Force immediate release" and adding delays to the config but they do not help.
This behavior never happened before my update from 8.04.2 recently. I have tried re-detecting and recreating my mouse btnx config but that does not help.
Any suggestions?
uv_goth
May 19th, 2009, 07:51 AM
Don't have the patience to scroll though all 101 pages in search for answer! ;)
I'm running Kubuntu 9.04 and wanted to install btnx for my Logitech MX Laser mouse (DiNovo set)
I get the following error for installing btnx:
dpkg: error processing bluez (--configure):
subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bluetooth:
bluetooth depends on bluez; however:
Package bluez is not configured yet.
dpkg: error processing bluetooth (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of bluez-utils:
bluez-utils depends on bluetooth; however:
Package bluetooth is not configured yet.
dpkg: error processing bluez-utils (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
bluez
bluetooth
bluez-utils
Is this normal? Is it a KDE problem? Can I fix it?
fillintheblanks
May 19th, 2009, 02:59 PM
maybe its just a kubuntu problem
shimoda
May 21st, 2009, 10:31 AM
If you read the first message, it says that btnx no longer works with Ubuntu 8.10...
Really sad news... Btnx is a fantastic app... :cry:
pototo
May 21st, 2009, 10:52 AM
If you read the first message, it says that btnx no longer works with Ubuntu 8.10...
Really sad news... Btnx is a fantastic app... :cry:
But it works with 9.04, at least for me.
RedgeOnline
May 26th, 2009, 12:43 PM
Just got a MX Revolution and this has made my live so much easier.
Thank you. Thank you. Thank you. Thank you.
Good karma to you sir! :KS
RedgeOnline
May 28th, 2009, 07:21 PM
One problem though: I've run in to the old "thumb buttons in firefox" problem with the MX Revo and none of the fixes I've found earlier in this thread seem to work.
I've tried all sorts of xorg settings, many of them with 5 or less buttons set and most of them with Protocol set to auto: no effect. I've tried xmodmaps, but they seem to have no effect whatsoever: thumb buttons read as 8 and 9 in xev whatever I do, and firefox keeps going back/forward with the buttons, regardless of btnx settings.
I've heard hald now takes care of mice, so perhaps that is why the xorg settings that worked way back don't work now, or there could simply be something strange going on.
For now, I've disabled thumb buttons in btnx, but I would like to resolve this...
Also, revoco doesn't seem to work with the btnx I pulled from the ubuntu repositories. Restart of the daemon tells me:
btnx: revoco has been removed from this build.
Is this ubuntu specific? I would like to get revoco for my MX eventually...
\UPDATE: Installing latest version from btnx hardy PPA channel fixes revoco issue. Also: will there be a jaunty channel?
Eromatic
May 29th, 2009, 05:50 AM
One problem though: I've run in to the old "thumb buttons in firefox" problem with the MX Revo and none of the fixes I've found earlier in this thread seem to work.
I've tried all sorts of xorg settings, many of them with 5 or less buttons set and most of them with Protocol set to auto: no effect. I've tried xmodmaps, but they seem to have no effect whatsoever: thumb buttons read as 8 and 9 in xev whatever I do, and firefox keeps going back/forward with the buttons, regardless of btnx settings.
I've heard hald now takes care of mice, so perhaps that is why the xorg settings that worked way back don't work now, or there could simply be something strange going on.
For now, I've disabled thumb buttons in btnx, but I would like to resolve this...
Also, revoco doesn't seem to work with the btnx I pulled from the ubuntu repositories. Restart of the daemon tells me:
btnx: revoco has been removed from this build.
Is this ubuntu specific? I would like to get revoco for my MX eventually...
\UPDATE: Installing latest version from btnx hardy PPA channel fixes revoco issue. Also: will there be a jaunty channel?
Not sure if you're still having that Firefox back/forward issue, but I had to use xmodmap to get rid of exactly that. Overall, the Firefox extra mouse buttons map should have never been added by whoever had put them there. The flaw in that part being that should an mapping application wish to take command of those buttons, (btnx, IMWHEEL, etc.) you get whatever that application assigns plus the problem application (Firefox) controlled button assignment (Back/Forward).
So when everyone was complaining back then that Firefox navigation wasn't functional on their seven button plus mouse, instead of Ubuntu cutting corners and adding button support for only that one program, they should've adopted an mapping application such as btnx.
RedgeOnline
May 29th, 2009, 09:42 AM
Not sure if you're still having that Firefox back/forward issue, but I had to use xmodmap to get rid of exactly that. Overall, the Firefox extra mouse buttons map should have never been added by whoever had put them there. The flaw in that part being that should an mapping application wish to take command of those buttons, (btnx, IMWHEEL, etc.) you get whatever that application assigns plus the problem application (Firefox) controlled button assignment (Back/Forward).
So when everyone was complaining back then that Firefox navigation wasn't functional on their seven button plus mouse, instead of Ubuntu cutting corners and adding button support for only that one program, they should've adopted an mapping application such as btnx.
Yes, still having the problem.
Akegata
June 1st, 2009, 06:37 AM
I just installed Jaunty and have some issues getting btnx to work like I want it to.
Specifically, I want the thumb wheel to switch workspace when I scroll it forward or back, and I have set those buttons to key combination with key code KEY_LEFT and modifiers KEY_LEFTCTRL and KEY_LEFTALT. This, however, simplys doesn't work.
xev tells me only Shift_L and Control_L are pressed, not KEY_LEFT, as shown in here (http://pastebin.com/md9689ad).
What could be wrong here?
Slayer93
June 4th, 2009, 09:36 PM
Didn't want to scroll through all of em. :)
Ok. I got a gaming mouse, (Cyber Snipa S.W.A.T. Mouse) It has the 2 mouse buttons, the scroll wheel, and 3 thumb buttons. 2 of the thumb buttons work now, but the third one does not. And btnx does not even recognize that i am even pressing the button during the button detection. Any halp?
TMachado
June 7th, 2009, 12:26 PM
Anyone know how to disable the smart shift of Logitech MX Revolution.
Ive done lomoco --no-sms but getting this problem:
001.005: 046d:c51a Unsupported Logitech device: Unknown
Anyone can help me?
All I've done is install btnx and configure some buttons. I'm using ubuntu 9.04 so the mice was detected auto.
fillintheblanks
June 13th, 2009, 05:45 PM
can you use btnx to capture double clicks?
I would like to execute a specific command on left double click. for example, close a tab in my web browser (CTRL+W) by double clicking anywhere in the browser window
right now btnx only accepts single clicks.
Mikael P.
June 16th, 2009, 05:40 PM
I'll skip the initial rant of spending x amount of hours getting a simple mouse to work in Linux. Though I am an utter beginner mind you. Having just installed Ubuntu 9.04 it's a bit daunting facing something like this just to get some mouse buttons to work.
I am using a Logitech MX Revolution and am looking to change the behaviour of my thumb button. I've installed btnx and found some info on changing my xorg.conf file to update the mouse with the correct event number.
Even though I have specified my first thumb button to behave as a MMB it still performs a back action.
As I intend to use Ubuntu for 3D it's hard to use it without a MMB so I was hoping someone could assist me.
Thanks.
Mikael P.
June 17th, 2009, 04:37 AM
Solved! I was using the evdev driver in my xorg.conf.
When I read a bit closer I saw that was frowned upon and changed it accordingly to "mouse". Voilá, it works.
Thanks for this little tool!
redDEADresolve
July 7th, 2009, 04:37 PM
I have a Logitech MX Revolution, I want the thumb scroll wheel click to act as middle click.
I'm having the hardest time figuring it out. The button is detected in btnx-config and I checked the enabled box but setting it's keycode as BTN_2 or BTN_Middle doesn't seem to work.
Any help? Thanks in advance.
Ptang
July 13th, 2009, 03:11 PM
I just installed Jaunty and have some issues getting btnx to work like I want it to.
Specifically, I want the thumb wheel to switch workspace when I scroll it forward or back, and I have set those buttons to key combination with key code KEY_LEFT and modifiers KEY_LEFTCTRL and KEY_LEFTALT. This, however, simplys doesn't work.
xev tells me only Shift_L and Control_L are pressed, not KEY_LEFT, as shown in here (http://pastebin.com/md9689ad).
What could be wrong here?
I have exactly the same issue... Did you ever find a fix/solution to this problem? Any help with this would be very much appreciated!
EDIT: I managed to achieve the desired behaviour by manually editing the relevant /etc/btnx/btnx_config file: Scroll down to the correct section for your thumbwheel buttons, and change "type" from 0 to 1. Make sure that the GUI-based btnx settings manager (aka "btnx-config") is not running whilst you do this, obviously.
I have included my ThumbWheel Up and ThumbWheel Down sections for reference.
(Logitech MX Revolution)
Button
name = ThumbWheel Up
rawcode = 0x01000118
enabled = 1
type = 1
delay = 0
force_release = 0
keycode = KEY_LEFT
mod1 = KEY_LEFTCTRL
mod2 = KEY_LEFTALT
mod3 = NONE
EndButton
Button
name = ThumbWheel Down
rawcode = 0x0100011a
enabled = 1
type = 1
delay = 0
force_release = 0
keycode = KEY_RIGHT
mod1 = KEY_LEFTCTRL
mod2 = KEY_LEFTALT
mod3 = NONE
EndButton
Save, and restart the btnx daemon.
tim71
August 24th, 2009, 06:53 PM
It was the first time to not upgrade my desktop machine to new release when Intrepid came out - one of the main reasons was btnx. Now this machine had a major hardware upgrade and I made a new install with 64bit Jaunty.
It is good to see, that btnx works.... almost completely - everything works except left-double-click event. It is not completely missing - when I try to test the double-click in GNOME mouse settings window (the lightbulb), everything is looking fine, but most of the applications do not react to double-click event at all. Possibly needs more testing to sort out this behaviour.
miesnerd
August 24th, 2009, 10:23 PM
Hey guys-
I dont mean to show how incredibly lazy I am, but I'm wondering if I cant take someone's detection mapping from the Logitech MX 5500 keyboard and MX1110 mouse and just edit them for my purposes. I'm glad to do this all my self, but I thought maybe I could save some time/trouble of my own.
Thanks
Miesnerd
pandaking
August 25th, 2009, 07:32 AM
Hey guys-
I dont mean to show how incredibly lazy I am, but I'm wondering if I cant take someone's detection mapping from the Logitech MX 5500 keyboard and MX1110 mouse and just edit them for my purposes. I'm glad to do this all my self, but I thought maybe I could save some time/trouble of my own.
Thanks
Miesnerd
You could try this, it's like Setpoint but for Linux:
http://www.hidpoint.com/
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.