以下、Windowsの場合の説明をします。 LinuxやMacなどでも、同じような仕組みだとは思いますが、 よく分かりません。 Windowsの場合でも、自分の体験に基づいた説明であり、 正確さに欠け、不適切な記述をしていると思います。 分りしだい、訂正したいと思います。
日本のパソコンの場合、 大部分がJISキーボード配列になっていると思います。 つまり、キーの上に英数字だけでなく、 平仮名も一緒に書かれています。 そして、左上に「半角/全角」キーがあります。
あるいは、USキーボードを使っている人もいるでしょう。 これには平仮名は刻印されていません。 記号の位置も一部異っており、 JISキーボードでは「半角/全角」キーのある場所に 「〜/‘」キーがあります。 キーの数も異なります。
韓国のキーボードの場合、 キーにはハングルも一緒に刻印されています。 右altキーのかわりに「韓英キー」があります。 しかし、記号の位置はUSキーボードと同じです。
英語の入力だけを考えると、記号の位置は JISキーボードとUSキーボードの2種類ある、 と考えていいような気がします。 (本当はもっとあるのかもしれませんが、 ここではそう理解して、次にすすみます。)
注意:以下でWindowsでのキーボードドライバ
の変更の仕方を説明していますが、
変更に失敗する危険がありますので、
不安な方は実行しないでください。
この次の節の「キーボードレイアウト」
を追加・変更する方がはるかに簡単です。
どんなキーボードを使っているかを OSは(Windowsは)どのように把握しているのでしょうか?
OSのインストール時に Plug and Play でキーボードを認識するわけですが、 認識した結果、この「キーボードドライバ」を 使えばいい、とOSが判断するわけです。
でも、自分で手動でキーボードドライバを 指定することもできます。 そうすると、JISキーボードを使っているのに OSにはUSキーボードを使っていると 思わせることが可能です。
JISキーボードなのに、USキーボードドライバを 指定した場合、次のような変化が起ります。
では、Windows98の場合の、 キーボードドライバを変更して、 USキーボードのキー配列にする方法を説明します。 ただし、これを実行した結果、 うまく動かなくなった、と苦情を言われても、 自分には責任が持てません。
上の「キーボードドライバ」を変更しなくても、 キーボードレイアウトを追加すれば、 いろんなキー配列で入力できるようになります。
日本語IMEやGlobal IMEを切り替える方法は ご存知ですよね? その拡張で、ロシア語レイアウトや タイ語レイアウトなどを追加することができます。
キーボードレイアウトを切り替えるには、
なお、希望する言語が出てこないよ、という場合、 次を試してみてください。
ロシア語などの場合
タイ語などの場合
注意:
Windows98の場合、JISキーボードの「半角/全角」キーは
キーボードレイアウトを変更しても通常文字が入力できません。
しかし、WindowsXPではキーボードレイアウトを、例えば英語に
したら、「半角/全角」キーを押すとちゃんと「〜」が入力されます。
ここで公開しているタイピング練習器は、 emulation機能を持っており、 キーボードレイアウトを変更しなくても タイプの練習ができるようになっています。
その仕組みは単純で、たとえば、 キーボードから「q」を打つとテキストエリアに 「q」が挿入されますが、この挿入された文字を 読みとって、別の文字(例えば「й」)に置き替るわけです。 (その後、「タイピング練習ソフト(第3版)」から onkeypress関数を使う方法に変更したので、 テキストエリアは不要になりました。 ですが、「q」→「й」の 変換がされる、という点は変っていません。)
したがって、JISキーボードの場合、 Shift+0(zero) では何の文字も入力されないので、 このemulation機能は使えないわけです。 (onkeydown関数を使えばShift-zeroも問題無くつかえるのですが、 現在のところ、自分はonkeypress関数を使っています。)