Как очистить настройки xmodmap?

42

Именно то, что просит название. Как очистить настройки xmodmap?

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

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

Уэйн Вернер
источник

Ответы:

65

xmodmapне имеет понятия о состоянии, поэтому не может напрямую сбросить состояние. Вы можете смоделировать его, используя xmodmap -pke >.xmodmap.origперед внесением каких-либо изменений (хотя он не сохраняет карту модификатора, которую вам придется сохранять и восстанавливать вручную) - но для этого уже слишком поздно.

Современные системы обычно не используют xmodmapдля настройки клавиатуры. setxkbmapэто современный способ сделать это; и это сбрасывает привязки при запуске. Таким образом, вы можете использовать setxkbmap -layout usдля сброса вещей в нормальное русло. Более полным будет проверить конфигурацию по умолчанию в /etc/X11/xorg.conf. Например, в моей системе

jinx:718 Z$ sed -n '/Identifier.*Keyboard/,/EndSection/p' /etc/X11/xorg.conf
        Identifier      "Generic Keyboard"
        Driver  "kbd"
        Option  "XkbModel"      "pc105"
        Option  "XkbLayout"     "us"
        Option  "XkbOptions"    "grp:alt_shift_toggle"
EndSection

Соответствующая команда

setxkbmap -model pc105 -layout us -option grp:alt_shift_toggle

Если XkbVariantв выводе есть запись, вы передадите ее значение с помощью -variant. Единственное, на что следует обратить внимание, это то, что параметры обрабатываются специально: вы можете установить только один параметр для каждого -optionпараметра, и вам нужно -option ''сначала использовать его для сброса параметров. Таким образом, чтобы полностью сбросить, когда есть что-то, как XkbOptions "grp:alt_shift_toggle,grp:ctrls_toggle"вам нужно

setxkbmap -model pc105 -layout us -option '' -option grp:alt_shift_toggle -option grp:ctrls_toggle
geekosaur
источник
30
setxkbmap -layout usсбросил мои ключи, спасибо!
Дан
8
Еще одна очень полезная опция, которую я обнаружил, - setxkbmap -queryэто распечатать текущие настройки в формате xkb, что помогло мне настроить клавиатуру Apple по желанию из терминала.
metakermit
1
setxkbmap -layout usбудьте осторожны с этой командой, так как она восстановит usмакет для каждой языковой поддержки. Например, моя французская раскладка клавиш вместе с английской раскладкой клавиш превратилась в qwerty вместо azerty ..
vdegenne
Этот вопрос касается xmodmap, а не xkb. Эти приложения конфликтуют, и если ваша система использует xmodmap (как это делает современная Ubuntu), вы можете запутаться после использования команды сброса xkb, а затем попытаться изменить привязки клавиш в xmodmap (как я)
Майкл Фултон
12

setxkbmap -option сбрасывает мета-ключи по умолчанию.

Mitar
источник
1
Это сработало для меня.
Адриан Лопес
1

Экспериментируя с xmodmap, я испортил свои ключевые настройки с помощью xmodmap -en "keysym BackSpace = Delete". Думал-n флаг не будет предпринимать никаких действий, потому что на man xmodmapстранице указано, что

-n      This  option indicates that xmodmap should not change the mappings, but should display what it would
               do, like make(1) does when given this option.

Тем не менее, команда сделала мой Deleteключ бесполезным.

Прочитав выше, я просто набрал setxkbmap , надеясь, что он покажет мне опции, тогда как на самом деле он сразу же вернулся без вывода, а затем мой Deleteключ снова чудесным образом заработал!

Так выглядит

setxkbmap

один сделает всю работу ...

Джон
источник
просто и отлично сработало! :)
Стефан Гессен