


多くのキーボードで左上に配置されているEsc(エスケープ)キー。今では「入力をキャンセルする」「ダイアログを閉じる」といった、困ったときの脱出用キーとしておなじみです。
このキーのルーツは1960年代までさかのぼります。考案したのはIBMのエンジニアだったボブ・バーマー。当時のEscは、異なる文字コード体系や通信モードへ切り替えるための合図として定義されました。
当時のコンピュータでは、例えば「普通に文字を入力する状態」と「プリンタや端末に命令を送る状態」などの通信プロトコルを明確に切り替える必要がありました。Escは、その切り替えを行うためのスイッチだったのです。
では、なぜそれが現代のEscキーの役割になったのでしょうか。背景にあるのは、コンピュータが人間と対話する存在へと進化してきたという歴史です。メニュー階層を持つようになったプログラムでは、一階層前に戻るという操作が必要になり、さらにGUIが普及すると「今開いているプログラムから抜け出す」役割が定着していきました。
そもそもバーマー自身も、処理を中断し、制御を取り戻すための緊急手段としてEscを構想していたといわれています。困った時に無意識にEscを叩いてしまうのは、このような設計者の思想が、今も確かに息づいている証拠といえるでしょう。

ショートカットキーの主役といえば、Ctrl(コントロール)とAlt(オルタネート)。これらは、キーに別の意味を与える、キーボード上の制御キーです。
Ctrlは、テレタイプ端末の時代に生まれた、文字入力キーに制御情報を付加するためのキーです。たとえば、Linuxのターミナルで「Ctrl+L」は、画面を一度リセットし、現在の入力行を最上部に再描画する命令です。つまりCtrlは、入力そのものの意味を変えるキーです。
この「1つの物理キーに、異なる意味を持たせる」という発想は、現代のショートカット操作の原点にもなっています。
ちなみに、Ctrlキーの位置問題はしばしば論争を巻き起こします。本来、CtrlはCapsLockの位置、つまり「Aの横」に置かれていました。小指を自然に横へずらすだけで届き、ホームポジションを崩さずに済む配列だったのです。
ところが現在は、WindowsPCが世界標準として普及していく過程で、多くのキーボードで左下が定位置となりました。しかし、それでもエンジニアやプログラマーが設定変更で「Aの横」へ戻したがるのは、体がその最適解を覚えているからなのかもしれません。
Altは、Alternate(代替)の略です。Altは同じキーに、もう一つの意味を与えるためのキーとして設計されました。なぜなら、初期のコンピュータでは、物理キーを増やすこと自体が高コストだったためです。制御信号としての意味を付加するCtrlキーに対し、既存のキーに「別の定義」を割り当てるのがAltの役割です。
たとえばWindowsでは、Alt+Fでメニューを開いたり、Alt+数字で特殊文字を入力したりと、「通常の入力操作とは別のルート」に入るために使われています。
【注:キーボードによる配置の違いについて】
キーボードには日本語配列(JIS)や英語配列(US)といった規格の違い、またWindowsやMacといったOSの違いにより、キーの名称や配置が微妙に異なります。たとえばMacではAltキーはoptionと表記されています。お手元のキーボードと見比べながらお楽しみください。

キーボードのPrintScreenキーに同居して印字されている、あるいはキーボードによってはもはや存在すらしていない「SysRq」というキーをご存じでしょうか。
このキーは、もともとメインフレームの時代に作られたものです。OSがハングアップして何も受け付けなくなったとき、ハードウェアレベルでOSに直接割り込みをかけるためのキーでした。
現在の一般的なWindows環境では、このキーが単体で使われることはなく、実質的にはPrintScreenのおまけの刻印として存在しています。しかし、その役割が完全に失われたわけではありません。
Linux環境では、SysRqキーは「マジックSysRqキー」として知られており、特定のキーと組み合わせることで、システムの再起動やプロセスの強制終了など、カーネルレベルのコマンドを直接実行することができます。つまりSysRqとは、ユーザーのためのキーではなく、管理者のために用意された最終手段だと言えるでしょう。
SysRqという謎のキー。そこには、かつてのシステムトラブルへの切り札が眠っていたと思うと、好奇心がくすぐられますよね。

プログラミングの世界では「ソースコードは美しくあるべき」と言われますが、それはソースコードを生み出すための道具も同じです。その象徴ともいえるのが、多くのエンジニアに愛されるHHKB(Happy Hacking Keyboard)です。
HHKBは、東京大学名誉教授の和田英一先生の提唱により、プログラマーが理想とするキー配列を具現化したものです。前述した「Aの横のCtrl」をはじめ、徹底的に無駄を削ぎ落とした合理的な配列となっています。例えば、数字キーのすぐ隣に配置されたEscキーや、心地よい打鍵感を生む静電容量無接点方式など、すべてがユーザーの思考を妨げないことを目指した設計になっています。
プログラマーにとって、キーボードは自分の思考をソースコードとして出力するための、身体の一部であるといえます。だからこそ、自分の指の動きに合わせて道具を選び、ときにはカスタマイズする。そのこだわりは、常に最適化を求めるエンジニアの性そのものだと言えるでしょう。
私たちが毎日何気なく叩いているキーボード。そこには、先人たちの思想や、メインフレーム時代の技術的な必要性、プログラマーにとっての最適を追い求めた設計思想などが詰まっています。
次にEscで入力を切り替えるとき、あるいはCtrlやAltキーを使うとき、ぜひ、キーの裏側にある物語を思い出してみてください。
そして今夜は、ご自身の愛用のキーボードを眺めながら、一献傾けてみてはいかがでしょうか。

木曜日の夕方に仕事で疲れた脳みそをリフレッシュしたいとき、一人でゆっくりしたい夜、ちょっとした空き時間に、気軽に「つまめる」ソースコードの話題をお届けします。
まるで隠れ家バーでマスターが語るウンチクのように、普段は見過ごしがちなコードの奥深さや、思わず「へぇ〜!」と唸るようなユニークなアイデア、クスッと笑える小ネタを、ソースコードの世界を熟知した「情シスのじかん」がご紹介します。
コードを書くのが大好きなエンジニアさんも、ソースコードはちょっと苦手…という情シス部門の方も、この特集を読めば、きっとソースコードの新たな一面を発見できるはず。
業務効率化のヒントになるTipsや、セキュリティ対策に役立つ情報も盛りだくさん。
さあ、あなたも「おつまみとしてのソースコード」で、技術の世界をもっと身近に、もっと楽しく感じてみませんか?
本特集はこちら30秒で理解!フォローして『1日1記事』インプットしよう!