Xorg-server 1.5.3でGnomeのキーマップを変更(その2) 多分これでOK


ThinkPad T61 + ArchLinux + GNOMEの環境で,
jp106のキーマップがうまく設定できない問題が一応解決しました。


以下が手順です。


(1) /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi を/etc/hal/policyにコピー

sudo cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/policy/


(2) /etc/hal/policy/10-keymap.fdiを以下のように修正。
ちなみに、"input.x11_XkbModel"などの書き方は、xorgのサイト(ここ)を参照しました。

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keymap">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>

    <match key="info.capabilities" contains="input.keys">
      <merge key="input.x11_options.XkbRules" type="string">evdev</merge>

      <!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). -->
      <merge key="input.x11_driver" type="string">kbd</merge>
      <merge key="input.x11_XkbModel" type="string">jp106</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
        <merge key="input.x11_XkbModel" type="string">jp106</merge>
      </match>

      <merge key="input.x11_XkbLayout" type="string">jp</merge>
      <merge key="input.x11_XkbVariant" type="string" />
    </match>
  </device>
</deviceinfo>


(3) 再起動(またはHalをrestart)


(4) GNOMEのキーボード設定パネルを開き、
  キーボードの形式をJapanese 106-keyに設定
  レイアウトをJapanに設定


これで、今まで入力できなかった']'や'}'が入力できるようになりました。


(5) 確認(setxkbmap -print)

xkb_keymap {
	xkb_keycodes  { include "evdev(jp106)+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+japan+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+jp+inet(evdev)+altwin(super_win)+group(alts_toggle)+level3(menu_switch)+ctrl(swapcaps)"	};
	xkb_geometry  { include "pc(jp106)"	};
};

いい感じのようです。