«Когда находишь решение под винду, понимаешь, что она тупая. Когда находишь решение под Линукс, понимаешь, что ты тупой» (
автор)
Как-то после перекомпиляции и обновлений очередных кучи-малой программ на уже давно установленной системе, которая благодаря такому чудаку как я повидала всякого, потому как была первой заинсталированной мною Gentoo Linux, возникла у меня такая проблема. Если работать на обычном терминале, то она не возникала, там было все в порядке. Как только стартовал
xdm и загружался в какую-нибудь графическую сессию как-то KDE, Gnome, Openbox, XFCE (без разницы) то работа клавишь up, down, right_ctrl и других, становилась достаточно странной. К примеру по нажатию стрелки вниз (down) срабатывал Enter (Return), аналогичный результат давала и клавиша правый control. Однако на дополнительной клавиатуре аналогичные кнопки работали без проблем. Порой до поры до времени переставали также выполнять свои операции клавиши Delete, Insert. Из-за этого в Gnome, после нажатия клавиши Up выскакивала программулька по деланию снимков экрана (причем, по остальным комбинациям клавишь (стандартным) она так же вызывалась). Поиски в поисковиках мне ничего не дали, потому как на все мои запросы выдавались описания совершенно других проблем.
В общем, именно эта проблема послужила толчком к переустановке системы. Однако когда после инсталляции совершенно новой ОС у меня выскочила именно эта же проблема, то желание разбить мою клавиатуру об системник достигло аппогея. Если у user-a перед запуском xdm удалить все папки с конфигами, то KDE стартовало и работало без проблем до того момента, пока не заходил в System Settings — Country/Region & Language — Keyboard Layout и не ставил галочку Enable Keyboard Layout, что сразу приводило к вышеописанным проблемам.
Первое что начал делать, это копать в сторону xkb и evdev, думая, что произошло странное переопределение кодов каждой клавиши. Оказалось, что там было все в порядке.
Мне как-то в голову по началу не пришло, что проблема может быть в обычной конфигурации Xorg, т.к. настроенная в его конфиге переключалка раскладки клавиатуры действовала без проблем. Помог советом более опытный пользователь linux чем я, у которого что-то подобное в практике возникало и после долгих часов разбора полетов и чтения просторов интернета он попросту сносил к чертям собачьим файл xorg.conf и пробовал загрузиться на настройках по умолчанию.
Одним словом, вот что спасло мою клавиатуру. Привожу листинг старого xorg.conf
cat /etc/X11/xorg.conf.old
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder58) Fri Apr 17 00:40:10 PDT 2009
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "AllowEmptyInput" "off"
Option "DontZap" "false"
EndSection
Section "Files"
EndSection
Section "Module"
Load "glx"
Disable "dri"
Disable "dri2"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" ""
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Electron"
ModelName "768D"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 75.0
ModeLine "1280x1024" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "DPMS"
Option "RenderAccel" "True"
Option "DamageEvents" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "800x600"
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
а теперь рабочий вариант:
cat /etc/X11/xorg.conf
Section "Module"
Load "glx"
Disable "dri"
Disable "dri2"
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "DPMS"
Option "RenderAccel" "True"
Option "DamageEvents" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "800x600"
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Я пока не искал по ресурсам в чем же там конкретно была загвоздка, как только найду, отпишусь.
Комментарии (1)
RSS свернуть / развернутьArtemiy
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.