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

up vote 3 down vote accepted

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"
  • Could you please accept your own answer as it is the one that works for you. – user.dz Sep 2 '15 at 12:51

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.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.