plamo4.73->keyboard
戻るボタンで戻りませう。

キーボードの設定

かな入力はもちろん、[後退]キーの配置まで、 力の及ぶ限り親指シフトキーボード(OASYSタイプ)にこだわってます。 ついでに、日本語入力関連の機能キー割り当てまでもが OAK (OASYSかな漢字変換) 仕様(^^;)。 なるべく、FM-TOWNS と同じになるようにしてるのですね。 お陰で、他のUNIX機では相変わらず日本語変換する方法を知らないままなのです。

ただし,日本語入力はXのみの設定です。

なお、コンソールとXとで別々に設定をしてあげる必要があります。 設定例

コンソールのキー配列

設定ファイル

キーコード→文字の変換テーブルをシステムに登録してあげる必要があります。 plamo linux をインストールするときにキーボードを日本語配列に設定してある 場合には、jp106.map と云うファイルで指定されています。 実際のキーコードを調べて(後述)、テキストエディタでこのファイルを書き換え ます。

なお、jp106.mapは/etc/rc.d/rc.keymapから呼び出されています。 /usr/bin/loadkeys /usr/lib/kbd/keytables/jp106.map の部分です。

キーコードの調べ方

Xを起動していない状態で、showkeyコマンドを使います。

キーコードが無いキー

showkeyでキーコードを調べようとしても無反応のキーがあります。 106キーボードの場合では、変換キーの横にある[カタカナ/ひらがな]というキーには、 キーコードが割り当てられていません。したがって、setkeycodesコマンドでキー コードを割り当ててあげます。設定はrc.keymapに書いておくのがよいでしょう。 loadkeysコマンドよりも前に実行する必要がありますので、こんな感じになります。 /usr/bin/setkeycodes 0x70 91
/usr/bin/loadkeys /etc/rc.d/jp106-oasys.map
これで、[カタカナ/ひらがな]キーにキーコード91を割り当てたことになります。

キーコードから文字への対応は、他のキーの割り当ても変更しているので、/etc/rc.d/にjp106.mapのコピーを作って書き換えています[→jp106-oasys.map]

Xのキー配列

キー配列は、XKBとxmodmapで設定されています。

機体に固有のキー設定を触るときにはXKB、後から個別にキー設定を触るのがxmodmap、という感じのようです。そのためか、xmodmapでは設定を変えることの出来ないキーがあります。

設定ファイル

キーコード→文字の変換テーブルを登録してあげる必要があります。 ~/.Xmodmap と云うファイルで指定されています。 実際のキーコードを調べて(後述)、テキストエディタでこのファイルを書き換え ます。 設定ファイルの例

なお、~/.Xmodmap は、~/.xinitrc から呼び出されています。 xmodmap .Xmodmap の部分です。

キーコードの調べ方

xevコマンドを使います。

およそ xev で判明しますが、 .Xmodmapで記述するときに記号(!?#$%&=-+;:~等)の呼び名がわからないときに は、/usr/X11R6/include/X11/keysymdef.h を参照します。(といっても、 名前と記号の対照表が有るわけではなくて、名前が並んでいるだけなので、 実際にどんな字が出てくるかは設定してみないとわかりません。)

難しいキーコードの例

簡単に連想できなかったkeysymを書いておきます。

[BS]キー

ここでは、キーボードの右上隅にある[BackSpace]と刻印のあるキーを「"]" (シフトで"}")」キーに変更します。

親指シフトキーボードと同じにしようということなのですが、単純にxmodmapでは変更できないため、とくに設定が必要です。

とにかく変更

BSキーは[Ctrl]+[Alt]と同時押しすることでXを強制終了するように割り当てられています。 XKBを使っている場合、ほかのキーと同時押ししたときの動作を xmodmap で割当てしなおすことが出来ないようです。

なので、XKBの設定を触ります。

設定ファイルは、/usr/X11R7/share/X11/xkb/以下にあります。

このうち、symbols/srvr_ctrl と symbols/pc を書き換えます

symbols/pc
    key <BKSP> {
        type="CTRL+ALT",
//        symbols[Group1]= [ BackSpace,   Terminate_Server ]
        symbols[Group1]= [ bracketright,   Terminate_Server ]
        type="TWO_LEVEL",
        symbols[Group1]= [ bracketright,   braceright ]
    };
symbols/srvr_ctrl
    key <BKSP> {
	type="CTRL+ALT",
//	symbols[Group1]= [ BackSpace,   Terminate_Server ]
	symbols[Group1]= [ bracketright, Terminate_Server ]
    };

mousekey

設定

初期設定ではテンキーでマウスの操作をできるようになります。

クリックをキーボードに割り当てるのにも、xmodmapを使います。

このへんが参考になります。

なお、テンキー周りの設定はXKBにあります。設定ファイルは compat/mousekeys です。

使い道

Gimpなどのフォトレタッチをマウスで使うときには、左クリック・ドラッグを多用します。このとき、マウスを操作している右手をかなり酷使することになってしまいます。とくにドラッグだと思ったようにマウスを動かすことができなくて困ります。

なので、キーボードの左手の方に、マウスクリックやドラッグを割り当てて、ボタン操作とカーソル移動操作を両手に分散させます。

コマンドで有効にする

mousekey機能の設定にはxkbsetコマンドを使うこともできます。 例えば、Xの起動時から有効にするためには、.xinitrc にコマンドを追加します。 xkbset m 'マウスキー機能をONにします。
xkbset exp m 'マウスキー機能のタイマーオフ時間を無限にします。

XKBについて

設定ファイルを追ってみる(plamo4.22)

設定ファイル群は、/usr/X11R6/lib/X11/xkb もしくは、/etc/X11/xkb 以下にあります。

*.dir と geometry/*、rules/*.xml は、設定ツールのための情報なので、viなどで設定変更するのであれば、あまり気にしなくていいみたいです。

rules/xfree86が設定ファイルの起点になっているそうなので、覗いてみます。

「!」で始まる行がコメント行ではなくて制御行らしいぞ、と思って眺めてみると他のフォルダでどのファイルを見るべきなのかが見えてきます。

例えば、

! model  =  geometry
   ...
  jp106	 =  pc(jp106)
この「!」で始まる行がセクション界になっていて、

.XF86Configで model が jp106 という設定だったら、geometry はファイル pc (つまり、geometry/pcファイル)の jp106セクションを見る。

と解釈されるようです(見た感じの想像です...)。

ところで、書式は違いますが keymap/xfree86 も設定ファイルを調べる起点になりそうだなと思って覗いてみると、ちょっと違うファイルを見ることになっています。ううむ…。


tsushiro.s, 2003-2010. [→戻る]