dav*_*ide 22 keyboard-layout unicode dead-keys compose-key
我的组合键的配置文件/usr/share/X11/locale/en_US.UTF-8/Compose列出了用于组合希腊字母的所有按键序列;所有这些都需要特殊dead_greek键的压力。这当然不是物理键,那么,我如何为生成此虚拟键的组合键分配任意键序列dead_greek?
另外,我很想知道您是否已经找到了一个舒适的键盘配置,通常是关于撰写键,尤其是希腊字母。
小智 26
为了帮助在这里绊倒的人,
您需要配置~/.XCompose(参见下面的完整文件)并重新启动 X session。
在拉丁键盘上输入希腊字母:
<Multi_key>在下面的列表中。您可以在 file 中看到在系统范围内配置的撰写序列列表/usr/share/X11/locale/$LANG/Compose,其中$LANG是当前语言环境的环境变量(对于美国英语,它等于en_US.UTF-8):
$ cd /usr/share/X11/locale/$LANG/
$ less Compose
Run Code Online (Sandbox Code Playgroud)
要为希腊字母启用撰写,请添加到您的~/.XCompose文件中:
~/.XCompose
# GREEK CAPITAL LETTERS
<Multi_key> <G> <A> : "?" U0391 # GREEK CAPITAL LETTER ALPHA
<Multi_key> <G> <B> : "?" U0392 # GREEK CAPITAL LETTER BETA
<Multi_key> <G> <G> : "?" U0393 # GREEK CAPITAL LETTER GAMMA
<Multi_key> <G> <D> : "?" U0394 # GREEK CAPITAL LETTER DELTA
<Multi_key> <G> <E> : "?" U0395 # GREEK CAPITAL LETTER EPSILON
<Multi_key> <G> <Z> : "?" U0396 # GREEK CAPITAL LETTER ZETA
<Multi_key> <G> <H> : "?" U0397 # GREEK CAPITAL LETTER ETA
<Multi_key> <G> <I> : "?" U0399 # GREEK CAPITAL LETTER IOTA
<Multi_key> <G> <K> : "?" U039A # GREEK CAPITAL LETTER KAPPA
<Multi_key> <G> <L> : "?" U039B # GREEK CAPITAL LETTER LAMDA
<Multi_key> <G> <M> : "?" U039C # GREEK CAPITAL LETTER MU
<Multi_key> <G> <N> : "?" U039D # GREEK CAPITAL LETTER NU
<Multi_key> <G> <P> : "?" U03A0 # GREEK CAPITAL LETTER PI
<Multi_key> <G> <R> : "?" U03A1 # GREEK CAPITAL LETTER RHO
<Multi_key> <G> <S> : "?" U03A3 # GREEK CAPITAL LETTER SIGMA
<Multi_key> <G> <T> : "?" U03A4 # GREEK CAPITAL LETTER TAU
<Multi_key> <G> <U> : "?" U03A5 # GREEK CAPITAL LETTER UPSILON
<Multi_key> <G> <F> : "?" U03A6 # GREEK CAPITAL LETTER PHI
<Multi_key> <G> <X> : "?" U03A7 # GREEK CAPITAL LETTER CHI
<Multi_key> <G> <O> : "?" U03A9 # GREEK CAPITAL LETTER OMEGA
# DOUBLES (additional stroke <Q>)
<Multi_key> <G> <Q> <T> : "?" U0398 # GREEK CAPITAL LETTER THETA
<Multi_key> <G> <Q> <O> : "?" U039F # GREEK CAPITAL LETTER OMICRON
<Multi_key> <G> <Q> <X> : "?" U039E # GREEK CAPITAL LETTER XI
<Multi_key> <G> <Q> <P> : "?" U03A8 # GREEK CAPITAL LETTER PSI
# greek small letters
<Multi_key> <g> <a> : "?" U03B1 # GREEK SMALL LETTER ALPHA
<Multi_key> <g> <b> : "?" U03B2 # GREEK SMALL LETTER BETA
<Multi_key> <g> <g> : "?" U03B3 # GREEK SMALL LETTER GAMMA
<Multi_key> <g> <d> : "?" U03B4 # GREEK SMALL LETTER DELTA
<Multi_key> <g> <e> : "?" U03B5 # GREEK SMALL LETTER EPSILON
<Multi_key> <g> <z> : "?" U03B6 # GREEK SMALL LETTER ZETA
<Multi_key> <g> <h> : "?" U03B7 # GREEK SMALL LETTER ETA
<Multi_key> <g> <i> : "?" U03B9 # GREEK SMALL LETTER IOTA
<Multi_key> <g> <k> : "?" U03BA # GREEK SMALL LETTER KAPPA
<Multi_key> <g> <l> : "?" U03BB # GREEK SMALL LETTER LAMDA
<Multi_key> <g> <m> : "?" U03BC # GREEK SMALL LETTER MU
<Multi_key> <g> <n> : "?" U03BD # GREEK SMALL LETTER NU
<Multi_key> <g> <p> : "?" U03C0 # GREEK SMALL LETTER PI
<Multi_key> <g> <r> : "?" U03C1 # GREEK SMALL LETTER RHO
<Multi_key> <g> <s> : "?" U03C3 # GREEK SMALL LETTER SIGMA
<Multi_key> <g> <t> : "?" U03C4 # GREEK SMALL LETTER TAU
<Multi_key> <g> <u> : "?" U03C5 # GREEK SMALL LETTER UPSILON
<Multi_key> <g> <f> : "?" U03C6 # GREEK SMALL LETTER PHI
<Multi_key> <g> <x> : "?" U03C7 # GREEK SMALL LETTER CHI
<Multi_key> <g> <o> : "?" U03C9 # GREEK SMALL LETTER OMEGA
# doubles (additional stroke <q>)
<Multi_key> <g> <q> <t> : "?" U03B8 # GREEK SMALL LETTER THETA
<Multi_key> <g> <q> <o> : "?" U03BF # GREEK SMALL LETTER OMICRON
<Multi_key> <g> <q> <p> : "?" U03C8 # GREEK SMALL LETTER PSI
<Multi_key> <g> <q> <s> : "?" U03C2 # GREEK SMALL LETTER FINAL SIGMA
<Multi_key> <g> <q> <x> : "?" U03BE # GREEK SMALL LETTER XI
Run Code Online (Sandbox Code Playgroud)
也可以看看:
XCompose使用的一些注意事项:https : //unix.stackexchange.com/a/307711/53143man Compose 更多细节。大多数使用的字母也可以设置为单独的组合键。例如?:
<Multi_key> <p> <i> : "?" U03C0 # GREEK SMALL LETTER PI
Run Code Online (Sandbox Code Playgroud)
您还可以将此列表保存在名为的文件中GreekCompose并include在~/.XCompose以下位置使用命令:
include "%L"
include "/path/to/GreekCompose"
Run Code Online (Sandbox Code Playgroud)
上面的列表是通过手动调整小 Python 脚本的输出创建的:https : //github.com/rybak/scripts/blob/master/extra/gen_x_compose.py
小智 9
做 xmodmap -pke | grep dead_greek
如果没有输出,则您没有表示 dead_greek 的键。
你可以分配一个。例如,我刚刚将正确的 Alt 键分配给了 dead_greek:
xmodmap -e 'keycode 108 = dead_greek Meta_R Alt_R Meta_R'
现在我可以输入 ralt a ralt br ralt g,它会显示为 ???。
小智 7
@libervurto\n我基本上喜欢你深思熟虑的按键绑定;他们\xca\xbre 非常直观。
\n然而(那里\xca\xbcs总是一个\xe2\x80\x9chowever\xe2\x80\x9d),请允许我指出,即使\xe2\x80\x9cletters\xe2\x80\x9d在不同的字母表中,如拉丁语、希腊语,和西里尔字母可能看起来相同,但它们可能绝不相同。取\xc2\xabP\xc2\xbb。在拉丁语中 it\xca\xbcs 表示清音双唇爆破音的字形(图形表示)(即我们的西方 \xe2\x80\x9cP\xe2\x80\x9d);在希腊语和西里尔语中,它代表拉丁语 \xe2\x80\x9cR\xe2\x80\x9d 的声音。这只是数十个例子中的一个。因此,您可以\xca\xbct 简单地丢弃恰好看起来像拉丁字母的不同形状。换句话说,它们\xca\xbcre 绝不是同义词。
\n\xca\xbcs Unicode中 \xe2\x80\x9cglyph\xe2\x80\x9d 和 \xe2\x80\x9ccodepoint\xe2\x80\x9d 之间存在区别;\xe2\x80\x9ccodepoint\xe2\x80\x9d 是符号的含义,由 Unicode 数字编码,而 \xe2\x80\x9cglyph\xe2\x80\x9d 是其视觉表示(您在屏幕上看到的字母) )。具体来说:
\n这四个看起来完全相同,但用各自的语言代表不同的实体。E\xc2\xb7g\xc2\xb7, \xe2\x80\x9c希腊语 A\xe2\x80\x9d 称为 \xe2\x80\x9cAlpha\xe2\x80\x9d,因为它代表与 \xe2\x80\ 不同的字形x9c拉丁文 A\xe2\x80\x9d 或 \xe2\x80\x9c西里尔文 A\xe2\x80\x9d。(这就是为什么它们有不同的代码点。)(骗子无休止地利用这种巧合来创建真实的\xe2\x80\x90 钓鱼网站。)
\n顺便说一句,在这种情况下,它们代表相似的声音,但是,如上所述,通常情况并非如此。(还记得苏联吗?对于拉丁读者来说,他们的缩写看起来像 CCCP,但实际上代表 SSSR [Soyuz Sovetskikh Sotsialisticheskikh Respublik]: \xd0\xa1\xd0\xbe\xd1\x8e\xd0\xb7 \xd0\xa1\xd0\ xbe\xd0\xb2\xd0\xb5\xd1\x82\xd1\x81\xd0\xba\xd0\xb8\xd1\x85\xd0\xa1\xd0\xbe\xd1\x86\xd0\xb8\xd0\xb0\ xd0\xbb\xd0\xb8\xd1\x81\xd1\x82\xd0\xb8\xd1\x87\xd0\xb5\xd1\x81\xd0\xba\xd0\xb8\xd1\x85\xd0\xa0\xd0\ xb5\xd1\x81\xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba [\xd0\xa1\xd0\xa1\xd0\xa1\xd0\xa0]。)
\n一旦我们查看大写字母和小写字母及其相关性,事情就会变得(很多)复杂。因此,最好的策略是保持一切就位,符合现在广泛实施的 Unicode 标准。(有一天,也许不到一年,这将是唯一的标准。)
\n因此,我冒昧地修改了您的图表,使其更具包容性。\n(我发布此信息不是为了纠正您或责备您,而是为了向正在寻找此类信息的人们提供具体示例。)
\ninclude "%L"\n\n# Greek alphabet\n#\n# Greek key bindings use corresponding Latin characters as much as possible and plausible.\n# Latin characters not present in Greek are used for Greek characters not present in Latin:\n# "C" invokes Sigma Luna [U+03A2] (so far not assigned in Unicode)\n# "H" invokes Eta; "J" invokes Khi (Chi)\n# "Q" invokes Theta; "U" invokes Upsilon; "V" invokes Psi; "W" invokes Omega\n#\n# Greek Core Alphabet Uppercase\n<Multi_key> <g> <A> : "\xce\x91" U0391 # GREEK CAPITAL LETTER ALPHA\n<Multi_key> <g> <B> : "\xce\x92" U0392 # GREEK CAPITAL LETTER BETA\n<Multi_key> <g> <G> : "\xce\x93" U0393 # GREEK CAPITAL LETTER GAMMA\n<Multi_key> <g> <D> : "\xce\x94" U0394 # GREEK CAPITAL LETTER DELTA\n<Multi_key> <g> <E> : "\xce\x95" U0395 # GREEK CAPITAL LETTER EPSILON\n<Multi_key> <g> <Z> : "\xce\x96" U0396 # GREEK CAPITAL LETTER ZETA\n<Multi_key> <g> <H> : "\xce\x97" U0397 # GREEK CAPITAL LETTER ETA\n<Multi_key> <g> <Q> : "\xce\x98" U0398 # GREEK CAPITAL LETTER THETA\n<Multi_key> <g> <I> : "\xce\x99" U0399 # GREEK CAPITAL LETTER IOTA\n<Multi_key> <g> <K> : "\xce\x9a" U039A # GREEK CAPITAL LETTER KAPPA\n<Multi_key> <g> <L> : "\xce\x9b" U039B # GREEK CAPITAL LETTER LAMBDA\n<Multi_key> <g> <M> : "\xce\x9c" U039C # GREEK CAPITAL LETTER MU\n<Multi_key> <g> <N> : "\xce\x9d" U039D # GREEK CAPITAL LETTER NU\n<Multi_key> <g> <X> : "\xce\x9e" U039E # GREEK CAPITAL LETTER XI\n<Multi_key> <g> <O> : "\xce\x9f" U039F # GREEK CAPITAL LETTER OMIKRON\n<Multi_key> <g> <P> : "\xce\xa0" U03A0 # GREEK CAPITAL LETTER PI\n<Multi_key> <g> <R> : "\xce\xa1" U03A1 # GREEK CAPITAL LETTER RHO\n<Multi_key> <g> <C> : "\xce\xa2" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA\n<Multi_key> <g> <S> : "\xce\xa3" U03A3 # GREEK CAPITAL LETTER SIGMA\n<Multi_key> <g> <T> : "\xce\xa4" U03A4 # GREEK CAPITAL LETTER TAU\n<Multi_key> <g> <U> : "\xce\xa5" U03A5 # GREEK CAPITAL LETTER UPSILON\n<Multi_key> <g> <F> : "\xce\xa6" U03A6 # GREEK CAPITAL LETTER PHI\n<Multi_key> <g> <J> : "\xce\xa7" U03A7 # GREEK CAPITAL LETTER KHI\n<Multi_key> <g> <V> : "\xce\xa8" U03A8 # GREEK CAPITAL LETTER PSI\n<Multi_key> <g> <W> : "\xce\xa9" U03A9 # GREEK CAPITAL LETTER OMEGA\n#\n# Greek Core Alphabet Lowercase\n<Multi_key> <g> <a> : "\xce\xb1" U03B1 # GREEK SMALL LETTER ALPHA\n<Multi_key> <g> <b> : "\xce\xb2" U03B2 # GREEK SMALL LETTER BETA\n<Multi_key> <g> <g> : "\xce\xb3" U03B3 # GREEK SMALL LETTER GAMMA\n<Multi_key> <g> <d> : "\xce\xb4" U03B4 # GREEK SMALL LETTER DELTA\n<Multi_key> <g> <e> : "\xce\xb5" U03B5 # GREEK SMALL LETTER EPSILON\n<Multi_key> <g> <z> : "\xce\xb6" U03B6 # GREEK SMALL LETTER ZETA\n<Multi_key> <g> <h> : "\xce\xb7" U03B7 # GREEK SMALL LETTER ETA\n<Multi_key> <g> <q> : "\xce\xb8" U03B8 # GREEK SMALL LETTER THETA\n<Multi_key> <g> <i> : "\xce\xb9" U03B9 # GREEK SMALL LETTER IOTA\n<Multi_key> <g> <k> : "\xce\xba" U03BA # GREEK SMALL LETTER KAPPA\n<Multi_key> <g> <l> : "\xce\xbb" U03BB # GREEK SMALL LETTER LAMBDA\n<Multi_key> <g> <m> : "\xce\xbc" U03BC # GREEK SMALL LETTER MU\n<Multi_key> <g> <n> : "\xce\xbd" U03BD # GREEK SMALL LETTER NU\n<Multi_key> <g> <x> : "\xce\xbe" U03BE # GREEK SMALL LETTER XI\n<Multi_key> <g> <o> : "\xce\xbf" U03BF # GREEK SMALL LETTER OMIKRON\n<Multi_key> <g> <r> : "\xcf\x81" U03C1 # GREEK SMALL LETTER RHO\n<Multi_key> <g> <c> : "\xcf\x82" U03C2 # GREEK SMALL LETTER FINAL SIGMA\n<Multi_key> <g> <s> : "\xcf\x83" U03C3 # GREEK SMALL LETTER SIGMA\n<Multi_key> <g> <t> : "\xcf\x84" U03C4 # GREEK SMALL LETTER TAU\n<Multi_key> <g> <u> : "\xcf\x85" U03C5 # GREEK SMALL LETTER UPSILON\n<Multi_key> <g> <f> : "\xcf\x86" U03C6 # GREEK SMALL LETTER PHI\n<Multi_key> <g> <j> : "\xcf\x87" U03C7 # GREEK SMALL LETTER KHI\n<Multi_key> <g> <v> : "\xcf\x88" U03C8 # GREEK SMALL LETTER PSI\n<Multi_key> <g> <w> : "\xcf\x89" U03C9 # GREEK SMALL LETTER OMEGA\n#\n# Alternate Inputs\n<Multi_key> <g> <T> <H> : "\xce\x98" U0398 # GREEK CAPITAL LETTER THETA (alternate)\n<Multi_key> <g> <T> <h> : "\xce\x98" U0398 # GREEK CAPITAL LETTER THETA (alternate)\n<Multi_key> <g> <t> <h> : "\xce\xb8" U03B8 # GREEK SMALL LETTER THETA (alternate)\n<Multi_key> <g> <K> <S> : "\xce\x9e" U039E # GREEK CAPITAL LETTER XI (alternate)\n<Multi_key> <g> <K> <s> : "\xce\x9e" U039E # GREEK CAPITAL LETTER XI (alternate)\n<Multi_key> <g> <k> <s> : "\xce\xbe" U03BE # GREEK SMALL LETTER XI (alternate)\n<Multi_key> <g> <P> <I> : "\xce\xa0" U03A0 # GREEK CAPITAL LETTER PI (alternate)\n<Multi_key> <g> <P> <i> : "\xce\xa0" U03A0 # GREEK CAPITAL LETTER PI (alternate)\n<Multi_key> <g> <p> <i> : "\xcf\x80" U03C0 # GREEK SMALL LETTER PI (alternate)\n<Multi_key> <g> <S> <C> : "\xce\xa2" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA (alternate)\n<Multi_key> <g> <S> <c> : "\xce\xa2" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA (alternate)\n<Multi_key> <g> <s> <f> : "\xcf\x82" U03C2 # GREEK SMALL LETTER SIGMA FINAL (alternate)\n<Multi_key> <g> <T> <A> : "\xce\xa4" U03A4 # GREEK SMALL LETTER TAU (alternate)\n<Multi_key> <g> <T> <a> : "\xce\xa4" U03A4 # GREEK SMALL LETTER TAU (alternate)\n<Multi_key> <g> <t> <a> : "\xcf\x84" U03C4 # GREEK SMALL LETTER TAU (alternate)\n<Multi_key> <g> <Y> : "\xce\xa5" U03A5 # GREEK CAPITAL LETTER UPSILON (alternate)\n<Multi_key> <g> <y> : "\xcf\x85" U03C5 # GREEK SMALL LETTER UPSILON (alternate)\n<Multi_key> <g> <P> <H> : "\xce\xa6" U03A6 # GREEK CAPITAL LETTER PHI (alternate)\n<Multi_key> <g> <P> <h> : "\xce\xa6" U03A6 # GREEK CAPITAL LETTER PHI (alternate)\n<Multi_key> <g> <p> <h> : "\xcf\x86" U03C6 # GREEK SMALL LETTER PHI (alternate)\n<Multi_key> <g> <K> <H> : "\xce\xa7" U03A7 # GREEK CAPITAL LETTER KHI (alternate)\n<Multi_key> <g> <K> <h> : "\xce\xa7" U03A7 # GREEK CAPITAL LETTER KHI (alternate)\n<Multi_key> <g> <k> <h> : "\xcf\x87" U03C7 # GREEK SMALL LETTER KHI (alternate)\n<Multi_key> <g> <P> <S> : "\xce\xa8" U03A8 # GREEK CAPITAL LETTER PSI (alternate)\n<Multi_key> <g> <P> <s> : "\xce\xa8" U03A8 # GREEK CAPITAL LETTER PSI (alternate)\n<Multi_key> <g> <p> <s> : "\xcf\x88" U03C8 # GREEK SMALL LETTER PSI (alternate)\n#\n# Variants\n<Multi_key> <g> <v> <H> : "\xcd\xb0" U0370 # GREEK CAPITAL LETTER HETA\n<Multi_key> <g> <v> <h> : "\xcd\xb1" U0371 # GREEK SMALL LETTER HETA\n<Multi_key> <g> <v> <b> : "\xcf\x90" U03D0 # GREEK BETA SYMBOL\n<Multi_key> <g> <v> <e> : "\xcf\xb5" U03F5 # GREEK LUNATE EPSILON SYMBOL\n<Multi_key> <g> <v> <Q> : "\xcf\xb4" U03F4 # GREEK CAPITAL THETA SYMBOL\n<Multi_key> <g> <v> <q> : "\xcf\x91" U03D1 # GREEK THETA SYMBOL\n<Multi_key> <g> <v> <k> : "\xcf\xb0" U03F0 # GREEK KAPPA SYMBOL\n<Multi_key> <g> <v> <p> : "\xcf\x96" U03D6 # GREEK PI SYMBOL\n<Multi_key> <g> <v> <U> : "\xcf\x92" U03D2 # GREEK UPSILON WITH HOOK SYMBOL\n<Multi_key> <g> <v> <Y> : "\xcf\x92" U03D2 # GREEK UPSILON WITH HOOK SYMBOL\n<Multi_key> <g> <v> <v> : "\xcf\x95" U03D5 # GREEK PHI SYMBOL\n<Multi_key> <g> <v> <x> : "\xe2\x98\xa7" U2627 # CHI RHO\n<Multi_key> <g> <p> <s> : "\xcf\x88" U03C8 # GREEK SMALL LETTER PSI\n# Odd freak:\n<Multi_key> <g> <v> <p> <s> : "\xe1\xb4\xaa" U1D2A # GREEK LETTER SMALL CAPITAL PSI\nRun Code Online (Sandbox Code Playgroud)\n
也许不是一个完美的解决方案,但我使用过
xmodmap -e "keycode 191 = dead_greek dead_greek dead_greek dead_greek"
这映射F13我的键盘dead_greek重点(四个重复用于不同的组合SHIFT和ALTGR使用F13)。该数字191来自查看xev | sed -ne '/^KeyPress/,/^$/p'按下时的输出F13(显示keycode 191)。
| 归档时间: |
|
| 查看次数: |
8611 次 |
| 最近记录: |