如何更改 Xephyr 捕获和释放键盘/鼠标的默认行为?

vte*_*est 5 xephyr

运行 Xephyr 时,其窗口标题显示“ctrl-shift 抓取鼠标和键盘”。

我使用 ctrl-shift(左 ctrl - 左移)作为键盘布局切换热键,它会干扰 Xephyr,当我按下它们时,只切换键盘布局,Xephyr 不会抓取鼠标和键盘。

我强烈希望避免更改键盘布局切换的热键组合。

是否可以更改 Xephyr 中鼠标/键盘抓取的默认热键?

理想情况下,我想要一个类似 VirtualBox 的行为:当我点击 Xephyr 窗口时,它会抓住鼠标和键盘,当我按下右 ctrl 时会释放鼠标和键盘。如果这是不可能的,我愿意接受其他建议,这些建议将保持左 ctrl - 左移仅用于键盘布局切换。

cev*_*ing 8

它在代码中是硬连线的:http : //cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive/ephyr/hostx.c#n1002

你必须修补它:

if ((XKeycodeToKeysym(HostX.dpy,xev.xkey.keycode,0) == XK_Shift_L
     || XKeycodeToKeysym(HostX.dpy,xev.xkey.keycode,0) == XK_Shift_R)
    && (xev.xkey.state & ControlMask))
Run Code Online (Sandbox Code Playgroud)

在那里您可以使用您喜欢的任何其他密钥代码。

可用的键码定义在 /usr/include/X11/keysymdef.h