You are not logged in.

#1 2016-05-30 08:54:14

ANXHaruhi
Member
Registered: 2016-05-30
Posts: 18

[SOLVED] Kensington trackball scroll emu works, middleclk emu doesnt

Hi, I would like to ask if I am missing something here, or else. I’m trying to configure middle click and scroll wheel emulation on a trackball (a Kensington Orbit). I’ve gotten to the point where scrolling works flawlessly, but middle click emulation with left and right click does not. At least it does seems to be trying since the right clicks from the trackballs either sometimes are not registered or delayed, or it works fine at a times, and if I comment out the config and reboot works fine.

Full time line so it is easier for you to find where I screwed it hard. I tried first gpointing-device-settings, to see if I was comfortable using it that way before writing the config into an actual file (since it’s settings are lost on reboot). Worked, it was comfortable, time to write down things to a file. After doing due diligence researching, it seems that I can do it 2 ways, either with a conf file in /etc/X11/xorg.conf.d (the route I’ve chosen, since it is the most popular) or if I understood correctly, making udev rules for the trackball so when detected it passes xinput commands changing the evdev trackball parameters to the desired ones. So I based mine on one for a trackpad, and modified from there. My /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
    Identifier	"Kensignton Trackwheel Middleclick and Scrollwheel Emulation"
    MatchProduct	"Kensington      Kensington USB/PS2 Orbit"
    MatchDevicePath	"/dev/input/event*"
    Driver		"evdev"
    MatchIsPointer	"on"
    Option		"Emulate3Buttons"	"true"
    Option		"EmulateWheel"		"true"
    Option		"EmulateWheelButton"	"3"
EndSection

And after a reboot, I do get the aforementioned behavior. XOrg log shows that it loads correctly those parameters. Xorg log: http://pastie.org/private/domzs4r3gve6xupdde0wrq “xinput list-props 9” does list those properties values changed to one from zero, so I do guess it is working. xinput list-props 9 output: http://pastie.org/private/avccuywqnyiizbbhfgca Checked also the gsettings issue, but no reference to that after issuing “gsettings list-recursively | grep middle” in a terminal. Also it would not make sense that I would be able to emulate middle click with the trackpad buttons or emulate middle click for scrolling with the trackball.

A note of interest is that something does seem to have been broken along the way. Tried reverting the changes by renaming the file and rebooting, then reconfiguring it through gpointer-device-settings, since, albeit temporarily, it should work while I find why it doesn’t work permanently with the config file. Surprise, it doesn’t work, the config utility does exactly the same as the config file, which leads me to believe that the config file when originally loaded, changed something that makes the middle click emulation active, but effectively not functional.

Did I miss something along the way to activate middle click emulation? Or was it something I did screw along the way (probably this one)? What would be the next logical troubleshoot step? And the obvious one, what is wrong and how do I fix it? Thanks for the help, and hope I was not too overly descriptive.

Small edit: Just as I submitted this I found that button 3 is right click, don't know why. But I can scroll by maintaining only the right click button, which makes sense why right click is unresponsive at a times, depending if it believes I am going or not to scroll.  I'll keep looking.

Second edit: gpointing-device-settings it does indeed change the settings and middleclick is completely functional. But funnily gpointer-settings works again, but not with the configs that worked before the text file (button3 was the middle click for example) Bumping middle button emulation timeout in the gpointer settings did have an effect and it shows me a middle click, so, more work to do, since now I don't have wheel emulation. Middle click was more important, so I feel the progress.

Third edit: I do feel like I am missing something so obvious and that I am earning the title of The Moron. Changed evdev config file to add that extra timeout. And as you might have guessed it does not work middle clicking. Unless I go specifically to gpointing-device-settings and modify anything there so gpointing apply it's config it does not work. xinput shows exactly the same as the pastebin, asides the values that I change through configs (middle button emulation timeout to 100) So there is something that gpointing is changing behind the scenes that the conf file is not doing, and that xinput does not register at all or it is not involved (or it should not based on what I've gathered).  Where should I look next?

Fourth Edit: Removed the driver portion of the evdev.conf file, and, at long last, middle click emulation works automatically on boot, no more config, gpointing-settings or similar needed. No scroll emulation yet, but I'll end figuring out and I do have an educated guess on where I will start when I have some spare time. At this point I'm using the post as documentation more than help, in case someone with something similar finds the info useful.

Last edited by ANXHaruhi (2016-06-20 22:12:39)

Offline

#2 2016-06-20 17:15:18

paulstelian97
Member
Registered: 2016-01-13
Posts: 28

Re: [SOLVED] Kensington trackball scroll emu works, middleclk emu doesnt

In my case, the middle button is registered as button 2 and the right button is registered as button 3, for some reason. Try updating the settings that refer to button 3 to instead work with button 2 (3 may be right click)

Offline

#3 2016-06-20 22:11:23

ANXHaruhi
Member
Registered: 2016-05-30
Posts: 18

Re: [SOLVED] Kensington trackball scroll emu works, middleclk emu doesnt

That gave me an idea where to look, and after digging up more than I expected it seems it is a limitation on udev, not being able to emulate middle click and scroll at the same time. After digging up with a spoon found this as a "workaround with compromises" ( https://leho.kraav.com/blog/combine-xf8 … trackball/ ) that led me into finding the "bug report" in freedesktop ( https://bugs.freedesktop.org/show_bug.cgi?id=39174 ) and the patch addressing the issue but, judging by the commit it is for synaptic devices only.  If I understand correctly, the issue is that, due to how it is written it does not daisy chain middle click emulation with wheel emulation, it catches either one of them. And, to be honest, I don't know what to do now, asides either buying a new one with more buttons to bind mousewheel emulation, buy one with a mousewheel, find a really convoluted way to daisy chain both emulations or get used to it and it will probably be just get used to it (and learn the lesson on not to be too cheap even when buying something just to try it and see if it will work for you just in case you end liking it). I'll mark it as solved, because this is as solved as it can be unless someone with more knowledge than me (not hard to pass that mark) says otherwise.

Offline

Board footer

Powered by FluxBB