Изменить раскладку клавиатуры с помощью левой и правой комбинаций Alt + Shift

Я использую английскую и персидскую раскладку клавиатуры в своей системе Ubuntu. Я хочу изменить раскладку клавиатуры как с помощью Left Alt + Left Shift и Right Alt + Right Shift . В настоящее время я не могу использовать Right Alt + Right Shift , чтобы изменить раскладку клавиатуры с персидского на английский, чтобы мне пришлось использовать Left Alt + < kbd> Сдвиг влево , чтобы изменить его.

Кто-нибудь знает, как я могу установить Alt + Shift для изменения раскладки клавиатуры с обеих сторон? Я использую Ubuntu 12.04.

Спасибо!

6
задан 2 May 2013 в 20:00

6 ответов

Хорошо, еще одна попытка, этот добьется цели, я надеюсь... ;)

Кредиты происходят из-за reverendj1, кто описал способ присвоить Пользовательский ключ для переключения раскладки клавиатуры, с помощью setxkbmap, который показал в обходном решении, которое ссылаются на в Редактировании 2 из моего предыдущего ответа...

Здесь немного более включенный путь, но даст Вам больше гибкости для сочетания клавиш. Во-первых, скопируйте и вставьте этот сценарий, который я записал, и назовите его чем-то как kb_toggle.sh. Удостоверьтесь, что отредактировали LANG1, и LANG2, чтобы быть раскладкой клавиатуры кодирует Вас потребность.

#!/bin/bash

LANG1="us"
LANG2="de"
CURRENT_LANG=$(setxkbmap -query | tail -n 1 | cut -f6 -d ' ')
if [ "$CURRENT_LANG" = $LANG1 ]; then
    setxkbmap $LANG2
else
    setxkbmap $LANG1
fi

сделайте файл путем щелчка правой кнопкой по нему-> вкладка "Properties"-> "Permissions", затем выберите, "Позволяют выполнять файл как программу.

Теперь, откройте вкладку "System Settings"-> "Keyboard"-> "Shortcuts" и избранные "Пользовательские Ярлыки". Нажмите + кнопка в нижней части и назовите ярлык "Переключателем Клавиатуры" или независимо от того, что Вы хотите, действительно. Затем дайте полный путь сценарию, который Вы сделали ранее в поле команды. Хит Применяется. Нажмите, где это говорит "Отключенный" затем, можно установить ярлык на то, что Вы хотите путем нажатия на сочетание клавиш!

Я думаю, что необходимо было бы измениться "de" кому: "ir".

Снова, удачи!


Править

Можно даже сойти с рук острота, если Вы предпочитаете:

setxkbmap us,ir -option "grp:alt_shift_toggle"

Теперь можно переключиться путем нажатия alt+shift

См. также http://wiki.lxde.org/en/Change_keyboard_layouts и http://www.x.org/releases/X11R7.7/doc/man/man1/setxkbmap.1.xhtml


Редактирование 2

В зависимости от того, как Вы решаете достигнуть своей цели, можно хотеть включать lv3:ralt_alt в Вашей команде, приводящей к

setxkbmap us,ir -option "lv3:ralt_alt,grp:alt_shift_toggle"

Посмотрите man xkeyboard-config | grep lv3 для деталей:

lv3:ralt_alt

Правильная клавиша Alt никогда не выбирает 3-й уровень

   xkeyboard-config  provides  the  description files for the X Keyboard Extension (XKB). The configuration options below are
   usually applied with setxkbmap(1).
5
ответ дан 2 May 2013 в 20:00

«Правая клавиша Alt» часто (всегда?) не совпадает с «левой клавишей Alt», но соответствует AltGr см., например,

и как таковая имеет различную и отличную функцию.

Возможно, вы захотите попробовать использовать xdotool - для имитации определенного поведения комбинации клавиш. Таким образом, вы можете установить

  1. Left Alt + Left Shift способом, описанным Abdulkader в своем ответе и
  2. вторую комбинацию как Right AltGr + Right Shift ) с xdotool .

