FreeBSDでNicolaF式~Xorg7.4編

最近、firefoxの動作が不安定になってきたので、FreeBSDをクリーンインストールすることにした。ちょうど7.2-Releaseがでたところでタイミングがよかったのと、そろそろi386からamd64に移行しようとも思っていたので。

で、問題はキーボード関連。私はNicolaF式という、JISキーボードでいうところの「:」の位置にバックスペースが、「@」の位置にコロンが、そしてバックスペースの位置に「]」が来るようなキー配列を愛用していて、今までは/usr/X11R6/lib/X11/xkbの書き換えでこの配列を実現していた。しかし、7.2-Releaseで採用されているXorg7.4はxkbの位置が移動しており、今までのやり方でうまく動くのかが不安。

で、なんとかならんのかとぐぐっていたら、「春木屋」の「Xorg7.4のキーボード設定をkwsk その1 その2 その3」という記事を発見した。で、この記事を見てxkbの設定ファイル類が /usr/local/share/X11/xkb に移動したのを知り、 xkb/symbols/jp を読んでみると、何やら"nicola_f_bs"なる文字が。これは、と思って xkb/rules/rules.lst を読んでみると、"japan:nicola_f_bs"というオプションを指定することによって、「:」の位置にバックスペースをおくことができるようになるようだ。早速、以下のように xorg.conf を書き換えて実験してみる。

Section "ServerFlags"
        Option "AllowEmptyInput" "Off"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "Xkbrules" "xorg"
        Option      "XkbModel" "jp106"
        Option      "XkbLayout" "jp"
        Option      "XkbOptions" "japan:nicola_f_bs"
EndSection

Xを再起動して試してみると、確かにNicolaF式風のレイアウトに変わった。でも、アンダースコアがシフト+「\」で入力できなくなった。「\」を押すと「@」が、シフト+「\」で「‘」が入力される。「]」はエスケープに割り当てられている。これって確か森山将之さんが提唱していた配列じゃなかったっけ。てことはアンダースコアはシフト+ゼロか。

てことで、xmodmapでキーの置き換えを行う。ついでに全角/半角とエスケープ、左CtrlとCapsLockの置き換えも行う。 .Xmodmap ファイルは以下のとおり。

clear lock
clear control
keycode  9 = Zenkaku_Hankaku
keycode 37 = Eisu_toggle Caps_Lock
keycode 49 = Escape
keycode 51 = at grave voicedsound
keycode 66 = Control_L
keycode 211 = backslash underscore
add lock = Caps_Lock
add control = Control_L Control_R

これで元の環境になった。ああ良かった。

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。