web-dev-qa-db-ja.com

キーボード/マウスをキャプチャして解放するためのXephyrのデフォルトの動作を変更するにはどうすればよいですか?

Xephyrを実行すると、ウィンドウのタイトルに「ctrl-shiftがマウスとキーボードをつかむ」と表示されます。

キーボードレイアウト切り替えホットキーとしてctrl-shift(左ctrl-左シフト)を使用していますが、Xephyrに干渉します。これらを押すと、キーボードレイアウトが切り替えられ、Xephyrはマウスとキーボードを取得しません。

キーボードレイアウトを切り替えるためのホットキーの組み合わせを変更しないように強くしたいと思います。

Xephyrでマウス/キーボードをつかむためのデフォルトのホットキーを変更することは可能ですか?

理想的には、VirtualBoxのような動作が必要です。Xephyrウィンドウは、マウスをクリックするとマウスとキーボードを取得し、右のCtrlキーを押すとマウスとキーボードを解放します。これが不可能な場合は、左Ctrlキーを維持する代替案を受け入れます。キーボードレイアウトの切り替えのみを左シフトします。

4
vtest

コードに組み込まれています: 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で定義されています

8
ceving