Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Переключение на предыдущую раскладку клавиатуры Xubuntu 14.04  (Прочитано 2767 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kartarm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Подскажите, пожалуйста, как в Xubuntu 14.04 настроить комбинацию клавиш, которая будет листать раскладки клавиатуры в обратном порядке. Дело в том, что я использую сразу много раскладок и мне неудобно по пять раз нажимать Alt+Shift, чтобы перейти к нужной. Ранее использовал Unity и там это настраивалось очень легко. А как это сделать здесь?

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
может быть, лучше сделать раскладки клавиатуры в обратном порядке?

чтобы было проще подсказывать, где вы настраивали раскладки?
желательно скриншот.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн Kartarm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
может быть, лучше сделать раскладки клавиатуры в обратном порядке?
Не совсем понял чем мне это поможет. Мне нужно, чтобы раскладки можно было листать в обе стороны. Например, alt+shift листает вперёд, а ctrl+shift — назад.
чтобы было проще подсказывать, где вы настраивали раскладки?
желательно скриншот.
Когда я использовал Unity, я настраивал комбинации для смены раскладки в окне, похожем на то, что на скриншоте. Там, после пункта «следующий метод ввода» был ещё «предыдущий метод ввода».
К сожалению, не могу предоставить скриншот из самого Unity, так как решил перейти на xfce.
Screen: https://drive.google.com/file/d/0B4b_DjJ1r6y9c2lGVU9TNWZtbTA/edit?usp=sharing

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
понятно, вам нужно не просто в обратном порядке, а чтобы был следующий и предыдущий метод ввода.

вот что нашёл по этому поводу.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн Kartarm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
По-моему, по ссылке, которую Вы мне дали обсуждается несколько другая проблема. Я выполнил те указания, которые там давались, но ничего не изменилось.
Может быть есть команда в терминале для активации предыдущей раскладки? Тогда бы можно было просто назначить её на нужную комбинацию.
« Последнее редактирование: 08 Июля 2014, 22:15:35 от Kartarm »

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
проблема обсуждается другая, но там есть скриншоты с патчами и приложениями, где есть переключение раскладки в другую сторону.

если команда нужна, то нужно смотреть в сторону настройки системы. вообще специальной команды скорее всего нет. если только пользоваться сторонними программами.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн M1ke

  • Участник
  • *
  • Сообщений: 228
  • ✎…
    • Просмотр профиля
    • IT блог
Могу предложить довольно костыльный метод (но, в принципе, может показаться удобным):
setxkbmap - указываешь на горячую клавишу команду вида:
setxkbmap -layout ru,us,ua
Обрати внимание - раскладки без пробела после запятых. Первая раскладка - та, которая будет установлена в системе после выполнения команды. Последующие - те, между которыми можно будет переключаться (через CTRL+SHIFT), если указать одну раскладку - то выбор при переключении исчезнет.
Узнать обозначения раскладок (ru, ua en.. ) можно в каталоге : /usr/share/X11/xkb/symbols/

Итак, чтобы вручную не заморачиваться - я написал тебе скрипт:

#!/bin/bash

now=$(cat ./fb.b)
case "$now" in
"1")
    echo "Первая расклыдка\n"
    setxkbmap -layout ru,us,ua
    echo 2 > ./fb.b
    ;;
"2")
    echo "Вторая раскладка\n"
    setxkbmap -layout us,ua,ru
    echo 3 > ./fb.b
    ;;
"3")
    echo "Третья \n"
    setxkbmap -layout ua,ru,us
    echo 1 > ./fb.b
    ;;
*)
    echo 1 > ./fb.b
    ;;
esac

По его примеру задаешь все возможные раскладки, которые тебе нужны (увеличением циферки в кавычках перед скобочкой и изм. порядка раскладок), только в порядке, обратном переключению по ALT+SHIFT. Если файл fb.b не создается сам - то создай и запиши в него 1 (ему нужны будут права на перезапись). Сам скрипт кладешь в, например ~/kbswitch/switch.sh запускаешь - bash ~/kbswitch/switch.sh
Вешаешь скрипт на комбинацию клавишь - удобную тебе, и вот тебе свич раскладок в обратном порядке ))

P.S. setxkbmap должен быть по дефолту в системе (если вдруг нет - то установи)

Надеюсь, помог )

P.S. вот подумал, что скрипт все-же не от текущей раскладки будет переключать, а по кругу своему. Но тут тоже можно профит найти - делаешь также три-четыре итерации switch'а и вносишь все раскладки, толко первыми (порядково после -layout) выставляешь наиболее часто используемые. И таким образом обычным переключением крутишь все раскладки, а скриптом - быстро меняешь только те, которые чаще нужнны, например ru,en еще что-то. 

Ну или можешь узнавать скриптом раскладку и менять в зависимости от текущей, но это уже если захочешь - пиши скрипт сам ) Примерно по такому - же принципу ))
« Последнее редактирование: 09 Июля 2014, 09:35:04 от M1ke »
define(TRUE, FALSE); //секс и наркотики

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
M1ke, спасибо, забыл про setxkbmap.
но тогда можно сделать проще. объявить переменную для раскладки и в echo подставлять переменную.
будет что-то вроде этого:
control+shift
lay++
echo lay ./fb.b
alt+shift
lay--
echo lay ./fb.b
ну и так далее.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн M1ke

  • Участник
  • *
  • Сообщений: 228
  • ✎…
    • Просмотр профиля
    • IT блог
xf∞, + отлично. ) Тогда самое простое не переписывая код - просто написать такой - же, со switch, case - наоборот (--) используя тот же файл и убрать стандартное переключение вообще а юзать два скрипта ) Сразу что-то в голову не пришло ) Но это уже на усмотрение автора, я думаю по примеам будет не сложно самому написать. )
define(TRUE, FALSE); //секс и наркотики

Оффлайн Kartarm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Спасибо всем за ответы, вроде бы как получилось. Теперь, правда, есть совсем небольшая задержка между нажатием комбинации и изменением раскладки, но это ничего. Я думаю вопрос решён.

 

Страница сгенерирована за 0.02 секунд. Запросов: 22.