Настройка функциональности клавиатуры (мертвая клавиша) в X

8

Моя предпочтительная конфигурация клавиатуры - международная. Когда я использую его на MS-Windows и введите некоторые специальные символы (например, ~ ' ") , а затем a, o nя получаю á óили , ñкак я хочу.

Однако, когда я набираю эти символы, за которыми следует буква, которая не совпадает, я получу этот специальный символ, за которым следует буква. Так что, если я хочу напечатать, скажем, "qя могу сделать это, нажав "q. Тем не менее, если я делаю то же самое в Gnome, мне нужно сделать это так "q, иначе я получу слышимый звонок.

Кроме того, если я хочу напечатать две одинарные кавычки, в Gnome мне нужно набрать 'четыре раза вместо двух раз, которые требуются для MS-Windows. Я знаю, что это довольно незначительное раздражение, но оно доходит до меня, и я вижу GNU + Linux как сильно настраиваемую ОС, и я хотел бы узнать больше о том, как мне делать такие вещи. Переход на обычную клавиатуру США не вариант, потому что мне нужно использовать такие символы, как á óили ñдля ввода на испанском языке.


примечание: я использую Debian

camilo.forero
источник
Ну, переход к обычному ключу US + compose является опцией, тогда вы наберете compose, ', a для á, compose', o для ó, compose, ~, n для ñ и т. Д. Но это скорее обходной путь, чем Ответьте на свой вопрос о том, как вы модифицируете раскладку клавиатуры.
Дероберт
У меня та же проблема здесь, на KDE. Предложенных решений недостаточно, поскольку они включают больше нажатий клавиш, чем мне бы хотелось.
rubenvb
Я думаю, я недавно поставил тот же вопрос только для Linux Mint вместо Debian. Смотрите здесь для моего (почти полного) решения с использованием xim: unix.stackexchange.com/questions/220510/…
Джейми

Ответы:

6

Последовательности мертвых ключей настраиваются в том же месте, что и последовательности составных ключей, в составной карте. Compose файл карты загружается каждым приложением при запуске; следующие файлы пробуются по порядку:

  1. имя файла, указанное в переменной среды XCOMPOSEFILE
  2. ~/.XCompose
  3. /usr/share/X11/locale/LOCALE_NAME/Compose(например /usr/share/X11/locale/en_US.UTF-8/Compose)

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

Например, чтобы определить, dead ¨ qчтобы вставить "qи dead ' dead 'вставить '':

<dead_diaeresis> <q> : "\"q"
<dead_acute> <dead_acute> : "''"

Вам придется повторить "qпоследовательность для всех букв, здесь нет возможности макросов. Насколько я знаю, здесь также нет возможности возврата: если определена последовательность для, <dead_diaeresis> <a>но нет последовательности, <dead_diaeresis> <q>то ввод <dead_diaeresis> <q>не будет ничего вставлять.

Если вам нужны более сложные возможности, вам придется перейти от базового средства создания в мир методов ввода . Методы ввода в первую очередь предназначены для людей, которые используют неалфавитные или множественные сценарии, но, конечно, вы можете использовать их и для диакритических знаков. Доступно несколько структур метода ввода. Начиная с Gnome 3.6 , в Gnome интегрирована поддержка iBus .

Жиль "ТАК - перестань быть злым"
источник
2

Есть несколько вариантов клавиатуры, я могу видеть около 5 или около того, мы международные. Кажется, у вас включены мертвые ключи. Попробуйте другой, некоторые из которых пользователь сочетает, например, alt gr"oдля alt gr ö. Существует также возможность использовать compose compose"oдля ö(это то, что я использую), если Alt не объединяется, тогда alt gro может производить ö или ó или. Поэкспериментируйте с различными настройками раскладки клавиатуры.

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

Ctrl-Alt-Делор
источник