在 Chrome 35.0.1916.153 或 36.0.1985.125 中,有时,我的Compose密钥部分不起作用。据我所知,最后一个字符使用Shift无效键的组合。例如,'e
? é
和/=
??
工作但不是'E
?É
或者->
??
. 在这篇文章中,当我说组合不起作用时,我的意思是当我按下它时没有任何反应;例如,压制a Compose ' e b插入物ab
。
在我的运行实例中,如果我输入Compose ' e,这将插入字符é
,正如它应该的那样。但是如果我输入Compose ' Shift+ e,什么也不会发生。在我已经打开的隐身窗口中也是如此。但是,如果我在那种情况下打开一个新的隐身窗口,Compose ' Shift+ 会按原样e插入É
,但是一旦我打开网页,以 shift 键结尾的组合就会停止工作。另一个具有新配置文件的用户帐户也是如此:'E
? É
仅在我加载网页之前有效。
这个问题不是今天开始的。我不记得它是不是在我从 Chrome 34.x(稳定版)升级到 Chrome 35.x(稳定版)时开始的,但它是在那个时候开始的。
我通常有环境变量GTK_IM_MODULE=xim
,因为我不希望 Gtk 应用程序使用不同于标准 X 应用程序的输入法。为 Chrome 删除此变量似乎可以Compose正常工作。
GTK_IM_MODULE …
我最近发现了compose key。输入Compose->并获得 Unicode 右箭头 (?)真是太好了。
我知道我可以添加自己的,但在哪里可以找到默认值的完整图表?
我能找到的最大列表是freedesktop.org 上的这个列表。然而,它似乎也很不完美:例如,它列出了一个组合ComposeFU为“伸出中指的反向手”,这很令人失望地对我不起作用......
这些是否存储在我的实际实时系统中?
因为尽管使用 US Dvorak 作为我的布局,我有时还是需要使用斯堪的纳维亚字母,所以我想使用 Caps Lock 作为组合键。(我根本不需要 Caps Lock,我不是论坛巨魔)
怎样才能做到这一点?
将 Linux Mint 17 与 xfce 结合使用,如果这有所不同的话。
作为记录,我是这台 PC 的唯一用户,并且希望将其设置为系统默认值,主要是在 xorg 中,但如果这不是太多苦差事,也可以在 tty 中使用。
在 Fedora 24 上,设置撰写键很容易,键盘快捷键设置可以提供帮助。
我升级到 Fedora 25,现在设置改变了,我不能再设置组合键了。
这是它现在的样子:
有没有办法设置它?即使使用终端。
PS:请创建fedora25标签。
我用来XIM
让撰写键考虑我的~/.XCompose
文件(这是唯一考虑它的输入方法,我尝试的所有其他输入方法都使用硬编码表)。然而,它打破了 GTK 和 QT 应用程序中的死键:如果在charmap
(GTK) 中我按^ a,它只会打印a
。不过,该^键已被识别,因为当我按下它时,它会使插入符号停止闪烁。在kate
(QT)中,它^a
改为打印(两个单独的字符)。
使用时如何使死键起作用XIM
?
以下是相关的环境变量:
$ env | grep '\(IM\|XMODIFIERS\)'
ECORE_IMF_MODULE=xim
QT_IM_MODULE=xim
GTK_IM_MODULE=xim
XMODIFIERS=@im=none
Run Code Online (Sandbox Code Playgroud)
xev
这是按下时的输出^ a:
KeyPress event, serial 37, synthetic NO, window 0x1a00001,
root 0xd9, subw 0x0, time 29204065, (131,637), root:(135,656),
state 0x10, keycode 34 (keysym 0xfe52, dead_circumflex), same_screen YES,
XLookupString gives 1 bytes: (5e) "^"
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease …
Run Code Online (Sandbox Code Playgroud) 我正在努力在~/.XCompose
. 随着我添加越来越多的序列,有时我会打错字或对不同的符号使用相同的序列。
错别字/不存在的代码
<Multi_key> <non-existent-keysym> : other-non-existent-keysym
Run Code Online (Sandbox Code Playgroud)
完全碰撞
<Multi_key> <a> <b> : x # overrule by 2nd rule
<Multi_key> <a> <b> : y
Run Code Online (Sandbox Code Playgroud)
前缀冲突
<Multi_key> <a> <b> <c> : y
<Multi_key> <a> <b> : x # overruled by 1st rule
Run Code Online (Sandbox Code Playgroud)
是否有验证我的~/.XCompose
文件的命令。最低要求是二进制答案:要么 »您的 XCompose 没有错误« 或 »您的 XCompose 包含错误«。如果出现错误,欢迎提供有用的错误消息,例如 »规则序列前缀的冲突 «。
我创建了~/.XCompose
包含上面的所有错误并打开了一个文本编辑器。文本编辑器没有显示错误(在控制台上)。正确且未被推翻的序列有效,所有其他序列都将被忽略。
我读了man 5 XCompose
。在文档本身中,我发现没有任何帮助。我查看了man 5 XCompose
. 只有mkcomposecache(1)
看起来很有希望(从判断一派手册页),但似乎缺少我的系统(Linux Mint的18.3)上。既没有 …
我知道如何用这个序列制作一颗心:composeKey
, <
,3
但是你怎么做明星?
美国国际键盘允许通过死键添加变音符号。具体来说:
`a
映射到 à 并
'a
映射到 á。
在 X 中,使用国际或标准美国键盘,我想改为设置这样的映射:
a`
映射到 á 并
a'
映射到 à。
如您所见,我希望在基本字母之后键入死键,并且我更喜欢交换重音和重音死键。(这使我的打字速度更快、更自然,并且如果禁用了死键功能,则带有附加变音符号的单词更具可读性)。
你能告诉我合适的工具/配置文件来实现这一点吗?
如果它与答案有关,我的发行版是 Arch Linux。
我一直在试图弄清楚这个叫做 XCompose 的东西。显然,如果我正确使用它,我可以轻松地编写 \xc3\xa9 或任何此类字母,但不明白它是如何工作的:
\n\n我确实在https://wiki.debian.org/XCompose中完成了第一部分
\n\nIE
\n\n$ cat .xsessionrc\nxmodmap -e "keysym Super_L = Multi_key" \n
Run Code Online (Sandbox Code Playgroud)\n\n但不明白什么<dead_tilde> <dead_grave> <dead_circumflex>
意思。
我需要映射的这些键是否与我必须在其中执行的映射类似.xsessionrc
?