GNOMEでxkbのカスタマイズを自動ロードするにはどうすればよいですか?


11

ウェイランドでのキーマッピングのカスタマイズに関する質問のフォローアップはxmodmap明らかに非推奨であることがわかりましたが、ウェイランドではxkbが「機能するはずです」。残念ながら、xkbははるかに複雑であり、それに応じて文書化も不十分です。スワッピングに関する質問CmdCtrlCaps Lockに関する別の質問、回答のリンクの一部とシステムファイルからの情報に基づいて、必要なスタンザを作成できましたが、それらを適用する方法がわかりません自動化でき、GNOMEと競合しない方法で。

これらは私が解決し、で正常にテストしたスタンザxkbcompです。

partial alphanumeric_keys
xkb_symbols "pound" {
    // Put sterling on RAlt-3 and numbersign on Shift-3.
    key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
};

// Make right cmd key act as ctrl
partial modifier_keys
xkb_symbols "rcmdctrl" {
    key <RWIN> { [ Control_R ] };
    modifier_map Control { <LCTL>, <RWIN> };
    modifier_map Mod4 { <LWIN> };
};

partial modifier_keys
xkb_symbols "shiftcaps" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ VoidSymbol, Caps_Lock ],
        actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
    };
};

最初の2つと/usr/share/X11/xkb/symbols/macbook3 つ目をshiftcaps同じディレクトリに配置しました。xkbcomp標準gb(mac)レイアウトの上にロードすると、etcなどで機能します。

私はこれを編集して更新を行い、私の答えを明確にしています。最近、ポンドのカスタマイズが機能しなくなったため、gb(mac)の変更点を確認したところ, threesuperiorkey <AE03>行に追加する必要があることに気付きました。

evdev.xmlこれらのオプションをGUIで使用できるようにするためにgnome-tweak-toolで使用されていると思います。これが私が追加したものです:

<group allowMultipleSelection="true">
  <configItem>
    <name>macbook</name>
    <description>Macbook customisations</description>
  </configItem>
  <option>
    <configItem>
      <name>macbook:pound</name>
      <description>Hash on Shift-3, Sterling on AltGr-3</description>
    </configItem>
  </option>
  <option>
    <configItem>
      <name>macbook:rcmdctrl</name>
      <description>Right Cmd key acts as Ctrl</description>
    </configItem>
  </option>
</group>
<group allowMultipleSelection="false">
  <configItem>
    <name>shiftcaps</name>
    <description>Caps Lock with Shift</description>
  </configItem>
  <option>
    <configItem>
      <name>shiftcaps:shiftcaps</name>
      <description>Caps Lock requires Shift to toggle</description>
    </configItem>
  </option>
</group>

1
システムが使用しているxkbルール、つまり適切なファイルにオプションを追加する限り、gnomeはオプションを表示します(そしてのdconfキー値を尊重しますorg.gnome.desktop.input-sources)。私の投稿を参照してください
don_crissti

ありがとう。evdevファイルでオプションを定義することは、パズルの欠けている部分でした。私は、dconf-editorを使用して、今したいことを実行することができます。
Realh

私のシステム(Debian)では、も見つかりました/usr/share/X11/xkb/rules/evdev.xml。それが何のためにあるのかわかりません。GNOME設定アプリでキーボードオプションを開くと、構文エラーが発生した場合にクラッシュしましたが、実際にはGUIでオプションを見つけることができません。を含む行の後に適切な行を追加しました<optionList>。コメントの制限のため、ここに投稿することはできません。
レル2016

xKBが登場した1996年頃にxmodmapが廃止されたことを付け加えておきます。つまり、ウェイランドが発明される数年前。
Robert Siemer 2017年

回答:


1

他の質問に対するdon_crisstiの答えは、パズルの欠けている部分を提供しました。説明したようにevdevファイルでオプションを定義し、それらをorg.gnome.desktop.input-sources.xkb-optionsgsettingに追加しました。それは完全に動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.