Wiki24 комментария

Здравствуйте. Меня зовут Sergey Shadok.
Лазая на просторах интернета, я так и не нашёл нигде действительно работающего способа, как поставить переключение между раскладками клавиатуры на сочетание клавиш Alt+Shift.
В этой статье я расскажу вам, как это сделать, и ещё расскажу как поставить стандартную русскую раскладку.

В первую очередь, установите пакет dconf-editor.

sudo apt-get install dconf-editor

Он нам понадобится для установки привычной нам всем, стандартной русской раскладки.
После запустите dconf-editor либо через терминал, либо через лаунчер.

В левом меню приложения раскройте:
• com>deepin>dde>keyboard

После этого, в user-layout-list выставьте значение

['us;', 'ru;']

Нажмите Enter и закройте окно, оно нам больше не понадобится.

Теперь зайдите в
• Настройки -> Сочетания клавиш -> Система
И выставьте Переключить раскладку на Super+Space. Без этого ничего работать не будет.

Установите пакет gxkb:

sudo apt-get install gxkb

Он то и позволит нам переключаться между раскладками с помощью Alt+Shift, но есть одно НО, подробнее ниже.
Запустите gxkb через лаунчер или терминал, и в трее у вас появится иконка. Можно уже пользоваться привычным Alt+Shift.

НО это ещё не всё. При перезагрузке всё слетает. По этому мы сделаем так, чтобы команда для смены раскладки с помощью Alt+Shift запускалась при входе в систему. Для этого пишем в терминале:

nano ~/.config/autostart/keymaps.desktop

Так мы создадим файл для автозагрузки. Пишем в файл:

[Desktop Entry]
Encoding=UTF-8
Version=1
Type=Application
Name=RU-US
Comment=
Exec=setxkbmap us,ru -option grp:alt_shift_toggle,grp_led:scroll
StartupNotify=false
Terminal=false
Hidden=false

Теперь сохраняем файл сочетанием клавиш CTRL + O. После всего больше не нажимайте Super + Space, ибо всё это опять слетит. Если же вы всё таки нажали по привычке Super + Space, ничего страшного — пропишите в терминале:

setxkbmap us,ru -option grp:alt_shift_toggle,grp_led:scroll

Готово.
Надеюсь, статья была полезной 🙂

