Make Fcitx like a system component.

Some days ago, I added a little option to Fcitx, which is called: “Use first input method as inactive state”. What does that mean? Actually that’s how I make Fcitx more like a system input method framework.

Fcitx have three state in the past, called: “Close”, “Inactive”, and “Active”. “Close” is the default state of Fcitx, which means Fcitx will not RECEIVE any key from program, in spite of the trigger key (Which by default is CTRL + SPACE). When trigger key is used, then Fcitx will goes to Active state, so it will receive key from program, and you can compose with your favorite input method. You can switch betwen inactive and active with switch key, which by default is “Left Ctrl”.

When “Use first input method as inactive state” is enabled, close state will be never used (in spite of some special case, like fcitx-fbterm, since fbterm must totally control the state change.), and you can assign your first input method to inactive state, and trigger key and switch key will have the same behavior.

This option will become useful with fcitx-keyboard. Since fcitx-keyboard’s function can replace the “Close” State. For example, if you are simply a Chinese Pinyin User, you can add “English (US)” and Pinyin to your input method list. Then you can just use it as before, but you can also use the extra feature provides by fcitx-keyboard easily. You don’t need to bother extra keyboard configuration, just gives everything to fcitx.

Another benefit is you can use some special switch key as your trigger key. Due to some implement limitation, you cannot configure a hotkey contains only combination keys (ctrl, alt shift).

I just cannot make this option by default right now, since Fcitx is not default component on most system, enable it by default but without proper configuration, it might take more effort to make things work. But I recommend you to give it a try. Or if any distribution interested in using fcitx as a default system component, you can do some specific patch to “config.desc” to reset the default value.

This entry was posted in fcitx development. Bookmark the permalink.

6 Responses to Make Fcitx like a system component.

  1. 右京样一 says:
    Firefox 9.0.1 GNU/Linux

    原来是这么用的……果然强大。不过我很好奇如果没有正确配置就打开这个功能会出现什么情况?

  2. csslayer says:
    Firefox 11.0a2 Windows 7

    @右京样一 假设一个输入法也没有添加,那就和Close一样,假设只有一个输入法,比如拼音吧,就会变成默认是拼音,active则是close的状态。

    如果有两个输入法的话,那就是第一个inactive第二个是active,只能在这两个之间切换。简单来说就是可能关不掉所谓的输入法一直在输拼音之类的……

  3. HelLion says:
    Google Chrome 18.0.1025.162 Windows 7 x64 Edition

    在archlinux里只安装了fcitx,默认是五笔。但现在不管什么地方输入,都是用这个五笔。
    Ctrl_Space没办法关掉fcitx,就是想完全的英文输入,包括标点。
    好像这里说,可以添加一个English(US)输入法到列表里,要怎么添加啊。
    没找到。

  4. HelLion says:
    Google Chrome 18.0.1025.162 Windows 7 x64 Edition

    不小心找到了在 fcitx-keyboard 这个提示,就安装了。
    一直OK。

  5. hitsmaxft says:
    Firefox 14.0.1 Ubuntu x64

    今天在工作用的电脑上刚装上ubuntu, 一不小心碰上了这个特性,,结果就是关不掉拼音了… 在我打算先卸了fcitx的时候找到这篇文章真是万幸..
    但是我怀疑配置程序有bug.. 这个选项就算被我关了,, 还是出现无论怎么关都是处于sunpinyin 的情况

  6. csslayer says:
    Firefox 14.0.1 GNU/Linux x64

    @hitsmaxft 4.2.4之后的英文变成单独的输入法了

    http://susepaste.org/57989929 类似这样的配置才有英文(键盘 – 汉语 也行啦)

    需要帮助的话请提供你所有fcitx已安装的包和版本

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.