我添加了一个简单的序列,但它不起作用。如何确定操作系统(带有 Unity 的 Ubuntu 12.10)是否正在加载文件?
我使用 Gnome 很长时间了,但我更喜欢 vanilla X 输入法 ( xim
) 而不是默认的 GTK 行为。我只设置GTK_IM_MODULE
和QT_IM_MODULE
环境变量xim
,并没有与多个布局配置,任何问题的Compose关键,自定义~/.XCompose
和misc:typo
排版扩展。
最近的 Gnome 3.6 通过运送一个半生不熟的马车ibus
并将其强加给用户来完全搞砸键盘输入。我只是无法让键盘像以前一样工作(即使ibus
禁用),不得不完全放弃 Gnome。
现在我使用一个简单的窗口管理器,并使用setxkbmap
. 虽然键盘再次正常工作,但我无法让 Compose 键在任何地方都能正常工作。Compose 在普通 X11 应用程序 ( xterm
) 中工作,但在 GTK2、GTK3 和 Qt 应用程序中都不起作用。
我使用当前的 Archlinux 版本:
xorg-xinput 1.6.0
xorg-server 1.13.1
xf86-input-keyboard 1.6.2
gtk2 2.24.14
gtk3 3.6.4
qt 4.8.4
Run Code Online (Sandbox Code Playgroud)
并启用这样的Compose密钥:
setxkbmap ... -option 'compose:menu'
Run Code Online (Sandbox Code Playgroud)
和 export GTK_IM_MODULE
,QT_IM_MODULE
变量:
$ …
Run Code Online (Sandbox Code Playgroud) 我很确定我曾经能够使用Composepi(如fsymbols.com 所述)创建小写的 pi 字符,但它不再有效。我的组合键适用于其他字符(例如Composeaa“å”),那么有什么问题呢?
我没有/usr/share/X11/locale/en_GB.utf8/Compose
(或~/.XCompose
),这是应该安装/生成的东西吗?有一个/usr/share/X11/locale/en_US.utf8/Compose
; 将它符号链接到 from/usr/share/X11/locale/en_GB.utf8/Compose
来解决这个问题就足够了吗?
$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
分拆问题。
如何添加自定义组合键序列?我用谷歌搜索了很多,但找不到解释。特别是,我想要:
<Compose> + <Z> + <Z> = ? # Blackboard bold Z (set of integers)
Run Code Online (Sandbox Code Playgroud)
特别是,我尝试将文件复制/usr/share/X11/locale/en_US.UTF-8/Compose
到~/.XCompose
,并模仿其语法。然而,这似乎不起作用。
问题是撰写键工作正常,但某些应用程序不接受其中的某些字符。例如,我可以?
在 Emacs ( Compose+ 8+ 8) 中输入字符,但这在 FireFox、Konsole 和 Kate 中不起作用。但是许多其他字符,例如在€
那里输入(在 FireFox、Konsole 和 Kate 中)使用Compose工作得很好。此外,我可以通过简单的复制粘贴(从两个剪贴板中的任何一个)插入问题符号。
那么,是什么原因造成的,如何解决呢?
抱歉,我不知道如何研究这个问题。我发现有些人的 Compose 键在某些应用程序中根本不起作用,但在我的情况下它是有效的,尽管部分原因。
设置:在/etc/default/keyboard
KDE 和 KDE 键盘设置中,组合键都绑定到右侧的 Super 键。
是否有某种方法可以检查 X 的状态以准确且仅获取组合键快捷方式及其映射到的内容的列表,或者作为文字键,例如:
aa å
88 ?
Run Code Online (Sandbox Code Playgroud)
或作为字形名称,例如:
aa Latin Small Letter A with ring above
88 Infinity
Run Code Online (Sandbox Code Playgroud)
或者,理想情况下,组合。
我没有使用 GNOME。
less "/usr/share/X11/locale/$(grep --max-count=1 "${LANG%.*}.UTF-8\$" /usr/share/X11/locale/locale.dir | cut --delimiter=/ --fields 1)/Compose"
Run Code Online (Sandbox Code Playgroud) 我在带有 Gnome 2 的 Debian Linux 下使用XIM。系统中已经定义了许多组合序列,包括用于±
符号的序列:
palec@Palec:~$ grep PLUS-MINUS /usr/share/X11/locale/en_US.UTF-8/Compose
<Multi_key> <plus> <minus> : "±" plusminus # PLUS-MINUS SIGN
Run Code Online (Sandbox Code Playgroud)
这不适用于我的联想 G550 键盘的小键盘。
我注意到小键盘上的数字需要KP_
匹配前缀,所以我尝试添加原始规则的副本,并将键更改为KP_plus
和KP_minus
到 my ~/.XCompose
,除了系统Compose
文件中的规则之外,我已经使用了其他规则。虽然没有运气。
我没有找到任何有用的 XIM 或~/.XCompose
. 有没有?我从通过谷歌搜索找到的论坛中获得的关于 XIM 和组合序列的大部分信息。如何获取密钥的名称以供使用~/.XCompose
?特别是,它们用于 numpad+和-?
我不坚持使用 XIM,但我希望能够配置自定义撰写序列。如果有另一个更好的文档化解决方案,我想听听。
.XCompose
包含修饰键的序列的语法如何?手册页说,但我没有设法让它工作。例如,语法如何,让我们先说和,然后?我试过类似的东西,但没有用。(! MODIFIER )
AltGrab(! mod5) <a> <b>
我目前正在 Fedora 29 Workstation 中自定义我的 .XCompose 文件(使用默认的 GNOME 3、Wayland 等)。似乎它确实遵循了我添加到 ~/.XCompose 文件中的规则,但是如果我对其进行了更改,那么只有在我注销并重新登录后才会注意到它们。我可以做些什么来使更改立即生效?
我尝试ibus restart
在终端上运行,但似乎没有用。实际上,这样做完全破坏了 compose-key 功能,我不得不再次重新启动会话来修复它。
在我的~/.XCompose
,我有这一行:
<Multi_key> + <3> + <3> : "¯\_(?)_/¯" # Shrug.
Run Code Online (Sandbox Code Playgroud)
可悲的是,这不符合我的意愿。因为只使用了耸肩的第一个字符。
我可以基于一个组合键有多个字符吗?
compose-key ×10
x11 ×8
arch-linux ×1
fedora ×1
gnome3 ×1
gtk ×1
ibus ×1
input-method ×1
kde ×1
linux ×1
qt ×1
xorg ×1