Caps LockとEscを永続的に切り替える方法


116

Saucyの機能Caps LockEscキー機能を永続的に切り替えるにはどうすればよいですか?このコマンドを使用して、一時的に(再起動するまで)実行できます。

/usr/bin/setxkbmap -option "caps:swapescape"

そのコマンドをスタートアップアプリケーションとして追加しようとしましたが、何もしないようです。


1
~/.bashrcシステムに再起動するまでこのコマンドが保持されるように、このコマンドを追加しました。(ctrl:nocaps私にとっては、しかしtmux
オピエート14

2
@opyateこのコマンドを〜/ .profileに入れて、対話型ログイン後に1回だけ実行されるようにします。
スザンシャキャ

回答:


126

これを実行する別の方法は通過ですdconf-editor。このメソッドにはからの追加の手順がいくつgnome-tweak-toolかありますが、調整ツールから依存関係を取得したくない場合に便利です。

これにより、caps:swapescape構文を使用して、変更を自動的に永続的にすることができます。

sudo apt-get install dconf-tools

を開始した後dconf-editororg >> gnome >> desktop >> input-sourcesに移動します

で必要なオプションを追加しますxkb-options。オプション文字列は一重引用符で囲まれ、カンマで区切られます。両端のブラケットを削除しないように注意してください。

dconf-editorのxkb-options

この方法を使用して、[システム設定] >> [テキスト入力]で使用できなくなった従来のxkbオプションのほとんどを入力できます。例外は、キーボードレイアウトを切り替えるための設定です。これは、現在バグのために機能していません。

オプションと構文のリストについてman 7 xkeyboard-configは、ターミナルで使用してください。

使用できるもう1つの一般的なオプションは、Xセッションの終了を+ + にterminate:ctrl_alt_bksp許可することです。ctrlaltbackspace


5
参照用に+1 keyboard-config(7)、これは私が探していたものでした。
ulidtko

61
dconf-editorをインストールせずに、コマンドラインからこれを行うこともできます。– dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
Pi

4
この設定はユーザーごとに異なるため、「sudo」を使用して上記のコマンドを実行しないでください。
ボーア

11
(単に割り当てるのではなく)2つのキー'caps:swapescape'交換する必要がある場合に使用する必要があることに注意してください。EscCaps Lock
thameera 14年

1
または、できることgsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"
ACyclic 14

50

ほとんどのLinuxディストリビューションで機能するソリューション:

setxkbmap -option caps:swapescape

他のオプションも可能です:

  • caps:none 無効にする
  • caps:escape 追加のエスケープにする
  • caps:super 追加のスーパー(ウィンドウ)キーにします。

起動時~/.profileこれを機能させるには、対話型ログイン後にのみ実行されるため、これを配置する必要があります。


1
これは、Ubuntu 14.04、Unityで機能します。
チャド

2
Ubuntu 16.04でも私のために働いていた
Jesse Chan

4
18.04の時点で、setxkbmapコマンドを入力し~/.xsessionrc~/.profileログイン/再起動間で設定が維持されるように見えなくなった
-Conrad.Dean

2
@ Conrad.Dean 18.04 LTSに基づくMint 19でこれを使用しています。ここでは問題ありません。設定は保持されることは想定されていませんが、ログイン時にロードされます。
ジョジョ

~/.profileこれを置くには不十分な場所です-そのファイルはすべてのログインシェルで読み込まれます。~/.xinitrcまたはのように、X11の起動時に使用されるファイルに配置します~/.xsession
サーノルド

39

さて、gnome-tweak-toolを使用してこれを行う方法を見つけました。

ターミナルから、実行します

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

Caps LockとEscを入れ替えるオプションは、「入力-> Caps Lockキーの動作」にあります。


5
Ubuntu 14では、ウィンドウのレイアウトは非常に厄介ですが、それでも機能します。
uvasal

1
はい、gnome-tweak-toolデフォルトのツールがあるため、このタスクには使用しないでください。
レオレオポルドヘルツ

これが断然最良の解決策です。
ジェイソンマクベッタ

2
Ubuntuのための> 18.04それはで見つけることができますKeyboard & Mouse> Additional Layout Options>Caps Lock Behavior
Adracus

これは19.04でうまくいきました。私は、任意の得ることができなかったxmodmapsetxkbmapのソリューションは、19.04に持続します。
アーモリス

23

あなたは使用することができますxmodmapをして、端末交換することCaps LockEsc

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

すべてのセッションでこの変更を取得するには、前のコマンドを実行した後.xmodmap、次のコマンドを使用して、新しいキーマップで呼び出されるファイルを作成します:

xmodmap -pke > ~/.xmodmap

次に、.xinitrc次の行/コマンドを含む、ホームディレクトリに呼び出されるファイルを作成します。

xmodmap .xmodmap

6
これはUbuntu 14.04では機能しません。.xsessionrcファイルも試しましたが、機能しませんでした。
miguel.martin 14

設定を元に戻すにはどうすればよいですか?
hlin117

@ hlin117 ~/.xmodmap> ~/.xmodmap端末でのみ実行することにより)ファイルの内容を消去し、セッションを再開します。
ラドゥラデアヌ

