从实验中,我们知道ClutterText是可编辑,可输入的,但是在clutterText中不能触发输入法(Input method),也就是说,不能实现中文输入。
clutter使用ClutterIMText来替代ClutterText,这是clutter方面做的努力。
除此之外,也需要输入放,例如scim client中支持或者包括clutter。
相关参考资料见:http://moblin.org/documentation/input-method-framework/moblin2-input-method-guide , moblin提供基于SCIM或者IBUS两种方式的解决方案。对于SCIM方式,我根据提示导入clutter-imcontext, clutter-imcontext-devel(也可以通过git://git.moblin.org/clutter-imcontext 来获取 ), scim-bridge-clutter,之后,设置变量环境export CLUTTER_IM_MODULE=scim-bridge,或者在运行程序的时候加上参数,例如CLUTTER_IM_MODULE=scim-bridge ./mytest,将我们程序中需要中文输入的clutterText变为ClutterIMText即可,即在创建的时候使用
text = clutter_imtext_new("");
我的另一台机器是fedora10,在fc10上碰到了麻烦,去查fc的rpm包,如果我们使用fc12,我们就无需烦恼,fc12提供clutter的最新版本,并在scim中支持clutter。但是fc10不行,我们试图通过更新scim-bridge(含scim-bridge-clutter),编译和install没有问题,但是实际上并没有起什么效果,难道要升级到fc12?即使想升级也要等,因为现在只是fc11。fc12提供的scim-bridge的版本没有moblin的版本高,我曾经尝试编译和安装moblin的scim-bridge(已打上scim-bridge-clutter的补丁),并且安装,但是我确实无法使之有效运行起来。
想真正解决问题,需要给我们的scim-bridge做一个 clutter的client,可以参考http://os.cqu.edu.au/usr/share/doc/scim-bridge-0.4.5/doc/developer/index.html 。
我们也同时注意到clutter并不支持粘帖板的功能,如果输入法使用粘帖板方式,现在没什么办法。
相关链接:我的Clutter相关博客