次のページ 前のページ 目次へ

15. loadkeys や xmodmap の使用例

キーボード上のCaps Lock と Control を交換する場合には以下のようにしてくださ い.(キーマップ0-15の使用を前提としています.dumpkeys | head -1 でチェック できます)

% loadkeys
keymaps 0-15
keycode 58 = Control
keycode 29 = Caps_Lock
%

X の場合だけを変更するなら:

% xmodmap .xmodmaprc

でOKです. .xmodmaprc には以下の行が含まれているものとします.

remove Lock = Caps_Lock
remove Control =  Control_L
keysym  Control_L  =  Caps_Lock
keysym  Caps_Lock  = Control_L
add Lock = Caps_Lock
add Control = Control_L

キーナンバーリングは一体どうなっているのでしょう?バックスペースはLinux にお いては14なのにXでは22?ナンバーはでたらめについていると考えておいたほうがい いでしょう.Linuxのキー番号は showkey(1)で, Xのキー番号は xdv(1)を使えば調 べられます.Linuxのキー番号に8を加えたのが Xのキー番号になっていることが多い ようです.

15.1 一本の指でしかタイプできないのですが?(同時に複数のキーを押せない のですが?)

Shift, Ctrl, Alt の各キーをトグルキーにできるかということですね.以下のよう にすれば可能です.

% loadkeys
keycode 29 = Control_Lock
keycode 42 = Shift_Lock
keycode 56 = Alt_Lock
%

これで 左 Ctrl, Shift, Altがトグルキーになります.キー番号はshowkey を使えば 取得できます.(通常は,左右コントロール=29,97,左右シフト=42,54, 左右アルト=54,56となっています)機能名はそれぞれControl_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock.です.

"sticky" modifer keys というのは何でしょう? これは 1.3.33 以降の カーネルに取り入れた機能ですが,新しい kbd パッケージはまだ発表されていません. 従って,stick modifier keys を利用するには,以下の例のように16進法コードを 代入してやるしかありません.

% loadkeys
keymaps 0-15
keycode 54 = 0x0c00
keycode 97 = 0x0c02
keycode 100 = 0x0c03
%

これで右shift・Ctrl・Altキーが各対応左キーの sticky version になります.


次のページ 前のページ 目次へ