Как я могу исправить раскладку клавиатуры?

9

В течение долгого времени моя клавиатура была настроена на использование раскладки, в настоящее время известной как «Английский (международные мертвые клавиши AltGr)». Мне нравится эта раскладка, потому что без каких-либо клавиш-модификаторов она идентична клавиатуре для английского языка в США, но, удерживая ее, Right Altя могу получить буквы с акцентом и другие символы, недоступные на стандартной клавиатуре в английском языке.

В Oneiric, однако, расположение перепутано. Right Alt+ Nпроизводит «ñ», как и ожидалось. И еще один метод работает: Right Alt+ `, Eпроизводит «è», также, как и ожидалось. Но нет способа набрать «é», что, вероятно, является ударной буквой, которую я набираю больше всего. Я ожидаю Right Alt+ A,Eсделать трюк. Но вместо мертвого ключа для острого акцента, он использует метод для объединения символов, чтобы создать гибрид «́e». Этот гибрид выглядит как правильное «é» в некоторых настройках, но это не тот же символ и не всегда работает. (Например, в поле ввода текста, когда я набираю это, он выглядит так же, как и правильный символ, но когда он отображается на сайте для всех, так что смотрите, он выглядит очень неправильно - по крайней мере, на моем компьютере.) То же самое для всех другие символы с острым акцентом, хотя некоторые доступны непосредственно как предварительно составленные символы: например, Right Alt+ Iвозвращает «í».

Как я могу изменить острый акцент на Aключе на правильный мертвый ключ? Возможно более общая версия этого: Как я могу настроить раскладку клавиатуры?

Обновить

Я только что проверил это на моей другой машине, также работающей под управлением Oneiric, но обновленной с предыдущих версий. У меня нет проблем со второй машиной. Проблемной машиной была свежая установка Oneiric, но я сохранил свою старую, $HOMEкогда сделал новую установку.

осветление

Даже если ответ не касается моих конкретных примеров, я все равно приму его, если он предоставит мне достаточно деталей, чтобы найти макет и настроить его в соответствии с моими потребностями.

Основное обновление

Проработав информацию, полученную из полезных ответов Джима Си и Часкона, я узнал кое-что новое: проблема не в самом макете, а в том, что выбранный макет не применяется. Когда я посмотрел на определение /usr/share/X11/xkb/symbols/usмакета, который работал долго, я обнаружил, что определение не совпадает с тем, что я получаю, когда набираю текст. Кроме того, диалоговое окно раскладки клавиатуры, которое должно показывать текущую раскладку, выглядит не так, как раскладка, определенная в упомянутом мной файле, и соответствует тому, что фактически происходит при наборе текста.

Следуя предложению Джима С., я создал новый макет, /usr/share/X11/xkb/symbols/usсодержащий некоторые изменения в макете, который я хочу. Я могу выбрать свою раскладку в свойствах клавиатуры и использовать ее на консоли после публикации Chascon, но раскладка, которую я получаю при наборе текста, остается неизменной.

Видимо, где-то определен другой макет, который переопределяет то, что я установил. Где этот макет скрывается?

Эта проблема возникает в Unity (3D и 2D), но мне удалось получить правильный набор макетов в Xfce.

Если это актуально, эта проблема возникла с тех пор, как я установил Oneiric fresh на эту машину (хотя я сохранил свой $ HOME). Я не помню, возникла ли эта проблема до переустановки.

Кроме того, на случай, если это уместно, я также запускаю iBus, чтобы набирать корейский. У меня есть несколько трудностей с iBus, но я сомневаюсь, что они связаны.

Скотт Северанс
источник
Вы пробовали последовательность Right-Alt + ' + e?
энзотиб
Не работает RightAlt + 'выдает , а не мертвый ключ.
Скотт Северанс
Вы когда-нибудь находили решение?
Пантера
@ bodhi.zazen: Нет. Проблема все еще существует.
Скотт Северанс
Добавлено Int. Клавиатура с мертвыми клавишами и нажатием Right-Alt+eприводит к букве è: То же самое с Right-Alt+a=> á
koni_raid

Ответы:

4

Я расскажу вам, что в итоге сработало лучше для меня.

  1. Откройте панель настроек раскладки гномов
  2. Переместите порядок компоновки, если у вас более одного
  3. Удалить все макеты, кроме стандартного (у меня был макет в США)

Предыдущие два шага были предложены как исправления самостоятельно (на форумах Ubuntu?). Они не работают для меня. Я попробовал их вместе последовательно, и это снова не сработало для меня. Таким образом, мой следующий шаг.

  1. Нажмите «Сбросить по умолчанию»
  2. Изменения макета, выполненные как на панели макета, так и в индикаторе, теперь приводят к изменению макета.
  3. Конечно, добавьте макеты обратно, прежде чем пытаться изменить их. Используйте функцию предварительного просмотра, чтобы найти макет, который легко производит диакритические знаки, которые вы ищете.

Я думаю, что моя проблема была в том, что некоторые макеты изменились по имени, по крайней мере, это мое мнение, учитывая, что имена макетов были не совсем такими, как я ожидал при их переназначении. Удаление моих дополнительных макетов и последующее назначение новых из нового списка, кажется, обошло мои проблемы, так как то, что макеты по моему выбору теперь указывают на существующие макеты с именами, чтобы соответствовать.

chascon
источник
В конце концов! Большое спасибо. Это наконец-то сработало.
Скотт Северанс
3

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

sudo dpkg-reconfigure keyboard-configuration

Если он не прилипает, вам, вероятно, придется измениться /etc/default/keyboard. Я думаю, что у меня есть ваша клавиатура, и мой соответствующий файл показывает следующее, работает через старую клавиатуру IBM clone 104.

XKBMODEL="pc104"
XKBLAYOUT="us"
XKBVARIANT="intl"
XKBOPTIONS="terminate:ctrl_alt_bksp"

Так что делайте это с gksudo gedit /etc/default/keyboardдетьми или как бы то ни было, дети сейчас редактируют файлы Читайте соответствующую информацию здесь для того, чтобы подключить.

Я вижу sudo udevadm trigger --subsystem-match=input --action=change, предлагается в другом месте здесь.

Если это не сработает, возможно, ваш макет поврежден или просто неправильный, и я не уверен, что поможет, но я бы попробовал переустановить xkb-data, iso-коды.

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

dpkg-reconfigure locales 
update-locale LANG=en_US.UTF-8

Полагаю, я должен упомянуть, что я хорошо использовал макет «Английские международные мертвые ключи AltGr», если вы ищете мертвые ключи. Я не знаю, что /etc/default/keyboardфайл будет отражать для этого, но поиск в Google наверняка принесет ответ, но сначала попробуйте добавить его через панель раскладки клавиатуры. Предупреждение, кажется, есть предел 4, прежде чем вы не можете больше добавлять.

Кроме этого, я бы указал вам на xmodmap. Он способен переопределить макет по умолчанию. Дайте мне знать, если таковые имеются, или какие из них помогают.

На каких языках вы пишете, кроме английского? Испанский (из-за ñ)? а также?

Chascon
источник
Я сделал открытие, которое значительно меняет игру. Смотрите мой обновленный вопрос выше.
Скотт Северанс
2

Я не уверен, что это поможет вам, но когда я задал этот вопрос моему немецкому коллеге (который также использует Ubuntu), он отправил мне эту ссылку:

http://ubuntuforums.org/showthread.php?t=1654199&highlight=.Xmodmap

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

Желаем удачи в решении этого!

Джим С
источник
Период щедрости закончился. Моя проблема не была решена, но поскольку этот пост решил мой первый вопрос (который оказался неуместным), я присуждаю награду. Но проблема остается нерешенной.
Скотт Северанс
Спасибо, Скотт, это было мило с твоей стороны. Я надеюсь, что кто-то может помочь понять, что переопределяет ваш выбор раскладки клавиатуры.
Джим С.
1

Мне просто интересно, что произойдет, если вы измените или создадите ~ / .dmrc как в:

[Desktop]
Language=de_DE.UTF-8   # change to your default lang
Layout=de   nodeadkeys # change to your keyboard layout

А затем запустите:

sudo udevadm trigger --subsystem-match=input --action=change

Источник: навсегда изменить раскладку клавиатуры

Chascon
источник
У меня .dmrcуже есть, и оказывается, что он был установлен на неправильный макет. Я исправил это и выполнил твою udevadmкоманду. Нет кости. Я перезагрузился, и все равно это не сработало.
Скотт Северанс
0

В ibus есть ошибка, из-за которой он по умолчанию не использует системный макет по умолчанию.

Попробуйте установить ibus preferences->advanced->keyboard layout->use system keyboard layoutна on. Если он уже установлен onили если его установка onне помогает, оставьте комментарий, и я продолжу изучать его для вас.

Крис Браун
источник
Хорошее предложение, но эта настройка уже была включена, и переключение не помогло.
Скотт Северанс
Просто из интереса, отключение ibus решает проблему? Точно так же мы можем определить, имеет ли проблема какое-либо отношение к ibus.
Крис Браун
Это не имеет никакого эффекта.
Скотт Северанс
Что произойдет, если вы выберете макет с помощью sudo dpkg-reconfigure keyboard-configuration?
Крис Браун
Я уже сделал это. Он устанавливает правильный макет на консоли, но не помогает изнутри Unity.
Скотт Северанс
0

Я нашел How-To, который подтверждает, что dpkg-reconfigure keyboard-configurationдолжен работать.

записывает файл / etc / default / keyboard, который читается HAL и X, для настройки консоли и графики. Если вы хотите применить изменения, вы должны перезапустить HAL.

Так что он пишет /etc/default/keyboardи должен установить Xи утешить, учитывая, что оба читают этот файл. Вы должны перезагрузить HALхотя, и я не думаю, что это было упомянуто.

Предполагая, что Ubuntu не слишком далеко отклоняется от Debian, если вы заметили, что /etc/default/keyboardвыполняется запись (отражает макет, который вы хотите после запуска dpkg-reconfigure keyboard-configuration), но нет изменений в реализованном макете, то проблема в том, что система не реагирует на Это. Очевидно, что если он не записывается, то dpkg-reconfigure keyboard-configurationвиноват (по крайней мере, в этом случае). И если он записывается, но не привязывается к перезагрузкам, то вам необходимо идентифицировать виновника или процесс, который ошибается.

Кто-то, более знакомый с внутренностями Debian / Ubuntu, должен быть в состоянии идентифицировать возможных виновников описанного выше сценария.

Я хотел бы добавить, что у меня была похожая проблема, и выбор макета на lightdmсамом деле работает. Так что еще один способ добиться этого - выяснить, что lightdmпишет при выборе макета.

Наконец, попробуйте перезапустить HAL после запуска dpkg-reconfigure keyboard-configuration. Я никогда не делал это вручную, но я думаю, что-то вроде следующего может сработать.

/etc/init.d/hal restart
Chascon
источник
На самом деле, Ubuntu не использовал hal для нескольких версий. Эта роль занята Удев в эти дни. В любом случае, /etc/default/keyboardэто правильно в моей системе, благодаря предыдущему ответу. Моя машина с тех пор несколько раз перезагружалась. К сожалению, проблема сохраняется. Спасибо за ваши усилия, хотя.
Скотт Северанс
-1

У меня была эта проблема / вот мое решение.

1. remove the keyboard layout.
2. add the layout back
3. make sure 3rd layer is set to Right Alt

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

затем проверьте правый Alt + backtick -> Shift + E = È и правый Alt + Shift + i = Í

также, если это не работает, удалите или переустановите xkb-data

zeitue
источник
Спасибо за Ваш ответ. Однако это никак не отразилось.
Скотт Северанс