Замена экспонентов (^ 2 -> ²)


9

В моей недавно установленной системе Debian 7, каждый раз , когда я тип на клавишах , ^то 2, я получаю ² (ASCII символ для «квадрата»). То же самое верно с 2 заменены на 3 до 8.

Как я могу деактивировать это, чтобы получить ^2вместо этого, как в Mac OSX?


1
Это происходит при вводе текста (терминал, веб-браузер, текстовый редактор и т. Д.)?
KAMonica

У меня та же проблема (отсюда и награда), и это происходит во всех текстовых редакторах. Проблема исчезнет, ​​если я выберу раскладку клавиатуры с «мертвыми клавишами» в системных настройках, но тогда я больше не смогу набирать акценты.
Клаус

Ответы:


3

Возможно, настройка ключей для композиции? Вы случайно используете Gnome?

Попробуйте проверить файлы, перечисленные здесь ; /usr/share/X11/locale/compose.dirи /usr/share/X11/locale/en_US.UTF-8/Compose(последний может меняться в зависимости от первого; см. ссылку для более подробной информации)


3

Вы можете попробовать использовать xmodmapдля этого некоторую полезную информацию на странице ArchWiki xmodmap . По сути, это утилита для управления отображением клавиатуры в X. Для вашего конкретного вопроса вы можете сделать что-то вроде

xmodmap -pke >mycustommodmap

чтобы получить текущие настройки в первую очередь. В моей системе «плохое» нажатие клавиши вызывало что-то вызываемое dead_circumflex, которое можно найти в этом файле. После изменения этого asciicircumи загрузки новой карты с

xmodmap mycustummodmap

ключ теперь сразу выдает ^.

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

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

На самом деле, хотя сначала нужно получить текущую карту, вам не нужны все эти строки .Xmodmap, а только те, которые вы хотите изменить. Например, по моему .Xmodmap, для изменения поведения ^(круговое) и ~(тильда) содержимое просто

keycode  34 = asciicircum dead_diaeresis dead_circumflex dead_diaeresis bracketleft dead_abovering bracketleft
keycode  61 = equal plus equal plus asciitilde dead_abovedot dead_tilde

2

Попробуйте обмануть компьютер. У меня была эта проблема много раз прежде, и ее можно обмануть, набрав «^», нажав пробел, затем добавив еще один пробел сразу после ^, затем 2, затем удалив пробел между ними и нажав после «^ 2», это сработало для меня раньше, но иногда это совпадение. Дать ему шанс.


Конечно, это работает, но требует 3-х нажатий клавиш вместо 2.
Клаус

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

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

Ну, естественно, это не постоянное исправление; однако это самый жизнеспособный ответ, который я должен дать. :(
Crutchcorn

0

Я думаю, это проблема ввода GTK, попробуйте другой метод ввода с некоторым приложением GTK:

$ GTK_IM_MODILE=xim gedit

Если это поможет просто экспортировать GTK_IM_MODILEпеременную, добавив export GTK_IM_MODILE=ximв ваш ~/.profileили другой метод, который вы предпочитаете.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.