X11

重新映射鍵盤鍵以列印⸮(反諷標記)

  • June 5, 2014

我發現自己在 mcabber 和 vim 中都經常使用具有諷刺意味的標記⸮ unicode U+2E2E(或 ؟ unicode U+061F)。舊的複制粘貼反模式很乏味,所以我想我會重命名我必須列印它的許多無用的鍵盤鍵之一。所以,我的問題是三方面的(但實際上是同一個問題):

  • 如何在mcabber中做到這一點?
  • 如何在真棒中做到這一點?由於那是我使用的視窗管理器,它應該適用於所有應用程序,對吧?
  • 如何使用 xmodmap 或其他一些神秘的 X11 咒語來做到這一點?

請注意,在 vim 中這是微不足道的,只需添加文件,因此在插入模式下,map! ;; ⸮~/.vimrc只需鍵入“;;” 把它換掉。

我更喜歡使用 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

設置CapslockCompose,也設置Shift+ Shift兩個)鍵來切換 Capslock。(對於那些罕見的場合)。還有更多-option選項,為了簡潔起見,我刪除了幾個選項,主要是 X Windows ZAP ( Ctrl- Alt- Backspace) 擊鍵Left-WinMeta

這可以通過多種方式實現。在 X11 中,Xmodmap 可能是更簡單的方法之一,對於像這樣的簡單更改。

關於諷刺標點符號的維基百科文章

這個字元可以使用反問號 (⸮) 在 Unicode 中表示為 U+2E2E;另一個與之相近的字元是阿拉伯問號 (؟),U+061F。

Xmodmap 手冊

對於所有可能的 Unicode 字元,匹配 Unicode 字元的鍵符可以指定為“U0020”到“U007E”和“U00A0”到“U10FFFF”。

我剛試過,而且

xmodmap -e "keysym F8 = U061F"

似乎可以解決問題。F8上面的命令通過keysym將該符號綁定到鍵上。當然,您可以將該符號綁定到您選擇的鍵上。通常可以在 files 中找到所有可能的鍵符(但目前不一定映射)/usr/include/X11/{keysymdef,XF86keysym}.h。您也可以通過鍵碼映射它。使用xev 之類的工具,您可以檢查系統上的鍵碼及其映射的鍵符。

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

引用自:https://unix.stackexchange.com/questions/134473