![]() | ||||||||||
Messages in this thread Patch in this message |
Wrongly ? I don't think so, as it has presumably been fixed in XFree86 after 4.4.0. http://www.xfree86.org/cvs/changes.html: 6. Do the Linux KDKBDREP ioctl on the correct fd. This prevents the fallback that tries to directly program the keyboard repeat rate, and the related warning messages that recent Linux kernels generate (David Dawes). I'm attaching the patch I extracted from CVS. Vojtech, what about adding such information to your HOWTO ? And better, adding the URL to atkbd.c, so people stop reporting it. On Thu, 18 Mar 2004, Peter Williams wrote: > With 2.6.4 I'm getting the following messages very early in the boot > long before XFree86 is started: > > Mar 18 16:05:31 mudlark kernel: atkbd.c: Unknown key released > (translated set 2, code 0x7a on isa0060/serio0). > Mar 18 16:05:31 mudlark kernel: atkbd.c: This is an XFree86 bug. It > shouldn't access hardware directly. > > They are repeated 6 times and are NOT the result of any keys being > pressed or released. -- http://www.pervalidus.net/contact.htmlIndex: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c:3.26 xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c:3.27 --- xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c:3.26 Mon Nov 17 22:20:41 2003 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c Wed Mar 3 18:53:41 2004 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c,v 3.26 2003/11/17 22:20:41 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c,v 3.27 2004/03/03 18:53:41 dawes Exp $ */ /* * Copyright 1992 by Orest Zborowski <obz@Kodak.com> * Copyright 1993 by David Dawes <dawes@xfree86.org> @@ -81,7 +81,7 @@ #endif static int -KDKBDREP_ioctl_ok(int rate, int delay) { +KDKBDREP_ioctl_ok(int fd, int rate, int delay) { #if defined(KDKBDREP) && !defined(__sparc__) /* This ioctl is defined in <linux/kd.h> but is not implemented anywhere - must be in some m68k patches. */ @@ -90,7 +90,7 @@ /* don't change, just test */ kbdrep_s.rate = -1; kbdrep_s.delay = -1; - if (ioctl( 0, KDKBDREP, &kbdrep_s )) { + if (ioctl( fd, KDKBDREP, &kbdrep_s )) { return 0; } @@ -105,7 +105,7 @@ if (kbdrep_s.delay < 1) kbdrep_s.delay = 1; - if (ioctl( 0, KDKBDREP, &kbdrep_s )) { + if (ioctl( fd, KDKBDREP, &kbdrep_s )) { return 0; } @@ -174,7 +174,7 @@ delay = xf86Info.kbdDelay; - if(KDKBDREP_ioctl_ok(rate, delay)) /* m68k? */ + if(KDKBDREP_ioctl_ok(xf86Info.consoleFd, rate, delay)) /* m68k? */ return; if(KIOCSRATE_ioctl_ok(rate, delay)) /* sparc? */ Index: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:1.5 xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:1.6 --- xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:1.5 Tue Nov 4 03:14:39 2003 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c Wed Mar 3 18:53:41 2004 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c,v 1.5 2003/11/04 03:14:39 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c,v 1.6 2004/03/03 18:53:41 dawes Exp $ */ /* * Copyright (c) 2002 by The XFree86 Project, Inc. @@ -108,7 +108,7 @@ #endif static int -KDKBDREP_ioctl_ok(int rate, int delay) { +KDKBDREP_ioctl_ok(int fd, int rate, int delay) { #if defined(KDKBDREP) && !defined(__sparc__) /* This ioctl is defined in <linux/kd.h> but is not implemented anywhere - must be in some m68k patches. */ @@ -117,7 +117,7 @@ /* don't change, just test */ kbdrep_s.rate = -1; kbdrep_s.delay = -1; - if (ioctl( 0, KDKBDREP, &kbdrep_s )) { + if (ioctl( fd, KDKBDREP, &kbdrep_s )) { return 0; } @@ -132,7 +132,7 @@ if (kbdrep_s.delay < 1) kbdrep_s.delay = 1; - if (ioctl( 0, KDKBDREP, &kbdrep_s )) { + if (ioctl( fd, KDKBDREP, &kbdrep_s )) { return 0; } @@ -200,7 +200,7 @@ if (pKbd->delay >= 0) delay = pKbd->delay; - if(KDKBDREP_ioctl_ok(rate, delay)) /* m68k? */ + if(KDKBDREP_ioctl_ok(pInfo->fd, rate, delay)) /* m68k? */ return; if(KIOCSRATE_ioctl_ok(rate, delay)) /* sparc? */ | |||||||||
| Last update: 2005-03-22 13:01 [from the cache] ©2003-2008 | ||||||||||