Вы здесь

Переключение раскладки клавиатуры с hal

Всем добрый вечер. Уже долга мучаюсь но что то невыходит. lhal показывает
oserial_if0' (string)
input.product = 'KEYBOARD USB KB' (string)
input.x11_driver = 'evdev' (string)
input.xkb.layout = 'us,ru' (string)
input.xkb.model = 'evdev' (string)
input.xkb.options = 'grp:ctrl_shift_L_toggle,grp_led:scroll' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = ',winkeys' (string)

Но вот лог xorg показывает другое
(**) Keyboard0: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard0: XkbModel: "pc105"
(**) Option "XkbLayout" "us,ru(winkeys)"
(**) Keyboard0: XkbLayout: "us,ru(winkeys)"
(**) Option "XkbOptions" "grp:ctrl_L_shift_L_toggle"
(**) Keyboard0: XkbOptions: "grp:ctrl_L_shift_L_toggle"
(**) Option "CustomKeycodes" "off"
(**) Keyboard0: CustomKeycodes disabled

Но раскладка как переключалась через ctrl_alt_K так и переключается.

Правило для hal в /usr/share/hal/fdi/policy/20thirdparty/10russian-ayut.fdi

(

)
key="info.capabilities" contains="input.keyboard">
key="input.xkb.layout" type="string">us,ru
key="input.xkb.variant" type="string">,winkeys
key="input.xkb.options"
type="string">grp:ctrl_L_shift_L_toggle,grp_led:scroll

Как исправить или в чем недочет может быть?

А FAQ кто читать будет? Дядя Ваня?

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Смотрел я твой ФАК ничего там нету.

Вы ещё раз посмотрите. Только повнимательнее.

Да, и ещё почитать желательно

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

да еще бы и не грубить не мешало бы, а то кто ж тебе помогать захочет, такому умному :)

скрытный секс :)

Я не грубил а написал что смотрел там и ненашол ничего.
А если ты знаешь что есть так дай туда ссылку если это не затруднит.

Какие однако бывшие бунтологи пошли или вантузятнеки?
Они даже читать не умеют =) А еще что то хотят.
http://www.gentoo.ru/node/12045
Еще следующая твоя тема по недочитанному хендбуку или FAQ будет закрыта.

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

У меня работает так (переключенние по левому win)

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbRules" "xorg"
Option "XkbLayout" "ru,us"
Option "XkbVariant" "winkeys,"
Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll"
Option "AutoRepeat" "250 30"
EndSection

буду честен, я не знаю, почему у меня все работает

Это без hal

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

В ][org.conf добавь строчку в секции

Section "ServerLayout"
Option "AutoAddDevices" "False"

буду честен, я не знаю, почему у меня все работает

Спасиба что указал ссылку но это не помогло, раскладка как и раньше переключается ctrl_alt_K
Где может быть недочет? Для hal создано правило правильна, закоментировал как и написано в посте в xorg.conf .

Кедову переключалку отрубить или настроить

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Тогда встречный вопрос, если я ее отрублю как же я буду видеть какой язык в данный момент действует для приложения?
Или в чем состоит настройка?

Если отключить переключатель KDE, как минимум будет понятно, он мешает переключаться или переключение действительно не работает.

Попробовал откчить, непомогло вообще никак не переключается. Так и осталось переключение на ctrl_alt_K
Забыл уточнить у меня xorg-server 1.3.0

Неужели никто не объяснит, что hal для стабильной версии иксов не нужен, а дело было в кедовой переключалке?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Извенаюсьб после отключения кедовой переключалки раскладка уже не переключалась был толкьо английский и других раскладок небылою
Значит дело не в переключалке.

KDE-шная переключалка выключена вообще полностью.
После отключения её надо перезапустить X-сервер, моментального перехода на xorg-настройки при выключении KDE-шной раскладки не происходит.
Для индикации языка используется kkbswitch (а знакомые по винде с Punto Switcher могут использовать gxneur, последняя версия работает чисто и стабильно).
В xorg.conf за раскладки отвечает это:

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
        Option      "XkbModel"  "pc105"
        Option      "XkbLayout" "us,ru(winkeys),by(winkeys)"
        Option      "XkbOptions" "grp:caps_toggle,grp_led:scroll,compose:rwin"
EndSection

Раскладки переключаются по CapsLock, самая удобная, по-моему, клавиша для этого.
Режим набора в верхнем регистре включается и выключается по Shift-Capslock.
Хотя xorg-server версии 1.5.2 собран с флагом hal, в /etc/hal/fdi нет никаких костылей, да и опция AutoAddDevices "No" не используется, всё работает и так.

Цитата:
знакомые по винде с Punto Switcher могут использовать gxneur

Или kxneur.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Тоже долго возился (наверное, и волос седых добавилось :) ), но вышло всё-таки как надо.
Итак, после прочтения статьи "HOWTO hal и устройства ввода" из раздела "Русское Wiki" этого превосходного сборника статей по Gentoo, а также после прочтения множества других советов и тем на форумах, несколькоих файлов документации и некоторых стандартных конфигурационных файлов,это дело решилось следующим образом:
1. Отключил напрочь KDE-шную переключалку.
2. Поставил KkbSwitch.
3. В /etc/hal/fdi/policy/ добавил файл "10-x11-input.fdi" следующего содержания:


