有趣的是,这几乎是不可能做到的。将Alt键重新映射为另一个Ctrl键并不是一个解决方案,因为您失去了Alt键功能(其中一些功能是必不可少的,比如Alt+Tab
)。
那么,如何获得类似于MacOS的行为,其中cmd键用于键盘快捷键(但也用于cmd+Tab
窗口之间的切换)?
我知道在我将Alt键重新映射为Ctrl键之后,我可以指定Ctrl+Tab
在窗口之间切换。但是,在一些应用程序中,我失去了真正的Ctrl+Tab
功能,这些功能也是至关重要的,比如在Chrome中切换选项卡。基本上,我的Ctrl和Alt键将变成相同的键,这两个修饰符键不可能有两个不同的快捷键。
对我来说,一个很好的解决方案可能是在窗口管理级别捕获Alt+C, Alt+V, Alt+X, etc.
并将一个Ctrl+C or Ctrl+V or Ctrl+X etc.
发送到聚焦窗口。在Windows上,这是可以通过AutoHotKey实现的。在Linux上,我听说过一个名为AutoKey的应用程序,但与AutoHotKey不同,您必须使用GUI来设置快捷方式。由于我将手动编写几乎所有的Alt组合,所以我不希望GUI应用程序对此进行处理。我应该能够通过编写文本文件来配置它。
Gnome或Xmonad是否有可能实现这一目标?
发布于 2012-05-19 21:28:33
您可以使用XKeyCaps。
这是我的.Xmodmap
文件,我有一个苹果键盘。
! Swap Alt and Cmd keys.
keycode 37 = Control_L
keycode 133 = Alt_L Meta_L
keycode 64 = Super_L
keycode 108 = Super_R
keycode 134 = ISO_Level3_Shift Multi_key
keycode 105 = Control_R Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add Shift = Shift_L Shift_R
add Lock = Caps_Lock
add Control = Control_L Control_R
add Mod1 = Alt_L 0x007D
add Mod2 = Num_Lock
add Mod4 = Super_L Super_R
add Mod5 = Mode_switch ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
! Configure '=' key on numpad as '='.
keycode 0x7D = equal
发布于 2012-02-14 14:35:33
为此,您应该能够使用来自xdotool模块的XMonad.Util.EZConfig和additionalKeys
。只需安装xdotool,然后在~/.xmonad/xmonad.hs
配置文件中配置additionalKeys,如下所示:
import XMonad.Util.EZConfig
...
main = xmonad $ defaultConfig { ... }
`additionalKeys`
[ ((mod1Mask, xK_c), spawn "xdotool key alt+c")
, ((mod1Mask, xK_v), spawn "xdotool key alt+v")
, ((mod1Mask, xK_x), spawn "xdotool key alt+x")
]
https://askubuntu.com/questions/102846
复制相似问题