[gpm] [PATCH 0/18] GPM evdev support + more
Dmitry Torokhov
dtor_core@ameritech.net
Tue Aug 10 08:48:43 CEST 2004
Hi,
Please take a look at the patches below and consider for inclusion. The main
goal is to add proper evdev support to GPM, in process the old code has been
refactored and split into more manageable chunks. For what it worth most of
the patches have been included in gpm shipped with Fedora Core 2 so they
should be reasonably tested.
The patches are against the latest devel monotone tree. Please consider for
inclusion.
01-other-scms.patch
- change make process to be more friendly to SCMs other than monotone
that keep revision data in subdirectories by explicitely spelling
out which directories contain source code.
02-separate-console-handling.patch
- move console handling functions to console.c module to reduce
clutter in gpm.c.
03-separate-repeater-handling.patch
- split repeater-handling code into separate data structures
and functions.
04-separate-client-handling.patch
- move client handling functions to client.c module to reduce
clutter in gpm.c, cleanups.
05-optparser.patch
- split option parsing (-o text) into separate file suitable for
use outside of mice.c
06-many-mice.patch
- get rid of 2 mice limitation. This is necessary for evdev support
as at least on my laaptop I have 3 active evdevs (touchpad, track
stck and USB mouse).
07-absolute-device-attr.patch
- allow same protocol control devices in absolute and relative mode.
Before, if a protocold driver supported devices in both relative
and absolute mode it would, like Wacom, change absolute attribute
right in the Gpm_Type structure. It obviously does not work if you
have 2 devices using 2 different methods at the same time. Again,
very important for proper evdev support.
08-gpm-cleanup.patch
- remove global "state" structure, code cleanups.
09-better-button-multiplex.patch
- Correctly multiplex button events from several mice. This allows
me use my track stick that does not have buttons as they are all
connected to the touchpad.
10-remove-T-option.patch
- Kill it, not useful as it stands.
11-synaptics-warning.patch
- Suppress harmless warning about unused debug code in synaptics
driver.
12-evdev-support.patch
- Extended support for event devices - supports relative, absolute
devices and touchpads. Uses ioctls to retrieve device capabilities
and select best mode.
13-evdev-tap-and-select.patch
- Tap-and-select support in evdev driver (for "touchpad" and
"synaptics" types).
14-evdev-2.6-update.patch
- Update evdev protocol to support kernels >= 2.6.0-test.
Do not use Oops in evdev in case of crazy input parameters.
Use "get ID" IOCTL to detect Synaptics hardware.
15-evdev-man-update.patch
- Add evdev protocol documentation.
16-remove-pts-console.patch
- Remove GPM_PTS_CONSOLE and have Gpm_Open simply return -1 if local
console (/dev/ttyX or /dev/vc/X) is not accessible and client is not
running inside xterm.
GPM services are only available locally, TIOCLINUX is not valid on
/dev/pts/X and using it will cause GPM (server) to oops. And it does
unless one uses devfs.
17-liblow-cleanup.patch
- split into smaller functions, fixed some memory leaks in Gpm_Open.
18-console-selection-split.patch
- Separate console and selection handling, separate library and
server console implementation so server can be changed freely
without fear of breaking clients API.
--
Dmitry
More information about the gpm
mailing list