興味深いことに、これはほとんど不可能です。 Altキーを別のCtrlキーとして動作するようにマッピングし直すことは、Altキーの機能(Alt+Tab
などの重要な機能)を失うため、解決策ではありません。
それでは、キーボードショートカットにcmdキーを使用する(ただし、cmd+Tab
を使用してウィンドウを切り替える)MacOSに似た動作を取得するにはどうすればよいですか?
AltキーをCtrlキーとして再マップした後、Ctrl+Tab
を割り当ててウィンドウを切り替えることができることを知っています。しかし、その後、一部のアプリケーションで実際の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でこれを達成することは可能ですか?
XKeyCaps を使用できます。
これは私の.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
これには 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")
]