
興味深いことに、これはほとんど不可能であることがわかりました。Alt キーを別の Ctrl キーとして動作するように再マッピングすることは、Alt キーの機能 ( など、いくつかは必須Alt+Tab
) が失われるため、解決策にはなりません。
cmd+Tab
では、cmd キーをキーボード ショートカット (および を使用したウィンドウの切り替え)に使用する MacOS と同様の動作を実現するにはどうすればよいでしょうか?
Ctrl+Tab
Alt キーを Ctrl キーとして再マップした後、ウィンドウ間の切り替えに割り当てることができることはわかっています。しかし、そうするとCtrl+Tab
、Chrome でのタブの切り替えなど、一部のアプリケーションで重要な実際の機能が失われます。基本的に、Ctrl キーと Alt キーは同じキーになり、これら 2 つの修飾キーに 2 つの異なるショートカット セットを設定することは不可能になります。
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 のいずれかでこれを実現することは可能ですか?
答え1
使用できますXキーキャップ。
これは私のファイルです.Xmodmap
。Apple キーボードを持っています。
! 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
答え2
使用できるはずですxdoツールそしてadditionalKeys
、XMonad.Util.EZConfigこのためのモジュールです。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")
]