2
Ubuntu 14.04では、これによりEscapeがCaps_Lockにマップされますが、Caps_LockはEscapeにマップされません。
user1691145

1
こんにちは、私はこれをしました、そしてそれは動作します。ただし、escはcapslockにバインドされているほか、caps-lockはcaps-lock escapeの両方にバインドされています。デスクトップ環境が何らかの形でこれを上書きする可能性はありますか?私はKDE使用
XOR

18

@Raduの回答に似ていますが、14.04と互換性があります(この回答も参照)。

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

動作しない場合は、次のものを交換します。

xmodmap -e "remove Lock = Caps_Lock"

で:

xmodmap -e "clear Lock"

Linux Mint 17.1(Ubuntuベース)では動作しません:(
JanWarchoł15年

3
「ロックを解除= Caps_Lock」を「ロックを解除」に変更して動作させる必要がありました
ソフィア

13

画面の右上隅にある歯車のアイコンに移動して、次の操作を行います。

  • [システム設定]をクリックします
  • キーボード・レイアウト
  • オプション...(右下隅)
  • Caps Lockキーの動作(4番目の下)
  • 下にスクロールして、「ESCとCaps Lockの入れ替え」を選択します。

できた!


Joe:Ask Ubuntuへようこそ!;-) 編集内容を確認してください。また、将来の回答の読みやすさを向上させるために編集ヘルプを確認してください。
;

2
これはUbuntuとミントのために最良の答えでなければなりません
プラサド

ここに記載されているスクリプト化された更新に加えて、これは何かを行いますか?スクリプトでこれを行うことをお勧めします。
ベンクリーシー

7

ターミナルでこのコマンドを1回実行します。 dconfgnome 3で既にインストールされているはずです。

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"

このソリューションは、ただのRedHat Enterprise Linuxの7.にOKテスト
チャドSkeeters



2

私は答えることが遅れてんだけど、交換する通常の方法Escとは、Ctrl次の行にある~/.Xmodmapファイル:

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

これは、最も一般的なディストリビューション(UbuntuとDebianファミリー、FedoraとRHファミリー)のすべてのデスクトップ環境(KDE、Gnome)で動作するはずです。


ubuntu 16.04では動作しませんでした。詳しく説明してください。
MaikoID

@MaikoID:これは、CapsLockとEscを入れ替えるunixyの標準的な方法です。Unityを使用した新しいUbuntuバージョンは多くの「標準的なユニキシ」の問題を解決することを理解しているため、ここでの他のすべての回答はバージョン固有またはDE固有(Unity)の方法に対処しているようです。それが価値があるものとして、これ私が個人的に使用するKubuntuで動作します。
-dotancohen

2

Ubuntu 18.04およびGnome 3.30の場合、これは私にとって有効です。

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

まだ19.04に取り組んでいます。
Exeleration-G

1

KDE GUI(グラフィカルユーザーインターフェイス)では、これはシステム設定のキーボードレイアウトから実行できます。「入力デバイス」をクリックします。左上の[キーボード]をクリックします。[詳細設定]タブをクリックし、[Caps Lockキーの動作]で[エスケープとCapslockの切り替え]を選択します。


この質問に答えてくれたことは素晴らしいことです。「ESCとCaps Lockを入れ替える」を選択すると、質問を編集して少し拡大し、おそらく希望する結果が得られる可能性があります。が選択されます。
フィルUK

こんにちは、Ask Ubuntuへようこそ!現在の状態では、この回答は実際には完全ではないため、削除のリスクがあります。私たちのお読みください答えるためにどのように戻ってくると、ヘルプページを、そして編集具体的には、より詳細な情報を含めるようにあなたの答えをどのようにこれはOPの質問を解決します。さらに、バッジを取得し、サイトの仕組みをよりよく理解するために、ツアーをお読みください。またね!
カズウルフ

アドバイスありがとうございます。この編集があなたの望むものであることを望みます。
farhadのgoodarzi

参考までに、ドメインとのリンクは機能していないように見えますが(少なくとも私にとっては)、以前のIPアドレスドメインは機能しています。
アンドリューT.

1

上記の「スイッチエスケープとCapslock」の回答を含む「キーボードレイアウト」は、Ubuntu 16.04以降では無効になりました(以前はdunnoでしたか?)。答え:許可などの問題を避けるために、rootに切り替えてからsurootパスワードを入力してください。次に:

    cd /etc/default/
    vim keyboard

そこに次の行が表示されます。

    XKBOPTIONS=""

次のように変更します。

    XKBOPTIONS="caps:swapescape"

保存してvimを終了します。

    :wqa

リブート。

そして、それは永久的なものになるでしょう、と私は約束します。:)


0

注:これはスワップせず、Caps Lockをescにマップするだけです。(これは、私のvimのユースケースには十分でした。)

ubuntu 16:04の場合(i3環境を使用):コンテンツ付きのファイル〜/ .xessionrcを作成しました

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape

1
この回答は、OPが尋ねた問題の1/2を実際に解決する可能性がありますが、長さ(と思われます)により、低品質の回答キューに表示されます。さらに詳細に拡張することを検討してください。おそらくどのように、なぜ機能するか。
オタク長老
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.