概要
概要
ここで「総論」というのは,ここの一連のページの中の総論という意味です. 題材はあくまで私が実際に使っているものに限定しています.
一連のページの対象は次のようなものです.
一連のページの目的は次のようなものです.
FreeBSD や X Window System の導入法について書かれた資料は多数ありますが,キーボードに関しては,「これを選択して」で済まされている場合が多いです. それゆえ,それらの選択肢にない,すなわち標準で備わっていないようなキーボードや使い方に対しては相当に情報が得難いです.
標準装備の設定が充実していて,ユーザーはそれらの中から選択するだけで良いという環境は理想です. us101 K/B に関しては,それに近い状態でしょう. しかし,マイナーな K/B (PC-98, jp106, etc.) では,標準的な使い方の設定こそ用意されていますが,外国語環境の整備はできていません. (そもそも需要がないので担い手も現われないのかもしれませんが.)
私は XFree86 が 4.3.0 から 4.4.0 へ変わる際に一部の keycode が変更されたことから PC-98 にて生じた bug への対応や,jp106 K/B の亜種である PC-98 配列 USB K/B を使えるようにするための作業において,キーボードの device driver や設定に関してある程度の知識を得ることを余儀なくされました. この一連のページでは,その際に得られた知見を示します.
ただし,ここに提示した話題は非常に解り難いです. 説明の仕方の巧拙もあるでしょうが,そもそも対象が複雑であることを認識なり覚悟するべきでしょう. この Home Page やマニュアル等を読んだだけで解るはずがなく,実際に自分でソースや設定ファイルを見たり修正したりしないと,使えるレベルには達しないと思います. また最初から何らかの目的に使用中の PC + OS にて修正を行なうのは控えて,練習用の環境を作ることをお勧めします.
なお,格段に必要がある人を除き,これに関してスキルを磨いても仕方ないと思います. us101 K/B を使うなど,標準装備された環境を活用することも合理的な選択と言えるでしょう. 私は幸か不幸か以下のような状況でしたので,苦労を余儀なくされました.
本来ならばキーボードの分類をきちんと示さなければならないのでしょうが,使ったこともない種類のものにまで言及できません. 大雑把ですが,以下のような無難な分類にとどめます.
接続する PC や接続法による分類 :
キーの数や種類による分類 :
以後,"us101" で us101, us102, us104, us105 を,"jp106" で jp106, jp109, jp109A を総称します.
PC との接続 では次のような題材を取り上げます.
キーの操作に伴うデータの流れ では,K/B から入力されたデータがいくつかの中間的なデータを経て,最終的なデータに変換される様を追います. console と X Window System とは,K/B を別個に管理しており,そのやり方も相当に異なります. よって,その各々に対してデータの流れを示します.
console におけるキーボード と X Window System におけるキーボード では,各々の環境における設定ファイルの構成とそれらの書式を説明します. データの流れの記述を「水路図の見方」に例えるならば,これらは「水路の掘り方」であり,相補的な関係にあります.
その他の Menu は,具体的なコードの一覧などの資料,キーマップのカスタマイズの例,キーボードに関するツールの紹介などです.
一連の Menu から漏れてしまったので,console と X Window System とを行き来する際の Lock の状態の継承についてここに書きます. AT 互換機においては次のようになります.
一方 PC-98 ですが,AT 互換機とは違う挙動になります. 例えば一方で CAPS を on にした状態で他方に移ると, CAPS は off になりますが LED は点灯したままです. そこで [CAPS] を押すと,LED は消え,幸いにも CAPS は off のままです. その後の [CAPS] の動作は通常通りになります.
キーマップを変更する目的が単なるキーの配置等の変更でなく,違う言語を使うためならば,たいていはフォントも切り換える必要があります. また,ここ "Klaviatur" に示したのは「キーマップを変更するのに必要な資料」(ありていに言えば「予備知識」) であり,「具体的にどう変更するか」ではありません.
それらの話題は L'Internationale の localization にて取り上げます.