6.51. Kbd-1.15.3

Kbd パッケージは、キーテーブル (key-table) ファイル、コンソールフォント、キーボードユーティリティを提供します。

概算ビルド時間: 0.1 SBU
必要ディスク容量: 20 MB

6.51.1. Kbd のインストール

loadkeys に対してファイル名を与えずに実行するとエラーになります。 以下のパッチによりこれを修正します。

patch -Np1 -i ../kbd-1.15.3-upstream_fixes-1.patch

バックスペース (backspace) キーとデリート (delete) キーは Kbd パッケージのキーマップ内では一貫した定義にはなっていません。 以下のパッチは i386 用のキーマップについてその問題を解消します。

patch -Np1 -i ../kbd-1.15.3-backspace-1.patch

パッチを当てればバックスペースキーの文字コードは 127 となり、デリートキーはよく知られたエスケープコードを生成することになります。

gettext-0.18.1.1 を用いた際にスペイン語の翻訳メッセージがビルドができないため、このバグを修正します。

sed -i '/guardado\ el/s/\(^.*en\ %\)\(.*\)/\14\$\2/' po/es.po

無用なプログラム resizecons とその man ページを削除します。 (これは 32 ビット x86 においてのみのプログラムで、ビデオモードファイルを提供するために古い svgalib を利用しています。 linux-2.6 以前より作られたことから最近の KMS との互換性がありません。 通常は setfont がコンソールサイズを適切に取り扱います。)

提供されている configure.acaclocal.m4 よりもタイムスタンプが新しいものになっています。 したがって make によって autotools が実行されると configure を更新されてしまうことになります。 そこで configure.ac の日付と時刻を変更します。 ここではシステム日付を用いるものであり、あらゆるタイムゾーンにとって十分に古い日付を採用できます。

sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/' configure &&
sed -i 's/resizecons.8 //' man/man8/Makefile.in &&
touch -d '2011-05-07 08:30' configure.ac

Kbd をコンパイルするための準備をします。

./configure --prefix=/usr --datadir=/lib/kbd

configure オプションの意味:

--datadir=/lib/kbd

このオプションによりキーボードレイアウトのデータを /usr/share/kbd ディレクトリではなく、ルートパーティションとなるようにします。

パッケージをコンパイルします。

make

このパッケージにテストスイートはありません。

パッケージをインストールします。

make install
[注記]

注記

ベラルーシ語のような言語において Kbd パッケージは正しいキーマップを提供せず、ISO-8859-5 エンコーディングで CP1251 キーマップであるものとして扱われます。 そのような言語ユーザーは個別に正しいキーマップをダウンロードして設定する必要があります。

LFS-ブートスクリプトパッケージの中には kbd_modeloadkeysopenvtsetfont に依存しているものがあります。 システム起動時の初期段階において /usr ディレクトリは参照不能であるため、上の実行モジュールはルートパーティションに置く必要があります。

mv -v /usr/bin/{kbd_mode,loadkeys,openvt,setfont} /bin

必要ならドキュメントをインストールします。

mkdir -v /usr/share/doc/kbd-1.15.3
cp -R -v doc/* \
         /usr/share/doc/kbd-1.15.3

6.51.2. Kbd の構成

インストールプログラム: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable (psfxtable へのリンク), psfgettable (psfxtable へのリンク), psfstriptable (psfxtable へのリンク), psfxtable, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, unicode_stop
インストールディレクトリ: /lib/kbd

概略説明

chvt

現在表示されている仮想端末を切り替えます。

deallocvt

未使用の仮想端末への割り当てを開放します。

dumpkeys

キーボード変換テーブル (keyboard translation table) の情報をダンプします。

fgconsole

アクティブな仮想端末数を表示します。

getkeycodes

カーネルのスキャンコード-キーコード (scancode-to-keycode) マッピングテーブルを表示します。

kbd_mode

キーボードモードの表示または設定を行います。

kbdrate

キーボードのリピート速度 (repeat rate) と遅延時間 (delay rate) を設定します。

loadkeys

キーボード変換テーブル (keyboard translation tables) をロードします。

loadunimap

カーネルのユニコード-フォント (unicode-to-font) マッピングテーブルをロードします。

mapscrn

かつてのプログラムです。 これはユーザー定義の文字マッピングテーブルをコンソールドライバーにロードするために利用します。 現在では setfont を利用します。

openvt

新しい仮想端末 (virtual terminal; VT) 上でプログラムを起動します。

psfaddtable

psfxtable へのリンク。

psfgettable

psfxtable へのリンク。

psfstriptable

psfxtable へのリンク。

psfxtable

コンソールフォント用のユニコード文字テーブルを取り扱います。

setfont

EGA (Enhanced Graphic Adapter) フォントや VGA (Video Graphics Array) フォントを変更します。

setkeycodes

カーネルのスキャンコード-キーコード (scancode-to-keycode) マッピングテーブルの項目をロードします。 キーボード上に特殊キーがある場合に利用します。

setleds

キーボードフラグや LED (Light Emitting Diode) を設定します。

setmetamode

キーボードのメタキー (meta-key) 設定を定義します。

showconsolefont

現在設定されている EGA/VGA コンソールスクリーンフォントを表示します。

showkey

キーボード上にて押下されたキーのスキャンコード、キーコード、ASCII コードを表示します。

unicode_start

キーボードとコンソールをユニコードモードにします。 キーマップファイルが ISO-8859-1 エンコーディングで書かれている場合にのみこれを利用します。 他のエンコーディングの場合、このプログラムの出力結果は正しいものになりません。

unicode_stop

キーボードとコンソールをユニコードモードから戻します。