[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#564951: xserver-xorg-input-evdev no longer honors EmulateWheelButton option from hal



On Wed, Jan 13, 2010 at 02:10:05AM -0800, Joel Becker wrote:
> 	Oy, another scheme!  Does a change via xinput persist, or do we
> have to run it each time we start X, and thus add it to to some sort of
> X startup script?  Is there any way to put it in .Xresources or
> something?  I presume I have to do this for each mouse.  If a mouse
> disappears and reappears (USB plugging), do I have to re-run xinput?  I
> should hope not.

	Of course we do.  I added gpointing-device-settings, but it only
works for touchpads, not regular USB mice on my docking station.  Also,
when I undock and redock, the mouse gets a new xinput id and loses all
settings.
	I've written myself a script that I have to run any time I plug
in a mouse.  I contend this is still a bug until there is a persistent
way to get these settings working across all mice.

Joel

--8<-------------------------------------------------------------------
#!/bin/bash -x
#
# xinput-fix-mice
#
# Finds any mice and sets their wheel emulation settings.  Run every
# time a mouse appears on the system.
#

list_pointers()
{
    xinput list | \
        awk '/pointer/{sub(/^.*id=/,""); sub(/[ \t].*$/, ""); print}'
}

has_emulation()
{
    xinput list-props $1 | grep 'Wheel Emulation' >/dev/null 2>&1
}

fix_one_pointer()
{
    if has_emulation $1
    then
        xinput --set-prop $1 "Evdev Wheel Emulation Button" 2
        xinput --set-int-prop $1 "Evdev Wheel Emulation Axes" 8 6 7 4 5
        xinput --set-prop $1 "Evdev Wheel Emulation" 1
    fi
}

for i in $(list_pointers)
do
    fix_one_pointer $i
done
-->8-------------------------------------------------------------------

-- 

"War doesn't determine who's right; war determines who's left."

			http://www.jlbec.org/
			jlbec@evilplan.org



Reply to: