Caps LockキーとCtrlキーを再マップするにはどうすればよいですか?


77

キーCtrlとして振る舞うようにキーをマップし直しますCaps Lock。また、可能であれば、現在ログインしているユーザー内でのみ設定を使用できるようにしたいと思います。どうすればこれを達成できますか?

このマシンを使用する他の人とは異なり、私はvimユーザーです。そのため、これらの設定は自分のアカウントのみにしたいです。


1
これは役立ちますか?
ミッチ


4
私は、これがこの時代のLinux設定の標準機能ではないことにthat然としています。
エドワードフォーク

回答:


59

13.10+:

インストールと使用gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior

13.10より前:

[キーボードの設定]ダイアログ(System -> Preferences -> Keyboard)を開きます。[レイアウト]タブで、Options...ボタンをクリックします。展開Ctrl key positionセクションを選択しSwap Ctrl and Caps Lock

これらの設定はログインするたびに適用される必要があり、ユーザーアカウントにのみ影響します。


2
このオプションは、Ubuntu Saucyではなくなりました。私はこれをどのように説明するかわかりませんが、それは単にそこにありません。キーボードの環境設定には「レイアウト」タブはありませんが、「レイアウト設定」ボタンがあり、クリックすると「地域と言語」パネルの「入力ソース」タブに移動します。 「オプション」ボタンの。そこにある唯一のボタンは仮想キーボードを開き、壊れたキーボードレイアウトを表示します。どのキーの動作を変更する方法はありません。
ロブル

4
Ubuntu 13.10の場合、gnome-tweak-toolを使用する必要があります。
ジェレミービチャ

1
13.10以前のオプションは14.04で機能します
-JeremyKun

@JeremyKunと同じ。私の場合は、14.04を使用して、事前13.10解決策を働いたが13.10+はしませんでした
matiascelasco

この答えをありがとう!gnome-tweak-tool本当にいいです。あなたも(...あなたは長年のMacユーザーしてきた場合に便利です)(個人的な好み)と「スイッチAltキー/ Winの」「使用キャップは、キーボードレイアウトを切り替えるためのロック」などの細かな点のためにそれを使用することができます
パールンドバーグ

63

これをグラフィカルに行う最良の方法の1つは、Gnome Tweak Toolをインストールすることです。

sudo apt-get install gnome-tweak-tool

  • tweak-toolを開き、左側の列の入力セクションをクリックします。
  • 左側にCaps Lockキーの動作の行が表示されます。
  • ドロップダウンリストで[ 無効]の代わりに[Caps Lockを追加のCtrlキーに設定]を選択します。

設定パネルが私のマシン上で起動するのに多くの時間はかかりませんので、私は問題が何であるか分かりません。

新しいCtrlキーをお楽しみください!


CAPSキーを使用して画面をオフにしたかった。システム設定>キーボードウィンドウでこれを設定しましたが、CAPSはCapsLock状態とLEDを切り替えました。だから私はあなたが推奨するツールでキーを無効にしました(これはいくつかの表示エラーがあります-透明なウィンドウの背景)無効にした後、ショートカットを再度設定して機能させる必要がありました。値0xffまたはCAPSの代わりにこのようなものに設定されました。この手順は、同様の希望を持つ将来の読者に役立つかもしれないと思いました。
バイトコマンダー

コマンドラインからgnome-tweak-toolを実行すると、シェルがDBusを実行していないというエラーメッセージが表示され、設定を変更しようとしても効果がありません。
エドワードフォーク

1
更新:gnome-tweak-toolはgnomeシェル内でのみ機能します
エドワードフォーク

1
左の列には「タイピング」セクションはありません。デスクトップ、フォント、シェル、シェル拡張、テーマ、Windowsのみです。
Reb.Cabin

2
gnome-tweak-toolのswapオプションは、「Caps Lockキーの動作」ではなく「Ctrlキーの位置」の下にあることに注意してください。
フィルゲッツ

59

追加のソフトウェアをインストールせずにそれを行う方法は次のとおりです。

setxkbmap -layout us -option ctrl:nocaps

ソース:


3
これは再起動後は残りません。これを永続的にするにはどうすればよいですか?私はこれを起動スクリプト(例えば.bashrc)に入れたくない。
nic

8
@nicファイルsudo vi /etc/default/keyboardとchange も変更する必要がありますXKBOPTIONS="ctrl:nocaps"。その後にJorgeのコマンドを実行しsetxkbmap -option ctrl:nocapsますが、デフォルトのキーボードレイアウトは変更されません。
レオレオポルドヘルツ

43

編集のために次を開きます。

sudo vi /etc/default/keyboard

そして編集 XKBOPTIONS="ctrl:swapcaps"

次に、再構成します。

sudo dpkg-reconfigure keyboard-configuration

または

/usr/bin/setxkbmap -option "ctrl:swapcaps"

質問は「これらの設定は自分のアカウントのみにしたい」です。/ etc / default / keyboardを編集すると、全員に変更されます。
スキーヤーページ

1
3つのステップ(1、2、3)があります。[(1と2)または3]または[1と(2または3)]を意味しますか?
jgomo3

すばらしいです!走り、sudo dpkg-reconfigure keyboard-configurationいくつかのプレスを押して、それは働いた!!! 編集:ただし、ログアウトしてからログインし直すと、設定はなくなりました。:(
レオン

24

動作を永続的に変更するには:

  1. 走る dconf-editor

  2. 選択する org.gnome.desktop.input-sources

  3. 変更xkb-options['ctrl:nocaps'](または任意の既存のオプションに追加)

またはコマンドラインで(警告-これは既存の設定を上書きします!):

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

この1つのライナーは、移植性のために〜/ .profileに追加することもできます。
jthetzel

Kubuntu 16.04では、再起動後でもこれは機能しませんでした。
zplizzi

3
dconf設定はすぐに適用され、永続的であるため、〜/ .profileに置くことは意味がなく、再起動の必要はありません。この特定の設定は、Gnome / Unityにのみ適用され、Kubuntuで使用されるKDEには適用されません。
アントンエリアソン

4

方法がわかれば、これは簡単な作業です。

1)キーのキーコードを確認します。ターミナルでこのプログラムを実行します。

xev


この例では、端末はmyのキーコードkが「45」であることを示しています。

2)このファイルの作成に合わせて変更します。

gedit〜/ .Xmodmap

内容は次の例のようになります。

キーコード37 = Caps_Lock NoSymbol Caps_Lock
キーコード66 = Control_L NoSymbol Control_L

(必要に応じてキーコード番号を変更します-ステップ「1」を見てください)

イラスト:(目的:
変更したい場合kは、ステップ "1"で示したように "キーコード45"を使用する必要があります)。

4)ログアウトしてログインし直すか、再起動するか、これを実行します:

xmodmap〜/ .Xmodmap

お楽しみください;-)


2
このソリューションは、最も単純なキーマップ以外では問題を引き起こす可能性が高いことに注意してください。新しいxkbシステムでのxmodmapの互換性は完全ではないため、可能であればxkbに固執することをお勧めします。
ジェームズヘンストリッジ

@ジェームズは、私たちがそれをどのようにできるのか説明したいですか?
デスグア

この質問に対する他の回答をご覧ください。標準キーボードコントロールパネルは、選択した基本レイアウトと有効なオプションからxkbキーマップを作成します。
ジェームズ・ヘンストリッジ

1
さて、コマンドラインsetxkbmapプログラムを使用して同じキーマップを設定できます。新しいキーマップの作成は可能ですが、Xmodmapキーコードマッピングよりも少し複雑です。あなたが望むオプションのバリエーションのほとんどがすでに利用可能であることは良いことです。
ジェームズ・ヘンストリッジ

1
@ジェームズ。私はsetxkbmapについて検索し、学習しています。しかし、私は答えを見つけることができませんでした:私たちが望むものにキーを再マッピングすることは可能ですか?たとえば、「キーコード51 =ブラケットライトブレースライトブラケットライトブレースライトマスキュリンバー」などのエキセントリックなものですか?
デスグア

4

これは、最近のUbuntuのデフォルトのキーマネージャーであるXKBを使用して、手動で(追加のツールなしで)行う方法です。変更/usr/share/X11/xkb/symbols/pc、セクションxkb_symbols "pc105"

//key <CAPS> {  [ Caps_Lock     ]   };
//key <LCTL> {  [ Control_L     ]   };
key <CAPS> {    [ Control_L ]   };
key <LCTL> {    [ Caps_Lock     ]   };

ログイン/ログアウトまたは再起動します。詳細はこちらをご覧ください。

または、これらのボタンから出力されるキーコードのレベルで交換できます。Modify /usr/share/X11/xkb/keycodes/evdev

<CAPS> = 64; //66;
<LCTL> = 66; //64

sudo rm -rf /var/lib/xkb/*変更を適用する必要があります。


キーコードのレベルで作業することの大きなポイント。Kubuntu Bionicを実行しているラップトップでは、物理Capsキーを押すと内部Caps状態が切り替えられるため、単にシンボルレベルで変更するだけでは満足できません。キーコードの変更は機能します!ところで、私はこれを3つのキー(Caps、Meta、RAlt)に拡張しましたが、実際に<CAPS> = *orig code of the physical key you want to act **as** CAPS*<CAPS> = *orig code of the key you want physical CAPS to act **as**(区別が明確であることを願っています)ではなく、書く必要があることに注意したいと思います。このような場合、この区別が必要です。
ジャマダーニ

3

gnome-tweak-toolsには「タイピング」セクションが表示されないため、受け入れられた答えは混乱を招きます。

代わりに、「キーボードとマウス」セクションをクリックして、「追加のレイアウトオプション」を選択します。そこに、Caps Lockを異なるキーに変換できる「Caps Lock動作」が表示されます。

tweak-toolのスクリーンショット


2

KDEベースのディストリビューション(KDE NeonやKubuntuなど)では、この動作は通常のシステム設定で構成できます。システム設定を開き、「入力デバイス」=>「キーボード」=>「詳細」を選択します。[Ctrlキーの位置]カテゴリで、[CtrlとCaps Lockを入れ替え]を選択します。

KDEのシステム設定のキーボードモジュールのスクリーンショット


0

gnome-tweaks 3.28.1にはTypingセクションがありません。
したがって、setxkbmap -layout us -option ctrl:nocapsまたはsetxkbmap -layout us -option ctrl:swapcaps実行可能なオプションになります。

永続的にするには、@ nameの答えを参照できます。


キーボードとマウス->追加のレイアウトオプション
Voyager
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.