i3 のキーボード ショートカットに現在のキーボード レイアウトを使用するにはどうすればよいでしょうか?

i3 のキーボード ショートカットに現在のキーボード レイアウトを使用するにはどうすればよいでしょうか?

私はi3をデフォルト設定でインストールしたばかりですが、キーボードショートカットに関する重大な問題: 私のキーボードレイアウトは QWERTY ではありませんが、キーボードショートカットは関連する QWERTY キーにマッピングされています。そのため、ウィンドウを全画面表示するには、QWERTY レイアウトで「F」とマークされたキーを押しながら押す必要がありますが、そのキーを押すと「u」文字 (Dvorak レイアウト) が生成されます。この問題を回避して、 + をWin押すと QWERTY レイアウトで機能するようにするにはどうすればよいですか。Winfどれでもレイアウト、レイアウトごとに個別の構成を必要とせずに?

答え1

短い答え:

デフォルト設定を使用する場合は、/etc/i3/configにコピーするだけです~/.config/i3/config(または~/.i3/config、混乱を避けるために、既存のものを置き換えます)。

長い答え:

i3キーボードショートカットの設定をサポートしますキーシンボルだけでなくキーコード

  • キーシンボルはキーを押すことで送信される文字であり、キーボードレイアウトに依存します。これらはキーワードにバインドされます。たとえば、とキーの組み合わせにbindsymバインドするには、toggle fullscreenWin「f」を送信します次のように使用します:

     bindsym Mod4+f fullscreen toggle
    

    この方法は記憶術(ullscreen、再ize など) を使用すると、設定を確認するだけで目的のショートカットをすぐに見つけることができます。ただし、キーボード レイアウトを切り替えると、キーも移動する場合があります。また、異なるアルファベットを切り替えると、すべての記号が両方のレイアウトで表示されるとは限りません。

  • キーコードはキーボード上の物理的なキーを表し、キーボードレイアウトには依存せず、キーボードモデル(例:pc104、 )のみに依存します。との組み合わせにpc105バインドするには、toggle fullscreenWinラベルはFUSキーボード(ホームキー、左手人差し指)の場合:

     bindcode Mod4+41 fullscreen toggle
    

    この方法では、異なるキーボード レイアウト間でショートカットを同じ物理的な場所に保持します。レイアウトを切り替えることがあるものの、ショートカットを主に筋肉の記憶で見つける場合は、特に便利です。一方、構成は読みやすくありません (fと比較41)。

個人の好みに応じて、どちらかの方法を選択することができます。 両方の方法を混在させることもできますが、同じキーを 2 回 (たとえば、bindsym f …bindcode 41 …を同時に) 割り当てないように注意する必要があります。

通常、i3パッケージには各メソッドのデフォルト設定が付属しています。/etc/i3/configについてはbindsym/etc/i3/config.keycodesについては ですbindcodei3がユーザー設定を見つけられない場合は、 を使用して作成することを提案しますi3-config-wizard。 これはデフォルト設定を取得しconfig.keycodes、すべてのbindcode設定を現在のキーボードレイアウトの同等のbindsym設定に置き換えます。 これにより、すべてのキーが に示すように同じ位置にあることが保証されます。ユーザーガイド同時に、設定ファイルが簡単に理解できることも重要です。欠点は、もちろん、QWERTY または QWERTZ レイアウトを使用していない場合、一部のニーモニックが壊れてしまうことです。


私の個人的な提案としては、ユーザーガイドデフォルトの構成を出発点としてのみ使用し、ワークフローと設定に合った独自の構成を作成します。

関連情報