[xmonad] How to use virtual/on-screen keyboard in Xmonad

Bogdan Sinitsyn bogdan.sinitsyn at gmail.com
Fri Jan 1 10:22:47 UTC 2016


On Thursday, December 31, 2015 10:44:11 PM MSK Brandon Allbery wrote:
> On Thu, Dec 31, 2015 at 10:36 PM, Jakob Schöttl <jschoett at gmail.com> wrote:
> > On 31.12.2015 15:25, Bogdan Sinitsyn wrote:
> >> On Thursday, December 31, 2015 3:09:29 PM MSK Jakob Schöttl wrote:
> >>> Because there is no hardware keyboard I need a virtual keyboard. I tried
> >>> these programs: xvkbd, matchbox-keyboard, onboard, florence
> >>> 
> >>> Some of them work with some other programs. But when it works, it's
> >>> still buggy:
> >>> 
> >>> - after typing I have to click two times to a new input field to set
> >>> focus
> >>> - virtual keyboard steals focus
> >>> - other windows get invisible and only come back when they get focus
> >>> (super+j)
> >>> - doesn't work at all with some programs
> >>> 
> >>> Is there a way to get virtual keyboards work with Xmonad, reliably and
> >>> for all programs?
> >>> 
> >>> Thank you!
> >>> 
> >>> Jakob
> >>> 
> >>> _______________________________________________
> >>> xmonad mailing list
> >>> xmonad at haskell.org
> >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
> >> 
> >> It this virtual keyboard _NET_WM_WINDOW_TYPE_DOCK or smth like this? If
> >> not,
> >> it may be useful to make it be of this type.
> > 
> > No, at least florence and onboard are not (xprop | grep DOCK).
> > 
> > What is this property and how can I set it?
> 
> You probably can't set it, at least early enough for it to matter.
> http://standards.freedesktop.org/wm-spec/latest/ar01s05.html#idm139870830002
> 400
> 
> You could however look for other properties in xprop output (probably you
> wan WM_CLASS) and doIgnore it in the ManageHook so it won't take focus and
> will float.
> 
> Do the programs where it doesn't work under xmonad, work with it under
> another window manager? X11 actually makes this hard to do, for security
> reasons. xvkbd probably uses sendEvents, which some programs ignore as
> potential security issues (they are flagged by the X server as synthetic).
> If you enable the XTest extension and use a virtual keyboard that supports
> XTest, it will work reliably... but you've opened a bit of a security hole
> in the X server since now malicious programs can do things like injecting
> commands into a terminal with a root shell in it. (xmonad has no control
> whatsoever over this, it is the X server that controls it.)
If it's just ignored, it theoretically could be overlapped by some new 
windows. But if xmonad thinks it's strut(it doesn't have to be of the dock 
type for this), it wouldn't be overlapped. Another solution is to make it 
always stay on top of other windows, but I don't know how to do it with xmonad 
if it's ignored.

-- 
Bogdan Sinitsyn


More information about the xmonad mailing list