Windows PCには、文字削除キーとして、[Backspace]と[delete]の2つのキーがあることをご存じだろうか。カーソルの前の文字を削除するのがBackspace、カーソルの後ろの文字を削除するのがdeleteだ。
しかし、Macには[delete]キーひとつしかなく、しかも、Windowsの[Backspace]キーと同じ動作をする。なぜ、Macには文字削除キーがひとつしかないのだろうか。これが今回の疑問だ。
Macには[delete]キーがない。Windowsユーザはそれに困惑するようだ
MacとWindowsは同じコンピュータといえど、操作方法などに細かい違いがある。たとえば、「Macには[delete]キーがない」とWindowsユーザは困惑する。Macユーザの読者は、そんなことはないと思うだろう。
しかし、Macの[delete]キーの挙動はWindowsの[Backspace]キーにあたり、カーソルの前の文字を削除するのだ。一方、Windowsの[delete]キーは、カーソルの後ろの文字を削除する。これがMacにはない。
つまり、Windowsには文字を削除するキーが2種類あるが、Macには1種類しかないのだ。
すべての文字コードの起源である「ASCIIコード」には、deleteとBackspaceの2つの制御文字が規定されている。Windowsはこの規格どおりに両方のキーを配置している。一方、Macは両方備えるとユーザを混乱させるのではないかと考え、1つに統一し、もう1つの機能についてはショートカットキーで対応していると推測可能だ。
カーソルの前を消すか、後ろを消すか。どちらが[delete]の“あるべき姿”?
そもそも文字を削除するときに、カーソルの前を消すか、後ろを消すか、どちらが正しいのだろうか。私たちMacユーザは、前者の方法に慣れてしまっていて、これが自然だと思っている。しかし、歴史的には“後ろを消す”ほうが正しい。
1984年にMacintoshが登場する以前、パーソナルコンピュータの画面はCUI(キャラクターユーザインターフェイス)だった。図形は表示できず、表示できるのは文字だけ。カーソルは、1文字分のスペース全体を光らすことで表現されていた。つまり、文字の上に重ねてカーソルが点滅表示されていたわけだ。
この状態で文字を削除するには、カーソル位置にある文字を削除するのが自然だ。これが本来の[delete]キーである。
ところがMacの登場により、カーソルは文字に重ねて表示されるのではなく、細いヘアラインとなった。これにより、カーソルが文字と文字の間に表示されるようになったのだ。

CUIでカーソル位置の文字を消す[delete]を実行すると、カーソル位置は動かない。つまり、Macでもカーソル位置が動かないように、カーソルの後ろの文字を消すのが伝統としては正しい。これが本来のdeleteだ。Macのように、文字を削除してカーソルが1文字分前に移動するのは、モダンなやり方になる。
Macが“伝統的な[delete]キー”を採用しなかった理由
Macが伝統的な[delete]キー(カーソルの後ろを消す)を採用しなかった理由については、わからないところも多い。しかし推測するに、文字を削除するというのは、入力途中で多く発生するということを考慮したのかもしれない。
カーソルが文字の間に位置するMacの場合、入力中に最後の文字をタイプミスをしたとき、伝統的な[delete]キーしかなければ、矢印キーなどでカーソルを1文字前に移動してから[delete]キーを押すという2つの手順が必要になる。
一方、カーソルの前の文字を削除するやり方なら、最後の文字は[Backspace]キーを押すだけで削除できる。そのため、1984年に発売された初代Macintoshのキーボードには、[delete]キーではなく、[Backspace]キーのみが印字されている。
[Backspace]は“文字を消すキー”ではなかった。その原点は機械式タイプライターにある
しかし、[Backspace]キーというのは、本来は文字削除の機能ではなく、単にカーソル位置を1文字分前に戻す動作をするものだった。キーボードの原型になっている機械式タイプライターは、アームの先についた活字を打ちつけて印字をする仕組みだったため、用意されている活字しか打つことができない。
しかし、[Backspace]キーが搭載された機種が登場したことで、重ね打ちを利用して、活字として用意されていない文字も打てるようになった。たとえば「$」の活字がない場合は、[S]↓[Backspace]↓[|]キーと重ね打ちをしたわけだ。
機械式タイプライターは電動式タイプライターに進化し、さらにテレタイプ端末へと発展していった。これは複数台のタイプライターを回線で結び、片方で打った文字が、遠方のタイプライターで印字されるというものだ。
このテレタイプは、1960年代には、文字コードを定め、信号で送受信を行うようになる。この文字コードが、国際的な文字コードの原型になっているASCIIコードにつながっていく。
穿孔テープにタイピング。通信文を紙のテープとして保存していた時代
20世紀になると、テープが導入された。少し昔のSF映画を観ると、コンピュータが吐き出した穴の空いた紙テープを博士が読むシーンが描かれる。これはもともと、テレタイプ用のストレージデバイスだった。
オペレータが通信文を直接テレタイプに打ち込む場合、入力に30分かかるのであれば、貴重なテレタイプ端末と回線を長時間占有してしまう。また、タイプミスもそのまま伝わってしまう。
そこで、穿孔テープにパンチができる電動タイプライターを複数台用意し、複数のタイピストが通信文を穿孔テープに入力をしていく。
タイプミスがあれば修正したあとに、その穿孔テープをテレタイプにかける。すると、機械の限界速度で通信ができるため、1台のテレタイプで大量の情報を送信することができた。受けるほうも、紙テープで通信文の保存が可能だった。

[delete]は、穿孔テープのすべての位置に穴が空いている状態
ASCIIコード表を見ると、面白いことがわかる。deleteは「127」というコードが割り振られている。ASCIIコードは7ビットコードなので、2進法で表すと「1111111」。
これは、穿孔テープではすべての位置に穴が空いている状態だ。つまり、タイプミスをした場合は、全部の穴を開けてしまえばいいのだ。穿孔テープの読み取り機側では、全部の穴が空いている文字は無視する決まりになっている。
この削除を行うときの操作は、機種によっても違いがある。しかし一般的には、キーボードのBackspaceを押して実行する。穿孔テープは、1文字入力すると自動的に1文字分送られるので、Backspaceで1文字戻してやる必要がある。
それから、キーボードではなく穿孔機についている削除ボタンを押す。すると、その位置の穴をすべて開けてしまう。つまり、「[Backspace]キーを押す」→「穿孔機の削除ボタンを押す」が一般的な手順だった。
穿孔テープで文字を削除するときの一般的な手順




MacとWindows、考え方の違い。[delete]キーだが“1文字戻す”を連想させる印字に
ASCIIコードはあくまでも通信用の文字符号なのだから、ASCIIコードにあるからといって、キーボードにもその文字を用意しなければならないということはない。
Windowsは、PCがテレタイプやミニコンのターミナルとしても使われることを考慮し、ASCIIコードにある文字はすべてキーボードに備えるべきという考え方なのだと思う。
一方、Macは文字を削除するときに、キーボードで使われるのは[Backspace]キーだけなのだから、それだけを備えればいいという考え方だ。しかし、この[Backspace]キーは、本来の使われ方ではなく文字削除のために使われるのだから、名称と機能がずれている。
そこで、現在では[delete]キーという名称になっている。しかし、そこに印字されている記号は「下図」であり、カーソル位置を1文字戻すのを連想させるものになっている。

おすすめの記事
著者プロフィール

牧野武文
フリーライター/ITジャーナリスト。ITビジネスやテクノロジーについて、消費者や生活者の視点からやさしく解説することに定評がある。IT関連書を中心に「玩具」「ゲーム」「文学」など、さまざまなジャンルの書籍を幅広く執筆。