IME 制御したい その3
Firefox 4 のみです。(さらに 32bit windows)
bootstrap と ctypes.js を 試してみた。
https://github.com/caisui/ime-controller
(Makefile, install.rdf, bootstrap.js の 3 file!)
xpi ->http://www1.axfc.net/uploader/File/so/59050.xpi
reboot 無しで お試しできます。
(これだけだと何もできませんが…)
widnow.gIMEManager を 追加します。
enabled | IME の ON/OFF |
conversion | 入力モード値 |
sentence | 変換モード |
なプロパティ(getter,setter) を 持ってます。
各値は単純に win api から 拾ってきているだけです。
詳しい情報は MSDN の この辺りWindows previous versions documentation | Microsoft Docs,Windows previous versions documentation | Microsoft Docs,IME Sentence Mode Values - Windows applications | Microsoft Docs
です。
ctypes は、https://developer.mozilla.org/en/JavaScript/Code_modules/ctypes.jsmを参考に結構すんなりいけました。
戸惑ったのは、ポインタの宣言の仕方でした。
int x; hoge(&x); printf("%d", x);
相当が
var x = ctypes.int32_t(); hoge(x.address()); alert(x.value);
みたいな感じになります。
(printf と alertは 値を画面に出すという意味で等価ということでお願いします。)
参考
Working with data - Mozilla | MDN
ctypesを使った感想は、宣言が面倒きわまりないことにつきます。
今回は、構造体が無かったので関数だけで済みなによりでした。
なお、64bit 版 は Invalid ABI specification が 出てよくわからなかったので断念しました。orz
2011/03/03
tag 誤っていたので訂正