キー配列

キー配列は、タイプライターやテレタイプ端末の鍵盤や、コンピュータのキーボードなど、機械的、視覚的、機能上の文字や数字、機能動作の並びである。機械的なキー配列は、キーボード上のキーそのものとその配列であり、視覚的なキー配列とはキーボード上のキーの上の表示を指す。機能上のキー配列とは、ソフトウェアなどで定義された一つひとつのキーに割り当てられた意味や機能のセットを指す。

現代のコンピューターのキーボードは、そのキーが押されたときにキー上の文字そのものではなく、オペレーティングシステムにスキャンコードを送信するように設計されている。OSがそのスキャンコードを二進法の文字コードの変換に基づきある文字に変換する。その変換表をキー配列表と呼ぶ。つまり物理的なキー配列は実際のキー配列を変更することなく、キーの動きの意味を翻訳するソフトウェアを変更することにより、動的に変更することも可能である。

鍵盤の『鍵』の字が常用漢字外だったためJIS用語集では「けん盤配列」だが、当記事では通称の「キー配列」を使用する。

1. 概要
-----

キー配列は、キーボード上のキー位置を定める物理配列と、ある物理配列に対して文字キーの並びを定める論理配列とに大別される。

論理配列は、アルファベットやカナともにさまざまなものが存在するが、英字ではQWERTY配列、ドイツ語圏・チェコ語圏ではQWERTZ配列、フランス語圏ではAZERTY  配列、日本語の仮名入力ではJIS配列が普及している。同様に、中国語における漢字入力、朝鮮語におけるハングル入力の配列があり、いずれもQWERTY配列である。そのためQWERTY配列は「キー配列のデファクトスタンダード」と呼ばれることがある。

QWERTY配列がどのように成立したかについて、「初期の機械式タイプライターでは、あまり高速に打鍵しすぎると印字ハンマーが絡まってしまうために、よく連続打鍵される文字をあえて左右の離れた位置に配置した」という説がオーガスト・ドヴォラックやポール・アラン・デービッドなどによって流布されたが、異論もあり、定説はない。

物理配列では、主にコンピュータではApple IIなどの流れを汲むMacintoshや各社UNIX端末でのキー配列と、IBMがPC/AT後期にメインフレーム端末の操作性を持ち込んだ101キーボード系に大別される。

101キーボード系の主なものには以下がある。

101キーボード
102キーボード
106キーボード上記にMicrosoft Windows用の3キーを追加したものは、それぞれ104キーボード、105キーボード、109キーボードとも呼ばれる。さらに電源・音量などの3キーを追加したものは、それぞれ107キーボード、108キーボード、112キーボードとも呼ばれる。これらの101などの数字は本来はキートップの数であるが、実際は各メーカーにより数と配置は異なり、あくまでも基本的な配列に対する呼称である。このため、実際には104個や107個やそれ以上でも、現在でも「101キーボード」と呼ばれる場合は多い。

また、Windows用キーボードでSunやHPのUNIXのようなキー配列をエミュレートするためのWindows用ソフトウェアなどが知られている。

2. 物理配列
-------

2.1. PC用
--------

PC用とはIBM PC系の配列である。上述のように、USでは101/104英語キーボード、ヨーロッパでは102/105多国語  キーボード、日本では106/109日本語キーボードが主流である。ただし実際のキー数やキートップ上の表記は、メーカーやモデルや言語によって、14インチ以下のノートPCは通常テンキーがない、電源・音量・アプリケーション起動関係のキーなど多少の相違がある。

2.1.1. 83キーボード
--------------

オリジナルのIBM PCおよびPC/XTで採用された。のちのATキーボードとの対比でXTキーボードとも呼ばれる。基本的な配列はIBM PC登場以前の各社配列と大差はないが、テンキーとカーソル移動キーなどが兼用されており、NumLockキーで切り替えるのが大きな特徴である。

キーの内訳
メインキーテンキー一体化73キー
ファンクションキー部分10キー

2.1.2. 84キーボード
--------------

IBM PC/ATで採用されたため、ATキーボードとも呼ばれる。83  キーボードとの外見上の差異は「メインキー部とテンキー部が分割された」「SysReqキーが増えた」の2点。接続端子の形状と電気的な仕様は83  キーボードと同一だが、スキャンコードが変更されているため、83  キーボードとの互換性はない。

キーの内訳
メインキー部分56キー
テンキー部分18キー
ファンクションキー部分10キー

2.1.3. 101キーボード
---------------

「IBM 101拡張  キーボード」。IBM PC/AT後期より採用され、同時にPC/XTにも発売された。横一文字のEnterキーが特徴。のちにANSI X3.154-1988として規格化され、以後のPC/AT互換機の主流となった。後述の104英語キーボード、102/105多国語キーボード、106/109日本語キーボードなどのベースでもある。

キーの内訳
メインキー部分58キー
テンキー部分17キー
ファンクションキー部分12キー
その他14キー
備考
修飾キーを左右に設定。
従来コントロールキーがあった位置にCapsLockキーが配置された。これはセレクトリック・タイプライターの配列を意識したものであった。
カーソルキーとテンキーがより打ちやすいようメインキーから離して配置された。
IBM 3270、IBM 5250など、メインフレームやミッドレンジの端末の操作性を兼ねて以下が行われた。
ファンクションキーの追加。3270/5250の12/24キーと合わせ、10キーから12キーへ。
Escキーの位置をホームポジションから離れた場所に移動。3270/5250では存在しなかった。しかしPCの伝統的な多くのワープロソフトやテキストエディタでは多用していたため、議論となった。
コントロールキーとCapsLockキーの位置が入れ替えられたため、コントロールキーはホームポジションから離れた場所に移動し、さらに右下のコントロールキーにはメインフレームで入力完了後の伝送用の実行キーであるEnterキーの役割を兼ねた。3270/5250では離れた位置にあった。しかしPCでは伝統的にショートカットキーなどで多用していたため、議論となった。
SysRq、ScrLk、PrtScなど、3270/5250で存在し使用されるキーの追加。
日本語入力に使用する場合、「半角／全角」キーの代用として「Alt」＋「~」で対応する

アジア圏の古い製品を中心に、Backspaceキー、あるいは右Shiftキーのサイズを削ってキーを一つ増やし、代わりに「\」キー部分までEnterキーを拡張した101キーボードの変種が見られる。後述する韓国のKS規格・103キーボードはこの変種の派生型にあたる。当該変種の左右反転したL字型のEnterキーは俗に「Big-asianEnter」と呼ばれる。

2.1.4. 102キーボード
---------------

多国語用に、101キーボードをベースにして101キーボードにおける左Shiftと「Z」の間にキーを1つ追加したもの。Enterキーは180度回転させた逆L字型。ISO/IEC 9995で規格化されているが、細部は各言語用で異なる。イギリス、カナダ、フランス、イタリアなどで用いられる。ただしこれら地域でも101キーボードで済ませてしまうことも多い。

キーの内訳
メインキー部分59キー
テンキー部分17キー
ファンクションキー部分12キー
その他14キー //→ 各言語用のメインキー部分は Keyboard Layout を参照//

2.1.5. 103キーボード
---------------

KS X 5002で規格化されている、韓国語用のキーボード。いわゆるBig-ass Enterキーを持つ101キーボードの亜種をベースに、スペースキーの左に「한자」キー、右に「한/영」キーを追加したもの。KS X 5002は論理配列として2ボル式を想定しているが、3ボル式およびその変種を利用することもある。

ただし、漢字の使用機会が著しく減少していることもあり、韓国内でも101キーボードで済ませることが多い。

2.1.6. 104キーボード
---------------

101キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。

2.1.7. 104キーボード
---------------

ブラジル規格協会  ・NBR 10346 variant 2および10347で規格化されている、ブラジルポルトガル語用キーボードの配列。102キーボードをベースに、“Ç”キーを追加、さらにテンキーの“＋”キーを上下に分割したことで2つキーが増えたもの。両シフトキー間に12個のキーが並び、テンキーにコンマとピリオドがあるのが特徴。

テンキー部は“＋”キーが上下に分割されて上が“＋”、下が“．”となり、“0”の右隣のキーは“．”ではなく“，”となっている。

“／”キーがなく、両シフトキー間のキー数が11となる、NBR 10346 variant 1という規格も存在する。この配列の場合、“／”はAltGr+Q、“？”はAltGr+Wで入力する。

キーの内訳
メインキー部分59/60キー
テンキー部分18キー
ファンクションキー部分12キー
その他14キー

2.1.8. 105キーボード
---------------

102キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。

2.1.9. 106キーボード
---------------

「日本語106キーボード」「OADG 106キーボード」などと呼ばれる。101キーボードをベースに、日本語入力で必要な「変換」「無変換」「カタカナ/ひらがな」などのキーを追加したもの。Enterキーは逆L字型であり、正確には102キーボードがベースともいえる。1991年に日本IBMのPS/55シリーズ用に追加された5576-A01キーボードの配列が、OADGにも採用され、DOS/VおよびPC/AT互換機の普及とともに日本で事実上の標準となったもの。

キーの内訳
メインキー部分63キー
テンキー部分17キー
ファンクションキー部分12キー
その他14キー102キーボードと拡張された文字キーの数は同じだが、スキャンコードが違うためソフト的に配列を入れ替えても同じように入力することはできない。

具体的には、102キーボードの数字の1の左隣のキーはスキャンコードでは同じ位置にある「全角/半角」キーと同じである。したがって文字キーの数が一つ減ることになるが、これをBackSpaceキーを分割してキーを追加することによって補っている。同様に、102キーボードで「Z」キーの左に追加されたキーが106キーボードではない代わりに、右端にキーが追加されているが、これらのスキャンコードは同一ではない。このように文字キーの位置が異なるためそのままでは106キーボードと同様の利用はできないのである。

2.1.10. 109キーボード
----------------

106キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。2019年現在はこれが主流。OADGで標準化されている。右Windowsキーを省略した108キーも存在する。

2.1.11. その他
-----------

83/84キーボードをベースにJIS配列に合わせ日本語入力を容易にしたものなどがある。東芝J-3100キーボード、AXキーボードなどが該当する。
ポーランド語キー配列

2.2. Macintosh用
---------------

//→ Apple Keyboard参照//

2.3. 速記用ワープロ用
-------------

キヤノンのキヤノワードα370で初めて採用された。日本語入力のできる速記用ワープロ、スピードワープロ用に開発されたキーボード。物理配置はいわゆる左右分離式で、基本は右手で母音、左手で子音を担当する。文字キー自体は10個しかないため、シフトキーで補うほか、複数キーの同時押しによって単語を纏めて入力する。とくにキーの組み合わせは莫大で、テキスト3冊分に及ぶという。

1991年10月16日に学校法人川口学園早稲田速記ワープロ事業部から「ステノワード」が発売される。システムの開発者は学校法人川口学園、早稲田速記ワープロ事業部門の柴田邦博。後述のステノタイプのようにニーモニックを割り当てることで、よく用いられる文句のパターンをコマンド入力したり、文章同士を組み合わせることで適切な文句を一括入力することも可能。地上デジタル放送と聴覚障害者向けのリアルタイムキャプションが始まると、その用途に活用されるようになった。主な用途がリアルタイムであるから、ニュースなど生放送において欠かせない。

3. 論理配列
-------

3.1. アルファベット
------------

アルファベットの配列は、タイプライターの伝統もあり、国・言語によってきわめて多種多様である。また、入力の効率化のため特に工夫されたものも存在する。ここでは主なもののみを示す。

QWERTY配列none
Dvorak配列none
フランス語AZERTY配列 
数字の入力にShiftキーを必要とするのが大きな特徴。なおカナダやスイスのフランス語圏のキー配列は異なる。 ファイル:Kl azerty fr.png ファイル:Kl azerty fr shifted.png
ドイツ語QWERTZ配列  ファイル:Kl qwerty ge.png ファイル:Kl qwerty ge shifted.png
ステノタイプ 

3.2. 記号類
--------

日本で簡単に手に入るキーボードでは、欧文記号類の配列は大きく分けて次の2種類に分類できる。アルファベット部分はどちらもQWERTY配列である。

タイプライターペアリング
電動英文タイプライターを元にした配列。シフトした「2」が「@」になるのはこのタイプ。 ファイル:Kl type_writer_pairing.png ファイル:Kl type_writer_pairing_shifted.png
ロジカルペアリング
2019年現在、日本でもっとも普及している配列。シフトした「2」が「"」になるのはこのタイプ。ファイル:Kl logical_pairing.png ファイル:Kl logical_pairing_shifted.pngロジカルペアリングは、シフトキーによってASCIIコードの下位4ビットが変化しないという特徴があり、タイプライタペアリングを文字コード順に並べ直したような設計になっている。

なお、これは大きく分けた分類であり、実際にはそれぞれいくつかのバリエーションがある。

2019年現在では、タイプライターペアリングは英文用ということでカナが配列されておらず、ロジカルペアリングにはカナもJIS配列されていることが多い。しかし、1990年代の初めぐらいまでに発売されていたMacintoshは、記号類がタイプライターペアリングでカナがJIS配列という折衷型が標準だった。古いUNIXワークステーションも記号類はタイプライターペアリングのものが多い。いずれも2019年現在標準で売られているものは記号類もロジカルペアリングになっているが、当時からこれらの機種を使っていた人にはタイプライターペアリングのキーボードを好む人が多いdate=2018年6月}}。

なお、タイプライターペアリングのことを、ASCII配列と呼ぶことがある。これは、タイプライターペアリングを規定した最初の規格であるANSI X4.14-1971が、『American National Standard Alphanumeric Keyboard Arrangements Accommodating the Character Sets of ASCII and ASCSOCR』というタイトルだったからであるdate=2018年6月}}。ただし、この規格を改訂したANSI X4.23-1982のタイトルに「ASCII」は含まれていない。

タイプライターの配列
アンティークな英文タイプライターの配列。シフトした「2」が「"」になる。 ファイル:Kl typewriter_layout.png ファイル:Kl typewriter_layout_shifted.png

3.3. 日本語入力方式とキー配列
-----------------

//かな入力#キー配列も参照//

3.3.1. カナ系
----------

カナ系は、基本的に1打鍵で1つのカナを入力する方式。キーが足りない分はシフトで補う。漢字はカナ読みを入力してかな漢字変換を用いるのが一般的。日本工業規格が制定したJIS配列をベースにしたものがデファクトスタンダードになっている。

全ての打鍵が1キーによってなされる配列を順次打鍵配列と呼び、JISかな入力が代表的である。一方で、1打鍵で複数キーの同時押しを要求することのある配列を同時打鍵配列と呼び、NICOLAなどの親指シフト系配列が属する。後者では同時押しを判定するためのソフトウェア、または専用キーボードが必要となる。厳密に同時押しすることは困難であるので、複数キーが押されたタイミングのずれをどれほど許容するのか設定する必要もある。許容幅は大きいほど同時打鍵は認められやすくなるが、高速の順次2打鍵を同時押しと誤認するリスクも高まる。

3.3.2. 2打鍵系・行段系
---------------

2打鍵系は、いくつかに分類可能である。

子音と母音の2打鍵で1つのカナを入力する方式。→2タッチ入力
子音と母音ではなく、他の手がかりを持っている、もしくは手がかりが存在しない方式。→行段カナ系型、漢字直接入力いずれの方式においても、常に二打鍵で入力することを保証しているわけではない。

ローマ字型 ローマ字型は、アルファベット配列を用いてローマ字を入力する方式。QWERTY配列、Dvorak配列など英語用の配列を用いることが多いが、ローマ字入力向けに改良したものや、ローマ字入力で用いないアルファベットを定義していないローマ字専用の配列も存在する。漢字の入力方法はローマ字でカナ読みを入力してかな漢字変換を用いるのが一般的である。 左右分離型 左右分離型は、子音と母音が右手と左手に分かれているものをいう。Dvorak配列も左右分離型に含まれる。実質的にはローマ字入力がほとんどであり、行段系に属する。
SKY配列
タッチ16

3.4. テンキー
---------

3.4.1. 数字の配列
------------

テンキーのキー配列は、電卓型と電話型に大別される。なお、電卓型のキー配列は、1913年にグスタフ・デイビッド・サンドストランドが発明した手動卓上計算機が起源であり、電話型のキー配列は、1960年にリチャード・デイニンジャーが発表した論文が基となっている。

電卓型では電卓で使用頻度の高い「0」や「1」を手前に配置したもので、これは国際標準化機構によって規格化された。これに対して、電話型は初期のパルス式の電話においてキーの数字に対応した個数のパルスが割り振られ、「0」には10が割り振られたために左上から順に1から数字が並べられ、これは国際電気通信連合によって規格化された。

3.4.2. 電卓型
----------

3.4.3. 電話型
----------

3.4.4. アルファベットのテンキー配列
---------------------

元来、米国では電話番号がアルファベットの電話交換局名と数字で構成されていたため、電話機の各数字キーにアルファベットが割り当てられていたことに由来する。QとZは局名としては使われていなかったため実装方法が統一されず、他国の製品には米国のデファクトスタンダードと異なるキーにQとZが割り当てられていたものがあった。電話のキー配列はITUのE.161およびISO/IEC 9995-8:2009で標準化されている。

