web-dev-qa-db-ja.com

キーボードショートカット(コピー、貼り付けなど)をCtrlではなくAltキーに再マッピングする

興味深いことに、これはほとんど不可能です。 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でこれを達成することは可能ですか?

5
Eren Tantekin

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
2
gianni

これには 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")
                 ]
2
Raugturi