回答:
これを手動で行うには、ホームディレクトリに.Xmodmapというファイルを作成します。ターミナルからコマンドを使用してこれを行うことができます
~$ gedit ~/.Xmodmap
ファイルが作成され、geditで開かれます。ファイルに次の行を追加します。
clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
ファイルを保存して、geditを終了します。次回ログインすると、新しいキーマッピングがアクティブになります。設定をすぐに有効にするには、次のコマンドを実行します。
~$ xmodmap ~/.Xmodmap
上記のキーコードがコンピューターによって異なる可能性があります。上記が機能しない場合は、コマンドラインからxevプログラムを実行してみてください。Xevは、画面の隅に新しい小さなウィンドウを生成します。キーボードのキーを押し始めると、そのキーを押したときのすべてのキーマッピング情報が取得されます。
~$ xev
たとえば、xevの実行中に「q」を押すと、次の出力が表示されます。
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0xb6, subw 0x0, time 9127480, (21,-17), root:(22,36),
state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (71) "q"
XFilterEvent returns: False
キーコード24は、私たちが求めている情報です。xevの実行中に左のCtrlキーと左のAltボタンを押して、それぞれのキーコードを取得し、上記で使用したものと同じであることを確認します。
お役に立てば幸いです。
xmodmap ~/.Xmodmap
再起動するたびに再実行する必要があります。どうすれば自動化できますか?
の苦痛になりたくない場合はxmodmap
、gnomeの設定を使用して行うこともできます。
sudo apt-get install gnome-tweak-tool
、開き、入力に移動し、Ctrlキーの位置オプションを左AltとCtrlの入れ替えに変更します。
おそらくを介してこのようなことを行うこともできますがgsettings
、正確な構成エントリ名はわかりません。
単純なテキストエディタを使用して〜/ .Xmodmapを作成し、Xserverを再起動するだけです。
!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!
!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------
! First clear all modifiers & control
clear control
clear mod1
clear mod4
! Swap Control_L and Alt_L
keycode 64 = Control_L
keycode 37 = Alt_L Meta_L
! Menu becomes Alt_R Meta_R (AltGr)
keycode 135 = Alt_R Meta_R
! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L
! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1 = Alt_L Alt_R Meta_L Meta_R
add mod4 = Super_L Super_R
add control = Control_L Control_R
!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
remove lock = Caps_Lock
keysym Caps_Lock = BackSpace
xmodmap ~/.Xmodmap
ロードするために実行する必要がありました。再起動するたびに実行する必要があるかどうかはわかりません。
ターミナルアプリケーションとGUIアプリを使用しているときにCtrlキーを通常の位置に保ちたい場合は、Kintoを見ることができます。
https://github.com/rbreaves/kinto
基本的に何をしているのか、要点は比較的単純ですが、systemdを使用し、アクティブなアプリ名をリッスンするxpropでサービス/スクリプトを作成するx11ベースのシステムで動作するインストーラーKintoを作成しました。
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
単一のソリューションでWaylandとx11をサポートしたいのですが、xpropはその世界向けではありませんでした。
KDE Plasma 5 Waylandの概念実証は次のとおりです。 https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718