2017年08月22日 23時00分 ハードウェア

テキストエディタ「vi」の開発に使われた端末「ADM3A」には現代のキーボードにはない「HERE IS」というキーがあった

by Ron



UNIXのエディタとして「Emacs」と双璧をなす存在の「vi」は、伝説的手腕を持つ開発者のビル・ジョイによって生み出されました。ジョイはカリフォルニア大学バークレー校にADM3A という端末が導入されたのを機に改良を加えて、viを現在の形にしたのですが、このADM3Aのキーボードには、現代のPCではみられない「HERE IS」というキーがついていました。



The HERE IS key | Dave Cheney

https://dave.cheney.net/2017/08/21/the-here-is-key



この謎に迫ったのは開発者のデイブ・チェニー氏。開発者仲間のKelsey Hightower氏が「タッチバー付きのMacBookProを開発した人はVimユーザーじゃないんじゃないかという気持ちが湧いてくる」とツイートしたのに対して「きっとiPhoneのバーチャルキーボードで育って、その経験を反映したんだ」と軽く答えたところ、Bret Victor氏が「viの開発者もESCキーがいまのTABキーの位置、Qの左にあるキーボードで育ってます」と、ADM3Aのキーボードの写真を投稿。







It goes even deeper than that. The designer of vi grew up using keyboard where the "esc" key is to the left of the "Q", like our "tab" key. pic.twitter.com/CYnlm7VRZv — Bret Victor (@worrydream) 2017年8月20日



この画像を見た開発者のPaul Brousseau氏が「『HERE IS』キーは何をするキーなんです？」と質問。チェニー氏はちょうどいい気晴らしだと、その謎を調べました。



What does the "here is" key do? — Paul Brousseau (@object88) 2017年8月21日



といっても、答えはADM3Aのマニュアルに書いてあったとのこと。これはマニュアル28ページ、キーボードについての説明。QWERTY配列で、その上に数字が並んでいるのは現代と同じですが、Qの隣にTabキーではなくEscキーがあるのは大きく異なる点。







29ページで、「HERE IS」キーについてはアンサーバック機能で識別メッセージを送信するためのものであると説明されています。アンサーバック機能というのは、HERE ISキーを押すか、接続しているホストからENQ(問い合わせ)を受信したとき、アンサーバックメッセージを送り返し、ターミナルが半二重モードのときにはメッセージを表示する、というもの。1970年代、接続されたホストが、ターミナルはまだ接続してきているのか、もし接続が続いているならそれはどの端末なのかを確認するという仕組みで利用されていたもので、現在のキーボードに存在しないのも納得です。



ちなみに、viとその派生(Vimなど)ではカーソルの移動にhjklの4キーを使うことができますが、これはADM3Aにカーソルキーがなくhjklにカーソル移動が割り当てられていたことに由来します。

