Tweak credits and references.

Change the longs to unsigned longs in the bitfields.
Cleanup our includes.
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.
Change the longs to unsigned longs in the bitfields.
Use the bitop defines in evdev.h properly.
Change the longs to unsigned longs in the bitfields.
Change the longs to unsigned longs in the bitfields.
Use the bitop defines in evdev.h properly.
Change the longs to unsigned longs in the bitfields.
Use the bitop defines in evdev.h properly.
Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto
    <fabbione@ubuntu.com>)
master
Zephaniah E. Hull 20 years ago
parent eca922bd95
commit e9c60da89a
  1. 34
      ChangeLog
  2. 13
      man/evdev.man
  3. 8
      src/evdev.c
  4. 37
      src/evdev.h
  5. 18
      src/evdev_axes.c
  6. 6
      src/evdev_brain.c
  7. 11
      src/evdev_btn.c
  8. 9
      src/evdev_key.c
  9. 4
      src/inotify-syscalls.h

@ -1,3 +1,37 @@
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> 2006-04-30 Zephaniah E. Hull <warp@aehallh.com>
* configure.ac: * configure.ac:

@ -312,16 +312,11 @@ enhance the keyboard layout details. Default: not set.
.BI "Option \*qXkbOptions\*q \*q" options \*q .BI "Option \*qXkbOptions\*q \*q" options \*q
specifies the XKB keyboard option components. These can be used to specifies the XKB keyboard option components. These can be used to
enhance the keyboard behaviour. Default: not set. 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 .SH AUTHORS
Kristian Høgsberg.
.fi
Zephaniah E. Hull. Zephaniah E. Hull.
.fi
Kristian Høgsberg.
.SH "SEE ALSO" .SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__).
README.mouse.

@ -61,8 +61,6 @@
#include <X11/XF86keysym.h> #include <X11/XF86keysym.h>
#include <X11/extensions/XIproto.h> #include <X11/extensions/XIproto.h>
#include <string.h>
#include "evdev.h" #include "evdev.h"
#include <xf86.h> #include <xf86.h>
@ -328,7 +326,7 @@ EvdevNew(evdevDriverPtr driver, evdevDevicePtr device)
} }
static void static void
EvdevParseBits (char *in, long *out, int len) EvdevParseBits (char *in, unsigned long *out, int len)
{ {
unsigned long v[2]; unsigned long v[2];
int n, i, max_bits = len * BITS_PER_LONG; int n, i, max_bits = len * BITS_PER_LONG;
@ -351,7 +349,7 @@ EvdevParseBits (char *in, long *out, int len)
} }
static void 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; char *cur, *next;
@ -395,7 +393,7 @@ EvdevCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
EvdevParseBitOption (tmp, pEvdev->all_bits.field, \ EvdevParseBitOption (tmp, pEvdev->all_bits.field, \
pEvdev->not_bits.field, \ pEvdev->not_bits.field, \
pEvdev->any_bits.field, \ pEvdev->any_bits.field, \
sizeof(pEvdev->not_bits.field) / sizeof (long)); \ sizeof(pEvdev->not_bits.field) / sizeof (unsigned long)); \
free (tmp); \ free (tmp); \
} }
bitoption(ev); bitoption(ev);

