如何清除xmodmap设置?


42

标题到底要问什么。如何清除xmodmap设置?

我有一个IBM M型,而xkeycaps不知何故使我的End钥匙根本就不是钥匙。xev使用它时会报告按键,因此我知道该事件是由键盘生成的。另外,xkeycaps认为我的箭头键都是不稳定的,并且显然滚动条已损坏,因此它只能向下滚动-因此我无法向上滚动以找到可能离我的地图很近的IBM键盘,所以我可以修复我的键。

因此,我试图将键盘重置为默认设置,但是xmodmap联机帮助页却没有“全部重置”或“全部清除”或任何类似性质(我能够找到)。

Answers:


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

30
setxkbmap -layout us已重设我的钥匙,谢谢!

8
我发现的另一个非常有用的选项是以setxkbmap -queryxkb的格式打印当前设置,这有助于我根据需要从终端配置Apple键盘
metakermit

1
请谨慎使用该命令,setxkbmap -layout us因为它将恢复us您所使用的每种语言支持的布局。例如,我的法语按键布局和英语按键布局变成qwerty而不是azerty ..
vdegenne '18

这个问题是关于xmodmap而不是xkb的。这些应用程序存在冲突,如果您的系统确实使用xmodmap(与现代Ubuntu一样),则在使用xkb reset命令后可能会感到困惑,然后尝试修改xmodmap中的键绑定(就像我所做的那样)
Michael Fulton


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

一个人就能做...


简单而完美的工作!:)
斯特凡·黑森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.