diff options
author | Zephaniah E. Hull <warp@agamemnon.b5> | 2006-07-13 11:59:25 -0400 |
---|---|---|
committer | Zephaniah E. Hull <warp@agamemnon.b5> | 2006-07-13 11:59:25 -0400 |
commit | dc88668839f4613d60526aa78aed3e74eebe64ad (patch) | |
tree | 80cc7964787d76e270b42e1a46e2c2b6240de69d /src/evdev.c | |
parent | Update the .gitignore files to remove some more noise. (diff) | |
download | xf86-input-evdev-dc88668839f4613d60526aa78aed3e74eebe64ad.tar.gz xf86-input-evdev-dc88668839f4613d60526aa78aed3e74eebe64ad.tar.bz2 xf86-input-evdev-dc88668839f4613d60526aa78aed3e74eebe64ad.zip |
Split the New functions so that structs can be allocated and buttons
detected, and then stuff that depends on _other_ areas.
(Specificly, axes and btn have a circular dependency on which one has to
run first, this solves that.)
Add button names, and a way to get a button number from a name.
Add a function for checking to see if a button exists, takes the number from the previous function.
Change the (unused) state array of pointers in the button struct to an array of pointers to functions for callback.
Implemented the 'touch' feature, on by default if BTN_DIGI_TOUCH exists,
won't, in rel mode, process x/y data unless it's down, and is used to
try and make 'pick up stencil, move to other side of digitizer, set back
down' not jump to the other side of the screen in rel mode.
(This doesn't work as well as it could, but I'm fairly sure that it's
due to the quality of the absolute input device I'm using, but feedback
would be really nice.)
FIXME: Update the manpage for this.
Diffstat (limited to 'src/evdev.c')
-rw-r--r-- | src/evdev.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/evdev.c b/src/evdev.c index 00323ae..2d8d120 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -228,6 +228,7 @@ EvdevSwitchMode (ClientPtr client, DeviceIntPtr device, int mode) { case Absolute: case Relative: + xf86Msg(X_INFO, "%s: Switching mode to %d.\n", pInfo->name, mode); if (state->abs) state->mode = mode; else @@ -298,9 +299,13 @@ EvdevNew(evdevDriverPtr driver, evdevDevicePtr device) } - /* XXX: Note, the order of these is important. */ - EvdevAxesNew (pInfo); - EvdevBtnNew (pInfo); + /* XXX: Note, the order of these is (maybe) still important. */ + EvdevAxesNew0 (pInfo); + EvdevBtnNew0 (pInfo); + + EvdevAxesNew1 (pInfo); + EvdevBtnNew1 (pInfo); + if (device->state.can_grab) EvdevKeyNew (pInfo); |