Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 29953 - XFree86 evdev and PS/2++ support
Summary: XFree86 evdev and PS/2++ support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-29 14:10 UTC by Andrew Mahone
Modified: 2004-03-17 11:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
evdev support patch (xfree-linux-evdev.patch,27.15 KB, patch)
2003-12-01 11:12 UTC, Andrew Mahone
Details | Diff
evdev mouse support patch (xfree-linux-evdev-mouse.patch,8.11 KB, patch)
2003-12-01 11:13 UTC, Andrew Mahone
Details | Diff
evdev keyboard support patch (xfree-linux-evdev-keyboard.patch,9.75 KB, patch)
2003-12-01 11:13 UTC, Andrew Mahone
Details | Diff
evdev mouse support patch for 4.3.99.16 (xfree-4.3.99.16-linux-evdev-mouse.patch,8.19 KB, patch)
2003-12-01 11:16 UTC, Andrew Mahone
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Mahone 2003-09-29 14:10:21 UTC
Patches at http://people.debian.org/~warp/evdev/ add support to XFree86 for the
new event device interface, which can be used to receive events from USB mice
and keyboards without using PS/2 mouse emulation.  The patches also allow one to
specify keyboards and mice by their USB ids, allowing for multiple USB mice and
keyboards, each attached to a different X server (potentially useful for
multi-headed systems). 
http://yhbt.net/normalperson/files/xfree86/4.3.0_logitech_ps2.patch is a patch
adding support for the PS/2++ protocol used by some of the newer logitech mice,
allowing the X server to capture events for all buttons on these mice, and to
control settings for these mice, such as enabling/disabling their SmartScroll
feature.  XFree86 4.3.0 and 4.3.99.13 both patch cleanly and build, and the
evdev keyboard and mouse support are working on my system.

Reproducible: Always
Steps to Reproduce:
Comment 1 Andrew Bevitt 2003-11-30 07:59:54 UTC
I'll confirm the logitech patch applies to 4.3.99.16 aswell.
There is a some fuzz in application but it does work... 

people.debian.org wont resolve for me atm so I cant check out 
the rest of the patches, but this does look cool cause i have
a logitect mx700 and wouldnt mind the extra features.
Comment 2 Andrew Mahone 2003-12-01 11:12:24 UTC
Created attachment 21549 [details, diff]
evdev support patch
Comment 3 Andrew Mahone 2003-12-01 11:13:09 UTC
Created attachment 21550 [details, diff]
evdev mouse support patch
Comment 4 Andrew Mahone 2003-12-01 11:13:52 UTC
Created attachment 21551 [details, diff]
evdev keyboard support patch
Comment 5 Andrew Mahone 2003-12-01 11:16:10 UTC
Created attachment 21552 [details, diff]
evdev mouse support patch for 4.3.99.16
Comment 6 Andrew Mahone 2003-12-01 11:22:46 UTC
I can't get to people.debian.org either, so I'm attaching my local copies of the patches.  I had to modify the evdev mouse support patch for it to apply to 4.3.99.16, as the context around some of the code it inserted has changed. The others apply as-is.  4.3.99.16 compiles and functions correctly, I haven't tested with .14-.15, I believe .14 is where the original patch stopped applying.
Comment 7 Andrew Bevitt 2003-12-06 03:08:00 UTC
OK Ive played around a bit with the patches.

The three patches (ie discluding the 4.3.99.16 patch) are ready to go 
straight into the patches tarball for the 4.3.0 series....

The two patches and the 4.3.99.16 mouse patch are ready to go into the
tarball for patches on the 4.3.99 series tree. They apply successfully
against 4.3.99.901 (last development snapshot) which also compiles with
the patches applied (for me anyway).

spyderous: is right to be included in the 4.3.0-r4 and 4.4 ebuilds?
Comment 8 Juliusz Chroboczek 2004-02-27 08:56:59 UTC
Note that these patches don't make use of the main advantage of the event interface: timestamps.

Suppose the user hits alt and clicks the mouse while the server is busy.  With separate drivers for the mouse and keyboard, the server has no way of inserting them in the event queue in the right order.

With timestamps and a single mouse + keyboard driver, this becomes possible.  Whenever the main server loops wakes the driver, it should poll all the devices it controls, and enqueue the first event from every file descriptor.

Alternatively, it could use the merged event interface, which does the ordering in the kernel.
Comment 9 Donnie Berkholz (RETIRED) gentoo-dev 2004-03-17 11:36:56 UTC
Patches added in 4.3.0-r6. If anyone wants to enhance them as Juliusz suggests, you're more than welcome.