Flash から IME を強制的に半角英数モードにする方法

ime.gif

SWF 上でユーザにキーボード操作させる状況で、ユーザ PC の IME が全角モードになっていて「アレっ!?」ってなることがありますが、ActionScript から強制的に IME のモードを切り替えることができたんですね。さっき MTL の山本ゆうごさんに教えてもらいました。

AS2 の場合はこのページの通りにやればOK。(※Flash8 からの機能)

AS3 の場合は

import flash.system.Capabilities;
import flash.system.IME;
import flash.system.IMEConversionMode;
:
//をしておいた上で、
:
//IMEモードを強制的に英数に
if(Capabilities.hasIME){
//これ間違い!→IME.conversionMode = IMEConversionMode.ALPHANUMERIC_HALF;
IME.enabled = false;
}

みたいにすれば、任意のタイミングで IME の「あ」を「A」にできる。もちろん逆も可。対応してないブラウザもあるかもしんないけど、備えあれば憂いなし。

追記:IMEとATOKが両方入ってる環境での挙動がおかしい。要検証。


“Flash から IME を強制的に半角英数モードにする方法” への1件の返信

コメントは受け付けていません。