Bug#486330: just saw this now
Hi,
I just started my machine and X a few minutes ago, after no obvious
X-related upgrades, and my keyboard is pretty broken, many keys and
combinations no longer work. Xorg.0.log says:
...
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap
(**) Option "CoreKeyboard"
(**) Genius ErgoMedia 700 Keyboard: always reports core events
(**) Option "Protocol" "standard"
(**) Genius ErgoMedia 700 Keyboard: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "base"
(**) Genius ErgoMedia 700 Keyboard: XkbRules: "base"
(**) Option "XkbModel" "pc105"
(**) Genius ErgoMedia 700 Keyboard: XkbModel: "pc105"
(**) Option "XkbLayout" "hr"
(**) Genius ErgoMedia 700 Keyboard: XkbLayout: "hr"
(**) Option "CustomKeycodes" "off"
(**) Genius ErgoMedia 700 Keyboard: CustomKeycodes disabled
...
(II) evaluating device (Genius ErgoMedia 700 Keyboard)
(II) XINPUT: Adding extended input device "Genius ErgoMedia 700 Keyboard" (type: KEYBOARD)
(II) evaluating device (Logitech M-S48a/M-BJ69)
(II) XINPUT: Adding extended input device "Logitech M-S48a/M-BJ69" (type: MOUSE)
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap
Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
Could not init font path element /usr/share/fonts/X11/Type1, removing from list!
[config/hal] couldn't initialise context: (null) ((null))
...
SetClientVersion: 0 9
SetKbdSettings - type: 0 rate: 30 delay: 500 snumlk: 0
(II) 3rd Button detected: disabling emulate3Button
...
When I tried to run setxkbmap, I got:
% setxkbmap
Error loading new keyboard description
and Xorg.0.log just got another iteration of the generic error.
Here is the relevant part of xorg.conf:
Section "InputDevice"
Identifier "Genius ErgoMedia 700 Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "base"
Option "XkbModel" "pc105"
Option "XkbLayout" "hr"
EndSection
And here's how it looks:
% setxkbmap -print
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+hr" };
xkb_geometry { include "pc(pc105)" };
};
% xkbcomp :0 -
Warning: Could not load keyboard geometry for :0
BadName (named color or font does not exist)
Resulting keymap file will not describe geometry
xkb_keymap {
xkb_keycodes "unknown" {
minimum = 8;
maximum = 255;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Shift Lock";
virtual indicator 4 = "Mouse Keys";
virtual indicator 5 = "Scroll Lock";
virtual indicator 6 = "Group 2";
};
xkb_types "unknown" {
virtual_modifiers NumLock,Alt,ModeSwitch;
type "ONE_LEVEL" {
modifiers= none;
level_name[Level1]= "Any";
};
type "TWO_LEVEL" {
modifiers= Shift;
map[Shift]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
};
type "ALPHABETIC" {
modifiers= Shift+Lock;
map[Shift]= Level2;
map[Lock]= Level1;
preserve[Lock]= Lock;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
};
type "KEYPAD" {
modifiers= Shift+NumLock;
map[Shift]= Level2;
map[NumLock]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Number";
};
type "PC_BREAK" {
modifiers= Control;
map[Control]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Control";
};
type "PC_SYSRQ" {
modifiers= Alt;
map[Alt]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Alt";
};
type "CTRL+ALT" {
modifiers= Control+Alt;
map[Control+Alt]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Ctrl+Alt";
};
type "THREE_LEVEL" {
modifiers= Shift+2;
map[Shift]= Level2;
map[2]= Level3;
map[Shift+2]= Level3;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Level3";
};
type "SHIFT+ALT" {
modifiers= Shift+Alt;
map[Shift+Alt]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Shift+Alt";
};
};
xkb_compatibility "unknown" {
virtual_modifiers NumLock,Alt,ModeSwitch;
interpret.useModMapMods= AnyLevel;
interpret.repeat= False;
interpret.locking= False;
interpret ISO_Level2_Latch+Exactly(Shift) {
useModMapMods=level1;
action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
};
interpret Eisu_Shift+Exactly(Lock) {
action= NoAction();
};
interpret Eisu_toggle+Exactly(Lock) {
action= NoAction();
};
interpret Kana_Shift+Exactly(Lock) {
action= NoAction();
};
interpret Kana_Lock+Exactly(Lock) {
action= NoAction();
};
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= LockMods(modifiers=Shift);
};
interpret Num_Lock+AnyOf(all) {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Alt_L+AnyOf(all) {
virtualModifier= Alt;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Alt_R+AnyOf(all) {
virtualModifier= Alt;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Scroll_Lock+AnyOf(all) {
virtualModifier= 4;
action= LockMods(modifiers=modMapMods);
};
interpret ISO_Lock+AnyOf(all) {
action= ISOLock(modifiers=modMapMods,affect=all);
};
interpret ISO_Level3_Shift+AnyOf(all) {
virtualModifier= 2;
useModMapMods=level1;
action= SetMods(modifiers=2,clearLocks);
};
interpret ISO_Level3_Latch+AnyOf(all) {
virtualModifier= 2;
useModMapMods=level1;
action= LatchMods(modifiers=2,clearLocks,latchToLock);
};
interpret Mode_switch+AnyOfOrNone(all) {
virtualModifier= ModeSwitch;
useModMapMods=level1;
action= SetGroup(group=2,clearLocks);
};
interpret KP_1+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=+1);
};
interpret KP_End+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=+1);
};
interpret KP_2+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+0,y=+1);
};
interpret KP_Down+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+0,y=+1);
};
interpret KP_3+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+1);
};
interpret KP_Next+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+1);
};
interpret KP_4+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=+0);
};
interpret KP_Left+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=+0);
};
interpret KP_6+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+0);
};
interpret KP_Right+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+0);
};
interpret KP_7+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=-1);
};
interpret KP_Home+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=-1);
};
interpret KP_8+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+0,y=-1);
};
interpret KP_Up+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+0,y=-1);
};
interpret KP_9+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+0,y=-1);
};
interpret KP_Prior+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=-1);
};
interpret KP_5+AnyOfOrNone(all) {
repeat= True;
action= PtrBtn(button=default);
};
interpret KP_Begin+AnyOfOrNone(all) {
repeat= True;
action= PtrBtn(button=default);
};
interpret KP_F1+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=1);
};
interpret KP_Divide+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=1);
};
interpret KP_F2+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=2);
};
interpret KP_Multiply+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=2);
};
interpret KP_F3+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=3);
};
interpret KP_Subtract+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=3);
};
interpret KP_Separator+AnyOfOrNone(all) {
repeat= True;
action= PtrBtn(button=default,count=2);
};
interpret KP_Add+AnyOfOrNone(all) {
repeat= True;
action= PtrBtn(button=default,count=2);
};
interpret KP_0+AnyOfOrNone(all) {
repeat= True;
action= LockPtrBtn(button=default,affect=lock);
};
interpret KP_Insert+AnyOfOrNone(all) {
repeat= True;
action= LockPtrBtn(button=default,affect=lock);
};
interpret KP_Decimal+AnyOfOrNone(all) {
repeat= True;
action= LockPtrBtn(button=default,affect=unlock);
};
interpret KP_Delete+AnyOfOrNone(all) {
repeat= True;
action= LockPtrBtn(button=default,affect=unlock);
};
interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
action= PtrBtn(button=default);
};
interpret Pointer_Button1+AnyOfOrNone(all) {
action= PtrBtn(button=1);
};
interpret Pointer_Button2+AnyOfOrNone(all) {
action= PtrBtn(button=2);
};
interpret Pointer_Button3+AnyOfOrNone(all) {
action= PtrBtn(button=3);
};
interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
action= PtrBtn(button=default,count=2);
};
interpret Pointer_DblClick1+AnyOfOrNone(all) {
action= PtrBtn(button=1,count=2);
};
interpret Pointer_DblClick2+AnyOfOrNone(all) {
action= PtrBtn(button=2,count=2);
};
interpret Pointer_DblClick3+AnyOfOrNone(all) {
action= PtrBtn(button=3,count=2);
};
interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
action= LockPtrBtn(button=default,affect=both);
};
interpret Pointer_Drag1+AnyOfOrNone(all) {
action= LockPtrBtn(button=1,affect=both);
};
interpret Pointer_Drag2+AnyOfOrNone(all) {
action= LockPtrBtn(button=2,affect=both);
};
interpret Pointer_Drag3+AnyOfOrNone(all) {
action= LockPtrBtn(button=3,affect=both);
};
interpret Pointer_EnableKeys+AnyOfOrNone(all) {
action= LockControls(controls=MouseKeys);
};
interpret Pointer_Accelerate+AnyOfOrNone(all) {
action= LockControls(controls=MouseKeysAccel);
};
interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
action= SetPtrDflt(affect=button,button=+1);
};
interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
action= SetPtrDflt(affect=button,button=-1);
};
interpret AccessX_Enable+AnyOfOrNone(all) {
action= LockControls(controls=AccessXKeys);
};
interpret Terminate_Server+AnyOfOrNone(all) {
action= Terminate();
};
interpret ISO_Group_Latch+AnyOfOrNone(all) {
virtualModifier= ModeSwitch;
useModMapMods=level1;
action= LatchGroup(group=2);
};
interpret ISO_Next_Group+AnyOfOrNone(all) {
virtualModifier= ModeSwitch;
useModMapMods=level1;
action= LockGroup(group=+1);
};
interpret ISO_Prev_Group+AnyOfOrNone(all) {
virtualModifier= ModeSwitch;
useModMapMods=level1;
action= LockGroup(group=-1);
};
interpret ISO_First_Group+AnyOfOrNone(all) {
action= LockGroup(group=1);
};
interpret ISO_Last_Group+AnyOfOrNone(all) {
action= LockGroup(group=2);
};
interpret Any+Exactly(Lock) {
action= LockMods(modifiers=Lock);
};
interpret Any+AnyOf(all) {
action= SetMods(modifiers=modMapMods,clearLocks);
};
group 2 = ModeSwitch;
group 3 = ModeSwitch;
group 4 = ModeSwitch;
indicator "Caps Lock" {
!allowExplicit;
whichModState= locked;
modifiers= Lock;
};
indicator "Num Lock" {
!allowExplicit;
whichModState= locked;
modifiers= NumLock;
};
indicator "Shift Lock" {
!allowExplicit;
whichModState= locked;
modifiers= Mod3;
};
};
xkb_symbols "unknown" {
modifier_map Control { <> };
modifier_map Shift { <> };
modifier_map Shift { <> };
modifier_map Mod1 { <> };
modifier_map Lock { <> };
modifier_map Mod2 { <> };
modifier_map Mod5 { <> };
modifier_map Control { <> };
modifier_map Mod1 { <> };
};
};
% dpkg -S /usr/share/X11/xkb/symbols/hr
xkb-data: /usr/share/X11/xkb/symbols/hr
% dpkg -s xkb-data | grep Version
Version: 1.3-2
% zgrep xkb $(ls -1t /var/log/dpkg.log*) | head -10
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 upgrade libxkbfile1 1:1.0.3-2 1:1.0.5-1
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status half-configured libxkbfile1 1:1.0.3-2
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status unpacked libxkbfile1 1:1.0.3-2
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status half-installed libxkbfile1 1:1.0.3-2
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status half-installed libxkbfile1 1:1.0.3-2
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status unpacked libxkbfile1 1:1.0.5-1
/var/log/dpkg.log.7.gz:2009-01-29 16:06:22 status unpacked libxkbfile1 1:1.0.5-1
/var/log/dpkg.log.7.gz:2009-01-29 18:22:47 configure libxkbfile1 1:1.0.5-1 1:1.0.5-1
/var/log/dpkg.log.7.gz:2009-01-29 18:22:47 status unpacked libxkbfile1 1:1.0.5-1
/var/log/dpkg.log.7.gz:2009-01-29 18:22:47 status half-configured libxkbfile1 1:1.0.5-1
% dpkg -s libxkbfile1 x11-xkb-utils | grep Version
Version: 1:1.0.5-1
Version: 7.4+1
--
2. That which causes joy or happiness.
Reply to: