Как изменить поведение Xephyr по умолчанию для захвата и освобождения клавиатуры / мыши?
При запуске Xephyr заголовок его окна гласит: "Ctrl-shift захватывает мышь и клавиатуру".
Я использую ctrl-shift (левое ctrl - левое смещение) в качестве горячих клавиш для переключения раскладки клавиатуры, и это мешает Xephyr, когда я нажимаю их, переключается только раскладка клавиатуры, Xephyr не захватывает мышь и клавиатуру.
Я очень хочу избежать изменения комбинации горячих клавиш для переключения раскладки клавиатуры.
Можно ли изменить стандартные клавиши для захвата мыши / клавиатуры в Xephyr?
В идеале мне бы хотелось поведение, подобное VirtualBox: окно Xephyr будет захватывать мышь и клавиатуру, когда я щелкаю по нему мышью, и освобождает мышь и клавиатуру, когда я нажимаю правую клавишу Ctrl. Если это невозможно, я открыт для альтернативных предложений, которые сохранят левое ctrl - левое смещение только для переключения раскладки клавиатуры.
1 ответ
Это запрограммировано в коде: 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))
Там вы можете использовать любой другой код ключа, который вам нравится.
Доступные коды клавиш определены в /usr/include/X11/keysymdef.h