5

I have a couple of mouse buttons mapped (Fluxbox) to execute xvkbd commands, for Enter (\r) and Ctrl+U (\Cu), which comes in super handy.

It works on terminals and most apps, but not on GTK3 apps, it became extra noticeable now that Firefox is switching to it too.

I tested this by doing on a terminal:

sleep 3 && xvkbd -xsendevent -text "\Cu"

And quickly putting focus on a text field for a GTK2 app, and it works. When I do it on a GTK3 app it doesn't.

The rest of mouse bindings work fine, so GTK is recognizing the mouse key presses but ignoring the xvkbd -xsendevent instruction as proved by the above test.

Any insights?

All I found was this mailing list email from 2012 without replies and not much info: https://mail.gnome.org/archives/gtk-list/2012-May/msg00001.html

2 Answers 2

4

My solution was to change tools, xdotool works fine. This seems because GTK3 has switched to X Input 2.0 which xvkbd does not support.

My new key bindings are:

xdotool key "Return"
xdotool key "Control_L+u"

Which replace:

xvkbd -xsendevent -text "\r"
xvkbd -xsendevent -text "\Cu"
1
  • Could you please accept your own answer as it is the one that works for you.
    – user.dz
    Sep 2, 2015 at 12:51
0

Try remove -xsendevent option.

xvkbd use XSendEvent() to send events when -xsendevent is specified, but many applications, probably including gtk3 applications, will ignore those events.

xvkbd will use an another mechanism, XTEST extension, when -xsendevent is not specified under conditions that the xvkbd is compiled with XTEST support enabled and the X server is also XTEST enabled.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .