我使用美国键盘布局,因为它更方便编程,但由于我是德国人,我需要使用德语变音符号来发短信。 (元音符号如ÄäÖöÜü
)我正在使用 KDE 运行 Manjaro。
我想接受媒体采访
AltGr+ u->ü
和
AltGr+ Shift+ u->Ü
我尝试从 /usr/share/kbd/keymap 复制美国键盘映射并添加
alt keycode 32 = odiaeresis
让它ü
工作,但它没有做任何事情。我通过输入查询键码 32
xmodmap -pk | grep -i o
返回:
32 0x006f (o) 0x004f (O) 0x006f (o) 0x004f (O)
答案1
setxkbmap 'de(us)'
这是一个很好的中间解决方案。它实际上是美国布局,只做了一些修改。文件是symbols/de
:
xkb_symbols "us" {
include "us"
name[Group1]="German (US, with German letters)";
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AC02> { [ s, S, ssharp, U1E9E ] };
key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
key <AC11> { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] };
key <AD03> { [ e, E, EuroSign, EuroSign ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AD11> { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] };
key <AE03> { [ 3, numbersign, section, section ] };
key <AE11> { [ minus, underscore, ssharp, question ] };
include "level3(ralt_switch)"
};
应该ralt_
是AltGr
关键。变音符号位于字母上和“德语”位置(右侧)。
有了include "us"
这个就不止us(de)
了de(us)
。
€ ßẞ äÖÜ § äöü
答案2
对于 Debian Linux(我正在运行 bookworm),已经有一个提供西欧映射的变体,称为altgr-weur
.
setxkbmap -rules evdev -model evdev -layout us -variant altgr-weur
此现有变体的摘录如下(仅 OP 描述的键,请参阅 参考资料/usr/share/X11/xkb/symbols/us
获取更多信息):
key <AD03> { [ e, E, ediaeresis, Ediaeresis ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AE05> { [ 5, percent, EuroSign, sterling ] };
key <AE08> { [ 8, asterisk, ssharp, dead_greek ] };
section
此映射中仅缺少段落 ( )。
答案3
我最近遇到了类似的挑战,并希望在我的 Debian 笔记本电脑上的命令行中使用变音符号。我找到了解决方案来自这篇非常酷的博客文章。这是我所做的:
使用以下命令识别右侧 Alt 键的键码
xev
:启动终端,输入
xev
,按右侧 Alt 键,然后复制按下该键时显示的“键码”。在您的主目录中创建一个
.xmodmap
文件并填充以下内容:keycode 135 = Mode_switch keysym e = e E EuroSign keysym a = a A adiaeresis Adiaeresis keysym o = o O odiaeresis Odiaeresis keysym u = u U udiaeresis Udiaeresis keysym s = s S ssharp
xmodmap ~/.xmodmap
通过在终端中执行来应用配置。在 shell 启动时自动进行设置:
将命令合并
xmodmap ~/.xmodmap
到您的命令中,~/.bashrc
以便每次打开 shell 时自动执行它。