mirror of
https://github.com/X11Libre/xf86-input-evdev.git
synced 2026-04-14 11:44:16 +00:00
Compare commits
4 Commits
xf86-input
...
xf86-video
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4645247d45 | ||
|
|
57a7f28441 | ||
|
|
1b03250797 | ||
|
|
e9c60da89a |
49
ChangeLog
49
ChangeLog
@@ -1,3 +1,52 @@
|
||||
2006-06-22 Adam Jackson <ajax@freedesktop.org>
|
||||
|
||||
* src/inotify-syscalls.h:
|
||||
MIPS support. (Joshua Kinard)
|
||||
|
||||
2006-06-02 Adam Jackson <ajax@freedesktop.org>
|
||||
|
||||
* src/evdev_axes.c:
|
||||
Fix an obvious bogon to avoid crashing on absolute axis setup.
|
||||
|
||||
2006-05-15 Zephaniah E. Hull,,, <warp@aehallh.com>
|
||||
|
||||
* src/evdev.h:
|
||||
Hopefully fix the bitops stuff to actually _work_.
|
||||
|
||||
2006-05-14 Zephaniah E. Hull <warp@aehallh.com>
|
||||
|
||||
* man/evdev.man:
|
||||
Tweak credits and references.
|
||||
* src/evdev.c: (EvdevParseBits), (EvdevParseBitOption),
|
||||
(EvdevCorePreInit):
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
|
||||
Cleanup our includes.
|
||||
* src/evdev.h:
|
||||
Stop pulling in asm/types.h and asm/bitops.h.
|
||||
|
||||
Conditionally define the stuff that used to come from
|
||||
the above, including our own test_bit, set_bit and clear_bit.
|
||||
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
* src/evdev_axes.c: (EvdevAxisAbsNew), (EvdevAxisRelNew):
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
|
||||
Use the bitop defines in evdev.h properly.
|
||||
* src/evdev_brain.c: (MatchAll), (MatchNot), (MatchAny):
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
* src/evdev_btn.c: (EvdevBtnNew):
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
|
||||
Use the bitop defines in evdev.h properly.
|
||||
* src/evdev_key.c: (EvdevKeyNew):
|
||||
Change the longs to unsigned longs in the bitfields.
|
||||
|
||||
Use the bitop defines in evdev.h properly.
|
||||
* src/inotify-syscalls.h:
|
||||
Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto
|
||||
<fabbione@ubuntu.com>)
|
||||
|
||||
2006-04-30 Zephaniah E. Hull <warp@aehallh.com>
|
||||
|
||||
* configure.ac:
|
||||
|
||||
@@ -312,16 +312,11 @@ enhance the keyboard layout details. Default: not set.
|
||||
.BI "Option \*qXkbOptions\*q \*q" options \*q
|
||||
specifies the XKB keyboard option components. These can be used to
|
||||
enhance the keyboard behaviour. Default: not set.
|
||||
.PP
|
||||
Some other XKB-related options are available, but they are incompatible
|
||||
with the ones listed above and are not recommended, so they are not
|
||||
documented here.
|
||||
|
||||
.TP 7
|
||||
.PP
|
||||
.SH AUTHORS
|
||||
Kristian Høgsberg.
|
||||
.fi
|
||||
Zephaniah E. Hull.
|
||||
.fi
|
||||
Kristian Høgsberg.
|
||||
.SH "SEE ALSO"
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__),
|
||||
README.mouse.
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__).
|
||||
|
||||
@@ -61,8 +61,6 @@
|
||||
#include <X11/XF86keysym.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "evdev.h"
|
||||
|
||||
#include <xf86.h>
|
||||
@@ -328,7 +326,7 @@ EvdevNew(evdevDriverPtr driver, evdevDevicePtr device)
|
||||
}
|
||||
|
||||
static void
|
||||
EvdevParseBits (char *in, long *out, int len)
|
||||
EvdevParseBits (char *in, unsigned long *out, int len)
|
||||
{
|
||||
unsigned long v[2];
|
||||
int n, i, max_bits = len * BITS_PER_LONG;
|
||||
@@ -351,7 +349,7 @@ EvdevParseBits (char *in, long *out, int len)
|
||||
}
|
||||
|
||||
static void
|
||||
EvdevParseBitOption (char *opt, long *all, long *not, long *any, int len)
|
||||
EvdevParseBitOption (char *opt, unsigned long *all, unsigned long *not, unsigned long *any, int len)
|
||||
{
|
||||
char *cur, *next;
|
||||
|
||||
@@ -395,7 +393,7 @@ EvdevCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
|
||||
EvdevParseBitOption (tmp, pEvdev->all_bits.field, \
|
||||
pEvdev->not_bits.field, \
|
||||
pEvdev->any_bits.field, \
|
||||
sizeof(pEvdev->not_bits.field) / sizeof (long)); \
|
||||
sizeof(pEvdev->not_bits.field) / sizeof (unsigned long)); \
|
||||
free (tmp); \
|
||||
}
|
||||
bitoption(ev);
|
||||
|
||||
37
src/evdev.h
37
src/evdev.h
@@ -72,20 +72,29 @@
|
||||
#include <stdarg.h>
|
||||
#include <xf86Xinput.h>
|
||||
|
||||
#define BITS_PER_LONG (sizeof(long) * 8)
|
||||
#ifndef BITS_PER_LONG
|
||||
#define BITS_PER_LONG (sizeof(unsigned long) * 8)
|
||||
#endif
|
||||
|
||||
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
|
||||
#define OFF(x) ((x)%BITS_PER_LONG)
|
||||
#define LONG(x) ((x)/BITS_PER_LONG)
|
||||
#define BIT(x) (1UL<<((x)%BITS_PER_LONG))
|
||||
#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
|
||||
#define MASK(x) (1UL << ((x) & (BITS_PER_LONG - 1)))
|
||||
|
||||
#ifndef test_bit
|
||||
#define test_bit(bit, array) (!!(array[LONG(bit)] & MASK(bit)))
|
||||
#endif
|
||||
#ifndef set_bit
|
||||
#define set_bit(bit, array) (array[LONG(bit)] |= MASK(bit))
|
||||
#endif
|
||||
#ifndef clear_bit
|
||||
#define clear_bit(bit, array) (array[LONG(bit)] &= ~MASK(bit))
|
||||
#endif
|
||||
|
||||
/* 2.4 compatibility */
|
||||
#ifndef EVIOCGSW
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <asm/types.h>
|
||||
#include <asm/bitops.h>
|
||||
|
||||
#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */
|
||||
|
||||
@@ -128,14 +137,14 @@
|
||||
#define EVDEV_MAXBUTTONS 96
|
||||
|
||||
typedef struct {
|
||||
long ev[NBITS(EV_MAX)];
|
||||
long key[NBITS(KEY_MAX)];
|
||||
long rel[NBITS(REL_MAX)];
|
||||
long abs[NBITS(ABS_MAX)];
|
||||
long msc[NBITS(MSC_MAX)];
|
||||
long led[NBITS(LED_MAX)];
|
||||
long snd[NBITS(SND_MAX)];
|
||||
long ff[NBITS(FF_MAX)];
|
||||
unsigned long ev[NBITS(EV_MAX)];
|
||||
unsigned long key[NBITS(KEY_MAX)];
|
||||
unsigned long rel[NBITS(REL_MAX)];
|
||||
unsigned long abs[NBITS(ABS_MAX)];
|
||||
unsigned long msc[NBITS(MSC_MAX)];
|
||||
unsigned long led[NBITS(LED_MAX)];
|
||||
unsigned long snd[NBITS(SND_MAX)];
|
||||
unsigned long ff[NBITS(FF_MAX)];
|
||||
} evdevBitsRec, *evdevBitsPtr;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -49,14 +49,6 @@
|
||||
|
||||
#include <xf86_OSproc.h>
|
||||
|
||||
#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0])))
|
||||
|
||||
#define BITS_PER_LONG (sizeof(long) * 8)
|
||||
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
|
||||
#define OFF(x) ((x)%BITS_PER_LONG)
|
||||
#define LONG(x) ((x)/BITS_PER_LONG)
|
||||
#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
|
||||
|
||||
static char *rel_axis_names[] = {
|
||||
"X",
|
||||
"Y",
|
||||
@@ -328,7 +320,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
|
||||
|
||||
real_axes = 0;
|
||||
for (i = 0; i < ABS_MAX; i++)
|
||||
if (TestBit (i, pEvdev->bits.abs))
|
||||
if (test_bit (i, pEvdev->bits.abs))
|
||||
real_axes++;
|
||||
|
||||
if (!real_axes)
|
||||
@@ -344,7 +336,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
|
||||
pInfo->conversion_proc = EvdevConvert;
|
||||
|
||||
for (i = 0, j = 0; i < ABS_MAX; i++) {
|
||||
if (!TestBit (i, pEvdev->bits.abs))
|
||||
if (!test_bit (i, pEvdev->bits.abs))
|
||||
continue;
|
||||
|
||||
snprintf(option, sizeof(option), "%sAbsoluteAxisMap", abs_axis_names[i]);
|
||||
@@ -389,11 +381,11 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
|
||||
xf86Msg(X_CONFIG, "%s: Unknown Mode: %s.\n", pInfo->name, s);
|
||||
}
|
||||
|
||||
if (TestBit (ABS_X, pEvdev->bits.abs) && TestBit (ABS_Y, pEvdev->bits.abs))
|
||||
if (test_bit (ABS_X, pEvdev->bits.abs) && test_bit (ABS_Y, pEvdev->bits.abs))
|
||||
k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", 0);
|
||||
else
|
||||
k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1);
|
||||
if (k < screenInfo.numScreens) {
|
||||
if (k < screenInfo.numScreens && k >= 0) {
|
||||
state->abs->screen = k;
|
||||
xf86Msg(X_CONFIG, "%s: AbsoluteScreen: %d.\n", pInfo->name, k);
|
||||
} else {
|
||||
@@ -417,7 +409,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo)
|
||||
|
||||
real_axes = 0;
|
||||
for (i = 0; i < REL_MAX; i++)
|
||||
if (TestBit (i, pEvdev->bits.rel))
|
||||
if (test_bit (i, pEvdev->bits.rel))
|
||||
real_axes++;
|
||||
|
||||
if (!real_axes && (!state->abs || state->abs->axes < 2))
|
||||
@@ -434,7 +426,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo)
|
||||
pInfo->conversion_proc = EvdevConvert;
|
||||
|
||||
for (i = 0, j = 0; i < REL_MAX; i++) {
|
||||
if (!TestBit (i, pEvdev->bits.rel))
|
||||
if (!test_bit (i, pEvdev->bits.rel))
|
||||
continue;
|
||||
|
||||
snprintf(option, sizeof(option), "%sRelativeAxisMap", rel_axis_names[i]);
|
||||
|
||||
@@ -86,7 +86,7 @@ typedef struct {
|
||||
} evdevDevInfoRec, *evdevDevInfoPtr;
|
||||
|
||||
static Bool
|
||||
MatchAll (long *dev, long *match, int len)
|
||||
MatchAll (unsigned long *dev, unsigned long *match, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -98,7 +98,7 @@ MatchAll (long *dev, long *match, int len)
|
||||
}
|
||||
|
||||
static Bool
|
||||
MatchNot (long *dev, long *match, int len)
|
||||
MatchNot (unsigned long *dev, unsigned long *match, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -110,7 +110,7 @@ MatchNot (long *dev, long *match, int len)
|
||||
}
|
||||
|
||||
static Bool
|
||||
MatchAny (long *dev, long *match, int len)
|
||||
MatchAny (unsigned long *dev, unsigned long *match, int len)
|
||||
{
|
||||
int i, found = 0;
|
||||
|
||||
|
||||
@@ -51,15 +51,6 @@
|
||||
|
||||
#include <xf86Module.h>
|
||||
|
||||
|
||||
#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0])))
|
||||
|
||||
#define BITS_PER_LONG (sizeof(long) * 8)
|
||||
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
|
||||
#define OFF(x) ((x)%BITS_PER_LONG)
|
||||
#define LONG(x) ((x)/BITS_PER_LONG)
|
||||
#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
|
||||
|
||||
void
|
||||
EvdevBtnPostFakeClicks(InputInfoPtr pInfo, int button, int count)
|
||||
{
|
||||
@@ -186,7 +177,7 @@ EvdevBtnNew(InputInfoPtr pInfo)
|
||||
state->btn = Xcalloc (sizeof (evdevBtnRec));
|
||||
|
||||
for (i = BTN_MISC; i < (KEY_OK - 1); i++)
|
||||
if (TestBit (i, pEvdev->bits.key)) {
|
||||
if (test_bit (i, pEvdev->bits.key)) {
|
||||
bit = i;
|
||||
if ((bit >= BTN_MOUSE) && (bit < BTN_JOYSTICK)) {
|
||||
bit -= BTN_MOUSE - BTN_MISC;
|
||||
|
||||
@@ -81,11 +81,6 @@
|
||||
|
||||
|
||||
#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0])))
|
||||
#define BITS_PER_LONG (sizeof(long) * 8)
|
||||
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
|
||||
#define OFF(x) ((x)%BITS_PER_LONG)
|
||||
#define LONG(x) ((x)/BITS_PER_LONG)
|
||||
#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
|
||||
|
||||
#define MIN_KEYCODE 8
|
||||
#define GLYPHS_PER_KEY 2
|
||||
@@ -356,13 +351,13 @@ EvdevKeyNew (InputInfoPtr pInfo)
|
||||
int i, keys = 0;
|
||||
|
||||
for (i = 0; i <= KEY_UNKNOWN; i++)
|
||||
if (TestBit (i, pEvdev->bits.key)) {
|
||||
if (test_bit (i, pEvdev->bits.key)) {
|
||||
keys = 1;
|
||||
break;
|
||||
}
|
||||
if (!keys)
|
||||
for (i = KEY_OK; i <= KEY_MAX; i++)
|
||||
if (TestBit (i, pEvdev->bits.key)) {
|
||||
if (test_bit (i, pEvdev->bits.key)) {
|
||||
keys = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,24 @@
|
||||
# define __NR_inotify_init 290
|
||||
# define __NR_inotify_add_watch 291
|
||||
# define __NR_inotify_rm_watch 292
|
||||
#elif defined (__hppa__) || defined (__hppa64__)
|
||||
# define __NR_inotify_init 269
|
||||
# define __NR_inotify_add_watch 270
|
||||
# define __NR_inotify_rm_watch 271
|
||||
#elif defined (__mips__)
|
||||
# if _MIPS_SIM == _MIPS_SIM_ABI32
|
||||
# define __NR_inotify_init 4284
|
||||
# define __NR_inotify_add_watch 4285
|
||||
# define __NR_inotify_rm_watch 4286
|
||||
# elif _MIPS_SIM == _MIPS_SIM_NABI32
|
||||
# define __NR_inotify_init 6247
|
||||
# define __NR_inotify_add_watch 6248
|
||||
# define __NR_inotify_rm_watch 6249
|
||||
# elif _MIPS_SIM == _MIPS_SIM_ABI64
|
||||
# define __NR_inotify_init 5243
|
||||
# define __NR_inotify_add_watch 5244
|
||||
# define __NR_inotify_rm_watch 5245
|
||||
# endif
|
||||
#else
|
||||
# error "Unsupported architecture!"
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user