@ -72,20 +72,29 @@
#include <stdarg.h> #include <stdarg.h>
#include <xf86Xinput.h> #include <xf86Xinput.h>
#ifndef BITS_PER_LONG
#define BITS_PER_LONG (sizeof(long) * 8) #define BITS_PER_LONG (sizeof(long) * 8)
#endif
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
#define OFF(x) ((x)%BITS_PER_LONG) #define LONG(x) ((x) >> (sizeof(unsigned long) + 1))
#define LONG(x) ((x)/BITS_PER_LONG) #define MASK(x) (1 << ((x) & (sizeof (unsigned long) * 8 - 1)))
#define BIT(x) (1UL<<((x)%BITS_PER_LONG))
#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 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 */ /* 2.4 compatibility */
#ifndef EVIOCGSW #ifndef EVIOCGSW
#include <sys/time.h> #include <sys/time.h>
#include <sys/ioctl.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 */ #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */
@ -128,14 +137,14 @@
#define EVDEV_MAXBUTTONS 96 #define EVDEV_MAXBUTTONS 96
typedef struct { typedef struct {
long ev[NBITS(EV_MAX)]; unsigned long ev[NBITS(EV_MAX)];
long key[NBITS(KEY_MAX)]; unsigned long key[NBITS(KEY_MAX)];
long rel[NBITS(REL_MAX)]; unsigned long rel[NBITS(REL_MAX)];
long abs[NBITS(ABS_MAX)]; unsigned long abs[NBITS(ABS_MAX)];
long msc[NBITS(MSC_MAX)]; unsigned long msc[NBITS(MSC_MAX)];
long led[NBITS(LED_MAX)]; unsigned long led[NBITS(LED_MAX)];
long snd[NBITS(SND_MAX)]; unsigned long snd[NBITS(SND_MAX)];
long ff[NBITS(FF_MAX)]; unsigned long ff[NBITS(FF_MAX)];
} evdevBitsRec, *evdevBitsPtr; } evdevBitsRec, *evdevBitsPtr;
typedef struct { typedef struct {

@ -49,14 +49,6 @@
#include <xf86_OSproc.h> #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[] = { static char *rel_axis_names[] = {
"X", "X",
"Y", "Y",
@ -328,7 +320,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
real_axes = 0; real_axes = 0;
for (i = 0; i < ABS_MAX; i++) for (i = 0; i < ABS_MAX; i++)
if (TestBit (i, pEvdev->bits.abs)) if (test_bit (i, pEvdev->bits.abs))
real_axes++; real_axes++;
if (!real_axes) if (!real_axes)
@ -344,7 +336,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
pInfo->conversion_proc = EvdevConvert; pInfo->conversion_proc = EvdevConvert;
for (i = 0, j = 0; i < ABS_MAX; i++) { for (i = 0, j = 0; i < ABS_MAX; i++) {
if (!TestBit (i, pEvdev->bits.abs)) if (!test_bit (i, pEvdev->bits.abs))
continue; continue;
snprintf(option, sizeof(option), "%sAbsoluteAxisMap", abs_axis_names[i]); snprintf(option, sizeof(option), "%sAbsoluteAxisMap", abs_axis_names[i]);
@ -389,7 +381,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo)
xf86Msg(X_CONFIG, "%s: Unknown Mode: %s.\n", pInfo->name, s); 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); k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", 0);
else else
k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1); k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1);
@ -417,7 +409,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo)
real_axes = 0; real_axes = 0;
for (i = 0; i < REL_MAX; i++) for (i = 0; i < REL_MAX; i++)
if (TestBit (i, pEvdev->bits.rel)) if (test_bit (i, pEvdev->bits.rel))
real_axes++; real_axes++;
if (!real_axes && (!state->abs || state->abs->axes < 2)) if (!real_axes && (!state->abs || state->abs->axes < 2))
@ -434,7 +426,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo)
pInfo->conversion_proc = EvdevConvert; pInfo->conversion_proc = EvdevConvert;
for (i = 0, j = 0; i < REL_MAX; i++) { for (i = 0, j = 0; i < REL_MAX; i++) {
if (!TestBit (i, pEvdev->bits.rel)) if (!test_bit (i, pEvdev->bits.rel))
continue; continue;
snprintf(option, sizeof(option), "%sRelativeAxisMap", rel_axis_names[i]); snprintf(option, sizeof(option), "%sRelativeAxisMap", rel_axis_names[i]);

@ -86,7 +86,7 @@ typedef struct {
} evdevDevInfoRec, *evdevDevInfoPtr; } evdevDevInfoRec, *evdevDevInfoPtr;
static Bool static Bool
MatchAll (long *dev, long *match, int len) MatchAll (unsigned long *dev, unsigned long *match, int len)
{ {
int i; int i;
@ -98,7 +98,7 @@ MatchAll (long *dev, long *match, int len)
} }
static Bool static Bool
MatchNot (long *dev, long *match, int len) MatchNot (unsigned long *dev, unsigned long *match, int len)
{ {
int i; int i;
@ -110,7 +110,7 @@ MatchNot (long *dev, long *match, int len)
} }
static Bool static Bool
MatchAny (long *dev, long *match, int len) MatchAny (unsigned long *dev, unsigned long *match, int len)
{ {
int i, found = 0; int i, found = 0;

@ -51,15 +51,6 @@
#include <xf86Module.h> #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 void
EvdevBtnPostFakeClicks(InputInfoPtr pInfo, int button, int count) EvdevBtnPostFakeClicks(InputInfoPtr pInfo, int button, int count)
{ {
@ -186,7 +177,7 @@ EvdevBtnNew(InputInfoPtr pInfo)
state->btn = Xcalloc (sizeof (evdevBtnRec)); state->btn = Xcalloc (sizeof (evdevBtnRec));
for (i = BTN_MISC; i < (KEY_OK - 1); i++) for (i = BTN_MISC; i < (KEY_OK - 1); i++)
if (TestBit (i, pEvdev->bits.key)) { if (test_bit (i, pEvdev->bits.key)) {
bit = i; bit = i;
if ((bit >= BTN_MOUSE) && (bit < BTN_JOYSTICK)) { if ((bit >= BTN_MOUSE) && (bit < BTN_JOYSTICK)) {
bit -= BTN_MOUSE - BTN_MISC; bit -= BTN_MOUSE - BTN_MISC;

@ -81,11 +81,6 @@
#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) #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 MIN_KEYCODE 8
#define GLYPHS_PER_KEY 2 #define GLYPHS_PER_KEY 2
@ -356,13 +351,13 @@ EvdevKeyNew (InputInfoPtr pInfo)
int i, keys = 0; int i, keys = 0;
for (i = 0; i <= KEY_UNKNOWN; i++) for (i = 0; i <= KEY_UNKNOWN; i++)
if (TestBit (i, pEvdev->bits.key)) { if (test_bit (i, pEvdev->bits.key)) {
keys = 1; keys = 1;
break; break;
} }
if (!keys) if (!keys)
for (i = KEY_OK; i <= KEY_MAX; i++) for (i = KEY_OK; i <= KEY_MAX; i++)
if (TestBit (i, pEvdev->bits.key)) { if (test_bit (i, pEvdev->bits.key)) {
keys = 1; keys = 1;
break; break;
} }

@ -39,6 +39,10 @@
# define __NR_inotify_init 290 # define __NR_inotify_init 290
# define __NR_inotify_add_watch 291 # define __NR_inotify_add_watch 291
# define __NR_inotify_rm_watch 292 # 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
#else #else
# error "Unsupported architecture!" # error "Unsupported architecture!"
#endif #endif

Loading…
Cancel
Save