我安装了剪贴板补丁,并在我的config.h
#define MODKEY Mod1Mask
#define TERMMOD (Mod1Mask|ShiftMask)
和
{ ShiftMask, XK_Insert, clippaste, {.i = 0} },
{ TERMMOD, XK_c, clipcopy, {.i = 0} },
{ TERMMOD, XK_v, clippaste, {.i = 0} },
{ MODKEY, XK_p, selpaste, {.i = 0} },
有趣的是Shift+Insert
,中键单击鼠标让我从剪贴板粘贴,但使用TERMMOD
and MODKEY
from above 的组合不能。TERMMOD
使用和MODKEY
(例如放大/缩小、打印屏幕、滚动)的其他快捷方式起作用。我尝试使用其他组合,Ctrl+Shift+c/v
但没有乐趣。相同的组合适用于 xterm、urxvt 和 alacritty(我还没有详尽地测试过其他模拟器)。
任何人都可以阐明一下吗?
在source的默认键绑定中
st
,绑定使用XK_V
(注意大写)。尝试将您的小写更改
XK_v
回那个(同时保持您的新值TERMMOD
)。解释
XK_v
并XK_V
在 X11 包含文件中定义为 0x76 和 0x56keysymdef.h
。它们被认为是不同的按键。您可以使用该xev
工具进行测试:没有Shift:
按住Shift,相同的
keycode
结果不同keysym
。当您
XK_v
与TERMMOD
, 和TERMMOD
contains一起使用时ShiftMask
,您是在告诉st
您要在v收到小写字母时粘贴Shift。但是当你持有 时Shift,X 服务器会发送一个大写的V键。这不是st
要找的东西,所以它什么也不做。