重新映射键盘键以进行打印?(讽刺标记)

Sar*_*use 4 keyboard-shortcuts keyboard x11 awesome

我发现自己使用了讽刺标记?unicode U+2E2E(或 ? unicode U+061F)在 mcabber 和 vim 中都有很多。旧的复制粘贴反模式很乏味,所以我想我会重命名我必须打印它的许多无用键盘键之一。所以,我的问题是三重的(但实际上是同一个问题):

  • 如何在mcabber 中做到这一点?
  • 如何做到真棒?因为那是我使用的窗口管理器,它应该适用于所有应用程序,对吧?
  • 如何使用 xmodmap 或其他一些神秘的 X11 咒语来做到这一点?

请注意,在 vim 中这是微不足道的,只需添加map! ;; ?到您的~/.vimrc文件中,因此在插入模式下您只需要键入“;;” 更换它。

mon*_*nen 5

这可以通过多种方式实现。在 X11 中 Xmodmap 可能是更简单的方法之一,对于像这样的简单更改。

关于反讽标点符号的维基百科文章

该字符可以使用 Unicode 中的反问号 (?) 表示为 U+2E2E;另一个接近它的字符是阿拉伯问号 (?),U+061F。

Xmodmap 手册

对于所有可能的 Unicode 字符,匹配 Unicode 字符的键符可以指定为“U0020”到“U007E”和“U00A0”到“U10FFFF”。

我刚试过,而且

xmodmap -e "keysym F8 = U061F"
Run Code Online (Sandbox Code Playgroud)

似乎可以解决问题。上面的命令F8通过 keysym将该符号绑定到key 上。当然,您可以将该符号绑定到您选择的键上。所有可能的键符(尽管当前不一定映射)通常都可以在 files 中找到/usr/include/X11/{keysymdef,XF86keysym}.h。您也可以通过键码映射它。使用xev 等工具,您可以检查系统上的键码及其映射的键符。

在 Internet 上查看一些不错的xmodmap 教程


lor*_*nix 5

我更喜欢使用 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
#
#
Run Code Online (Sandbox Code Playgroud)

在这里,我使用该include "%L"行引入正确的“预设”组合键击,然后添加我自己的自定义...

我已Capslock重新映射为我的Compose密钥,请检查您的窗口管理器如何执行此操作,或阅读有关该setxkbmap命令的信息。但这是我的:

setxkbmap -model pc101 -layout us -option -option compose:caps -option shift:both_capslock
Run Code Online (Sandbox Code Playgroud)

设置CapslockCompose,还设置Shift+ Shift两个)键来切换 Capslock。(对于那些罕见的场合)。还有更多的-option选择,我扒掉一对夫妇为了简洁,主要的X Windows ZAPCtrl- - AltBackspace按键和Left-Win福祉Meta