Удерживайте клавишу, чтобы временно переключить раскладку клавиатуры?

Удерживайте клавишу, чтобы временно переключить раскладку клавиатуры?

Недавно я обновился до Ubuntu 13.10. В Ubuntu 12.04 я смог определить клавишу, которая при ее удержании временно переключала на другую раскладку клавиатуры. Я не смог найти способ получить эту функциональность в 13.10: похоже, единственная возможность — переключаться между различными раскладками с помощью сочетания клавиш «Переключиться на следующий источник».

Есть ли способ реализовать функцию «удерживайте клавишу, чтобы временно переключиться на другую раскладку клавиатуры» в версии 13.10?

решение1

  • В Gnome 3.6 изменился метод настройки макета. Поэтому Ubuntu 13.10 и более поздние версии ведут себя иначе, чем раньше. Это должно хорошо работать в Gnome (проверено Ubuntu 13.10/14.04).

  • Unity, похоже, не использует xkb-options(Проверил в Ubuntu 13.10/14.04). Даже используя, например:

    setxkbmap us,ara -option grp:rctrl_switch
    

    Он работает всего несколько секунд, а затем сбрасывается.

    Редактировать /usr/share/X11/xkb/symbols/pc, удалить rctrl из привязки ctrl:

    //modifier_map Control{ Control_L, Control_R };
    modifier_map Control{ Control_L };
    

    снова:

    setxkbmap us,ara -option grp:rctrl_switch
    

    Это просто работает, пока я не использую изменение макета с помощью Super+ Spaceили напрямую из индикатора. Так что в качестве обходного пути для Unity отключите сочетания клавиш переключения макета (индикатор макета также может быть удален), затем добавьте -option grp:..._toggleв setxkbmap.

Итак, для Gnome:

  1. Использовать dconf-editor→ org → gnome → desktop → input-sources

  2. Добавьте setxkbmapпараметры xkb-options, например:

    ['grp:rctrl_switch']
    

Чтобы увидеть все возможные варианты:

more /usr/share/X11/xkb/rules/xorg.lst | grep grp:

введите описание изображения здесь

решение2

Пожалуйста, выполните следующие действия:

  1. ВыбиратьНастройки системы...из системного меню; снимок1

  2. ВыбиратьКлавиатура; снимок2

  3. Под вкладкой с надписьюПечатаниенажмитеНастройки макета; снимок3

  4. вКлавиатураокно настроек, подЯрлыкивкладка, выберитеПечатание. Значение по умолчанию дляПерейти к следующему источникуэто Super+ SPACE; нажав на него, вам будет предложено назначитьНовый ускоритель..., нажмите нужную комбинацию клавиш, чтобы перейти к следующемуЛayout (я использовал Super+ L.) и ему будет назначено изменение на следующую раскладку.

    (Затем я назначил что-то похожее для Switch на предыдущий источник, используя ту же предпочтительную раскладку, а затем начал их тестировать. Переключение с предпочтительной раскладки на альтернативную сработало, а вот обратное — нет. Пожалуйста, обратитесь к следующему шагу для исправления.) дерзкий1

  5. В этом же окне вы можете выбрать/назначитьСочинятьключ. Предпочтительный вариант —Right Alt composeKey

  6. После присвоения Super+ Lдля«Перейти к следующему источнику»используя предпочитаемый мной макет,Я изменил раскладку клавиатуры на альтернативную, а затем назначил комбинациюк«Перейти к предыдущему источнику»(для чего я использовал Shift+ Super+ L). Затем я проверил их, и они работают нормально.

    Новые ускорители для комбинаций клавиш, которые я использовал, выглядят так: дерзкий2


Полезные ссылки:

  • Как включить клавишу «Создать»?

  • Как мне набрать акцентированные символы, такие как ë? alt. Как использовать клавиши ввода?

    Краткое содержание:

    Используя composeключ, здесь назначено Rt. Alt:

    • Для этого öнажмите Composeклавишу Shify+, 'а затем oклавиши; то же самое можно выразить как Compose " oили Rt. Alt " o.
    • Для ßэтого нажмите Composeи затем sклавиши s.

    (..здесь вам придется запомнить комбинацию из двух символов)

    Вы можете получить комбинацию для клавиши создания (и числа Unicode) с помощью этой команды в терминале:

    cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep ö
    

    (где ö следует заменить на символ по вашему выбору.)

    что выведет что-то вроде:

    <Multi_key> <quotedbl> <o>          : "ö"   odiaeresis
    

    (где <Multi_Key>находится клавиша «Compose» ( Shiftили Shift+ Rt.Alt), <quotedbl>это двойная кавычка - "т.е. Shift+ 'и <o>это строчная букваот.е. oДля заглавных букв Ö используйтеОт. е. Shift+ oи вместо последнего символа в составе комбинации.)

    Использование шестнадцатеричного кода символа Unicode:

    • Нажмите (и отпустите) Shift+ Ctrl+ U, затем, пока подчеркнутотывведите шестнадцатеричный код символа Unicode, а затем Returnили Space.

    например, Ctrl+ Shift+, uза которым следует 2 6 3 bи затем Returnили Spaceдля ☻.

    (..так что для этого вам потребуется запомнить номер Unicode)

☻ Ура...

решение3

С тех пор, как я задал этот вопрос, я перешел наЛинукс Минт 17с рабочим столом Cinnamon. Рабочий стол Cinnamon предоставляет те же возможности для временного переключения раскладок, которые были доступны в Ubuntu 12.04, включая возможность удерживать определенную клавишу для временного переключения раскладок клавиатуры.

Связанный контент