Wie kann man das Standardverhalten von Xephyr zum Erfassen und Freigeben von Tastatur / Maus ändern?

2433
vtest

Wenn Sie Xephyr ausführen, wird im Fenstertitel "Strg-Shift nach Maus und Tastatur" angezeigt.

Ich verwende Strg-Shift (Links-Strg - Links-Shift) als Tastenkürzel für das Tastaturlayout und es stört Xephyr. Wenn ich sie drücke, wird nur das Tastaturlayout gewechselt, Xephyr greift weder Maus noch Tastatur.

Ich möchte unbedingt verhindern, dass die Tastenkombination zum Wechseln des Tastaturlayouts geändert wird.

Ist es möglich, die Standard-Hotkeys für das Maus- / Tastatur-Greifen in Xephyr zu ändern?

Im Idealfall möchte ich ein VirtualBox-ähnliches Verhalten: Das Xephyr-Fenster würde Maus und Tastatur beim Klicken mit der Maus ergreifen und Maus und Tastatur loslassen, wenn ich die rechte Strg-Taste drücke. Wenn dies nicht möglich ist, bin ich offen für alternative Vorschläge, die die linke Strg - linke Verschiebung nur zum Umschalten des Tastaturlayouts beibehalten.

4

1 Antwort auf die Frage

7
ceving

Es ist im Code fest verdrahtet: http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive/ephyr/hostx.c#n1002

Sie müssen es patchen:

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)) 

Dort können Sie einen beliebigen anderen Schlüsselcode verwenden.

Die verfügbaren Schlüsselcodes sind in definiert /usr/include/X11/keysymdef.h

Wenn Sie `xserver` bauen, gibt es keine` Xephyr`-Binärdatei, die Sie überall finden können: / Blauhirn vor 5 Jahren 0