DebianシステムのXKBキーボード設定

DebianシステムのXKBキーボード設定

XKB拡張がどのように機能するかを理解するために、Debianでキーボードレイアウトを設定しています。カスタムキーボードレイアウトをロードしようとしていますが、なぜグラフィカル環境では機能しませんが、仮想コンソールでは機能するのかわかりません。

/usr/share/X11/xkb/symbols/foobarのファイルに基づいて新しいキーボードレイアウトファイルを作成しました/usr/share/X11/xkb/symbols/us。関連部分は次のとおりです。

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    name[Group1]= "English (US)";

    key <TLDE> {    [     grave,    asciitilde  ]   };
    // key <AE01> { [     1,    exclam      ]   };
    key <AE01> {    [     a,    A       ]   };
    key <AE02> {    [     2,    at      ]   };
    key <AE03> {    [     3,    numbersign  ]   };
// ...

<AE01(シングルキー)と表示されているキーが記号からおよびに1変更exclamされていることがわかりますaA

次のようにファイルを編集して、カスタムレイアウトを使用するようにfoobarシステムを設定しました。/etc/default/keyboard

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
# XKBLAYOUT="us"
XKBLAYOUT="foobar"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps,altwin:menu_win"

BACKSPACE="guess"

システムをグラフィカルデスクトップ環境に起動してキーを押すと、次のようになると1予想されますが、aまだ機能しません1

奇妙なことは、キーボードショートカットを使用して仮想コンソールに切り替えるとCtrl + Alt + F1変更が適用され、1キーを押すとa

また、次のコマンドを使用すると、localectl変更が適用されたように見えます。

$ localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: foobar
       X11 Model: pc105
     X11 Options: ctrl:nocaps,altwin:menu_win

私のカスタムレイアウトがグラフィックfoobar環境で機能しないのはなぜですか?

私はsystemdデバイスの紆余曲折を検索し、keyboard-setup.service次のスクリプトが呼び出されることを発見しました。

  • /lib/console-setup/keyboard-setup.sh
  • /usr/bin/setupcon

私のレイアウトがコマンドに出力されfoobarないことがわかりました。localectl list-x11-keymap-layouts

マニュアルページは、localectl次の設定ガイドを指しています。

https://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html

これ以上レイアウトを使用してはいけないと言われています。

キーマップ設定は、以前にxkbを設定した方法です。ユーザーには、直接 xkb 構成を指定する特殊なキーマップファイルが含まれています。この方法は、より柔軟で簡単で直感的な構文を可能にする、前述のルールファイルに置き換えられました。互換性のためにのみ維持され、可能であれば使用しないことをお勧めします。

それでも、次のように/etc/X11/xorg.conf.d/90-foobar-kdb.confファイルを埋めようとしました。

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"

    Option "XkbModel" "pc105"
    Option "XkbLayout" "foobar"
    Option "XKbOptions" ""
EndSection

システムを再起動した後、オプションの選択を解除しXKbOptionsましたが、まだfoobarマップの読み込みに失敗しました。だから私はまだX11でカスタムレイアウトをロードする方法についてまだ混乱しています。

ベストアンサー1

おすすめ記事