exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
Когда сидел на кубунту заметил такую вещь, что в иксах не подхватывается смена раскладки. В кде я встроенными средствами поменял capslock и левый ctrl местами, и назначил переключение языка на capslock(таким образом, язык переключался по левому контролу). Потом, когда я пересел на флуксобкс, я заметил, что иксы не подхватывают смену раскладки по капслоку, а упорно меняют ее по alt+shift. Тогда я списал это на криво поставившийся xorg. Сейчас, после перехода на арч, проблема осталась. Я решил разобраться в вопросе. В логах xorg я заметил, что он игнорирует опции для клавиатуры и генерирует свои. Порылся по форуму, и нашел, что опциями клавиатуры можно управлять так: setxkbmap -layout “us,ru(winkeys)” -model “pc105” -option “grp:caps_toggle” Эта комманда у меня срабытывает и раскладка начинает меняться по капслоку. Но появляется странный глюк: перестают работать стрелки и del. Когда я комбинирую опции grp:caps_toggle и ctrl:swapcaps - то вопреки моим ожиданиям, смена раскладки не происходит по левому контролу, а он начинает работать как капслок. В связи с этим, у меня несколько вопросов. 1. Как вообще добиться того, чтобы иксы читали конфиг клавиатуры из xorg.conf? Вот лог файла Xorg.0.log (сюда файл не уместился, а pastebin почему-то лежит, пришлось заливать на яндекс) А вот на всякий случай xorg.conf Section "Files" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/misc" FontPath "/usr/share/fonts/100dpi:unscaled" FontPath "/usr/share/fonts/75dpi:unscaled" FontPath "/usr/share/fonts/TTF" FontPath "/usr/share/fonts/Type1" EndSection Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "type1" Load "vbe" Load "synaptics" Load "evdev" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us, ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "altwin:meta_win,grp:caps_toggle" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSection Section "InputDevice" Identifier "Touchpad" Driver "synaptics" Option "Device" "/dev/input/mouse0" Option "Protocol" "auto-dev" Option "LeftEdge" "130" Option "RightEdge" "840" Option "TopEdge" "130" Option "BottomEdge" "640" Option "FingerLow" "7" Option "FingerHigh" "8" Option "MaxTapTime" "180" Option "MaxTapMove" "110" Option "EmulateMidButtonTime" "75" Option "VertScrollDelta" "20" Option "HorizScrollDelta" "20" Option "MinSpeed" "0.25" Option "MaxSpeed" "0.50" Option "AccelFactor" "0.010" Option "EdgeMotionMinSpeed" "200" Option "EdgeMotionMaxSpeed" "200" Option "UpDownScrolling" "1" Option "CircularScrolling" "1" Option "CircScrollDelta" "0.1" Option "CircScrollTrigger" "2" Option "SHMConfig" "true" Option "Emulate3Buttons" "on" EndSection # Section "InputDevice" # Identifier "Synaptics Touchpad" # Driver "synaptics" # Option "SendCoreEvents" "true" # Option "Device" "/dev/psaux" # Option "Protocol" "auto-dev" # Option "HorizEdgeScroll" "0" # endSection #Section "InputDevice" # Driver "wacom" # Identifier "stylus" # Option "Device" "/dev/input/wacom" # Option "Type" "stylus" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #EndSection #Section "InputDevice" # Driver "wacom" # Identifier "eraser" # Option "Device" "/dev/input/wacom" # Option "Type" "eraser" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #E#ndSection #Section "InputDevice" # Driver "wacom" # Identifier "cursor" # Option "Device" "/dev/input/wacom" # Option "Type" "cursor" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #ndSection Section "dri" Mode 0666 EndSection Section "Device" Identifier "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller" Driver "intel" BusID "PCI:0:2:0" Option "DDC" "no" Option "DRI" "true" EndSection Section "Monitor" Identifier "Generic Monitor" Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Modes "1280x800" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" "AutoAddDevices" "False" "AllowEmptyInput" "False" # Uncomment if you have a wacom tablet # InputDevice "stylus" "SendCoreEvents" # InputDevice "cursor" "SendCoreEvents" # InputDevice "eraser" "SendCoreEvents" InputDevice "Touchpad" "SendCoreEvents" EndSection Вот эти две директивы “AutoAddDevices” “False” “AllowEmptyInput” “False” Выключить автодетект опций клавиатуры, видимо не помогло :( и rc.conf LOCALE="ru_RU.UTF-8" HARDWARECLOCK="UTC" USEDIRECTISA="no" TIMEZONE="Europe/Moscow" KEYMAP="ru" CONSOLEFONT="ter-v16b" CONSOLEMAP= USECOLOR="yes" MOD_AUTOLOAD="yes" MODULES=(8139cp 8139too mii ipw2200 ac97_bus snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-ac97-codec snd-intel8x0 snd-intel8x0m soundcore eth1394) USELVM="no" HOSTNAME="navi" eth0="eth0 92.246.176.221 netmask 255.255.255.0 broadcast 92.246.176.255" eth1="eth1 192.168.0.3 netmask 255.255.0.0" INTERFACES=(eth0 eth1) gateway="default gw 92.246.176.1" ROUTES=(gateway) #NETWORKS=(main) DAEMONS=(syslog-ng network netfs crond acpid laptop-mode alsa hal fam evdev tifm_sd gdm) Во время загрузки системы показывается ошибка, связанная с evdev. Хотя он у меня установлен в системе. 2. Подозреваю, что все-таки можно сделать так, чтобы capslock работал как ctrl а смена раскладки происходила по левому ctrl. Был бы очень благодарен за информацию. 3. Как заставить правый alt вести себя как alt? А то сейчас он ведет себя как enter. Заранее спасибо за информацию. P.S. честно пытался разобраться сам, но потом совсем запутался и теперь прошу помощи у уважаемого коммьюнити. |
h4tr3d |
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
> Когда я комбинирую опции grp:caps_toggle и ctrl:swapcaps правильно оно работает. xorg.conf Option "XkbLayout" "us, ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "altwin:meta_win,grp:caps_toggle" вот это тебе и менять. Например так: Option "XkbLayout" "us,ru" option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:rwin_toggle,grp_led:scroll,compose:ralt" переключение по правому Win-key (один хрен больше он ни для чего не нужен) у меня пока всё. по поводу смен поведения клавиш… не задумывался и не нужно было, а так пошукай в /usr/share/X11/xkb/
systemd должен умереть.
|
exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
h4tr3d Две проблемы: как я уже написал выше, у меня не читаются опции клваиатуры из Xorg.conf. В логе есть такие строки(полная версия лога в первом посте) (WW) AllowEmptyInput is on, devices using drivers 'kbd' or 'mouse' will be disabled. (WW) Disabling Generic Keyboard (WW) Disabling Configured Mouse ........................................ (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD) (**) Option "xkb_rules" "base" (**) Video Bus: xkb_rules: "base" (**) Option "xkb_model" "evdev" (**) Video Bus: xkb_model: "evdev" (**) Option "xkb_layout" "us" (**) Video Bus: xkb_layout: "us" (II) config/hal: Adding input device Video Bus (**) Video Bus: always reports core events (**) Video Bus: Device: "/dev/input/event6" (II) Video Bus: Found keys (II) Video Bus: Configuring as keyboard (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD) (**) Option "xkb_rules" "base" (**) Video Bus: xkb_rules: "base" (**) Option "xkb_model" "evdev" (**) Video Bus: xkb_model: "evdev" (**) Option "xkb_layout" "us" (**) Video Bus: xkb_layout: "us" То есть тут, видимо, отключается драйвера kbd и подключается что-то другое. Про русскую раскладку тут вообще ничего нет, ходя в xorg.conf она указана. Ну и вторая проблема - нет клавиши rwin, клавиатура ноутбучная. |
exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
tinman321 Не помогло :( |
h4tr3d |
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
Версия исксов, полный путь до конфига, он должен быть такой: /etc/X11/xorg.conf (xorg.conf - маленькими буквами…) и полный лог иксов при запуске.
systemd должен умереть.
|
exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
h4tr3d Мои иксы: testing/xorg-server 1.5.3-2 extra/xorg-server-utils 7.4-2 До тестовой ветки обновился сегодня утром, до этого была экстра, думал поможет - не помогло. Лог : http://paste.org.ru/?m1h5n8 Имя файла и путь совпадает. |
sysmouse |
|
Темы:
7
Сообщения:
577
Участник с: 17 июня 2008
|
Вроде как kbd и keyboard сейчас deprecated, т.к. на evdev переходят? Сделай: $ egrep “N|H” /proc/bus/input/devicesнайди свою клавиатуру, что-нибудь типа: N: Name=“AT Translated Set 2 keyboard” И поправь xorg.conf: Section "InputDevice" Identifier "Keyboard0" Driver "evdev" Option "Device" "/dev/input/event1" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:rwin_toggle,grp_led:scroll,compose:ralt" Option "CoreKeyboard" "true" EndSection |
exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
egrep "N|H" /proc/bus/input/devices N: Name="Macintosh mouse button emulation" H: Handlers=mouse0 event0 N: Name="AT Translated Set 2 keyboard" H: Handlers=kbd event1 N: Name="Logitech Optical USB Mouse" H: Handlers=mouse1 event2 N: Name="Power Button (FF)" P: Phys=LNXPWRBN/button/input0 H: Handlers=kbd event3 N: Name="Lid Switch" P: Phys=PNP0C0D/button/input0 H: Handlers=event4 N: Name="Power Button (CM)" P: Phys=PNP0C0C/button/input0 H: Handlers=kbd event5 N: Name="Video Bus" H: Handlers=kbd event6 N: Name="Video Bus" H: Handlers=kbd event7 N: Name="PC Speaker" H: Handlers=kbd event8 B: SND=6 N: Name="PS/2 Mouse" H: Handlers=mouse2 event9 N: Name="AlpsPS/2 ALPS GlidePoint" H: Handlers=mouse3 event10 Сейчас попробую заменить. Только на моей клавиатуре нет правого win-кея. |
exabiche |
|
Темы:
5
Сообщения:
27
Участник с: 16 ноября 2008
|
sysmouse Вот спасибо, сейчас уже переключение работает! Правда, правый альт не подхватился :( Если бы еще придумать, как контрол назначить на капс, а переключение раскладки сделать по левому контролу - это было бы вообще круто! Это штатными средствами можно сделать? Насколько я понял, переключение раскладки в иксах нельзя повесить на произвольную клавишу/сочетание клавиш, к примеру на ctrl+\. Хотя было бы круто :) UPD. В итоге, остановился на способе переключения раскладки по ctrl+shift. В результате мои опции клавиатуры выглядят так: Option "XkbOptions" "grp_led:scroll,compose:ralt,grp:ctrl_shift_toggle,ctrl:swapcaps" Только вот правый альт остался нерабочим. В чем может быть проблема? |
h4tr3d |
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
Посчитать количество клавишь и поставить правильную модель? :) может поможет
systemd должен умереть.
|