けん盤配列にも大いなる関心を
Please Pay Your Attention to the Keyboard Layout
東京大学工学部教授
和田 英一 Eiiti Wada
PFU Technical Review
Vol.3,No.1(Feb.1992)
pp.1 - 15
5.マイキーボード
このように計算機が変わる度にキーボードの配置が変わっていたのでは、たまに使う人は別としてプロのユーザーはなんとか防御策をたてなければならない。その方法だが:
- 使う計算機は固定し、他の計算機の場合はネットワーク経由で使う。
- キーバインディングを自分用に変更する。
- キーボードのコネクタを規格化し、自分のキーボードを持ち歩く。
- キーボードの最小共通部分を規格化し、そこだけ使うようにする。
最も簡単な解は最初のものである。次も実用になるかと思うが図形文字の部分、機能鍵の部分が共通であることが望ましい。現実には上で見たように図形文字のあるものは右や上や左に飛び出すからこの辺から規格化をはじめなければならない。
表題にマイキーボードと書いたが、これはうえの防御策の第4項の最小部分の規格化を検討したいということである。とりあえず Alpha キーボードと名付けて設計している。富士通には Facom Alpha という Lisp マシンがあったが、それとは別に関係はない。いまのところこの程度を最小規格としたいという案はつぎのようなものだ。
ASCII コードの文字を対象とする。従ってほとんど上述の ASCII キーボードでよい。要は (~, `)、(|, \)をどこに置くかである。ここに述べる案では、(~, `) は Sparcstation2 のキーボードの位置(E13)、(|, \)は Sun3 のキーボードの位置(C12)にしたい。つまり Sparcstation2 と Sun3 の合いの子である。こうして書いてみたのが図14である. 図形文字のキーの配置は逆台形がよいという説もあるが、47キーではうまく逆台形にはできないのでこの形で我慢するしかない。(図形文字のキーの数が47でよいか、48にする必要がないかというとあまり自信がない。後述のように仮名文字も47キーに配置したいが、最近の7単位のコードには96図形文字集合もあるから、そのためには48キーがいるかも知れない。)
機能鍵についていえば Shift、Control、Tab、ESC、Return は必需品だが、あとはかぎられたスペースに何を配置するかだ。この案では Meta と Delete を入れたい。いや、こんなものより Line Feed や Back Space が必要という人もいるであろう。普通のキーボードはそうなっている。しかし、Line Feed と Back Space はそれぞれ Control J、Control H で入力でき、しかも遠方の機能鍵を使うよりこのほうが容易なのである。一方 Delete は ASCII のコード表をみても Control とどの文字を組み合わせればよいか分からない。また Meta は8ビット目を1にする同時押下形シフトキーであるが、これなしには8ビット目を1にする手段がないので必要だ。
Shift、Control、Meta は同時に押すわけだから指がこんがらがる操作を要求するわけだが、今後8ビットが主体になってくることはほぼ確実だからこれは用意しておきたい。キー配置図は結構すっきりしていると自画自賛している。
Return キーがこんなに大きい必要はないという人もいるが、目下のところ他に使う案がないのでこうなっている。
ASCII の配列でややこしいのは0列、1 列の制御文字の打ち方である。JIS の方はロジカルペアリングだからコード表を見れば Control とどの文字を組み合わせればよいかは簡単に分かる。しかし、ASCII はコード表とは対応が違うのでことは簡単でない。VT100 では Control とあるキーで出る制御文字は Control、Shiftとその文字ででる制御文字は違ったりする。どうしてそういう覚えにくいことにしてあるのか了解に苦しむが、この案では 0列、1 列の制御文字は、Control とともに4列、5列の対応する図形文字のキーを Shift と無関係に打って出すことにする。つまり Shift と Control を同時に押し下げることはしない。以上をまとめたのが表1である。
英字は JIS の配列にしたいという利用者も結構いると予想される。この配置の図形文字のキーの数は47なので JIS X 6004 と同じになっている。したがってその英字、英記号をいれればよい。JIS X 6002 では図形文字キーが48あるが、右下(B11)のを最上段の0(E10)の相手にすればよい。B11にある片仮名の「ロ」をどうするかについては、次に述べる。
表-1 Alphaキーボードの配列
Position | Keytop | Unshift | Shift | Control |
---|---|---|---|---|
A | SP | |||
B00 | Shift | Shift | ||
B01 | Z | z | Z | SUB |
B02 | X | x | X | CAN |
B03 | C | c | C | EXT |
B04 | V | v | V | SYN |
B05 | B | b | B | STX |
B06 | N | n | N | SO |
B07 | M | m | M | CR |
B08 | ,< | , | < | |
B09 | .> | . | > | |
B10 | /? | / | ? | DEL |
B11 | Shift | Shift | ||
B13 | Meta | Meta | ||
C00 | Control | Control | ||
C01 | A | a | A | SOH |
C02 | S | s | S | DC3 |
C03 | D | d | D | EOT |
C04 | F | f | F | ACK |
C05 | G | g | G | BEL |
C06 | H | h | H | BS |
C07 | J | j | J | LF |
C08 | K | k | K | VF |
C09 | L | l | L | FF |
C10 | ;: | ; | : | |
C11 | '" | ' | " | |
C12 | `~ | ` | ~ |
Position | Keytop | Unshift | Shift | Control |
---|---|---|---|---|
D00 | Tab | HT | ||
D01 | Q | q | Q | DC1 |
D02 | W | w | W | ETB |
D03 | E | e | E | ENQ |
D04 | R | r | R | DC2 |
D05 | T | t | T | DC4 |
D06 | Y | y | Y | EM |
D07 | U | u | U | NAK |
D08 | I | i | I | HT |
D09 | O | o | O | SI |
D10 | P | p | P | DLE |
D11 | [{ | [ | { | ESC |
D12 | ]} | ] | } | GS |
D13 | Return | CR | ||
E00 | Esc | ESC | ||
E01 | 1! | 1 | ! | |
E02 | 2@ | 2 | @ | NUL |
E03 | 3# | 3 | # | |
E04 | 4$ | 4 | $ | |
E05 | 5% | 5 | % | |
E06 | 6^ | 6 | ^ | RS |
E07 | 7& | 7 | & | |
E08 | 8* | 8 | * | |
E09 | 9( | 9 | ( | |
E10 | 0) | 0 | ) | |
E11 | -_ | - | _ | US |
E12 | =+ | = | + | |
E13 | \| | \ | | | FS |
E14 | Del | DEL |