FS#6144 - Alt/Ctrl doesn't seem to work in Xorg
Attached to Project:
Arch Linux
Opened by akis (phoinix) - Wednesday, 03 January 2007, 11:07 GMT
Last edited by Jan de Groot (JGC) - Wednesday, 16 May 2007, 18:41 GMT
Opened by akis (phoinix) - Wednesday, 03 January 2007, 11:07 GMT
Last edited by Jan de Groot (JGC) - Wednesday, 16 May 2007, 18:41 GMT
|
Details
Happy new year!
After an update in xkeyboard-config package: [01/01/07 16:13] upgraded xkeyboard-config (0.6-1 -> 0.9-1) Alt/Ctrl keys stoped working in Xorg, I had to manually move to the previous version 0.6-1 and everything is restored now. |
This task depends upon
From my xorg.conf:
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,sk"
Option "XkbVariant" ",qwerty"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
I should correct, that it's only the Alt key not the ctrl.
From my xorg.conf:
Option "XkbRules" "xorg"
Option "XkbVariant" ",extended"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,el"
Option "XkbOptions" "grp:alt_shift_toggle"
I didn't know Alt+Shift is commonly used, thought it's Ctrl+Shift (as easily accessible IMHO).
OT: I'm used to switch layouts by thumb and little finger, which I find a little bit more comfortable to do with the Alt+Shift combo (shorter distance from the space bar for the thumb) than the Ctrl+Shift one. Besides, IIRC Alt+Shift was the default setting in Windows 95, that's when I got used to it. :)
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ua,ru"
Option "XkbVariant" ",winkeys,winkeys"
Option "XkbOptions" "grp:ctrl_shift_toggle,altwin:super_win,numpad:microsoft"
EndSection
and alt works fine.
But, interestingly, trying out your settings in xorg.conf, the Alt key works. But I'm not able to switch between those keyboard layouts by _any_ shortcut, be it alt_shift_toggle or ctrl_shift_toggle, though Alt, Ctrl and Shift keys seem to work ok. When I switch the layouts by the xfce xkb plugin, all three of them (English, Ukrainian and Russian) work okay. But when I replace "us,ua,ru" with, say, "us,sk,cz" in the xorg.conf (and remove the now meaningless XkbVariant), the issue is back...
for example "gnome-keyboard-applet crashes" bug exists only for some layout combinations (sadly this incluses mine: us,ua,ru).
with ctrl_shift_toggle I can switch between us,ua,ru, but only RightCtrl-RightShift switches them, LeftCtrl-LeftShift switches to us instantly.
The problematic package is xkeyboard-config.
Btw, I'm using Xfce-svn.
Except the VT change problem (with alt-ctrl-Fn) i'm also used to move windows by holding ALT pressed and grabbing them with the left mouse key.
Also the cube rotation in beryl doesn't work.
Any game that uses the alt key, immediately becomes unusable.
There are a whole bunch of malfunctions emerging from this problem.
Just not to use the Alt key is not the case..
It's 0.6-1 for me.. until this is resolved.
By removing this line in Xorg.conf
Option "XkbVariant" ",extended"
I've got ALT with xkeyboard-config 0.9-1
So I guess this is resolved....
I solved it by downgrading to the previous version.
The bug is caused by the file symbols/level3
PKGBUILD:
# $Id: PKGBUILD,v 1.3 2006/12/31 17:32:33 jgc Exp $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xkeyboard-config
pkgver=0.9
pkgrel=2
pkgdesc="X keyboard configuration files"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
depends=(xorg-xkb-utils)
makedepends=(intltool pkgconfig)
provides=(xkbdata)
replaces=(xkbdata)
conflicts=(xkbdata)
source=(http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-0.9.tar.bz2 xkeybo
md5sums=('52afe60101ace8532881e70f6c2dc020' '15a86730b06b7420314a62dcc529ab21')
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
patch -p1 -i ../xkeyboard-config.patch
./configure --prefix=/usr --with-xkb-base=/usr/share/X11/xkb --with-xkb-rules-
make || return 1
make DESTDIR=${startdir}/pkg install || return 1
rm -f ${startdir}/pkg/usr/share/X11/xkb/compiled
mkdir -p ${startdir}/pkg/var/lib/xkb
}
Patch:
diff -Naur xkeyboard-config-0.9-orig/symbols/level3 xkeyboard-config-0.9/symbols/level3
--- xkeyboard-config-0.9-orig/symbols/level3 2006-10-09 23:53:27.000000000 +0200
+++ xkeyboard-config-0.9/symbols/level3 2007-02-10 08:40:55.000000000 +0100
@@ -1,4 +1,4 @@
-// $XKeyboardConfig: xkbdesc/symbols/level3,v 1.14 2006/10/09 21:53:27 svu Exp $
+// $XKeyboardConfig: xkbdesc/symbols/level3,v 1.15 2006/10/16 20:17:16 svu Exp $
// these variants assign various XKB keycodes to ISO_Level3_Shift so that
// the third shift level can be reached
@@ -14,7 +14,26 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <RALT> };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// Right Alt key never chooses 3rd level.
+// This option attempts to undo the effect of a layout's
+// including ralt_switch. You may also want to select another
+// level3 option that maps the level3 shift to some other key.
+partial modifier_keys
+xkb_symbols "ralt_alt" {
+ key <RALT> {
+ type[Group1]="TWO_LEVEL",
+ type[Group2]="TWO_LEVEL",
+ type[Group3]="TWO_LEVEL",
+ type[Group4]="TWO_LEVEL",
+ symbols[Group1] = [ Alt_R, Meta_R ],
+ symbols[Group2] = [ Alt_R, Meta_R ],
+ symbols[Group3] = [ Alt_R, Meta_R ],
+ symbols[Group4] = [ Alt_R, Meta_R ]
+ };
+ modifier_map Mod1 { <RALT> };
};
partial modifier_keys
@@ -66,7 +85,7 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <RCTL> };
+ modifier_map Mod5 { ISO_Level3_Shift };
};
// using the level(menu_switch) map, the Menu key temporarily
@@ -77,7 +96,7 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <MENU> };
+ modifier_map Mod5 { ISO_Level3_Shift };
};
// using the level3(win_switch) map, the either Windows' logo key
@@ -96,7 +115,7 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <LWIN> };
+ modifier_map Mod5 { ISO_Level3_Shift };
};
// using the level(rwin_switch) map, the right Windows' logo key
@@ -109,7 +128,7 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <RWIN> };
+ modifier_map Mod5 { ISO_Level3_Shift };
};
// using the level3(enter_switch) map, the Enter key on the keypad
@@ -121,5 +140,5 @@
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <KPEN> };
+ modifier_map Mod5 { ISO_Level3_Shift };
};