• ベストアンサー

ActionScript3.0 keyLocation

Flash ActionScript3.0のkeyLocationプロパティについて質問です。 下記のサイトの解説でシフトキーなどの左右どちらが押されたかという認識ですが、サンプルでもどちらを押してもtraceの結果が0しか表示されません。なぜでしょうか? http://hakuhin.hp.infoseek.co.jp/main/as3/key_board.html#KEY_BOARD_00 環境はMac OSXのFlashCS3を使用しています。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

ご提示のサンプルを Windows Vista と Mac OS X の両方で試してみましたが、確かに Mac OS Xでのシフトキーは左右どちらもは 0 ( Windows では左= 1 、右= 2 )になりますね。 keyLocation プロパティが 0 になる場合とは、「左右のどちらであるか区別できない、もしくは、キーがもともと1つしかない」時です。例えばアルファベットのキーを押すと、1つしかないキーなので、どちらのOSでも 0 になります。 キーボード制御・キーコードに関しては、システムや使用しているキーボードそのものとも関係があるそうです。 Windows だと判別できるのに Mac ではできないのは、身もフタもない言い方になりますが、Mac OS Xやキーボードがこの識別に対応していないからなのではないでしょうか。 お遊び程度で試す分にはいいけれど、あまり実用的ではない機能だと思います。

remiosuki
質問者

お礼

ありがとうございます。Macでは判別されないのですね。 キーボードそのものにもとなると検証も大変で、 たしかに実用的ではないですね; altKeyプロパティもMacはaltキーのみでは動作せず、コマンド+altで動作するようです。

すると、全ての回答が全文表示されます。

関連するQ&A