plamo7.0->keyboard

キーボードの設定

かな入力はもちろん、[後退]キーの配置まで、 力の及ぶ限り親指シフトキーボード(OASYSタイプ)にこだわってます。 ついでに、日本語入力関連の機能キー割り当てまでもが OAK (OASYSかな漢字変換)仕様(^^;)。 なるべく、富士通FM-TOWNSの親指シフトに近づくようにしてるのです。

なお、コンソールとXとで別々に設定をしてあげる必要があります。 (日本語入力はXのみ設定しています。) 設定例

コンソールのキー配列

設定ファイル

plamo linux をインストールするときにキーボードを日本語配列に設定してある場合には jp106 なる配列定義ファイル が指定されていますが、 別のファイル( jp106-oasys.map )として配列定義ファイルを作成して指定します。

配列定義ファイルは、/etc/sysconfig/console で指定されていますので、これを書き換えます。

[/etc/sysconfig/console] #KEYMAP="jp106"
KEYMAP="/etc/sysconfig/jp106-oasys.map"

[→jp106-oasys.map]

jp106-oasys.map は、昔から使っているファイルを少しずつ書き換えたものなのですが、 新規に作るとしたら、/usr/share/keymaps/i386/qwerty/ にある jp106.map.gz をコピーして書き換えたものを 使うことになると思います。

なお、/etc/sysconfig/console は /etc/rc.d/init.d/console から呼び出されます。ややこしい。

キーコードの調べ方

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

Xのキー配列

jp106

plamo7.0のセットアップ直後は、英語キーボードの設定だったので、 /etc/X11/xorg.conf/ 以下の設定ファイルを修正します。

[90-keyboard-layout-evdev.conf]
# 90-keyborad-layout-evdev.conf
Section "InputClass"
        Identifier "keyboard-all"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbLayout" "jp"
        Option "XkbModel" "jp106"
        #Option "XkbVariant" ""
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
[参考]

配列を細かく変更

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

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

[~/.xinitrc] # キーマップ変更
usermodmap=$HOME/.Xmodmap
[ -f $usermodmap ] && xmodmap $usermodmap
の部分です。

キーコードの調べ方

xevコマンドを使います。

難しいキーコードの例

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

[BS]キー

キーボードの右上隅にある BackSpace キーを ] キーに変更します。

なるべく .Xmodmap でキーを変更しているのですが、BackSpace キーは変更出来ないので、.Xmodmap よりも システムの根っこに近いところで変更します。

とにかく変更

XKBの設定を触ります。

設定ファイルは、/usr/share/X11/xkb/symbols/ 以下にありますので、/etc/X11/xkb/symbols/ 以下にコピーして このファイルを読み込ませるようにします ( /etc/X11/以下に、xkb/symbols/ を作っておきます )

# cd /usr/share/X11/xkb/symbols/
# mv pc /etc/X11/xkb/symbols/
# ln -s /etc/X11/xkb/symbols/pc .

/etc/X11/xkb/symbols/pc を書き換えます。

[pc] // key <BKSP> { [ BackSpace, BackSpace ] };
key <BKSP>= { [ bracketright, braceright ] };

XKB

XKBの設定を表示させるコマンド $ setxkbmap -print -verbose 10

参考

tsushiro.s, 2003-2019.