`
flytreeleft
  • 浏览: 93273 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Fcitx中文状态下的英文输入问题解决方案

阅读更多

 

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
0
1
分享到:
评论

相关推荐

    fcitx插件-解决qt无法输入中文的问题

    fcitx插件-解决qt无法输入中文的问题

    Qt应用不能输入fcitx中文字符问题, fcitx-qt5-1.1.1

    解决Qt编译出的应用不能输入fcitx中文字符问题,比如搜狗输入法 PS:aarch64 GNU/Linux

    Qt应用不能输入fcitx中文字符问题, fcitx-qt5-1.2.0

    解决Qt编译出的应用不能输入fcitx中文字符问题,比如搜狗输入法 PS:aarch64 GNU/Linux

    linux上怎么安装fcitx

    - **解决方案**:检查`/etc/X11/xinit/xinput.d/`目录下的配置文件是否正确配置,特别是`XIM=fcitx`和`GTK_IM_MODULE=fcitx`这两项设置。 - 另外,确保`gnome-im-settings-daemon`服务正在运行。 **问题2:输入法...

    麒麟系统QtCreator使用中文输入法的fcitx插件 麒麟系统QtCreator使用中文输入法的fcitx插件

    麒麟系统QtCreator使用中文输入法的fcitx插件 麒麟系统QtCreator使用中文输入法的fcitx插件 麒麟系统QtCreator使用中文输入法的fcitx插件

    libfcitxplatforminputcontextplugin.so(ubuntu14.04-qt5.6-fcitx中文输入插件)

    该插件解决ubuntu14.04系统,安装qt5.6,fcitx中文输入法默认不能在Qt creator中切换输入中文的问题。 据说从qt5.4之后的版本没办法直接通过apt-get安装fcitx的平台插件,所以该资源是我按照网上一篇非常棒的博客,...

    Ubuntu fcitx 小企鹅输入法3.6.3

    对于习惯使用Linux系统但又需要高效中文输入的用户来说,Fcitx是一个理想的解决方案。 然而,值得注意的是,由于Fcitx是一个社区驱动的项目,不同版本可能存在一些已知或未知的问题。在遇到问题时,用户可以通过...

    ubuntu系统下fcitx的安装.docx

    需要注意的是,如果您使用中文桌面环境,可能需要设置locale和桌面的locale来解决输入问题。在用户家目录下的.bashrc文件中添加以下内容: ``` export LANG="zh_CN.UTF-8" export LANGUAGE="zh_CN:zh" ``` 这样,...

    fcitx-qt5-rstudio.tar.gz

    这个解决方案不仅解决了RStudio的中文输入问题,还能使其他基于Qt的软件受益。然而,需要注意的是,不同的Ubuntu版本和RStudio版本可能会有不同的兼容性问题,因此在实际操作中,可能需要根据具体情况进行微调。 总...

    ubuntu下fcitx可用新世纪五笔码表

    先安装fcitx和fcitx的...把下载的附件解压到/usr/share/fcitx/table/目录下(ubuntu下测试),然后在输入法列表中就可以找到新世纪输入法,如果找不到可能是权限有问题。码表是从极爽词库转换过来的并且经过一些修改。

    解决Qt5在麒麟Linux下不能输入中文问题

    Fcitx是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法,是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案,彻底解决在GNU/Linux下没有一个好的中文输入法的...

    fcitx-qt5-rstudio.zip

    这个压缩包可能包含了解决RStudio在Linux系统中输入中文问题所需的软件组件,特别是fcitx-qt5的某个版本。Fcitx(Fast Input Method Console Toolkit)是一个轻量级且可扩展的输入法框架,它支持多种输入法,包括...

    fcitx中文输入法安装代码

    ubuntu/Mint各桌面环境下通用 ,有五笔,拼音,google拼音等,注意终端输入前把源设置为国内163/阿里云等

    fcitx-3.2fcitx-3.2

    FCITX-3.2是该框架的一个版本,提供了丰富的输入法支持,包括拼音、五笔、仓颉等多种输入方式,旨在为用户在Linux环境下提供流畅的中文及其他语言输入体验。 在FCITX-3.2中,我们可以看到它着重于以下几个核心知识...

    fcitx 五笔98词库

    【fcitx 五笔98词库】是为Linux操作系统中的Fcitx输入法框架设计的一款五笔字型输入法资源,它包含了98版五笔码表和五笔拼音混合输入的功能。Fcitx是一款轻量级、可定制性强的输入法引擎,广泛应用于各种Linux桌面...

    fcitx输入法

    **fcitx输入法**是Linux操作系统中广泛使用的开源输入法框架,它为用户提供了一种高效、便捷的方式来输入中文和其他多种语言。这个压缩包文件包含了fcitx输入法的源代码,版本为4.2.9.1。为了正确地解压并编译安装这...

    fcitx4.0 20130103

    总的来说,fcitx4.0 20130103为Linux用户提供了方便、高效的中文输入解决方案,尤其是对于初学者,它降低了在Linux环境中输入中文的难度,提升了用户体验。随着Linux的普及和社区的不断发展,fcitx也在不断更新和...

    fcitx 配置文件

    将这个码表添加到fcitx,可以让你在fcitx中使用五笔输入法,提高汉字输入效率。 ### 4. 配置文件备份与恢复 - **备份**:在修改或升级fcitx之前,为了防止意外丢失个性化设置,可以先备份`.config/fcitx`目录。这...

    fcitx-qt5-compiled.zip

    《fcitx-qt5-compiled.zip:解决Qt程序中文输入问题》 在进行跨平台的软件开发时,特别是涉及到中文输入的场景,开发者可能会遇到一个棘手的问题——Qt应用程序无法正常显示或输入中文。这个问题在Linux环境中尤为...

    fcitx-sougou.zip

    总之,fcitx-sougou.zip压缩包为Ubuntu 16.04用户提供了一个离线安装搜狗输入法的解决方案。通过这个压缩包,用户可以在没有网络的情况下安装和使用搜狗输入法,享受流畅的中文输入体验。尽管安装过程可能比在线安装...

Global site tag (gtag.js) - Google Analytics