24 комментария

  • Andrey Birkos 21.05.2016

    Отлично! Спасибо большое, помогло! А то оригинальная раскладка мягко говоря напрягала 😉 И думаю не меня одного 🙂

    Ответить

  • Сёва 01.06.2016

    Добрый день!
    В deepin 15.2 не работает. Кириллица вперемешку с латиницей печатается, когда переключаешь на русский… Помогите!

    Ответить

  • Ragnor 15.06.2016

    Linux Deepin 15.2 x64 рецепт не работает. Стандартную настройку подавляет настройка в глобальном боковом меню. Она вроде как пытается переключиться, но потом резко изменяется назад. Нужно менять конфиги в текстовиках, относящихся к меню этих комбинаций. Я находил файл конфига. ~/.config/deepin/dde-control-center-kayboard.conf Но там что-то не то. Или его надо открывать какой-то спец прогой, чтобы информация была читабельна и удобна для правки.

    Ответить

  • Ragnor 15.06.2016

    Есть идея как обходным путем решить эту проблему: переписать ksuperkey для данной комбинации и добавить этот скрипт в автозагрузку.

    Ответить

    • densky 15.06.2016

      Если у вас получится решить эту проблему, думаю многие будут вам благодарны))
      Можно будет в wiki оформить.

      Ответить

    • Skimmer 02.03.2017

      А что если забиндить super на алт шифт

      Ответить

    • Vladislav Tarasov 02.03.2017

      Проще найти конфиг и его поправить полюбому конфиг есть где указан бинд супер пробел

      Ответить

  • при запуске dxkb через терминал такой выхлоп:
    «(gxkb:5352): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «adwaita»,»
    к такому меня жизнь не готовила 🙂

    Ответить

  • svetoch 17.06.2016

    подтверждаю, на 15.2 инструкция неактуальна

    Ответить

  • Ragnor 17.06.2016

    В KSuperkey установка комбинаций клавиш сделана через xmodmap, а прога написана на C. Я повозился, повозился и пока толком не смог ему клавиши вменить. Пишет Invalid key. Полазив по инету выяснил, что ctrl и shift в xmodmap модификаторы: видимо поэтому и не работает(( Вероятно нужно делать какой-нибудь занятный скрипт на Bash самому и не задействовать ни xkb, ни xmodmap. Но даже если сделать такой скрипт, то двойного нажатия вряд ли удастся избежать (над этим надо ещё подумать), из-за особенностей реализации переключения языка в этом DE. Короче — вот же блин китайцы какую гадость сделали. ((( Будем надеяться, что их переубедят и они одумаются.

    Ответить

  • Ragnor 03.07.2016

    Есть такая прога xautomation — она эмулирует нажатие клавиш на клавиатуре. Чтобы произошло переключение языка, в нашем случае, нужна след команда: xte ‘keydown Super_L’ ‘keydown space’ ‘keyup space’ ‘keydown space’ ‘keyup space’ ‘keyup Super_L’

    Загвоздка всей этой тематики заключается в том, чтобы привязать исполнение данной команды на клавиши модификаторы. (Ctrl, Alt, Shift — в зависимости от нужной комбинации). Я пробовал для решения проблемы прогу bind, но, как оказалось, она работает только в пределах терминала.

    Наиболее адекватным кажется использование read.
    while :
    do
    read -n1 N; [[ $N = ‘q’ ]] && xte ‘keydown Super_L’ ‘keydown space’ ‘keyup space’ ‘keydown space’ ‘keyup space’ ‘keyup Super_L’
    done

    Остается только понять, как заставить его читать клавиши модификаторы и будет вам переключение языка.

    Ответить

  • Ragnor 25.07.2016

    Что странно — после каких-то стандартных патчей системы от производителей у меня опять заработал метод описанный в шапке

    Ответить

  • Ragnor 25.07.2016

    Но при этом при переключении языка я не могу через угол открыть боковую панель. Переключаю назад — снова могу. Стандартный показ переключения языка проявляется при этом где-то под окнами — на рабочем столе.

    Ответить

  • Ragnor 25.07.2016

    Правда после их обновы у меня из панелью ddedock (Plank) стало твориться что-то странное. Если не открыто ни одно окно поверх рабочего стола (не важно программы или файлового менеджера — что суть одно и то же), помимо открываемого. То при открытии окна, а потом его сворачивании — при клике по его кнопке в панели оно не разворачивается назад. Если кликнуть на рабочий стол, то тогда только разворачивается. А если поверх рабочего стола открыто ещё какое-нибудь окно, то сворачивание-разворачивание из кнопки на панели происходит без проблем.

    Ответить

  • Сергей 05.10.2016

    Установил, но переключение языка не работает через контрл+шифт, а осталось супер+пробел(( что делать подскажите?

    Ответить

    • Alex 05.10.2016

      Сергей, лучше создайте вопрос. Или лучше поищите в решенных вопросах.

      Ответить

    • svetoch 06.10.2016

      эта инструкция актуальна только для версии 15.1

      Ответить

  • Антон 19.12.2016

    а где на клавиатуре кнопка super?

    Ответить

  • Дмитрий 27.02.2017

    У китаезов все через опу

    Ответить

  • seregan luch 21.05.2017

    а почему альт+шифт только? я предпочитаю левый контр. а ос на мое личное мнение неплохая такая же несовершенная как и остальные так что выбираю менее глючную в запасе на втором диске линуксминт 18.1—-для меня более менее приемлимая мною протестированы практически все известные ос /от убунты до генты/ пришел к выводу—все сырое свое мнение никому не навязываю всем добра

    Ответить

Ответить

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.