Fcitx--企鹅输入法广受Linuxer们的喜爱,我本人也被其小巧/简洁所吸引.
不过在用了一段时间后,发现Fcitx有个小毛病,就是在中文输入状态下,如果我要输入英文单词,并且这个单词以小写字母开头,中间夹着大写字母,这时输入的大写字母就直接输入到编辑器中了,而不是在输入窗口中,这样最终输入的单词就是错位的.也许表述不是很明确,下面贴上图(输入英文"autoEng.c"):
Fcitx在中文输入状态下,如果第一个字母是大写的话,其将自动进入英文输入状态.于是,我就想对其进行一些改造,使其能够在中文输入的状态下输入大小写混用的英文单词(开头是小写字母).
首先,到Google Code上下载Fcitx的源码(http://code.google.com/p/fcitx/downloads/list),我下载的是fcitx-4.1.1_all.tar.bz2.
解压后,进入Fcitx的解压目录,使用vi编辑文件"src/module/autoeng/AutoEng.c",并定位到185行,或是含有如下IF语句的行:
if (autoEngState->owner->input.iCodeInputCount == 0 && IsHotKeyUAZ(sym, state))
将该if语句修改成如下所示:
if (/*autoEngState->owner->input.iCodeInputCount == 0 && */IsHotKeyUAZ(sym, state))
{
/*autoEngState->index = 1;
autoEngState->buf[0] = sym;
autoEngState->buf[1] = '\0';*/
autoEngState->buf[autoEngState->index++] = sym;
autoEngState->buf[autoEngState->index] = '\0';
*retval = IRV_DISPLAY_MESSAGE;
input->bShowCursor = false;
autoEngState->index = strlen(autoEngState->buf);
autoEngState->active = true;
ShowAutoEngMessage(autoEngState);
return true;
}
AutoEng.c文件是用于控制在中文输入法下何时进入英文输入状态,从代码中可以看到,原来判断英文输入状态是通过第一个字母是否为大写来判断的,如果是第一个输入且为大写字母,则进入英文输入,否则,就是中文输入.
在这里,我只需要判断输入的字母中是否有大写字母,如果有大写字母,则也进入英文输入,而不管其是否是第一个输入,并让其紧接着前面的一起构成要输入的英文单词.
修改完毕后,运行如下命令,对fcitx进行重新编译和安装:
$ cmake . && make && sudo make install
退出Fcitx并通过终端输入fcitx命令启动企鹅输入法,然后,在输入大小写混合的英文单词时,你会发现,你成功啦!
下面是截图(仍然输入英文"autoEng.c"):
- 大小: 10.8 KB
- 大小: 11.1 KB
分享到:
相关推荐
解决Qt编译出的应用不能输入fcitx中文字符问题,比如搜狗输入法 PS:aarch64 GNU/Linux
解决Qt编译出的应用不能输入fcitx中文字符问题,比如搜狗输入法 PS:aarch64 GNU/Linux
fcitx插件-解决qt无法输入中文的问题
麒麟系统QtCreator使用中文输入法的fcitx插件 麒麟系统QtCreator使用中文输入法的fcitx插件 麒麟系统QtCreator使用中文输入法的fcitx插件
Fcitx是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法,是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案,彻底解决在GNU/Linux下没有一个好的中文输入法的...
fcitx-3.2fcitx-3.2fcitx-3.2fcitx-3.2fcitx-3.2
ubuntu/Mint各桌面环境下通用 ,有五笔,拼音,google拼音等,注意终端输入前把源设置为国内163/阿里云等
该插件解决ubuntu14.04系统,安装qt5.6,fcitx中文输入法默认不能在Qt creator中切换输入中文的问题。 据说从qt5.4之后的版本没办法直接通过apt-get安装fcitx的平台插件,所以该资源是我按照网上一篇非常棒的博客,...
fcitx-4.2.8.5git20141209-1.el7.centos.x86_64.rpm fcitx-cloudpinyin-0.3.4-1.el7.centos.x86_64.rpm fcitx-configtool-0.4.8git20141209-1.el7.centos.x86_64.rpm fcitx-data-4.2.8.5git20141209-1.el7.centos....
fcitx五笔输入法变更码表功能 安装工具(mb2txt與txt2mb) sudo apt-get install fcitx-tools 制作码表 wb86x.mb 原86版 wb98.mb 原98版 wubi-large.mb 大字集86版 yxwb86.mb 亦心86词库新 1.复制码表到/usr/share/...
ubuntu系统下fcitx的安装.docx
离开/重新进入插入模式时,分别为每个缓冲...在离开或重新进入插入模式时自动记录和恢复每个参与者各自的输入法状态,盔甲在普通模式下始终是英文输入模式,切换回插入模式时恢复离开前的输入法输入模式。要求:fcitx版
Fcitx──小企鹅输入法:Free Chinese Input Toy for X是一个以 GPL方式发布的、基于XIM的简体中文输入法(即原来的G五笔),包括拼音(全拼和双拼)、区位以及码表输入模块,是在Linux操作系统中使用的中文输入法,当然...
Dependencies: cmake build-essential opencc mercurial ...sudo apt-get install fcitx-table-wbpy cd fcitx-googlepinyin mkdir build; cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr make sudo make install
fcitx5输入法目前(2022年5月26日)最新版本5.0.16,构建于Ubuntu20.04,因为Ubuntu20.04的源几乎已经不怎么更新fcitx5输入法了(版本老的不行),于是自己用源码编译并打包成了DEB包,依赖的底层组件都是apt能安装的。...
fcitx输入法 源码包
在archlinux中安装配置fcitx中文输入法,安装完fcitx-im后,复制文档中到代码到命令行,执行。
先安装fcitx和fcitx的...把下载的附件解压到/usr/share/fcitx/table/目录下(ubuntu下测试),然后在输入法列表中就可以找到新世纪输入法,如果找不到可能是权限有问题。码表是从极爽词库转换过来的并且经过一些修改。
fcitx 输入法
fcitx 3.6是linux下一个不错的输入法