geekhack

geekhack Community => Input Devices => Topic started by: Matt3o on Thu, 22 August 2013, 11:10:09

Title: trackball with 360° scroll?
Post by: Matt3o on Thu, 22 August 2013, 11:10:09
I'm looking for trackball that by pressing a button (or holding it down) converts the ball into a 360 deg scroller (basically in a 2D mouse wheel). Does something like that exist?
Title: Re: trackball with 360° scroll?
Post by: davkol on Thu, 22 August 2013, 13:18:46
I believe it could be done partially in software. For example, I use Logitech TrackMan Marble with emulated wheel for scrolling—to achieve that I have something like this in xorg.conf:

Option "ZAxisMapping" "4 5"
Option "XAxisMapping" "6 7"


Therefore, you could either use something like Cherry MX Lock for the modifier (EmulateWheelButton), or add some dongle with a button, that would change HID, before the trackball.
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Thu, 22 August 2013, 13:31:56
thanks for your reply and THANKS for the linux example :) (I was expecting some weird windows only software install).

It is not completely clear to me how you switch from one mode to another though. I seem to understand that you added an external button, is that right? How do you connect that to the internal circuitry?
Title: Re: trackball with 360° scroll?
Post by: davkol on Thu, 22 August 2013, 13:49:48
I use ordinary boring EmulateWheelButton, i.e. I keep the 8 or 9 button pressed while scrolling, but if you could replace that button with a Cherry MX Lock, I guess it would work as expected.
Title: Re: trackball with 360° scroll?
Post by: The_Ed on Fri, 23 August 2013, 00:26:03
Dorkvader asked me to put this very thing into my code for the ADNS-9800 laser sensors were using for custom trackballs. I have a feeling that only vertical "ball scroll" will be supported in my 1.0 code release as horizontal looks to be tricky for windows. But who knows I may have figured it out in time for 1.0, but it will for sure be in 1.1.
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Fri, 23 August 2013, 01:35:49
Dorkvader asked me to put this very thing into my code for the ADNS-9800 laser sensors were using for custom trackballs. I have a feeling that only vertical "ball scroll" will be supported in my 1.0 code release as horizontal looks to be tricky for windows. But who knows I may have figured it out in time for 1.0, but it will for sure be in 1.1.

keep us posted! do you have any custom trackball pictures/tutorials?
Title: Re: trackball with 360° scroll?
Post by: The_Ed on Fri, 23 August 2013, 01:56:49
It's still quite a way off since I don't even have all the parts yet (Some stuff takes FOREVER to arrive from China...). After I have all the parts I can actually build the stuff and test the code I have so far to see what works and what doesn't. Then after I fix the parts that don't work I'll release 1.0 of my code. I have said before that it will be LATE September at the EARLIEST, but it's looking like it'll be October now. There's only so much I can do when I can't test stuff yet.

Horizontal scroll is looking even trickier now... It looks like a lot of support for it is tied to drivers running on the computer instead of something easier like Virtual-Key Codes... Maybe someone else here can figure out horizontal scrolling for me, it's giving me a headache...
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Fri, 23 August 2013, 02:02:45
install linux :)

anyway, thanks for the update. looking forward to seeing your custom trackball. What about the case? 3d printed?
Title: Re: trackball with 360° scroll?
Post by: The_Ed on Fri, 23 August 2013, 02:11:06
I'm modding both Me and my Dad's Microsoft Trackball Opticals. I'm thinking I'm probably gonna have to have a part 3D printed to attach the ADNS-9800's to the ball sockets, but I have no idea how to 3D model...

I don't like Linux, it's Windows 7 for me.
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Fri, 23 August 2013, 02:47:06
wow it works! I just put this in my /etc/X11/xorg.conf.d/10-evdev.conf

Code: [Select]
Section "InputClass"
Identifier  "Mouse0"
Driver "evdev"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"

Option "EmulateWheel" "true"
Option "EmulateWheelButton" "9"

Option "ZAxisMapping" "4 5"
Option "XAxisMapping" "6 7"
EndSection

now if I press the button #9 I get a 360° free scroller! Thanks linux!
Title: Re: trackball with 360° scroll?
Post by: davkol on Fri, 23 August 2013, 03:50:59
now if I press the button #9 I get a 360° free scroller! Thanks linux!

But you have to keep that button pressed, don't you?
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Fri, 23 August 2013, 03:59:25
now if I press the button #9 I get a 360° free scroller! Thanks linux!

But you have to keep that button pressed, don't you?

yeah, fair enough. I could replace that with an on/off switch if I find one of the right size
Title: Re: trackball with 360° scroll?
Post by: davkol on Fri, 23 August 2013, 04:16:02
...or write a Pystromo (https://launchpad.net/pystromo) macro. However, it doesn't work with my marble due to some nasty bug.
Title: Re: trackball with 360° scroll?
Post by: Matt3o on Fri, 23 August 2013, 04:26:21
very interesting... gotta investigate into this pystromo.