<?xml version="1.0" encoding="UTF-8"?> 
<deviceinfo version="0.2"> 
    <device> 
    <match key="info.capabilities" contains="input.mouse"> 
            <merge key="input.x11_driver" type="string">mouse</merge> 
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> 
        <!-- If we're using Linux, we use evdev by default (falling back to 
        mouse otherwise). --> 
        <merge key="input.x11_driver" type="string">evdev</merge> 
        </match> 
    </match> 
 
    <match key="info.capabilities" contains="input.keys"> 
        <merge key="input.x11_driver" type="string">keyboard</merge> 
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> 
        <!-- If we're using Linux, we use evdev by default (falling back to 
        keyboard otherwise). --> 
            <merge key="input.x11_driver" type="string">evdev</merge> 
        </match> 
        <merge key="input.xkb.layout" type="string">us,ru,ua</merge> 
        <merge key="input.xkb.variant" type="string">,winkeys,winkeys</merge> 
        <merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle,grp:lctrl_lshift_toggle</merge> 
    </match> 
    </device> 
</deviceinfo>

4. В файле /etc/X11/xorg.conf закомментировал (поставил перед строкой знак "#" ;) ) все упоминания о клавиатуре и мыши, как то


Section "ServerLayout"</p>

<p>    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
#    InputDevice    "Keyboard0" "CoreKeyboard"
#    InputDevice    "Mouse0" "CorePointer"
#    InputDevice    "Touchpad" "SendCoreEvents"
EndSection

а также следующие разделы:


#Section "InputDevice" 
#    Identifier  "Mouse0" 
#    Driver      "mouse" 
#    Option        "Protocol" "PS/2" 
#    Option        "Device" "/dev/input/mice" 
#EndSection 

#Section "InputDevice" 
#    Option         "XkbRules" "xorg" 
#    Option         "XkbOptions" "grp:ctrl_shift_toggle,grp:lctrl_lshift_toggle" 
#    Option         "XkbLayout" "us,ru(winkeys),ua(winkeys)" 
#    Option         "XkbVariant" "winkeys" 
#    Identifier  "Keyboard0" 
##    Driver      "kbd" 
#    Option        "XkbModel" "pc104" 
#EndSection

целиком, ибо они после установки HAL не должны играть роли.
5. Перезапустил демон hald командой:


/etc/init.d/hald restart

Примечание: Я описал случай, когда на компьютере есть 3 раскладки клавиатуры: английская (us), русская (ru) и украинская (ua), а раскладка переключается сочетанием клавиш "Ctrl+Shift" как справа, так и слева.
Если такие параметры вам не подходят, то просто замените соответствующие пункты своими.

Спасибо за информацию, по этой схеме всё вышло. Что удручило: добиться результата в соответствии с /usr/share/doc/hal*/* не получилось. Опции в Вашем примере и в доках прописываются по-разному.
У Вас:

<merge key="input.xkb.layout" type="string">us,ru,ua</merge> 

В доках

<merge key="input.x11_option.XkbLayout" type="string">us,ru,ua</merge> 

И т.п. Если делать по докам, первая раскладка отображается kkbswitch, но реально всегда инглиш. Переключение не пашет. По Вашему же примеру всё завелось.

Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист

Продолжаем разговор. ))

А можно ли с помощью нашего пресловутого hal сделать переключение раскладок, зависимое от приложения? Т.е. не глобально в системе переключать, а в контексте текущей активной программы. Чтобы иметь одновременно, скажем, в окошке eclipse и kdevelop английский, в pidgin - русский, а в опенофисе, скажем, украинский?
Если да, то как это сделать?

Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист

Для KDE-4:
Системные параметры - Язык и стандарты - Раскладка клавиатуры - Switching Options
Для KDE-3:
kde-misc/kkbswitch
Для XFce:
xfce-extra/xfce4-xkb

Я Gentoo & Funtoo

Спасибо. kkbswitch установлен, но чегой-то не удосужился глянуть, какая опция стоит по изменению раскладок. Включил для одного окна и всё заработало, как надо.

Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист

xxkb

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

И снова здравствуйте!

Итак, всё чудесно работает, но есть одно "но". Клавиатура в VMware Workstation, внутри гостевой ОС, ведёт себя неадекватно. Вместо одних клавиш срабатывают другие. Причём проблемы именно с управляющими клавишами. Что вместо остальных клавиш управления курсором, я еще не выяснил, но вот вместо Alt внутри вирт. машины у меня Enter, а вместо стрелки вниз и End - Ctrl+Esc - это факт. Нормально работает только набор символов и цифр. При этом на хосте всё Ok. Что делать?!

VMware Workstation 6.5 build 118166 x86_64
Guest OS: Windows XP Pro x86 SP3 En VL

PS: до апгрейда на Xorg 1.5 и переконфигурирования клавиатуры через HAL всё жило несколько месяцев нормально. У кого-нить работает нормально клавиатура через Hal+VMware ?

Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист

я решил проблему переключения раскладок с hal так:
USE="-hal" emerge xorg-server
и волки сыты (раскладки переключаются) и овцы целы (в xfce hal работает)

Ммм.. Я догадываюсь, что пересборка с -hal и возврат от evdev к старому драйверу поможет. Но есть ли варианты подружить vmware с hal ?

Всё, решено! После гугленья созрело такое решение:

echo 'xkeymap.nokeycodeMap = "true"' >> /etc/vmware/config

Либо, для нелюбителей редактировать настройки глобально (хотя в этом случае смысла особо нет)

echo 'xkeymap.nokeycodeMap = "true"' >> ~/.vmware/config

Предполагается, что в файле конфигурации эта опция не существовала ранее. Если это не так, лучше отредактируйте файл вручную.

Подробности для тех, у кого есть проблемы с раскладками в vmware, используемой совместно с X-сервером, и просто для любознательных, можно найти здесь:
http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html

Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист