Можно ли в LXDE назначить отдельные комбинации клавиш для трех раскладок языков - русской, английской и украинской?
В Яндексе ничего вразумительного, к сожалению,не нашел.
Спасибо.
Переключение раскладок в LXDE
Если устроит не на отдельные хоткеи, а на один повесить 3 раскладки:
http://wiki.mageialinux.ru/index.php?title=Настройка_раскладок_клавиатуры,_немного_отличных_от_русской
Если неохота возиться с правкой файла /etc/X11/xorg.conf, то в LXDE можно воспользоваться программой, которая называется fsKbSetting. Запускаем прогу: в терминале вводим команду fskbsetting, далее настраиваем раскладку, выбираем американскую, русскую и башкирскую раскладки, выбираем клавиши переключения раскладок, жмем ОК
В вашем случае, вместо башкирской будет украинская раскладка.
А теперь про fsKbSetting.
Еще раз обращаю внимание, она настраивает не отдельные хоткеи для 3 раскладок (допустим, alt+shift для en => ru и ctrl + shift для en => ukr), а 1 хоткей, просто позволяет использовать до 4-ех раскладок. Допустим, настроили 4 раскладки en, ru, ukr, pl и выставили alt + shift. При нажатии alt + shift раскладки будут менять в следующей последовательности: en => ru => ukr => pl.
UDP:
Под спойлер ушло все, что было в посте до того, как verg сообщил что fsKbSetting собран и для Mageia 3, есть в репозитории MRC (но похоже только для i586, так что методы ручной сборки, если что, под спойлером).
Показать
Для Mageia 2 программа собрана и есть в репозитории MRC, для Mageia 3, по-моему, не собиралась.
Но можно попробовать пойти окольным путем
[console]mkdir - p ~/fskbsetting
cd ~/fskbsetting
wget f[span]tp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repos[/span]itories/X11%3A/lxde/openSUSE_Factory/src/fskbsetting-0.3-3.34.src.rpm
rpm2cpio fskbsetting-0.3-3.34.src.rpm | cpio -dimv
tar xfvz fskbsetting-0.3.tar.gz
cd fskbsetting-0.3
./configure --prefix=/usr/local
make
su -c 'make install'[/console]
После можно смело запускать программу
[console]fskbsetting[/console]
Выставить там нужные 1 - 4 раскладки и клавиши для переключения.
Убедится что стоит галочка "Добавить в автозагрузку".
Ок.
Должно все работать.
Но по скольку у вас, скорей всего, devel-пакетов в системе нет, на ./configure и make будет сыпать ошибки, скидывайте сюда лог из терминала, а я подскажу какие пакеты доустановить.
xxblx, а fskbsetting имеет домашнюю страницу? А то гуглеж не дал результата и в АУРе его нет.
для Mageia 3, по-моему, не собиралась.
Как раз в MRC =)
http://packages.mageialinux.ru/mageia3/RPMS/i586/fskbsetting-0.3.2-5.mga3.mrc.i586.rpmНаглядно о преимуществах настройки правкой конфигов перед настройкой графическими конфигураторами: заметки «на полях» клавиатуры.
Кто тут вопил «Консоль на мыло»? :D
verg, спасибо! *THUMBSUP* Еще там кое что увидел, интересное.
verg, спасибо. Вчера репу MRC отключал, забыл обратно включить. Сегодня поиск сделал, естественно, не нашло.
Пакет, кстати, только для i586 есть.
Если устроит не на отдельные хоткеи, а на один повесить 3 раскладки:
Вот как раз один хоткей на три раскладки я уже сам запилил, и достаточно просто :)
В файл /etc/xdg/lxsession/LXDE/autostart добавил команду @setxkbmap -option grp:switch,grp:lwin_toggle, us,ru,ua Одинаково хорошо работает и по alt+shift, и по win+shift
Когда есть две раскладки, их удобно переключать и одной комбинацией. Но уже три обходить по кругу бывает утомительно.
Хабалов Вячеслав, вам хочется, чтобы было 2 хоткея (т.е. alt + shift = us,ru ; win+shift = us,ua) или чтобы у каждой клавиши был свой хоткей, например, alt + z = us, alt + x = ru, alt + c = ua ?
xxblx, второй вариант из того, что Вы сказали.
Хабалов Вячеслав, ну тогда стоит попробовать сделать следующим образом
файл /etc/xdg/lxsession/LXDE/autostart добавил команду @setxkbmap -option grp:switch,grp:lwin_toggle, us,ru,ua
Из автостарта удалить эту команду
Затем открыть файл ~/.config/openbox/lxde-rc.xml
Найти в нем секцию <keyboard></keyboard>
В конец секции, т.е. перед </keyboard> добавить
<keybind key="W-A-Left">
<action name="Execute">
<command>setxkbmap -option grp:switch, us</command>
</action>
</keybind>
<keybind key="W-A-Up">
<action name="Execute">
<command>setxkbmap -option grp:switch, ru</command>
</action>
</keybind>
<keybind key="W-A-Right">
<action name="Execute">
<command>setxkbmap -option grp:switch, ua</command>
</action>
</keybind>После перезапуска сессии раскладки должны переключаться так:
Win + Alt + Стрелка влево = US
Win + Alt + Стрелка вверх = RU
Win + Alt + Стрелка вправо = UA
Почему именно Win + Alt + стрелки? Потому что выбирал комбинацию, которая была бы ничем не занята.
Если захотите изменить сочетания клавиш на свои - сначала посмотрите все содержимое <keyboard></keyboard>, чтобы выбранная вами комбинация была не занята.
И помните, что если будете назначать буквы, например Alt + J, J буква будет пока раскладка английская, после переключения на русский это уже О, соответственно, если назначить переключение языка на Alt + J, будет переключать с англ. на рус., но с рус. уже ни на что не переключит. По этому в комбинациях клавиш нужно или избегать букв, или назначать их по keycode'ам (посмотреть keycode можно в выводе команды xev), но я не уверен что это будет работать.
p.s. не дело это, конечно, через setxkbmap каждый раз менять раскладку, но другого в голову мне ничего не переходит.
xxblx, спасибо, все заработало. *THUMBSUP* Велосипед изобретать не стал, просто скопировал код в конец блока, оставив метку в комментарии. А в чем криминал, если не секрет? Пока заметил только, что кликом по иконке флажок не меняется, хотя и не должен, если я все правильно понял.
А в чем криминал, если не секрет?
Ну, бытует мнение, что setxkbmap по уму должен на старте один раз дать раскладки и хоткей и все. А в варианте, который я предложил, setxkbmap используется при каждом переключении раскладки.
В принципе, работает и ладно. Но обычно, насколько я знаю, такое не практикуют.
Пока заметил только, что кликом по иконке флажок не меняется, хотя и не должен, если я все правильно понял.
Правильно поняли, и теперь кликом по иконке флажок менять не будет.
Т.к. теперь при смене раскладки (при нажатии на одну из трех комбинаций) на самом-то деле не смена раскладки теперь происходит, а установка одной единственной раскладки в системе =) По этому, нажатие на флажок и не дает результата.
Иными словами, нажали win + alt + влево, в системе установилась одна единственная раскладка - US. Нажали win + alt + вверх, в системе установилась одна единственная раскладка RU и т.д. А раньше у вас устанавливалось несколько раскладок разом, которые можно было между собой прокручивать.
Как-то так. Надеюсь понятно объяснил.
xxblx, выходит в LXDE универсального способа, что бы работало и мышкой по флажку, и с клавиатуры, - не существует? Да, вот еще заметил побочный эффект. Когда установлена только русская раскладка, не работает копипаст с клавиатуры, хотя из менюшек все копируется и вставляется :)
xxblx, выходит в LXDE универсального способа, что бы работало и мышкой по флажку, и с клавиатуры, - не существует?
Если только искать какие-то утилиты сторонние.
На каком-то форуме я читал, что sbxkb так умеет http://sourceforge.net/projects/staybox/files/sbxkb-0.7.6.tar.gz/download, но сам я им никогда не пользовался, так что наверняка не скажу.
Он, по-моему, для использования с OpenBox сделан, а LXDE в качестве оконного менеджера как раз OpenBox и использует. Так что, скорей всего, для LXDE он подойдет.
Да, вот еще заметил побочный эффект. Когда установлена только русская раскладка, не работает копипаст с клавиатуры, хотя из менюшек все копируется и вставляется ab
Потому что комбинация подразумевают использование английских букв:
ctrl + x (экс)
ctrl + c (си) - копировать
ctrl + v (ви) - вставить
а не русских
ctrl + ч
ctrl + с
ctrl + м
Потому и не работает на русской раскладке :)
На каком-то форуме я читал, что sbxkb так умеет http://sourceforge.net/projects/staybox/files/sbxkb-0.7.6.tar.gz/download, но сам я им никогда не пользовался, так что наверняка не скажу.
Там по ссылке архив, если я правильно понял, для ручной сборки, что для rpm-сборки не совсем гут. Пробовал рпм-ку поискать, но в результатах бардак с архитектурами :) Подожду, может для Магии таки запилят :)
[quote="Хабалов Вячеслав"]Да, вот еще заметил побочный эффект. Когда установлена только русская раскладка, не работает копипаст с клавиатуры, хотя из менюшек все копируется и вставляется ab
Потому что комбинация подразумевают использование английских букв:
ctrl + x (экс)
ctrl + c (си) - копировать
ctrl + v (ви) - вставить
а не русских
ctrl + ч
ctrl + с
ctrl + м
Потому и не работает на русской раскладке :)[/quote]
Ну, это понятно. Просто на другом диске у меня именно эти комбинации работают с любой активной раскладкой. Хотя для активации строки меню в русскоязычных программах иногда приходится переключать язык :) В офисе, например :) А в GIMP-e всегда клавиши срабатывают, независимо от раскладки. А вот сейчас поставлю, попробую для сравнения :)
Хабалов Вячеслав, ну тогда стоит попробовать сделать следующим образом
[quote="Хабалов Вячеслав"] файл /etc/xdg/lxsession/LXDE/autostart добавил команду @setxkbmap -option grp:switch,grp:lwin_toggle, us,ru,ua
Из автостарта удалить эту команду
Затем открыть файл ~/.config/openbox/lxde-rc.xml
Найти в нем секцию <keyboard></keyboard>
В конец секции, т.е. перед </keyboard> добавить
<keybind key="W-A-Left">
<action name="Execute">
<command>setxkbmap -option grp:switch, us</command>
</action>
</keybind>
<keybind key="W-A-Up">
<action name="Execute">
<command>setxkbmap -option grp:switch, ru</command>
</action>
</keybind>
<keybind key="W-A-Right">
<action name="Execute">
<command>setxkbmap -option grp:switch, ua</command>
</action>
</keybind>[/quote]
Немножко порулил в таком режиме, и присовокупил к этому от себя еще
<keybind key="W-A-Down">
<action name="Execute">
<command>setxkbmap -option grp:switch,grp:lwin_toggle, us,ru,ua</command>
</action>
Теперь, по желанию, можно ходить по кругу, и менять мышкой по флажку :), когда активна эта настройка.