Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 63795 - xorg-x11-6.7.0-r2/6.8.0: kbd driver doesn't intercept keypress to switch virtual consoles
Summary: xorg-x11-6.7.0-r2/6.8.0: kbd driver doesn't intercept keypress to switch virt...
Status: RESOLVED DUPLICATE of bug 47243
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 63471 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-09-12 10:19 UTC by Paul Varner (RETIRED)
Modified: 2005-07-17 13:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Varner (RETIRED) gentoo-dev 2004-09-12 10:19:29 UTC
This might be a RTFM problem, but if it is I haven't been able to find the FM!

I saw that xorg-x11-6.8.0 was available and upgraded.  As part of the upgrade the keyboard driver in my xorg.conf file was changed from keyboard to kbd since keyboard is being obsoleted.  After the upgrade, I discovered that I couldn't switch virtual consoles using <ctrl>-<alt>-<F?>  Instead of switching the console, the characters for that key combination would get sent to my active window.

I downgraded back to xorg-x11-6.7.0-r2 and noted that the problem persisted.  Going back through the changes made to the system, I noted the keyboard driver change and changed it back to "keyboard".  Upon restarting, I was able to switch consoles.  Changing it back to kbd and I was unable to switch consoles.

Reproducible: Always
Steps to Reproduce:
1. Using xorg-x11-6.7.0-r2
2. Change keyboard driver from "keyboard" to "kbd"
3. Restart X
4. Try to change console using <ctrl>-<alt>-F1

Actual Results:  
Console doesn't change and the characters for the key combination are sent to
the active window.

Expected Results:  
Key combination is intercepted by X and the console switched.

emerge info:
============
Portage 2.0.51_pre23 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r0,
2.6.8-gentoo-r4 i686)
=================================================================
System uname: 2.6.8-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config
/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/bind
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache fixpackages sandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.osuosl.org
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X acpi alsa apache2 arts artswrappersuid audiofile avi berkdb bitmap-fonts
cdr crypt cups dvd encode fam fbcon foomaticdb gdbm gif gpm gtk gtk2 imlib java
javascript jpeg kde libg++ libwww mad maildir mikmod mmx motif mozilla
moznocompose moznoirc moznomail mpeg ncurses nls nptl oggvorbis opengl pam pda
pdflib perl png ppds python qt quicktime readline sasl sdl slang spell sse ssl
tcltk tcpd tiff truetype usb x86 xml2 xmms xprint xv zlib linguas_en"

xorg.conf (keyboard section)

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        #Driver      "kbd"
EndSection
Comment 1 Paul Varner (RETIRED) gentoo-dev 2004-09-12 10:29:53 UTC
Results of using kbd driver and trying to switch to all virtual consoles:

