diff -urw xc.orig/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c --- xc.orig/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c 2005-02-20 01:11:05.000000000 -0600 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c 2005-02-20 11:01:00.000000000 -0600 @@ -717,7 +717,7 @@ { KbdDevPtr pKbd = (KbdDevPtr) pInfo->private; evdevKbdPtr evdevKbd = (evdevKbdPtr) pKbd->private; - unsigned long mask; +/* unsigned long mask; */ if ((pInfo->fd = evdevGetFDForDriver (&evdevKbd->evdev)) == -1) { xf86Msg(X_ERROR, "%s: cannot open input device (name: '%s', phys: '%s')\n", pInfo->name, evdevKbd->evdev.name, evdevKbd->evdev.phys); @@ -726,6 +726,10 @@ /* * Grab the keyboard for ourselves. */ + /* XXX The EVIOCGMASK ioctl has disappeared, at least from 2.6.10 kernels. + * Is grabbing then unnecessary? + */ + /* if (ioctl(pInfo->fd, EVIOCGMASK, &mask) < 0) { xf86Msg(X_INFO, "%s: unable to use input device masking '%s', trying grabbing.\n", pInfo->name, strerror(errno)); if (ioctl(pInfo->fd, EVIOCGRAB, 1) < 0) { @@ -742,7 +746,7 @@ mask |= BIT(2); ioctl(pInfo->fd, EVIOCSDMASK, mask); xf86Msg(X_INFO, "%s: Using input device masking.\n", pInfo->name); - + */ return Success; } @@ -750,13 +754,16 @@ evdevKbdOff(InputInfoPtr pInfo, int what) { if (pInfo->fd != -1) { + /* XXX Masking is no more; see above */ + + /* unsigned long mask; if (ioctl(pInfo->fd, EVIOCGDMASK, &mask) >= 0) { mask |= BIT(0); ioctl(pInfo->fd, EVIOCSDMASK, mask); } - + */ close (pInfo->fd); pInfo->fd = -1; }