tyuu です。

Handbook 片手に x11-input に hhk/us を設定してみました。
# http://www.freebsd.org.hk/doc/ja/books/handbook/x-config.html

テストをしたのが原因で、login 直後の keyboard layout が
106 固定になってしまうのにハマりました。

自己解決できたのですが、原因は複合的で Gnome に慣れてない私には、
とても難しいトラブルでしたのでご報告。

なお、マウスの指定方法はまだわからず M510 の 2 ボタンを有効に利用できていません。
また、そもそもの X 突然死については、経過観察中です。

<<発生>>
1. /usr/local/etc/hal/fdi/policy/x11-input.fdi に
  <merge key="input.x11_options.XkbLayout" type="string">jp</merge>
  を設定する。

2. GDM からログインする
  -> 106 layout

3. 同ファイルに
   <merge key="input.x11_options.XkbLayout" type="string">us</merge>
  を設定する。

4. GDM からログインする
  -> 106 layout のまま。


<<解決方法>>
1. GDM ログイン時のキーボードレイアウトを US に戻す。
  -> 次回ログイン時からは US が選択された状態なので、そのままログインすれば ok.
  # GUI に慣れてないと気がつかないよ orz


<<応急処置>>
レイアウトを直さずにログインした場合は 2 通りの方法がありました。
1. CUI の場合
  $ setxkbmap -model hhk -layout us

2. GUI の場合
  Gnome メニュー [system]-[preferences]-[keyboard] から、
  [Layouts] tab 内の Japan を削除する。



==
$ grep hhk /usr/local/share/X11/xkb/rules/base.lst
  macintosh_hhk   Happy Hacking Keyboard for Mac
  hhk             Happy Hacking Keyboard
==

/usr/local/etc/hal/fdi/policy/x11-input.fdi
==
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_options.XkbModel" type="string">hhk</merge>
      <merge key="input.x11_options.XkbLayout" type="string">us</merge>
    </match>
  </device>
</deviceinfo>
==

/var/log/Xorg.0.log
==
(II) config/hal: Adding input device HHKB Professional
(II) LoadModule: "kbd"
(II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.5.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(**) HHKB Professional: always reports core events
(**) Option "Protocol" "standard"
(**) HHKB Professional: Protocol: standard
(**) Option "XkbRules" "xorg"
(**) HHKB Professional: XkbRules: "xorg"
(**) Option "XkbModel" "hhk"
(**) HHKB Professional: XkbModel: "hhk"
(**) Option "XkbLayout" "us"
(**) HHKB Professional: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) HHKB Professional: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "HHKB Professional" (type: KEYBOARD)
(II) config/hal: Adding input device USB Receiver
(II) LoadModule: "mouse"
(II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.6.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(**) USB Receiver: Device: "/dev/sysmouse"
(==) USB Receiver: Protocol: "Auto"
(**) USB Receiver: always reports core events
(**) Option "Device" "/dev/sysmouse"
(==) USB Receiver: Emulate3Buttons, Emulate3Timeout: 50
(**) USB Receiver: ZAxisMapping: buttons 4 and 5
(**) USB Receiver: Buttons: 9
(**) USB Receiver: Sensitivity: 1
(II) XINPUT: Adding extended input device "USB Receiver" (type: MOUSE)
(**) USB Receiver: (accel) keeping acceleration scheme 1
(**) USB Receiver: (accel) acceleration profile 0
(II) USB Receiver: SetupAuto: hw.iftype is 4, hw.model is 0
(II) USB Receiver: SetupAuto: protocol is SysMouse
(II) config/hal: Adding input device USB Receiver
(**) USB Receiver: always reports core events
(**) Option "Protocol" "standard"
(**) USB Receiver: Protocol: standard
(**) Option "XkbRules" "xorg"
(**) USB Receiver: XkbRules: "xorg"
(**) Option "XkbModel" "hhk"
(**) USB Receiver: XkbModel: "hhk"
(**) Option "XkbLayout" "us"
(**) USB Receiver: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) USB Receiver: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "USB Receiver" (type: KEYBOARD)
(II) 3rd Button detected: disabling emulate3Button
==

--
by tyuu
mailto:t...@tyuu.com

メールによる返信