Happy Hacking Keyboard 誕生の経緯

2021年12月10日 金曜日


【この記事を書いた人】
和田 英一

2002年から約10年 IIJ技術研究所長. 年を取ってからは古い計算機や昔の計算法に興味が増し, シミュレーターを作ってそのプログラムを書いたり. 近頃はKnuthのTAOCPにあった問題のプログラムなどに挑戦したりしている.

「Happy Hacking Keyboard 誕生の経緯」のイメージ

IIJ 2021 TECHアドベントカレンダー 12/10(金)の記事です】

下の写真は, 私がある時期に, かなりよく使った端末や計算機である.
Teletypeは, 1970年頃に使われたミニコン(HITAC 10やFACOM Rなど)の標準入出力機器で, その少し前から,アメリカDEC(Digital Equipment Corporation)のミニコン, PDP-8などでも使われた. 研究室には, 松下製のミニコンMACC-7が, 学科にはPDP-8を拡張したPDP-12があり, この端末を使った.
DEC社のVT100は, ディスプレイを持った入出力機器で, 教授室のVT100を, 大学の計算機センターの計算機に接続して使った.

左上Teletype Model 33(1963) 右上DEC VT100(1978) 左下Macintosh(1984) 右下SUN 1(1982)

TeletypeとVT100のキーボードの写真を下に示す.
Teletypeのキーボードは, 純粋に機械式であり, この写真のような円筒形のキーを押し込むので, キータッチが良い悪いという以前の機構であった. 一方, VT100は, 電気的スイッチで, 使い心地のよさは定評があった.
しかし, 相違はさらに別にある. 以下のASCIIコード表のように, 現在のコードは上2列の制御文字と,下6列の図形文字で出来ている. しかし昔, 図形文字が上の4列だけ(つまり小文字はない)時代(ASA X3.4 1963)があった. またその規格では, 図形文字の最後の‘^’(hat)と‘_’(under line)が, それぞれ‘↑’(up arrow)と‘←’(left arrow)であった.
Teletypeのキーボードでは, 文字キーを打つとその(大)文字が出, ‘Shift’と一緒だと, キーの上段の図形文字, ‘Ctrl’と一緒だと, キーの上段の制御文字が出る. ASCIIコード表から分るように, 下段の図形文字と上段の図形文字または制御文字は, コードの下4ビットが同じである. コード送出の機械式機構を簡単にするためで, この対応をlogical bit pairingという. この配列はJISキーボードに未だに継承されている.

上Teletype 下VT100 のキーボード