garath ~ # cat -v -
^[O7P^[O7Q^[O7R^[O7S^[[15;7~^[[17;7~^[[18;7~^[[19;7~^[[20;7~^[[21;7~^[[23;7~^[[24;7~
Comment 2 Donnie Berkholz (RETIRED) gentoo-dev 2004-10-07 16:36:15 UTC
*** Bug 63471 has been marked as a duplicate of this bug. ***
Comment 3 Paul Varner (RETIRED) gentoo-dev 2004-10-13 14:39:52 UTC
I just upgraded my other Gentoo box and it has the same problem

xorg.conf

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Xorg.0.log
(**) Option "CoreKeyboard"
(**) Keyboard0: Core Keyboard
(**) Option "Protocol" "standard"
(**) Keyboard0: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard0: XkbRules: "xorg"
(**) Option "XkbModel" "pc101"
(**) Keyboard0: XkbModel: "pc101"
(**) Option "XkbLayout" "us"
(**) Keyboard0: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) Keyboard0: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(EE) Couldn't open compiled keymap file /usr/X11R6/lib/X11/xkb/compiled/server-0.xkm
(EE) Couldn't load XKB keymap, falling back to pre-XKB keymap

setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc/pc(pc101)+pc/us"    };
        xkb_geometry  { include "pc(pc101)"     };
};

/usr/X11R6/lib/X11/xkb/compiled (symlink to /var/lib/xkb) only contains a README with a timestamp of the upgrade time.
Comment 4 Antonio Bibiano 2004-10-14 06:38:43 UTC
Don't know if it's a duplicate but with the same symptoms of bug #63795 i got this error message: 

The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Include file wrong type (expected CompatMap, got KeyNames)
>                   Include file "xfree86" ignored
>                   Abandoning compatibility map "complete"
>                   Abandoning compatibility map "default"
Errors from xkbcomp are not fatal to the X server
(EE) Couldn't load XKB keymap, falling back to pre-XKB keymap


not in the log but to the vc where i do startx.. 

the keyboard sections in xorg.conf is only 

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver     "kbd"
EndSection

the xorg version installed is:

xorg-x11-6.8.0-r2

and only by adding the 

Option     "XkbDisable"

line to the keyboard sections eliminates any problem..but i don't want to disable my Xkb driver (and i don't know what are the difference between a kbd-disabled and a kbd-enabled xorg but i suppose that if there are two ways of using my keyboard i want the best and probably kdb is that :) 
Comment 5 Jason Cavett 2004-10-16 00:55:26 UTC
The line: Option     "XkbDisable" really doesn't fix the problem.  I can only use Ctrl+Alt+F? if I'm not in a text input window.  Also, my Windows key still does not work at all.  (I have OpenBox map the Windows key.)
Comment 6 Antonio Bibiano 2004-10-16 11:17:27 UTC
> The line: Option     "XkbDisable" really doesn't fix the problem. 

sorry, i tryed and only putting this two lines toghether fixes the problem:


Driver     "Keyboard"
Option     "XkbDisable

let me know..
Comment 7 Paul Varner (RETIRED) gentoo-dev 2004-11-22 12:33:33 UTC
I realize that the X11 team is understaffed and overworked. However since this bug is preventing me from upgrading to 6.8.0, please let me know if  there is any way that I can help in getting this problem debugged and resolved.
Comment 8 Donnie Berkholz (RETIRED) gentoo-dev 2004-11-22 15:00:52 UTC
Check permissions on /var/lib/xkb. Check that both instances of xkbcomp are non-zero in size.

$ ls /var/lib/xkb -ld
drwxr-xr-x  2 root root 4096 Nov 21 19:43 /var/lib/xkb
$ ls /usr/X11R6/lib/xkb/xkbcomp -l
-rwxr-xr-x  1 root root 179580 Nov 21 18:00 /usr/X11R6/lib/xkb/xkbcomp
$ ls /usr/X11R6/bin/xkbcomp -l
-rwxr-xr-x  1 root root 179580 Nov 21 18:00 /usr/X11R6/bin/xkbcomp

Other than that, I have no ideas. Try looking into some XKB documentation, searching bugs.freedesktop.org, etc and seeing whether anything comes up.
Comment 9 Paul Varner (RETIRED) gentoo-dev 2004-11-22 21:04:27 UTC
I've done some more messing around with it and here are my results:

This is a fresh emerge of xorg-x11-6.8.0-r3 over xorg-x11-6.7.0-r3

I get the following:

$ ls /var/lib/xkb -ld
drwxr-xr-x  2 root root 4096 Nov 22 21:59 /var/lib/xkb
$ ls /usr/X11R6/lib/xkb/xkbcomp -l
ls: /usr/X11R6/lib/xkb/xkbcomp: No such file or directory
$ ls /usr/X11R6/bin/xkbcomp -l
-rwxr-xr-x  1 root root 171648 Nov 22 21:49 /usr/X11R6/bin/xkbcomp

So the first thing I noticed is that I don't have a /usr/X11R6/lib/xkb directory.

A search of bugs.freedesktop.org turned up nothing, neither did a google search. 

Reading the man pages on setxkbmap and xkbcomp, I have discovered the following:

My keyboard section in xorg.conf is:

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "XkbRules"  "xorg"
    Option      "XkbModel"  "microsoftmult"
    Option      "XkbLayout" "us"
EndSection

After starting X, if I do a "setxkbmap -print | xkbcomp - $DISPLAY" I get a working keyboard. 

Going back to my Xorg.log file, the errors messages are:
EE) Couldn't open compiled keymap file /usr/X11R6/lib/X11/xkb/compiled/server-0.xkm
(EE) Couldn't load XKB keymap, falling back to pre-XKB keymap

Running setxkbmap -print | xkbcomp - gives me a stdin.xkm file, If I copy that file to /var/lib/xkb/server-0.xkm prior to starting X, I no longer receive the errors and the keyboard works properly.

Finally, a grep of the error text shows that the source file where the error message is located is xc/programs/Xserver/xkb/ddxLoad.c I only have a rudimentary knowledge of C, so my cursory review showed nothing wrong with the code that I could tell.

In summary, I can work around the bug by calling setxkbmap -print | xkbcomp - $DISPLAY, which will load the proper keymap. Based upon the error messages it looks like the keymap is not getting compiled and/or written to /usr/X11R6/lib/X11/xkb/compiled/server-0.xkm during the X server startup

If you can give me further direction based upon the above, please let me know.
Comment 10 Donnie Berkholz (RETIRED) gentoo-dev 2004-11-22 23:04:32 UTC
/usr/X11R6/lib/X11/xkb/xkbcomp is what you want to check, sorry. I'm on a different revision.
Comment 11 Paul Varner (RETIRED) gentoo-dev 2004-11-23 06:28:18 UTC
$ ls -l /usr/X11R6/lib/X11/xkb/xkbcomp
-rwxr-xr-x  1 root root 0 Nov 22 21:49 /usr/X11R6/lib/X11/xkb/xkbcomp

Zero byte file. I'll copy the one from /usr/X11R6/bin/xkbcomp and test.
Comment 12 Paul Varner (RETIRED) gentoo-dev 2004-11-23 06:55:16 UTC
That was the problem, The next question is what happened in the emerge process?
Comment 13 Donnie Berkholz (RETIRED) gentoo-dev 2004-11-23 08:48:34 UTC
Not sure how it's happening, but it's not something the ebuild is doing, it's something in `make World`. If you'd like to help track it down, please do.

However, it does appear that the problem isn't happening on new installations -- I don't have it.

*** This bug has been marked as a duplicate of 47243 ***