How to setup environment to develop Fireinput


首先,你需要用svn下载源代码:

svn checkout http://fireinput.googlecode.com/svn/trunk/ fireinput-read-only

然后作以下的设置(以Linux环境为例):

 1. 用svn 下载源码
 2. cd /home/<username>/.mozilla/firefox/<profile>/extensions
 3. ln -s <fireinput 源码 directory> fireinput@software.fireinput.com
    如果fireinput@software.fireinput.com 已经存在,你可以先删除它
 4. 重新启动Firefox,火输应该会被装载在右下角.
 5. cd <fireinput directory>/. 在这里,你可以进行开发和修改.


How to develop a new Fireinput IME engine ?


首先请参考一下五笔的输入法.

另外,每一个IME的需支持:

 loadTable()
 isEnabled()
 isSchemaEnabled()
 canComposeNew()
 setSchema()
 getAllowedInputKey()
 setEncoding()
 find()
 next()
 prev()
 isBeginning()
 isEnd()
 canAutoInsert()

这几个基本的函数. 详细信息请参考Agon的仓颉输入法开发过程: http://fireinput.com/forum/view_topic.php?id=47 .


如何构建对中文输入友好的网页界面


大家都应该常常使用中文输入,也许会碰到一下情况: 经常按热键来转换中文和非中文状态. 例如, 登录百度,新浪或Gmail, 你需要在非中文模式下, 而一旦成功登录,又需要打开中文.

是不是觉得有时候一些烦?

如果网页和输入法之间有交互, 输入法了解网页的有些地方不需要中文输入, 而动态的进入非中文输入模式, 在我看来, 是网页用户界面的一大进步.

这是火输输入法建立一开始的一大目标.

在火输1.8以前的版本, 已经可以对密码输入框进行动态调整. 也就是说, 对

  <input type="password" name="yourpasswd"/>

类似的输入框, 火输会动态的进入非中文输入模式. 但这远远不够. 网页上还有大量的其他的框, 也不需要进入中文模式.

如何让这些网页智能化的告诉输入法 "对不起, 请不要显示中文输入" 呢? 对此, 火输提出以下的解决方案:

 
   对于每个不需要显示中文输入的输入框, 加入 _no_cjk_input 属性, 例如:
   <input type="text" _no_cjk_input="true" value="只是数字和字母"/>
   <textarea cols=10 _no_cjk_input="true"></textarea>
  当在这些地方敲击键时, 火输会读取_no_cjk_input 属性, 如果其值是"true" 或"1", 
  火输就会自动进入非中文输入模式.
 

这一方案已经在火输网站实施,并得到非常成功的验证.

如果你是网站程序员, 这个方案也许会给你的网站带来更好的网页用户界面; 如果你在开发中文输入法, 也许这个方案会让你的输入法拥有某些智能.