我知道我应该对用左手输入的字母使用右 Shift 键。但我经常只用右手插入冒号,无名指移动,食指移动到冒号键。
我想强迫自己停止这样做,至少在 Vim 中是这样。例如,有什么方法可以防止我使用带有“Q”的“Right-Shift”?
只要您不介意破坏您的CapsLock密钥, Xmodmap就可以满足您的要求。
Xmodmap 可以区分左移键和右移键,因此我们可以首先重新映射RightShift到ModeSwitch以获得我们的方式:
xmodmap -e "keysym Shift_R = Mode_switch"
Run Code Online (Sandbox Code Playgroud)
修改键行为的基本语法是
xmodmap -e "keycode KEYCODE = KEYSYMBOL1 KEYSYMBOL1 KEYSYMBOL3 KEYSYMBOL4"
xmodmap -e "keysym KEYSYMBOL = KEYSYMBOL1 KEYSYMBOL1 KEYSYMBOL3 KEYSYMBOL4"
Run Code Online (Sandbox Code Playgroud)
在哪里
KEYSYMBOL2在按下 的同时按下该键时会触发Shift。KEYSYMBOL3在按下 的同时按下该键时会触发ModeSwitch。KEYSYMBOL4Shift当按下+的同时按下该键时会触发ModeSwitch。KEYSYMBOL1当按下没有上述情况的按键时会被触发。理论就讲这么多。实际上,在修改Shift+Letter组合时,这些重新映射的行为可能会略有不同。我不能代表 Kubuntu,但在这些情况下,某些 Unity 应用程序将覆盖 Xmodmap 指定的行为。
要重新配置每个键以仅接受正确的修饰符,我发现最可靠的方法如下:
要R仅接受RightShift,请执行以下命令:
xmodmap r r R R
Run Code Online (Sandbox Code Playgroud)要L仅接受LeftShift,请执行以下命令:
xmodmap l L l l
Run Code Online (Sandbox Code Playgroud)尖端:
要使重新映射永久存在,请在 中创建/编辑 shell 脚本~/.kde/Autostart/,使其可执行并在其中保存相应的命令。
要撤消所有重新映射,只需执行以下命令:
setxkbmap
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |