キー配列
キー配列(キーはいれつ、キーボード配列、鍵盤配列、キーボードレイアウト、Keyboard layout)は、タイプライターやテレタイプ端末の鍵盤や、コンピュータのキーボードなど、機械的、視覚的、機能上の文字や数字、機能動作の並びである。機械的なキー配列は、キーボード上のキーそのものとその配列であり、視覚的なキー配列とはキーボード上のキーの上の表示(貼付、彫刻)を指す。機能上のキー配列とは、ソフトウェアなどで定義された一つひとつのキーに割り当てられた意味や機能のセットを指す。
現代のコンピューターのキーボードは、そのキーが押されたときにキー上の文字そのものではなく、オペレーティングシステム(OS)にスキャンコードを送信するように設計されている。OSがそのスキャンコードを二進法の文字コードの変換に基づきある文字に変換する。その変換表をキー配列表と呼ぶ。つまり物理的なキー配列は実際のキー配列を変更することなく、キーの動きの意味を翻訳するソフトウェアを変更することにより、動的に変更することも可能である。
鍵盤の『鍵』の字が常用漢字外だったためJIS用語集では「けん盤配列」(けんばんはいれつ)だが、当記事では通称の「キー配列」を使用する。
キー配列は、キーボード上のキー位置を定める物理配列と、ある物理配列に対して文字キー(機能キーなどを含む)の並びを定める論理配列とに大別される。
論理配列は、アルファベットやカナともにさまざまなものが存在するが、英字ではQWERTY配列、ドイツ語圏・チェコ語圏ではQWERTZ配列、フランス語圏ではAZERTY (ASERTY) 配列、日本語の仮名入力ではJIS配列が普及している。同様に、中国語における漢字入力(繁体字における倉頡法の配列など)、朝鮮語におけるハングル入力(2ボル式の配列が標準的)の配列があり、いずれもQWERTY配列である。そのためQWERTY配列は「キー配列のデファクトスタンダード」と呼ばれることがある。
QWERTY配列がどのように成立したかについて、「初期の機械式タイプライターでは、あまり高速に打鍵しすぎると印字ハンマーが絡まってしまうために、よく連続打鍵される文字をあえて左右の離れた位置に配置した」という説がオーガスト・ドヴォラックやポール・アラン・デービッドなどによって流布されたが、異論もあり、定説はない。
物理配列では、主にコンピュータではApple IIなどの流れを汲むMacintoshや各社UNIX端末でのキー配列と、IBMがPC/AT後期にメインフレーム端末の操作性を持ち込んだ101キーボード系に大別される。
101キーボード系の主なものには以下がある。
101キーボード(主に米国圏用)
102キーボード(多国語用とも呼ばれる。主に欧文圏用、101キーボードに文字キーを1キー追加)
106キーボード(主に日本語向け。英字はQWERTY配列、カナはJIS配列、101キーボードに日本語変換用の5キーを追加)
上記にMicrosoft Windows用の3キーを追加したものは、それぞれ104キーボード、105キーボード、109キーボードとも呼ばれる。さらに電源・音量などの3キーを追加したものは、それぞれ107キーボード、108キーボード、112キーボードとも呼ばれる。これらの101などの数字は本来はキートップの数であるが、実際は各メーカーにより数と配置は異なり、あくまでも基本的な配列に対する呼称である。このため、実際には104個や107個やそれ以上でも、現在でも「101キーボード」と呼ばれる場合は多い。
また、Windows用キーボードでSunやHPのUNIXのようなキー配列をエミュレートするためのWindows用ソフトウェアなどが知られている。
PC用とはIBM PC系の配列である。上述のように、USでは101/104英語キーボード、ヨーロッパでは102/105多国語 (Multi Language) キーボード、日本では106/109日本語キーボードが主流である。ただし実際のキー数やキートップ上の表記は、メーカーやモデルや言語によって、14インチ以下のノートPCは通常テンキーがない、電源・音量・アプリケーション起動関係のキーなど多少の相違がある。
オリジナルのIBM PCおよびPC/XTで採用された。のちのATキーボードとの対比でXTキーボードとも呼ばれる。基本的な配列はIBM PC登場以前の各社配列と大差はないが、テンキーとカーソル移動キーなどが兼用されており、NumLockキーで切り替えるのが大きな特徴である。
メインキーテンキー一体化73キー(メインキー文字キー47キー、テンキー文字キー14キー、その他12キー)
IBM PC/ATで採用されたため、ATキーボードとも呼ばれる。83 (XT) キーボードとの外見上の差異は「メインキー部とテンキー部が分割された」「SysReqキーが増えた」の2点。接続端子の形状と電気的な仕様は83 (XT) キーボードと同一だが、スキャンコードが変更されているため、(スキャンコードを切り替え可能な一部の製品を除いて)83 (XT) キーボードとの互換性はない。
メインキー部分56キー(文字キー47キー、その他9キー)
テンキー部分18キー(文字キー14キー、その他4キー)
「IBM 101拡張 (Enhanced) キーボード」。IBM PC/AT後期より採用され、同時にPC/XTにも発売された。横一文字のEnterキーが特徴。のちにANSI X3.154-1988(2002年1月15日のINCITS(International Committee for Information Technology Standards)発足後は ANSI INCITS 154-1988)として規格化され、以後のPC/AT互換機の主流となった。後述の104英語キーボード、102/105多国語キーボード、106/109日本語キーボードなどのベースでもある。
メインキー部分58キー(文字キー47キー、その他11キー)
テンキー部分17キー(文字キー15キー、その他2キー)
修飾キー(Shift、Alt、Ctrl)を左右に設定。
従来コントロールキーがあった位置に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」+「~(チルダ)」で対応する(OADGによる標準化)
アジア圏の古い製品を中心に、Backspaceキー、あるいは右Shiftキーのサイズを削ってキーを一つ増やし、代わりに「\」キー部分までEnterキーを拡張した101キーボードの変種が見られる。後述する韓国のKS規格・103キーボードはこの変種の派生型にあたる。当該変種の左右反転したL字型のEnterキーは俗に「Big-asian(あるいはBig-ass)Enter」と呼ばれる。
多国語用に、101キーボードをベースにして101キーボードにおける左Shiftと「Z」の間にキーを1つ追加したもの。Enterキーは180度回転させた逆L字型。ISO/IEC 9995で規格化されているが、細部は各言語用で異なる。イギリス、カナダ、フランス、イタリアなどで用いられる。ただしこれら地域でも101キーボードで済ませてしまうことも多い。
メインキー部分59キー(文字キー48キー、その他11キー)
テンキー部分17キー(文字キー15キー、その他2キー)
→ 各言語用のメインキー部分は Keyboard Layout (英語)を参照
KS X 5002(古い番号ではKS C 5715)で規格化されている、韓国語用のキーボード。いわゆるBig-ass Enterキーを持つ101キーボードの亜種をベースに、スペースキーの左に「한자(ハンジャ:漢字)」キー、右に「한/영(ハン/ヨン:韓/英)」キーを追加したもの。KS X 5002は論理配列として2ボル式を想定しているが、3ボル式およびその変種を利用することもある。
ただし、漢字の使用機会が著しく減少していることもあり、韓国内でも101キーボードで済ませることが多い。
101キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。
ブラジル規格協会 (ABNT) ・NBR 10346 variant 2(メインキー部)および10347(テンキー部)で規格化されている、ブラジルポルトガル語用キーボードの配列。102キーボードをベースに、“Ç"キーを追加、さらにテンキーの“+"キーを上下に分割したことで2つキーが増えたもの。両シフトキー間に12個のキーが並び、テンキーにコンマとピリオドがあるのが特徴。
テンキー部は“+"キーが上下に分割されて上が“+"、下が“."となり、“0"の右隣のキーは“."ではなく“,"(NumLock解除時は他キーボード同様“Del")となっている。
“/"キーがなく、両シフトキー間のキー数が11(フルキーボードの総キー数が103)となる、NBR 10346 variant 1という規格も存在する。この配列の場合、“/"はAltGr+Q、“?"はAltGr+Wで入力する。
メインキー部分59/60キー(文字キー48/49キー、その他11キー)
テンキー部分18キー(文字キー16キー、その他2キー)
102キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。
「日本語106キーボード」「OADG 106キーボード」などと呼ばれる。101キーボードをベースに、日本語入力(JIS配列)で必要な「変換」「無変換」「カタカナ/ひらがな」などのキー(言語入力キー)を追加したもの。Enterキーは逆L字型であり、正確には102キーボードがベースともいえる。1991年に日本IBMのPS/55シリーズ用に追加された5576-A01キーボードの配列が、OADGにも採用され、DOS/VおよびPC/AT互換機の普及とともに日本で事実上の標準となったもの。
メインキー部分63キー(文字キー48キー、その他15キー)
テンキー部分17キー(文字キー15キー、その他2キー)
102キーボードと拡張された文字キーの数は同じだが、スキャンコードが違うためソフト的に配列を入れ替えても同じように入力することはできない。
具体的には、102キーボードの数字の1の左隣のキーはスキャンコードでは同じ位置にある「全角/半角」キーと同じである。したがって文字キーの数が一つ減ることになるが、これをBackSpaceキーを分割してキーを追加することによって補っている。同様に、102キーボードで「Z」キーの左に追加されたキーが106キーボードではない代わりに、右端にキーが追加されているが、これらのスキャンコードは同一ではない。このように文字キーの位置が異なるためそのままでは106キーボードと同様の利用はできないのである。
106キーボードをベースに、Windowsキー2個とメニューキーを追加したもの。2019年現在はこれが主流。OADGで標準化されている。右Windowsキーを省略した108キーも存在する。
83/84キーボードをベースにJIS配列に合わせ日本語入力を容易にしたものなどがある。東芝J-3100キーボード、AXキーボードなどが該当する。
→ Apple Keyboard(英語)参照
キヤノンのキヤノワードα370(1991年5月発売)で初めて採用された。日本語入力のできる速記用ワープロ、スピードワープロ用に開発されたキーボード。物理配置はいわゆる左右分離式で、基本は右手で母音、左手で子音を担当する。文字キー自体は10個しかないため、シフトキーで補うほか、複数キーの同時押しによって単語を纏めて入力する。とくにキーの組み合わせは莫大で、テキスト3冊分に及ぶという。
1991年10月16日に学校法人川口学園早稲田速記ワープロ事業部から「ステノワード」が発売される。システムの開発者は学校法人川口学園、早稲田速記ワープロ事業部門の柴田邦博。後述のステノタイプのようにニーモニック(同時押しするキーの組み合わせ)を割り当てることで、よく用いられる文句のパターンをコマンド入力したり、文章同士を組み合わせることで適切な文句を一括入力することも可能。地上デジタル放送と聴覚障害者向けのリアルタイムキャプション(リアルタイム字幕放送)が始まると、その用途に活用されるようになった。主な用途がリアルタイムであるから、ニュースなど生放送において欠かせない。
アルファベットの配列は、タイプライターの伝統もあり、国・言語によってきわめて多種多様である。また、入力の効率化のため特に工夫されたものも存在する。ここでは主なもののみを示す。
フランス語AZERTY配列 (AZERTY)
数字の入力にShiftキーを必要とするのが大きな特徴。なおカナダやスイスのフランス語圏のキー配列は異なる。
ドイツ語QWERTZ配列 (QWERTZ)
ステノタイプ (Stenotype)
日本で簡単に手に入るキーボードでは、欧文記号類の配列は大きく分けて次の2種類に分類できる。アルファベット部分はどちらもQWERTY配列である。
タイプライターペアリング(タイプライタ配列、US配列、米国配列、英語配列)
電動英文タイプライターを元にした配列。シフトした「2」が「@」になるのはこのタイプ。
ロジカルペアリング(テレタイプ配列、JIS配列、JP配列、日本語配列、英国168配列)
2019年現在、日本でもっとも普及している配列。シフトした「2」が「"」になるのはこのタイプ。
ロジカルペアリング(Bit-paired keyboard)は、シフトキーによってASCIIコードの下位4ビットが変化しないという特徴があり、タイプライタペアリングを文字コード順に並べ直したような設計になっている。
なお、これは大きく分けた分類であり、実際にはそれぞれいくつかのバリエーションがある。
2019年現在では、タイプライターペアリングは英文用ということでカナが配列されておらず、ロジカルペアリングにはカナもJIS配列されていることが多い(JISキーボード)。しかし、1990年代の初めぐらいまでに発売されていたMacintoshは、記号類がタイプライターペアリングでカナがJIS配列という折衷型が標準だった。古いUNIXワークステーションも記号類はタイプライターペアリングのものが多い。いずれも2019年現在標準で売られているものは記号類もロジカルペアリングになっているが、当時からこれらの機種を使っていた人にはタイプライターペアリングのキーボードを好む人が多い。
なお、タイプライターペアリングのことを、ASCII配列と呼ぶことがある。これは、タイプライターペアリングを規定した最初の規格であるANSI X4.14-1971が、『American National Standard Alphanumeric Keyboard Arrangements Accommodating the Character Sets of ASCII and ASCSOCR』というタイトルだったからである。ただし、この規格を改訂したANSI X4.23-1982(のちにANSI X3.154-1988を経て、現ANSI INCITS 154-1988)のタイトルに「ASCII」は含まれていない。
タイプライターの配列(手動タイプライター、機械式タイプライター)
アンティークな英文タイプライターの配列。シフトした「2」が「"」になる。
かな入力#キー配列も参照
カナ系は、基本的に1打鍵で1つのカナを入力する方式。キーが足りない分はシフトで補う。漢字はカナ読みを入力してかな漢字変換を用いるのが一般的。日本工業規格が制定したJIS配列(JIS X 6002情報処理系けん盤配列)をベースにしたものがデファクトスタンダードになっている。
全ての打鍵が1キーによってなされる配列を順次打鍵配列と呼び、JISかな入力が代表的である。一方で、1打鍵で複数キーの同時押しを要求することのある配列を同時打鍵配列と呼び、NICOLAなどの親指シフト系配列が属する。後者では同時押しを判定するためのソフトウェア、または専用キーボードが必要となる。厳密に同時押しすることは困難であるので、複数キーが押されたタイミングのずれをどれほど許容するのか設定する必要もある。許容幅は大きいほど同時打鍵は認められやすくなるが、高速の順次2打鍵を同時押しと誤認するリスクも高まる。
2打鍵系は、いくつかに分類可能である。
子音と母音の2打鍵で1つのカナを入力する方式。→2タッチ入力(ローマ字型、ローマ字規則拡張型、左右分離型)
子音と母音ではなく、他の手がかりを持っている、もしくは手がかりが存在しない方式。→行段カナ系型(ポケベル入力など)、漢字直接入力
いずれの方式においても、常に二打鍵で入力することを保証しているわけではない。
ローマ字型は、アルファベット配列を用いてローマ字を入力する方式。QWERTY配列、Dvorak配列など英語用の配列を用いることが多いが、ローマ字入力向けに改良したものや、ローマ字入力で用いないアルファベットを定義していないローマ字専用の配列も存在する。漢字の入力方法はローマ字でカナ読みを入力してかな漢字変換を用いるのが一般的である。
左右分離型は、子音と母音が右手と左手に分かれているものをいう。Dvorak配列も左右分離型に含まれる。実質的にはローマ字入力がほとんどであり、行段系に属する。
テンキーのキー配列は、電卓型と電話型に大別される。なお、電卓型のキー配列は、1913年にグスタフ・デイビッド・サンドストランドが発明した手動卓上計算機()が起源であり、電話型のキー配列は、1960年にリチャード・デイニンジャーが発表した論文が基となっている。
電卓型では電卓で使用頻度の高い「0」や「1」を手前に配置したもので、これは国際標準化機構(ISO)によって規格化された。これに対して、電話型は初期のパルス式の電話においてキーの数字に対応した個数のパルスが割り振られ、「0」には10が割り振られたために左上から順に1から数字が並べられ、これは国際電気通信連合(ITU)によって規格化された。
元来、米国では電話番号がアルファベットの電話交換局名と数字で構成されていたため、電話機の各数字キーにアルファベットが割り当てられていたことに由来する。QとZは局名としては使われていなかったため実装方法が統一されず、他国の製品には米国のデファクトスタンダードと異なるキーにQとZが割り当てられていたものがあった。電話のキー配列はITUのE.161およびISO/IEC 9995-8:2009で標準化されている。
日本語の入力方法としては母音と子音の組合せを選んでカナを入力するのが一般的であるが、操作方法に以下の種類があり、そのキー配列は標準化されていない。
トグル入力(別名 : マルチタップ・猿打ち・かなめくり)
2タッチ入力(別名 : ポケベル入力・ポケベル打ち・2キー入力)
片手チョイ(チョイ入力片手版)
loadkeys us
loadkeys jp106など
JIS 配列のキーボードをUS配列として使うには /etc/rc.conf に
keymap="us.iso"
を追記して再起動する。
さらに Ctrl と Caps を入れ替えるには
/usr/share/syscons/keymaps中の
029 を 058に058を、029 に書き替えて、
kbdcontrol -l us.iso
をrootで実行するか、もしくは再起動する。
/etc/rc.conf に
wscons=YES
を追加する。
/etc/wscons.conf に
encoding jp.swapctrlcapsなどを記述することによってJISキーボード配列でControlとCapsLockを入れ替えることができる。
setxkbmap jp
setxkbmap us dvorak
など。
Windows 2000/XP
以下のようにしてキー配列の追加・切り替えができる。
「コントロールパネル」→「地域と言語のオプション」→「言語」→「詳細」→「設定」
また、キー配列の切り替えは、言語バーから選択したり、Alt+Shiftを押すことによっても可能。
ただし、この場合は配列とともにIMEもセットで変わってしまう、例えば 101 配列上で MS-IME を使うということはできない。このような目的の場合はドライバを交換するしかない。
デバイスマネージャなどでキーボードのプロパティー >ドライバの更新(P)... > このデバイスの既知のドライバを表示して、その一覧から選択する(D)>このデバイスクラスのハードウェアを全て表示(A)
ここで適切なドライバを選ぶ。不適切なドライバを選ぶと操作できなくなる。またこのドライバはマウスのドライバも兼ねているので不適切なドライバを選ぶとマウスが使えなくなることもある。
フックをかけることで擬似的に切り替えたり、切り替えのできるドライバに交換することによって目的を達成しようとするものはいくつか存在する。
Mac OS 9までなら「キーボード配列」、macOSではKeyboardLayoutsやKEXTで行う。システム環境設定の言語環境ペインを選び、入力メニュータブの一覧のチェックを入れる(macOS)。言語環境ペインは入力メニューの一番下にある「“言語環境"を開く」からすぐにアクセスできる。配列は Tiger:同一覧にある「キーボードビューア」のチェックを入れる、Tiger以前:アプリケーションフォルダ以下、ユーティリティフォルダ内の「キーボード配列 (KeyCaps)」で確認できる。
また、上記の方法以外に、入力プログラムのローマ字ルールをカスタマイズすることでも疑似的に実現できる。
ZeniSynth 汎用キーカスタマイザ。Windows Vista,7に対応。設定ファイルをLuaで記述する。
AutoHotkey Remap機能を使用。
Xmodmap - X Window System用。