xterm:禁用左 Alt 生成 ø

xterm:禁用左 Alt 生成 ø

我正在两台不同的笔记本电脑上使用 i3wm 进行最新的 Debian 测试。

Linux mango 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1

当我按 LeftAlt + x 时,我得到“ø”。以及其他带有其他键的特殊字符。

我想禁用它,因为我认为它是阻止我在 emacs 中使用 Alt-x 的原因,默认情况下它应该绑定到“execute-extended-command”。但它只说“ø未定义”。

但它似乎不是 compose 键,因为运行:

setxkbmap -model pc105 -选项 compose:caps

不影响 Alt-x 的行为。这是在哪里配置的?


更新以澄清:我正在使用 uxterm 和终端 emacs“-nw”。我添加XTerm.vt100.metaSendsEscape: true到 .Xdefaults 和 .Xresources 但没有效果。

这是输出xkbcomp $DISPLAY - https://pastebin.com/BFnV4Zdz

答案1

这很奇怪;这是正确的Alt 是 AltGr,应该生成这样的字符,但/usr/share/X11/xkb似乎没有文件将 AltGr+x 映射到 ø。

我怀疑您正在终端模拟器中运行 emacs - 在这种情况下,您应该让终端模拟器将 Alt 映射到 Esc;在 中xterm,你可以这样做

*.vt100.metaSendsEscape: true

如果您没有在术语模拟器中运行 emacs,那么请发布xkbcomp $DISPLAY -某处的整个输出并将其链接到您的问题。

答案2

它可能内置于应用程序中(emacs 本身,或者如果您使用“emacs -nw”则为终端)。例如,xterm 就是这样做的(正如最初记录在eightBitInput资源,或稍后,在metaSendsEscape),以及其他一些程序(例如st)复制它。

该功能在 xterm 中实现2003年:

修改处理eightBitInputUTF-8 模式下的资源将值转换为 UTF-8。否则,非法的 UTF-8 代码将发送到应用程序(Bram Moolenaar 报告)。

相关内容