我在运行 Linux 的 ThinkPad 上插入了一个 Das 键盘。出于某种原因,有时 Ubuntu 要求我xmodmap
在解锁屏幕时重新运行,这会按照我的意愿将我的Caps Lock键与交换Control。这种情况经常发生,所以我通常会打开一个终端窗口,其中xmodmap
显示我运行的最后一个命令,这样我就可以点击↑,然后重新运行命令并修复我的键盘。不幸的是,有时我会忘记立即执行此操作,直到我使用该键并发现它忘记了与该键的映射时Enter我才注意到。Caps LockControl
今天就是这样的一天。不幸的是,我忘了Caps Lock在运行之前再次按下 键来禁用它xmodmap
(如上所述,我这样做时没有输入任何字符,这会提醒我大写锁定已打开)。现在大写锁定已启用,我没有可以按下的键来禁用它,因为Caps Lock已经映射到Control。我尝试立即注销并重新登录,但显然这“不够长”,不足以让 Ubuntu 忘记我的按键映射。(此外,很难重新登录,因为我必须记住Shift在输入密码时按住 键。)我可以从命令行运行什么来轻松撤消此操作,而不是创建一个新.xmodmap
文件来撤消当前文件添加的映射?
答案1
您可以setleds -caps
在控制台内运行该命令。要进入控制台,请按++ ,然后按 ++Ctrl返回到原来Alt的位置。F1CtrlAltF7
答案2
我将我的(完全没用的)重新映射Scroll Lock为我的新的Caps Lock。
!!!
!!! For Dvorak and Qwerty
!!!
remove Lock = Caps_Lock
remove Lock = Scroll_Lock
remove Control = Control_L
keysym Scroll_Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Lock = Scroll_Lock
add Control = Control_L
答案3
您可以将以下内容复制粘贴到终端(在 Ubuntu 上为Ctrl
- Alt
- Del
)以将其关闭:
python -c 'from ctypes import *; X11 = cdll.LoadLibrary("libX11.so.6"); display = X11.XOpenDisplay(None); X11.XkbLockModifiers(display, c_uint(0x0100), c_uint(2), c_uint(0)); X11.XCloseDisplay(display)'