他方, VT100の英字キーは, ‘G’を除いて大文字だけであり, そのキーを押すとその小文字が出, ‘Shift’と一緒だと大文字が出る. ‘9’と‘(’のような図形文字の上下対応は, ASCIIコード表と無関係になり, 伝統的なタイプライタの記号対応に近くなった. これをtypewriter pairingという. ‘G’の上段にだけ‘BELL’とあるのはよく分らないが, ‘Ctrl’と一緒に‘G’を押すと, ‘BELL’の制御文字が出るということだ.

Teletype ASR 33 キーボード

DEC VT100 キーボード

ASCIIコード

Teletypeはテレプリンタ(印刷電信機)の一種の商標で, その昔のテレプリンタのキーボードやコードはもっと違う. ここに示すCreedやKleinschmidtのキーボードは文字キーが3段, コードのITA2(International Telegraphic Alphabet No.2)は5単位であった. 私が1960年ころに使ったパラメトロン計算機PC-1の文字コードは, ITA2を基本にしたものであり, 当時PC-1の利用者は, このコードが読めた.

Creed/Kleinschmidtのキーボード

ITA2

キーボードを使うには, それぞれのキーの位置を覚える必要がある. 私がこれまで見たキーボードでは, 数字キーが, 1234567890の順, 英字キーが, 上段からQWERTYUIOP, ASDFGHJKL, ZXCVBNMと並ぶのは共通であった. なぜQWERTY…かは多くの説があり, ここでは省略する.

Typewriter Pairingの他の記号文字の位置を見ると, 0の右の(-,_), (=,+); Pの右の([,{), (],}); Lの右の(;,:),(’,”); Mの右の(,,<),(.,>),(/,?) は変らない. キーボードによって, 位置が違うのは, (\,|)と(‘,~)だけらしい.
まずMacintosh. TeletypeやVT100にあった, ‘Esc’と‘Line Feed’はない. しかし, この図は, 私が今使っている, MacBook Proのキーボードと同じだ. Happy Hacking Keyboardが25年間, キー配列を変えないが, Macも40年近く同じ配列である. ただ, 右上隅が, Macは‘Backspace’, MBPは‘Delete’である.

もう一度VT100に戻ると, ここで驚くのは‘Return’の形と, (\,|)キーが‘Return’の外にあることだ. さらに‘Caps Lock’まであった.
‘Caps Lock’は, もともと手動のタイプライタにあった機能である. 通常の文字の打鍵では, 小文字が印字されるが, シフトキーを押さえると, タイプバスケットが多少せり上り, 大文字がプラテンに当るような機構であった. 大文字を続けて打つ時は, シフトキーを強く押す. するとロックが掛かり, 押した状態が続く. シフトキーをもう一度押すと, ロックが外れた. この機構を採用したのが‘Caps Lock’である. しかし, 計算機を使う際は, 邪魔なだけである.

やがて, Sun MicrosystemがSUN 1を発表すると, そのキーボードは, VT100のキーボードにがわを被せたものであった.
この後, 研究室には, SUNワークステーションが次々とやって来た. そのキーボードを順に示す. Type 2では, (\,|)が‘Return’の内側に入った. ‘Caps Lock’はなくなった.
‘Return’の形状は以前のまま.
Type 5までの図があるので, 間違い探しの要領で眺めてほしい.

Macintoshのキーボード

VT100のキーボード

Type 2 キーボード

Type 3 キーボード

Type 4 キーボード

Type 5 キーボード

前置きが長くなった. ここからがHappy Hacking Keyboard誕生の経緯である. Sunワークステーションのキーボードが, それこそ猫の目のように変わるのは, それが(‘,~),(\,|)だけであっても, 使う方から見れば大問題である. また‘Return’の形も変わり, ‘Line Feed’がなくなったりする. また使い方もよく分らない余計なキーが周囲について, キーボード自体も, 際限なく大きくなって来た.
これはなんとかならないかと思っていたところに, 1991年の秋, PFUの二宮社長から電話があり, PFUの社内誌「PFU Technical Review」に何か書けといわれた. ちょうどキーボードの事を考えていたので, 「けん盤配列にも大いなる関心を」を書いた. またその後, そこで提案した個人用小型キーボードについて, 好きそうな人と議論した.
個人用小型キーボードも, Type 3を基準とする試案, alephキーボードになり, 洗練された形となる.
設計原則は:
7ビットのASCIIコードを送出する.
Typewriter Pairingにする.
8ビット目を追加する‘Meta’キー‘を‘Line Feed’の位置に置く. (‘Line Feed’は‘^L’で代替出来る.)
よく使う制御文字(‘Esc’, ‘Tab’, ‘Return’)は専用キーを付けるが, ‘BackSpace’(^H), ‘Line Feed’(^J)などは‘Control’と一緒に使う. ‘Delete’は‘Control’と関係ないので, キーをつける.
一方, 矢印キー, 数字キー, ファンクションキー, ‘Caps Lock’は採用しない.
こうして出来たAlephは, 横15単位, 縦5単位, 56キーとなった.
ところで, 通常のキーボードのキーのサイズ(単位)は, 縦横とも19.05ミリ(3/4インチ)である. これで, 横15単位, 縦5単位を計算すると, 横285.75ミリ, 縦95.25ミリとなる.
一方A4の紙のサイズは, 長い辺が297ミリ, 短い辺が210ミリなので, 短い辺を半分にした105ミリに収まり, これはちょうどよいサイズだと思った.
キーボードのサイズは, 横15, 縦5だから, 3:1; 紙のサイズは, √2 : 1で, 短い方を半分にすれば, √2 : 0.5 ≈ 1.414 : 0.5 = 2.828 : 1だから, たしかに≈ 3 : 1ではある.
社内誌の2,3年後に, PFUの新海専務と会う機会があった. PFUの社内誌に書いた記事が話題になり, それを機にPFUでキーボードの検討と試作が始まった. Alephキーボードは, あまりにもUnixプログラマ向けであり, 商品化対策の案を取り入れ, 半年後にプロトタイプが完成し, それが好評であったので, 商品としての開発に着手. Happy Hacking Keyboard(HHKB)として, 1996年12月に発売された.
‘Happy Hacking’は, 米国のハッカー, Richard Stallmanが, ハッカー仲間で別れる時の挨拶として使った言葉を借用した.

AlephとHHKBのキー配置を示す. Type 3を基本とするAlephの図形文字のキーは, 英字が26(大文字小文字52図形文字), 数字が10(数字10文字と記号10文字), 記号だけが11(記号22文字,数字キーの上段と合わせ, 記号は32文字)で, 図形文字94. 図形文字か制御文字か判明しない文字, ‘Space’, ‘Delete’は専用キーがある. 制御文字32のうち, 専用キーのない制御文字は, 前に書いたように, ‘Ctrl’を使う.
HHKBと商品化するに当り, ‘Mata’は止めてその位置に‘Fn’を置き, また, ‘Space’の両側に, ‘Alt’と‘Command’(♢で表す)を付けた. 最近のHHKBには, それぞれ(‘Alt’と‘Opt’)と, (♢(長菱形Lozenge)と⌘(丸付四角Bowen knot))の刻印がある.
なお, HHKBには日本語配列もあるが, 私はその設計や開発には関係していない.

Alephキーボード

Happy Hacking Keyboard

キーボードの形について. キーボードは下の段(スペースの段)をA, それから上へB,C,D,E という. キーはEとD, CとBは1/2ずれ, DとCは1/4ずれている. それは, 昔の機械式のタイプライタで, タイプバーが重ならないようにしたからである.
HHKBでは, キーのずれの間隔が, 両端だけだがBとAも1/4なので, キーのずれの中心を結ぶ線が直線になる. その2本の線の間を, 逆台形という人がいる. キーボードの上に置いた手を延すと, 上の方が広がって, 逆台形の内部が打ち易いと説だが, 本当だろうか.
A段の左の空白が1.5, 右が2.5だけを覚えていると, HHKBの図は何も見ないで描ける.

HHKBのキーのサイズ他

アメリカにはキーボードの規格がいくつかある. typewriter Pairngは, 数字キーの相手は合っているが, ‘[’と‘]’がひとつのキーだったりして, なにかおかしい. ANSI-154は, Macとほぼ同じである.

ANSI X4.14-1971 logical bit pairing

ANSI X4.14-1971 typewriter pairing

ANSI INCITS 154-1988

Happy Hacking Keyboardは, 幸い多くのユーザーに愛好され, 今年の12月で発売から25年が過ぎた.
2004年にはグッドデザイン賞を受賞, 2019年にはグッドデザイン・ロングライフデザイン賞を受賞した.
この12月10日には, HHKB発売25周年記念のHHKBユーザーミートアップが開催される.

 

Happy Hacking!

 

グッドデザイン・ロングライフデザイン賞受賞

 

関連リンク

IIJ Engineers blog読者プレゼントキャンペーン
  • Twitterフォロー&条件付きツイートで、
    「IoT米」と「バリーくんストラップ」のセットを抽選で20名にプレゼント!
    応募期間は2021/12/01~2021/12/31まで。詳細はこちらをご覧ください。
    今すぐツイートするならこちら→ フォローもお忘れなく!

和田 英一

2021年12月10日 金曜日

2002年から約10年 IIJ技術研究所長. 年を取ってからは古い計算機や昔の計算法に興味が増し, シミュレーターを作ってそのプログラムを書いたり. 近頃はKnuthのTAOCPにあった問題のプログラムなどに挑戦したりしている.

Related
関連記事