Sway用の複雑なカスタムXKBファイルを作成する方法は?

Sway用の複雑なカスタムXKBファイルを作成する方法は?

SwayはWaylandを使用しているため、XKBファイルはXではなくSwayによって解析されます。

  • キーボードにレイヤーを追加したい(おそらくHyperを使用して)
  • いくつかの修飾キーをランダムに調整したいと思います。

多くのサイトを見てきましたが、まだ実装方法がわかりません。 XKBには多くの部分がありますが、どの部分がどこに行くのかわかりません。サンプルファイルと説明を受けたいです。

答え1

xkb 構成ファイルの名前が custom-xkb で、~/.configsway 構成ファイルに保管されているとします。

input "type:keyboard" {           # or input <identifier> 
  xkb_file ~/.config/xkb/custom-xkb
}

おそらくこの部分はすでに知っているでしょう。難しい部分はファイルを作成することですcustom-xkb。私は専門家ではありませんが、私がすることは次のとおりです。

  1. Webで「xkb仕様」を検索すると、Wikipediaから完全なx.org仕様に至るまで、すべてのコンテンツが表示されます。すでに同様のリソースを収集している可能性があります。
  2. その後、私のシステムのデフォルトのキーボードプロファイルをおそらくどこかで見つけるでしょう\etc\X11\xdg\(私が見なければならないかもしれません:私の奇妙なディストリビューションのパスはです/nix/store/n1mlvwrkdlm77b4ai9s26kwji89jjb65-xkeyboard-config-2.27/share/X11/xkb/)。
  3. symbolsそのパス内で2つのサブディレクトリとを見つけますtypes。 1つ目は、さまざまな言語のすべてのキーマップがある場所と、その言語のキーマップバリアントが各ファイル内の場所です。 2番目のサブディレクトリは、仮想キーが定義されている場所です(たとえば、Mod1、Controlなど)。
  4. 次に、そのファイルの内容を自分のファイルにコピーし、別の~/.config/xkb/custom-xkb編集を試して何が起こるかを確認します。そして、不思議を解消するために私が集めたインターネット資料を活用してみました。致命的なことが発生した場合は、Control + Alt + F1を押してからnoxログインを実行し、その行にコメントを付けてxkb_file ~/.config/xkb/custom-xkbXサーバーを再起動します。
  5. 私はサブディレクトリとの内容を操作しませんrules。しかし、これらも見る必要があります。geometrykeycodes

実際には何もしませんでしたが、多分効果があるかもしれません。実際の設定ファイルを見ると、チュートリアルとガイドで実際に何を言っているのかを理解するのに役立ちます。

幸運を祈る

答え2

XKBは実際には非常に複雑な獣です。 (少なくとも私の経験では、奇妙なデザイン決定があるようです。これは、最初のバージョンが1996年にリリースされたことに起因し、私の意見では文書に最もよく記録されていません。)

さまざまな構成を試すことで、私は必要なコンテンツを表現するのに十分な柔軟性があり、安定して推測し、レイアウトを簡単に作成できる機能のサブセットを理解して識別できました。

私が学んだ内容の包括的なチュートリアルを書くにはかなり時間がかかりますが、基本的なレイアウトを読むよりも設定ファイルを見る方が簡単です。

https://github.com/Isti115/dotfiles/tree/master/.config/xkb

(私のSway設定に含まれています。ここ.)

Lenovo-L13.xkb特にノートパソコン用に作成したファイルには複数のレイヤーがあるのでおすすめです。 (スペースバーを押しながら修飾子に変更しました。)evデュアルバインディング.) Vortex Coreのレイアウトも良いレイアウトですが、キーボード自体もプログラム可能なので、それはすべてではありません。

以前の回答ですでに述べたように、ここで必要なものが見つからない場合は、最初に見てみるのは組み込みファイルです。キーボードが何を使用しているかを調べるために使用できますsetxkbmap -print。その時点から、ファイルのどこにでもインポートされた定義を見つけることができますxkb。 (NixOSを使用しない限り、/usr/share/X11/xkbArchのように合理的なレベルになります。)

関連情報