When you hold "shift" and scroll with your mouse on a mac, it interprets your vertical scroll motion into horizontal scroll actions. This is my most missed feature when working on linux, and I would love to bring it to linux (since I have looked thoroughly and nobody else seems to have done so yet).

I hope this can be done with some sort of runtime plugin, or at least in a way that doesn't require me to recompile all my other applications for them to make use of the functionality. My question is: What libraries out there would allow such a plugin to be written? Writing some sort of script would be nice, as it doesn't seem like the functionality should be that complex, but I can code in C and C++ if need be.

I have looked into X solutions like XEvIE (discontinued) and XTrap (similarly abandoned, it seems). I would be happy to restrict myself to GTK / GNOME only for now, at least as a proof of concept.

If this can't be done as a plugin, which open-source project should I approach (Xfree86? GNOME? someone else?) to try and get this functionality into?

-- update (with a solution!):

install the packages "xbindkeys" and "xautomation". Then write the following in your ~/.xbindkeysrc.scm file:

; bind shift + vertical scroll to horizontal scroll events
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")

then just run xbindkeys

Edit
Report