vieweditattachhistorytopchangessearchhelp

Smalltalk と3ボタンマウス

Squeak には、Mac OS と異なり、メニューバーというのがありません。これは、Squeak やその前身である Smalltalk-80 が3ボタンマウスに使用を想定していたことと深い関わりがあります。

まだワークステーションも一般的ではなかった時代に、ジョブズが「3ボタンマウスなんか使えるか。ボタンは1つで十分だ…」というようなことを言って、Mac のワンボタンマウスの有効性を強調していた時期がありました。今にして思えば、3ボタンマウスというのは後に我々が想像したワークステーションのそれではなく、Smalltalk マシン、つまり Alto のことをいっていたのですね。おおかたのアイデアを頂戴するだけしておいてえらいいわれようです(笑)。

Smalltalk マシンでは3ボタンをそれぞれ色で呼び分けます。通常、3ボタンマウスはボタンが横並びになっていますので左から、赤-黄-青となります。何故、左-中-右のように場所で呼ばなかったかというと、当時まだマウスは実験段階でいろいろな形態のものが作られる可能性が想定されていた事情があります。実際に、Alto に接続されているマウスをよく見ると、縦に3つのボタンが並んでいる写真も見受けられます。

Squeak では、ワンボタンの Mac で3ボタンの信号を出すために、モディファイアキーとの併用によるクリックを黄ボタンと青ボタンに割り振っています。通常のクリックが“赤”、option-クリックが“黄”、cmd-クリックが“青”です。さらに、ctrl-クリックという色の付いていない Smalltalk-80 時代にはなかったクリックも Squeak では追加されています。

余談ですが、Win 環境のように2ボタンの場合は、右クリックが“黄”、alt-左クリックが“青”、ctrl-右クリックもしくは alt-ctrl-左クリックが ctrl-クリックになります。ホイールボタンがある場合は3ボタンと数えられますので、左が“赤”、ホイールクリックが“黄”、右クリックが“青”、ctrl-黄/青クリックが ctrl-クリックとなります。なお、以上はあくまで Win 環境の場合で、Mac 環境ではホイールボタン付きマウスでもそれらを黄ボタン、青ボタンとして使うためにはマウスに付属のユーティリティを使って、それぞれ option-クリック、cmd-クリックに割り振り直してやる必要があります。

3ボタンだとメニューバーは必要ない、と申し上げましたが、これは逆で、3ボタンでまかなわれていた機能をワンボタンでこなすために考え出されたのがメニューバーとウインドウタイトルバー(および、そこに配置された各種ボタン)と言うほうが正確です。Smalltalk-80 では黄ボタン、青ボタンは、ウインドウ内でクリックすると、それぞれ「黄ボタンメニュー」「青ボタンメニュー」と呼ばれるポップアップメニューを表示しました。(後で述べるように今は青ボタンは別機能に割り振られているので「青ボタンメニュー」はウインドウタイトルバーにあるウインドウメニューボタンをクリックして呼び出すように変わりました)

黄ボタンメニューは、選択したテキストや作業中のウインドウ、細分化されている場合はその枠(pane = ペインと呼びます)内で有効なメニューコマンドを列挙します。これは Squeak でも同じです。Win 環境の右クリック、Mac でも後に採用されたコンテキストメニューとも似ています(おそらくこれは、Win が Smalltalk から Mac の頭越しに採用した GUI デザインのひとつでしょう)。ただ黄ボタンメニューは、右クリックメニューやコンテキストメニューとは異なり、その内容はペイン依存的で、選択対象によってその都度再構成されることはありません。(しかし、そうした機構は Squeak にも徐々に取り入れられつつあります)

青ボタンメニューは、Smalltalk-80 時代は作業中のウインドウを操作するためのコマンドが列挙されていました。Squeak になってから、Squeak のウインドウにも Mac のウインドウタイトルバーの機能が“逆輸入”されたので、いくつかの機能は Mac 同様にウインドウタイトルバーにボタンとして組み込まれ、残り(もしくは新しく設けられたものは)はタイトルバーにある「ウインドウメニューボタン」をクリックしたときに表示されるメニュー(かつての青ボタンメニュー)にまとめられています。

現在、ウインドウメニューボタンの出現によってその任を解かれた青ボタンクリックにはモーフを選択するための機能が割り振られており、新たに設けられた ctrl-クリック(ある意味、モーフにおける黄ボタンメニュー的存在を呼び出すためのボタン)とセットで用いられます。総じて Squeak は、3ボタンの Smalltalk マシンからひとつ減ってふたつ増えた4ボタン(さらに言えば、テキスト用に2ボタン、モーフ用に3ボタンのつごう5ボタン!)マウスを想定した環境…とも言うこともできるかも知れません。--鷲見 - 2002-11-21, 00:23:06

このページを編集 (4244 bytes)


Congratulations! 以下の 1 ページから参照されています。

This page has been visited 7260 times.