LibIMEはオブジェクトに対するIME入力状態を検知できるJavaScriptライブラリです。

タッチタイピングが苦手な人が下を向いて文字を入力し、顔を上げたら全て英語で入力されていて(またはその逆)ショックを受けた、なんてことは度々あります。それを防ぐのに使えるかもしれないのがLibIMEです。

[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-16 12.07.23_thumb.1366118903.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-16 12.07.23.1366118903.png)
ime.statusでIMEの状態を取得できます。

[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-16 12.08.00_thumb.1366118908.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-16 12.08.00.1366118908.png)
入力するとそれに伴ってIME入力か直接入力かが分かるようになっています。

LibIMEを使えば日本語入力中であるか、直接入力中であるかがすぐに判別できます。それによって処理を変えたりするのも容易でしょう。使いどころの多そうなツールです。なお、jQueryがある場合はそちらを使うようになっています。

LibIMEはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

MOONGIFTはこう見る

海外のWebサービスで入力によって何らかのイベントを起こす形のWebサービスの場合、大抵IMEによる入力が考えられていなかったりします。そのためエンターキーを入力したり、そもそも文字幅が合っていなかったりします。これは本当に使い勝手が悪くなります。

入力を補完したりするライブラリの場合、日本語をはじめとする非英語圏のことを考えて作らないと使い勝手が悪くなるでしょう。そのため個人的には入力に対する処理はしない方が良いと思っているのですが、もし作る場合にはそういった点に注意が必要です。

geta6/libime.js · GitHub