web-dev-qa-db-ja.com

Caps + Lをダッシュ​​に再マップ

4つのキー()-=Caps+jkl;にそれぞれ再マッピングしたいと思います。アイデアは、プログラミングで非常に一般的なこれらの文字を入力するためのホーム行を残さないことです。

これには、Caps Shift lを押して_を生成することも含まれます。これはShift -と同等です。

Capsを押したときにESCとして機能することも必要です。

私がすでに試したこと:

  1. https://github.com/simos/keyboardlayouteditor -インストールに構文エラーがあります
  2. https://www.bedroomlan.org/projects/evrouter/ -マルチキーのサポートなし
  3. 編集/usr/share/X11/xkb/symbols/pc-組み合わせのオプションが表示されず、 docs からそれを理解できませんでした
  4. evdevremapkeys - この問題 で説明されているサポートなし
  5. xdotool-動作しますが、非常に低速です...
  6. vimに直接マッピング-これは私のフォールバックです。

どんな助けでも感謝します、おそらく私はこれを解読するためにいくつかのガイダンスで十分でしょう。

ありがとう!

6
Adam Goldman

回避策

警告:ファイル/usr/share/X11/xkb/symbols/usの編集は、小さなタイプミスが発生すると非常に危険です。ログインループが発生します。管理できる場合にのみ続行してくださいそのような場合のttyからのもの..

  1. ディレクトリを/usr/share/X11/xkb/symbols/に変更します

コマンドを実行:

cd /usr/share/X11/xkb/symbols/
  1. usファイルのバックアップを取る

コマンドを実行:

Sudo cp us usbackup
  1. ファイルを編集us

コマンドを実行:

Sudo -H gedit us
  1. 以下のように行を編集します

コンテンツ:

key <AC01> {    [     a,    A       ]   };
key <AC02> {    [     s,    S       ]   };
key <AC03> {    [     d,    D       ]   };
key <AC04> {    [     f,    F       ]   };
key <AC05> {    [     g,    G       ]   };
key <AC06> {    [     h,    H       ]   };
key <AC07> {    [     j,    J,  parenleft           ]   };
key <AC08> {    [     k,    K,  parenright          ]   };
key <AC09> {    [     l,    L,  minus, underscore   ]   };
key <AC10> {    [ semicolon,    colon,  equal,  plus]   };
key <AC11> {    [ apostrophe,   quotedbl            ]   };
  1. ファイルを保存して閉じます。

  2. gnome-Shellリフレッシュ Alt+F2rEnter またはログアウトとログインが必要な場合があります。テストされていません。

  3. caps_Lockを次のコマンドでlevel3修飾子として作成します

コマンドを実行:

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

上記のコマンドを使用すると、Caps_Lock修飾子がISO_Level3_Shiftに変更され、Caps_Lockが押されている間、編集されたusファイルから3番目のキーシムが出力されます。同様に、Caps_LockとShiftが押されている場合は4番目のキーシムダウン..

  1. 次に、モディファイアISO_Level3_Shiftを押して離したときに単独で動作するようにします。優れたツールxcape ..を使用します。

コマンドを実行:

Sudo apt install xcape

説明:修飾キーを押して離したときに他のキーとして機能するように構成するxcapeでは、修飾キーを単独で押して離したときに別のキーとして使用できます。押されたイベントはキーが離されるまで発生しないため、元のキーを押すよりも少し遅いことに注意してください。デフォルトの動作では、左コントロールを単独で押して離したときにEscapeキーが生成されます。

  1. xcapeがインストールされたら、以下のコマンドを実行して、Caps_Lockを押して離したときにEscapeとして動作するようにします。

コマンドを実行:

xcape -e 'ISO_Level3_Shift=Escape'
  1. 上記のコマンドをスタートアップアプリケーションの設定リストに追加して、ログイン/ブートのたびにコマンドを実行する必要がないようにします。

enter image description here

enter image description here

それで終わりです。


caps_Lock修飾子を使用すると、4つのすべての()-=およびCaps_Lock + Shift修飾子を使用して_を実行できます。

Caps_Lockのみを押して離すと、エスケープとして機能しました。

enter image description here

4
PRATAP