当前位置: 首页>>技术问答>>正文


如何添加自定义撰写键序列?

, ,

问题描述

如何添加自定义撰写键序列?

例如,我想要Compose|>来键入符号。

我尝试将以下内容添加到~/.XCompose

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <bar> <greater> : "▸" U25B8 # Black right-pointing small triangle

但除了xterm之外,新序列不可用于任何地方。

Installing ibus-table-compose然后在IBus中启用Compose输入法并没有解决问题; IBus模仿了许多组合键序列,但不是我创建的键序列。

最佳解决思路

创建一个文件~/.XCompose(在”home”文件夹中名为.XCompose的文件),其中包含以下内容:

include "%L"   # import the default Compose file for your locale
<Multi_key> <bar> <greater>     : "▸"

有关此文件格式的详细信息,请参阅man 5 Compose

次佳解决思路

  1. 在主目录(~/.XCompose)中创建名为.XCompose的文件,其中包含:

    # import the default Compose file for your locale
    include "%L"
    
    <Multi_key> <bar> <greater>  : "▸"
    

    有关此文件格式的详细信息,请参阅man 5 Compose

  2. 将以下内容添加到~/.profile

    export GTK_IM_MODULE="xim"
    

    在Ubuntu 18.04(也许是其他人)上,您可能需要使用以下代码:

    export GTK_IM_MODULE="gtk-im-context-simple"
    
  3. 注销然后重新开启。或重新启动X.或重新启动。

第三种解决思路

在Ubuntu 14.04上,我做了以下事情:

1)使用软件管理器安装uim,其他软件包如uim-ximuim-gtk2uim-gtk3uim-qt都是自动安装的。请参阅https://launchpad.net/ubuntu/+source/uim

2)通过向~/.profile添加下一行来定义环境变量,这样自定义组合键序列仅适用于当前用户:

# Restart the X-server after making alterations using:
# $ sudo restart lightdm
# It seems only GTK_IM_MODULE or QT_IM_MODULE needs to be defined.
export GTK_IM_MODULE="uim"
export QT_IM_MODULE="uim"

来自OP的~/.XCompose文件应该在重新启动之后工作1)Ubuntu或2)只需通过在终端中运行以下命令的X-server:

$ sudo restart lightdm

注意:在更改~/.profile文件后,似乎只需要重新启动,~/.XCompose的更改将在下次启动应用程序(终端,Gedit等)时生效。

要检查环境变量是否设置正确,请在终端中输入以下命令:

$ printenv | grep IM_MODULE

非常感谢:

关于自定义撰写键序列:

关于自定义键盘映射:

用于模仿Window US International键盘的示例.Xcompose文件:

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2955.html,未经允许,请勿转载。