答案1
我更喜欢使用 Compose 键系统,我刚刚检查过,似乎我已经Compose- /- ?(和Compose- ?- /)设置为输出 U+2E2E 一段时间了(?反映在 / 上)
我的.XCompose
文件如下所示:
#
# add in the original stuff (what's usually there)
include "%L"
#
# Compose key sequences
#
# generate PI char
<Multi_key> <p> <i> : U03C0 # U03C0 PI
<Multi_key> <P> <I> : U03C0 # U03C0 PI
#
<Multi_key> <i> <n> <f> : U221E # U221E infinity
<Multi_key> <I> <N> <F> : U221E # U221E infinity
#
<Multi_key> </> <?> : U2E2E # U2E2E irony punctuation (reversed ?)
<Multi_key> <?> </> : U2E2E # U2E2E irony punctuation (reversed ?)
#
<Multi_key> <3> <*> : U2042 # U2042 asterism
#
#
在这里,我使用该行输入正确的“预设”组合击键include "%L"
,然后添加我自己的自定义设置...
我已Capslock重新映射为我的Compose密钥,请检查您的窗口管理器如何执行此操作,或阅读有关该setxkbmap
命令的信息。但这是我的:
setxkbmap -model pc101 -layout us -option -option compose:caps -option shift:both_capslock
设置Capslock为Compose,也设置Shift+ Shift(两个都) 键切换大写锁定。 (对于那些稀有的场合)。还有更多-option
选项,为了简洁起见,我去掉了几个,主要是 X Windows扎普( Ctrl- Alt- Backspace) 击键和Left-Win存在Meta
答案2
这可以通过多种方式来实现。在 X11 中,对于像这样的简单更改,Xmodmap 可能是更简单的方法之一。
该字符可以使用 Unicode 中的反向问号 (⸮) 表示为 U+2E2E;另一个近似的字符是阿拉伯问号 (Ù),U+061F。
对于所有可能的 Unicode 字符,匹配 Unicode 字符的键符号可以指定为“U0020”到“U007E”和“U00A0”到“U10FFFF”。
我刚刚尝试过,并且
xmodmap -e "keysym F8 = U061F"
似乎可以解决问题。上面的命令F8通过 keysym 将该符号绑定到键上。当然,您可以将该符号绑定到您选择的键上。所有可能的键符(尽管当前不一定映射)通常可以在文件中找到/usr/include/X11/{keysymdef,XF86keysym}.h
。您也可以通过键码映射它。使用类似的工具西夫您可以检查系统上的键码及其映射的键符号。
看看一些像样的xmodmap教程在互联网上。
答案3
最好的方法是在键盘配置中。
我不知道您是否可以设置自定义快捷方式来在 jabber 客户端中打印字符,但它仅适用于该应用程序。至于 Awesome :它是一个窗口管理器,所以这不是它的工作。
如何在某些(至少 GTK)应用程序中输入它(或任何 unicode 字符):
Ctrl+ Shift+U然后是 2E2E(十六进制代码)。
如何配置键盘以将其也带到其他地方:
xmodmap
是一种方法,但它已被弃用,取而代之的是 Xkb,即使 Xkb 配置看起来更复杂。但你要求奥术咒语:D
setxkbmap -print
打印正在使用的键盘映射。您可以将其发送到文件中,以将其用作新键盘映射的基础。 (跳至下面的示例,了解“如何”的快速版本)。
xkbcomp
是一个实用程序,可用于编译键盘映射并将其发送到 X 服务器。
xkbcomp $DISPLAY keymap.dump
将转储文件中的当前配置keymap.dump
。它很长,因为它与以前相同,但具有通过组合include
d 元素获得的值。查找为键指定的名称可能很有用。我们需要名称来为键分配另一个符号。您也可以直接修改和使用它,但您也可以使用包含并重新定义您想要的内容。这些include
文件位于/usr/share/X11/xkb/
、 、 与各部分对应的目录中。
键映射文件有多个部分:
xkb_keycodes
:将键盘 X 键码映射到其他部分中使用的键名称的部分。您可以在这部分中获取 X 键码xev
并找到关联的名称。xkb_types
:描述类型以及哪个级别对应于哪个键盘修饰符的部分(Shift、Control、Alt、这些的任意组合等..)xkb_compatibility
:对于“不认识 Xkb 的应用程序”,根据我读到的内容..我不确定这里会发生什么。xkb_symbols
:将键名称映射到键符号的部分,以及我们将重写定义之一以添加该 unicode 字符的部分。您可以查看要使用的密钥的当前定义。xkb_geometry
:物理键盘形状..不知道有什么用。
如果您查看转储的键映射中的键定义,您将看到它们具有关联的类型。键的类型决定了哪些修饰符可用以及对应于哪个级别。键和级别的组合对应于键符号。该类型是在本xkb_types
节中定义的类型。如果您在重新定义键时未指定其他类型,则它将是包含的xkb_symbols
映射中定义的类型。
如果我以我的I钥匙为例,有四个级别,分别对应:只是钥匙、钥匙 + Shift、钥匙 + AltGr、钥匙 + Shift+ AltGr。
对于该组,如果您没有使用多种布局(在键盘配置中),则您可能只有一种布局,并且不需要指定它。 (您可以使用多个组在与该组关联的键定义之间切换)。
这是修改后的键盘映射文件的示例:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)"};
xkb_types { include "complete"};
xkb_compatibility {include "complete"};
xkb_symbols {
include "pc+fr+inet(evdev)"
key <AD08> {[ i, I, U2E2E, idotless]};
key <AD09> {[ o, O, oslash, U262F]};
};
xkb_geometry { include "pc(pc104)"};
};
使用此键映射AltGr+I给出 ⸮,Shift+ AltGr+O 给出 ☯。
设置键盘映射:
xkbcomp mykeymap.xkb $DISPLAY
这Archlinux 维基有更多详细信息,最后还有一些其他链接。