Двойное нажатие на мертвые клавиши

9

Я недавно переключился с Windows на Ubuntu 11.04, и меня немного беспокоит то , что когда дважды нажимают мертвую клавишу (например, ^или ´), поведение этих двух ОС различается.

В Windows первое нажатие не работает, но второе нажатие дает вам два символа. Так, например, нажатие ¨один раз ничего не дает, а дважды - нет ¨¨.

В Ubuntu первое нажатие также мертво, но второе нажатие выводит только одного персонажа. Таким образом, нажатие ¨один раз ничего не дает вам, дважды - нет ¨.

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

Я не хочу делать их не мертвыми, потому что я не смог бы писать, например, для ü.

Возможно ли такое, и если да, то как?

Себастьян Пааске Тёрхольм
источник
2
Просто из любопытства, я помню это поведение из моих дней Windows, и меня всегда удивляло, какой вариант использования может быть для того, чтобы хотеть двух из них, любое понимание? Я не думаю, что был один раз, когда я не использовал backspace после двойного нажатия мертвой клавиши.
Уорд Мюйлаерт
Например, при написании LaTeX цитируемый текст пишется как `` this ''. Там также смайлик ^^.
Себастьян Пааске Тёрхольм,
1
Я вижу, Кайл автокорректирует мои "в" или "в зависимости от того, что нужно.
Ward Muylaert
Я только что определил свою собственную функцию qq {} и q {} для кавычек. Если вы используете конкретный редактор, вы можете запрограммировать, что один `будет выводить` `или около того
Martin Ueding

Ответы:

1

Вы можете получить аналогичное поведение с помощью клавиши compose. Клавиша составления может быть установлена ​​в Системных настройках -> Клавиатура -> Макет -> Параметры -> Клавиша составления. Теперь, чтобы набрать ü, нажмите compose, отпустите compose, а затем продолжайте как в Windows.

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

aureianimus
источник
0

Насколько я знаю, то, что вы спрашиваете, невозможно; однако, если вы измените раскладку клавиатуры на AltGrтакую, в которой есть «мертвые клавиши», вы все равно сможете использовать их как «мертвые клавиши» ü.

Как достать эти тупицы очень легко; например üбудет AltGr + Shift + '.

Если у вас нет выделенного AltGrключа, то этот Altключ будет правильным ключом.

MrChrisDruif
источник
0

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

Я не хочу делать их не мертвыми, потому что я не смог бы писать, например, для ü.

Я хотел то же самое и не смог найти простой способ заставить Ubuntu вести себя точно так же, как окна (мертвый ключ, но вводить его дважды, когда вводить дважды). Решение, которое я сейчас использую для себя, использует мертвые клавиши, но все же позволяет мне вводить специальные символы, которых нет на моей клавиатуре, например à.

Что мне нужно сделать, чтобы написать такой символ, - это сначала нажать клавишу «Создать».

Есть несколько способов установить композитный ключ, в том числе хороший графический интерфейс, gnome-tweak-toolкак предложено здесь . Но используя Capslockили Right Altдействительно испортил мой поток.

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

Это делается следующим образом:

  1. Установите раскладку клавиатуры, чтобы не использовать мертвые клавиши
  2. Найдите доступные варианты с grep "compose:" /usr/share/X11/xkb/rules/base.lst
  3. Установите предпочтительный вариант, используя что-то вроде этой команды
    dconf write /org/gnome/desktop/input-sources/xkb-options "['compose:lwin-altgr']"
  1. Возможно, вам придется выйти и снова войти
lucidbrot
источник
Я сталкиваюсь с очень похожей проблемой, с той лишь разницей, что мне нужно было набрать `(dead_grave) только один раз. Я не хочу, чтобы он работал для ввода составных символов (он мне нужен для разработки кода). сейчас я должен напечатать дважды, чтобы получить одинарную кавычку. любой совет?
Цезарпач
@cesarpachon Вы пробовали все раскладки клавиатуры, которые обычно доступны? Например, для швейцарского немца есть 4 варианта. Я мог бы вас неправильно понять, но, возможно, все, что вам нужно, это раскладка клавиатуры, на которой написано «нет мертвых клавиш»
lucidbrot
Я не хочу менять полный макет, просто настроить один ключ. У меня есть испанская клавиатура, и клавиша dead_grave должна быть активирована с помощью alt gr. в американских клавиатурах это прямое нажатие клавиши. все остальные ключи в порядке. Я смог изменить это поведение с помощью xmodmap, но мне нужно еще дважды нажать, чтобы вставить символ. Я хотел бы нажать его только один раз для написания кода. как: вместо à я хочу просто: hello(функция JavaScript для интерполированных строк). Спасибо за ваше предложение, я буду искать альтернативные макеты (я хотел бы сохранить dead_acute для испанского: Canción)
cesarpachon
Хм, хорошо. Я бы посоветовал вам задать новый вопрос, @cesarpachon. Я не знаю как, но я уверен, что это должно быть выполнимо с помощью связывания клавиш
lucidbrot