Редактировать

Подробный пример того, как это можно сделать в целом , со скриншотами , plz ссылается на превосходный ответ izx здесь . Что касается ваших вопросов, вы могли бы попробовать

xdotool key --clearmodifiers alt + shift

, а затем назначьте эту команду Shift+Level3 Shift (не вводите ее, просто нажмите right_Shift + right_AltGr ) в пользовательских ярлыках , Опять же, plz ссылается на соответствующую часть ответа izx .

Вуаля, вы отсортированы.


Обратите внимание, что если вы попытались сделать это «наоборот», как это сделано

xdotool key --clearmodifiers ISO_Level3_Shift + Shift

( или альтернативно, но с меньшей вероятностью сработает, Alt_R+Shift_R), отметив, что AltGr «эквивалентен» ISO_Level3_Shift ,

вы, вероятно, застряли, потому что «Alt_R + Shift_R» не , по-видимому, предлагается в стандартном диалоговом окне переключения клавиш.


Дополнительная информация : со страницы xdotool man :

Как правило, любая допустимая строка X Keysym будет работать. Несколько клавиш разделены знаком «+». Существуют псевдонимы для « alt », «ctrl», «shift», «super» и «meta», которые все отображаются на Foo_L, такие как Alt_L и Control_L и т. Д. [ 1146]

также Переназначение клавиши AltGr в Control с помощью setxkbmap может быть вам интересно ...


Изменить 2

См. https://bugs.launchpad.net/ubuntu/+source/xdotool/+bug/696247 и [ 1118] http://code.google.com/p/semicomplete/issues/detail?id=13 ... и предложенный в нем обходной путь (и подтверждено, что он работает с ноября 2012 г. ) из «В настоящее время обходной путь заключается в использовании setxkbmap для принудительной установки вашей раскладки клавиатуры в xmodmap (setxkbmap dvorak и т. д.)» . Таким образом, пожалуйста, обратитесь к моему 2-му отдельному ответу.

0
ответ дан 2 May 2013 в 20:00

Просто добавьте эту команду в качестве запускаемого приложения :

setxkbmap -option lv3:ralt_alt,grp:alt_shift_toggle us,ir

Это должно включить оба переключателя Alt-Shift. Однако вы потеряете функциональность композиции правой клавиши Alt (например, вы не сможете нарисовать знак евро (€), нажав RightAlt + E).

Опции setxkbmap, включая языковые коды, описаны в /usr/share/X11/xkb/rules/base.lst.

Вы можете сначала проверить команду в терминале, прежде чем добавлять ее в свои приложения автозапуска.

Источник: http://crunchbang.org/forums/viewtopic.php?id=11038 (пост № 7)

0
ответ дан 2 May 2013 в 20:00

Персидский и некоторые другие макеты жестко закодированы, чтобы иметь ISO_Level3_Switch (AltGr или любой другой!) Вместо Right Alt, поэтому, когда вы находитесь в английском макете, вы можете использовать Alt_R + Shift_R / Shift_R + Alt_R для переключения на персидский, но когда вы используете персидский В раскладке ключ больше не Alt_R, а ISO_Level3_Switch!

Благодаря Sneetsher мы знаем, как вернуть жестко закодированный ISO_Level3_Switch обратно в обычный ALT

0
ответ дан 2 May 2013 в 20:00

Можно использовать Alt-Shift для обоих языков

Параметры настройки системы... → Раскладка клавиатуры → (нажимают "+" для Добавления новых разметок Языка), 

Опции... → (нажимают) "На ключ (ключи) для изменения расположения" → (галочка) "Левый Сдвиг Alt+Left" → Близко

enter image description here

enter image description here

2
ответ дан 2 May 2013 в 20:00

перейдите к раскладке клавиатуры из тире, а затем нажмите опции, есть опция key(s) to change layout check alt+shift. Это работает для меня, и alt и shift работают, даже вправо alt + left shift работает:)

0
ответ дан 2 May 2013 в 20:00

Другие вопросы по тегам:

Похожие вопросы: