Ste*_*eve 16 linux keyboard-shortcuts xorg xkb xinput
如何禁用任何 X-window-system-wide 设置拦截 Ctrl-Period 以获取某种特殊的输入弹出窗口?
更多细节:我正在尝试将 emacs 命令绑定到 Ctrl-句点 (C-.),该命令在以前的系统上运行良好。在这台新计算机上,X 级别(xinput?xkb?)似乎发生了一些事情,它拦截了击键,因此 emacs(或大多数其他应用程序)根本看不到它。
相反,当我在按住 Ctrl 的同时按句点时,会出现一个带下划线的小“e”,当我在图形窗口中时,它会内嵌,或者在终端或 emacs 窗口上作为弹出窗口显示(参见下图)。如果我输入更多字符,它们会显示在带下划线的“e”之后,也带下划线。后面的字符可以退格,但“e”不能退格,并且会一直保留,直到我按 Enter、Esc 或第二个 Ctrl-句点。在后两种情况下(第二个 C-. 或 Esc),所有下划线字符都会消失,没有其他效果,而在前一种情况下 (Enter),它们会消失,但会立即发送以下击键。
这显然发生在窗口系统级别,因为如果我按 C-。在一个应用程序中,然后将光标移动到另一个应用程序中进行输入,弹出窗口会在窗口之间跳转到具有焦点的窗口(有时会产生奇怪的副作用)。
最后,某些应用程序确实会看到击键:如果我向 Chrome 中的空白网页添加按键事件侦听器,只要我没有聚焦输入元素,按键事件就会完全按照我的预期发出。但是,如果我聚焦了一个输入元素,那么当显示下划线“e”时,就会发出奇怪的“未识别”键。
use*_*686 19
这看起来像某些 X 输入法提供程序的“预编辑区域”,允许您在将字符发送到应用程序的实际输入之前编写字符。
(例如,在 fcitx 或 IBus 中编写日语文本时,或者在 GTK 的 Ctrl+Shift+U 中输入 Unicode 代码点时,会使用预编辑对话框。通常是GTK 或 Xlib 等应用程序工具包与 IM 模块通信,告诉关于文本字段处于焦点等)
在这种情况下,它可能用于按名称输入表情符号,根据“e”前缀和键盘快捷键进行猜测。我猜测这个特定的“输入法”是 IBus 输入框架的一部分,其中内置了表情符号输入,默认快捷键确实是 Ctrl+句点。(通常它应该显示一个图形选择器,但在某些情况下,仅提供基本的 IM 支持,并且您得到的只是预编辑字段。)
但是,请检查 XMODIFIERS 和 GTK_IM_MODULE 环境变量以获取其他线索。(IBus 并不是唯一的 XIM 服务器。)
IBus 具有可通过 ibus-setup 或 GSettings 自定义的键盘快捷键:
gsettings get org.freedesktop.ibus.panel.emoji hotkey
Run Code Online (Sandbox Code Playgroud)
这表明默认值为['<Control>period']
。要将其设置为空列表,请使用:
gsettings set org.freedesktop.ibus.panel.emoji hotkey "@as []"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2853 次 |
最近记录: |