如何添加自定义组合键序列?

ænd*_*rük 45 keyboard-layout compose-key

如何添加自定义组合键序列?

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

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

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

# Custom definitions
<Multi_key> <bar> <greater> : "?" U25B8 # Black right-pointing small triangle
Run Code Online (Sandbox Code Playgroud)

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

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

dan*_*rth 22

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

    # import the default Compose file for your locale
    include "%L"
    
    <Multi_key> <bar> <greater>  : "?"
    
    Run Code Online (Sandbox Code Playgroud)

    有关man 5 Compose此文件格式的更多信息,请参阅。

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

    export GTK_IM_MODULE="xim"
    
    Run Code Online (Sandbox Code Playgroud)

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

    export GTK_IM_MODULE="gtk-im-context-simple"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 注销并重新登录。或重新启动 X。或重新启动。

  • 我注意到使用这个解决方案,我不能再使用 Ctrl-Shift-u 按数字插入 unicode 字符;所以我认为这会将一般的东西从 Gnome 的东西切换到由 ~/.XCompose 文件配置的 X 东西。有没有办法修改 Gnome 的东西?我想保留 Ctrl-Shift-u 功能。 (3认同)
  • @Alfe 按照 [Ubuntu 论坛:11.04 GNOME 中未读取的 .XCompose 文件](http://ubuntuforums.org/showthread.php?t=1745707) 底部的建议使用 UIM 对我来说适用于 Debian jessie 中的默认设置/sid(请参阅`im-config`(8) 进行自定义)。也就是说,.XCompose 设置在 GTK (GNOME) 和 Qt (KDE) 应用程序中都有效,而 .XCompose 和 Ctrl+Shift+U 在 GTK 应用程序(如 Eclipse)中都有效。 (2认同)

Jan*_*anC 12

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

include "%L"   # import the default Compose file for your locale
<Multi_key> <bar> <greater>     : "?"
Run Code Online (Sandbox Code Playgroud)

有关man 5 Compose此文件格式的更多信息,请参阅。

  • 整洁的!有没有办法在不重新启动 X 的情况下重新读取此文件? (3认同)

lme*_*urs 10

在 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"
Run Code Online (Sandbox Code Playgroud)

~/.XCompose来自 OP的-file 应该在重新启动 1) Ubuntu 或 2) 通过在终端中运行以下命令后仅运行 X 服务器:

$ sudo restart lightdm
Run Code Online (Sandbox Code Playgroud)

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

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

$ printenv | grep IM_MODULE
Run Code Online (Sandbox Code Playgroud)

非常感谢:

关于自定义组合键序列:

关于自定义键盘映射:

.Xcompose模拟Window US International键盘的示例文件: