如何使用键盘快捷键从 PRIMARY 选择(例如鼠标选择的文本)粘贴?Shift+Insert
不一致地从 PRIMARY 或 CLIPBOARD 粘贴,具体取决于应用程序。
背景:
Ctrl+C
将选定的文本复制到 CLIPBOARD,而鼠标选择复制到 PRIMARY。从剪贴板Ctrl+V
粘贴,从 PRIMARY 粘贴mouse-middle-click
。
在终端模拟器(gnome-terminal)中,从剪贴板粘贴Ctrl+Shift+V
. (从 PRIMARY 粘贴mouse-middle-click
静止。)
我想使用键盘快捷键从 PRIMARY 粘贴。在 gnome-terminal 中,这是Shift+Insert
,但在 gedit 和 Firefox 中,是Shift+Insert
从 CLIPBOARD 粘贴的。我想要一个始终从 CLIPBOARD 粘贴的快捷方式和一个始终从 PRIMARY 粘贴的不同快捷方式。
我正在使用 xmonad 和 Firefox 34.0 运行 Ubuntu 14.04
don*_*sti 36
您提到的所有应用程序都是gtk+
应用程序,因此很容易回答为什么...因为在所有 gtk+
应用程序中(除了一个),Shift+Insert从剪贴板粘贴 - 即它等效于Ctrl+ V。快捷方式硬编码在gtkentry.c
(第 2022 行)和gtktextview.c
(第 1819 行)中:
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
Run Code Online (Sandbox Code Playgroud)
它也记录在GTK+ 3 参考手册的下面GtkEntry
:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
Run Code Online (Sandbox Code Playgroud)
据我所知,这样做是为了与其他 DE(请参阅 中KDE
的Qt
键绑定QTextEdit Class
)和 Windows OS 1 保持一致。
该唯一的例外是gnome-terminal
。长时间的辩论后,开发者已经决定(与其他终端的一致性),在gnome-terminal
,Shift+Insert应该从小学粘贴和Ctrl+ Shift+V应该从剪贴板粘贴(尽管你有选择来定制一些捷径)。
至于如何使用键盘快捷键粘贴选择...没有简单的方法。
最简单的方法是为运行的脚本分配一个快捷方式xdotool click 2
(模拟单击鼠标中键)。虽然这有效(并且它应该适用于所有或大多数 DE 和工具包),但它仅在鼠标光标实际位于文本输入框上方时才有效,否则会失败。
另一种相对简单的方法是通过 Gnome Accessibility,如果它在您的系统上可用。它还需要有一个数字键盘。转到Universal Access
>>Pointing & Clicking
并启用Mouse Keys
. 确保NumLock
关闭。然后您可以使用小键盘键移动光标并单击。要模拟鼠标中键单击,请按下(并松开)*(星号)然后按下5(这里有一个简短的指南)。这个解决方案似乎总是在一个gtk+
环境中工作。缺点是它需要Gnome Accessibility
一个数字键盘。此外,您无法自定义快捷方式。
在gnome-bugzilla (bug 643391)上提出了一个有趣的解决方案。(2018 年更新:问题现已移至此处。)它需要修补一些源文件并在~/.config/gtk-3.0/gtk.css
(或~/.gtkrc-2.0
为gtk+
2 个应用程序)设置配置选项。我没有亲自尝试过,但反馈是积极的。
理想情况下,您应该修补源文件并定义一个"paste-selection"
信号,然后将Shift+绑定Insert到"paste-selection"
而不是"paste-clipboard"
. Andy 的代码(附在上面链接的错误报告中)可以作为如何做到这一点的指南。即便如此,它也只会影响gtk+
应用程序(我不是一个KDE/Qt
人,所以我不知道如何改变Qt
应用程序的行为)。
1:(更不用说IBM的CUA)
归档时间: |
|
查看次数: |
11115 次 |
最近记录: |