3.4.5. テンキーでの日本語入力
------------------

日本語の入力方法としては母音と子音の組合せを選んでカナを入力するのが一般的であるが、操作方法に以下の種類があり、そのキー配列は標準化されていない。

トグル入力
2タッチ入力
フリック入力
Altキーコード入力
片手チョイ

4. キー配列を切り替える方法
---------------

Linuxloadkeys us loadkeys jp106など

FreeBSDJIS 配列のキーボードをUS配列として使うには /etc/rc.conf に keymap="us.iso" を追記して再起動する。

さらに Ctrl と Caps を入れ替えるには /usr/share/syscons/keymaps中の 029 を 058に058を、029 に書き替えて、

kbdcontrol -l us.isoをrootで実行するか、もしくは再起動する。

NetBSD/etc/rc.conf に wscons=YES を追加する。

/etc/wscons.conf に encoding jp.swapctrlcapsなどを記述することによってJISキーボード配列でControlとCapsLockを入れ替えることができる。

X Window Systemsetxkbmap jp setxkbmap us dvorak など。

Windows 2000/XP以下のようにしてキー配列の追加・切り替えができる。

「コントロールパネル」→「地域と言語のオプション」→「言語」→「詳細」→「設定」また、キー配列の切り替えは、言語バーから選択したり、Alt+Shiftを押すことによっても可能。

ただし、この場合は配列とともにIMEもセットで変わってしまう、例えば 101 配列上で MS-IME を使うということはできない。このような目的の場合はドライバを交換するしかない。

デバイスマネージャなどでキーボードのプロパティー >ドライバの更新... > このデバイスの既知のドライバを表示して、その一覧から選択する>このデバイスクラスのハードウェアを全て表示ここで適切なドライバを選ぶ。不適切なドライバを選ぶと操作できなくなる。またこのドライバはマウスのドライバも兼ねているので不適切なドライバを選ぶとマウスが使えなくなることもある。

フックをかけることで擬似的に切り替えたり、切り替えのできるドライバに交換することによって目的を達成しようとするものはいくつか存在する。

MacintoshMac OS 9までなら「キーボード配列」、macOSではKeyboardLayoutsやKEXTで行う。システム環境設定の言語環境ペインを選び、入力メニュータブの一覧のチェックを入れる。言語環境ペインは入力メニューの一番下にある「“言語環境”を開く」からすぐにアクセスできる。配列は Tiger：同一覧にある「キーボードビューア」のチェックを入れる、Tiger以前：アプリケーションフォルダ以下、ユーティリティフォルダ内の「キーボード配列 」で確認できる。

また、上記の方法以外に、入力プログラムのローマ字ルールをカスタマイズすることでも疑似的に実現できる。

キー配列を切り替えるソフト
ZeniSynth 汎用キーカスタマイザ。Windows Vista,7に対応。設定ファイルをLuaで記述する。
AutoHotkey Remap機能を使用。
Xmodmap - X Window System用。

5. 脚注
-----

5.1. 出典
-------

6. 関連項目
-------

機械
タイプライター
日本語入力
かな漢字変換
ローマ字入力
ローマ字かな変換
かな入力
ハングル入力
2ボル式
中国語入力
注音輸入法
倉頡輸入法
大易輸入法
嘸蝦米輸入法
三角編号法
五筆字型入力方法
拼音入力方法
ヨーロッパ系言語入力におけるキー配列
QWERTY配列 - 英語入力やローマ字変換で使われる一般的な配列
QWERTZ配列 - ドイツ語入力でよく使われる
AZERTY配列 - フランス語入力でよく使われる
Dvorak配列
イタリア語キー配列
ポーランド語キー配列
ロシア語キー配列
スペイン語キー配列
ポルトガル語キー配列
アラビア語入力
アラビア語キー配列
インド系文字入力
InScript
その他
グルジア語キー配列
国際化と地域化
スキャンコード
Happy Hacking Keyboard

7. 外部リンク
--------

[1]
[2]
[3]date=2020年10月}} - 各言語用のキー配列。
[4] - 鍵盤配列に関するリンクが網羅されている。
[5]date=2020年10月}} - 鍵盤配列に関するリンクが網羅されている。
[6] - Colemak配列のサイト。アルファベット用キー配列のリンク集。
[7] - 安岡孝一・京都大学准教授の記事一覧。