setxkbmap -geometryオプションを使用する方法は?

setxkbmap -geometryオプションを使用する方法は?

私のDebian Linux(/etc/debian_version == 7.8)ボックスにSun Type7キーボードがあり、Sun type6とよく似ているので、試してみました。

$ (setxkbmap -model sun6 -layout us -geometry 'sun(type6)' -v 10 ; setxkbmap -print) |sed 's/^/    /'
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard model
         Using command line, ignoring X server
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Trying to load rules file ./rules/evdev...
Success.
Warning! Multiple definitions of geometry
         Using command line, ignoring rules file
Applied rules from evdev:
rules:      evdev
model:      sun6
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+sun_vndr/us(type6)+inet(evdev)
geometry:   sun(type6)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+sun_vndr/us(type6)+inet(evdev)" };
    xkb_geometry  { include "pc(pc104)" };
};

出力の最初のビットはジオメトリを「sun:type6」に設定したいようですが、報告されたxkb_geometryは「pc(pc104)」で終わります。

私の/usr/share/X11/xkp/geometry/sunファイルにtype6ジオメトリが定義されているようですが、後続の「setxkbmap -print」は私が試した「-geometry xxxx」オプションに鈍感なようです(ここでxxxxはpc101、pc104 )。

次のように "setxkbmap -geometry"オプションを設定するには:

xkbprint :0 -  |ps2pdf - > sun6.pdf # try to make use of the xkb_geometry

...Sun Model 6キーボードの写真が表示されますか?

sun:type6 を sun(type6) に変更した編集: オプションの形式は /usr/share/X11/xkb/ で "file(entry)" のようです。オプション名/目次。

答え1

上記のdon_crisstiのコメントに基づいて、/usr/share/X11/xkb/rules/evdevを編集して、!model = geometryそのセクションに次の行を含めました。

!model        =       geometry
...
sun6          =       sun(type6)
sun5          =       sun(type5)
sun4          =       sun(type4)

これhttp://anti.teamidiot.de/nei/2010/06/sun_unix_keyboard_linux_gnome/また、これらのファイルの目的を理解するのに役立つリソースです。

現在の設定は次のとおりです。各 xkb_(WHAT) 行は、対応する /usr/share/X11/xkb/(WHAT) ディレクトリーの RHS 内のファイルを検索して解釈できます。

$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+sun_vndr/us(type6)+inet(evdev)+ctrl(nocaps)"    };
    xkb_geometry  { include "sun(type6)"    };
};
$ 

次のコマンドは、xkb/geometry を /usr/share/X11/xkb/geometry/sun ファイルで "type6" で定義された項目に設定します。

setxkbmap -geometry 'sun(type6)' 

オプションを設定するときに-printオプションを使用すると、指定されたオプションのみが表示され、最終設定は報告されません。setxbkmap -print設定内容を表示する他のオプションはありません。

関連情報