[xmonad] Re: Re-inserting keystrokes as X events for client

Gwern Branwen gwern0 at gmail.com
Fri Sep 12 16:45:43 EDT 2008


On 2008.09.11 19:44:01 +0200, Bárður Árantsson <spam at scientician.net> scribbled 1.4K characters:
> Jérémy Bobbio wrote:
> > On Thu, Sep 11, 2008 at 08:59:08AM +0200, Bárður Árantsson wrote:
> >> Is there a way to re-insert the original keystroke as an X event for the
> >> currently focused client in response to a keybinding?
> >>
> >> Basically I want to do a keybindings along these lines:
> >>
> >> ((controlMask, xK_t), submap . M.fromList $
> >>   [ ((0, xK_r), whatever)
> >>   , ((0, xK_f), whatever)
> >>   ...
> >>   , ((0, xK_t), <re-send the original keystroke to the focused client>)
> >>   ])
> >>
> >> so that I essentially have a "prefix" key of C-t for all my rarely used
> >> xmonad commands, but if I need to actually send a C-t to the client I
> >> can still do so by pressing C-t twice.
> >>
> >> (I've tried searching around for an answer to this but my Google-fu
> >> seems to be lacking.)
> >
> > See the "Ratpoison key emulation" thread:
> >   http://www.haskell.org/pipermail/xmonad/2008-July/005954.html
> >
> > Cheers,
> >
>
> Thanks for that link. Looks very promising, but I can't for the life of
> me figure out where to get setKeyEvent from.
>
> A search suggests that it should be in Graphics.X11.Xlib.Extras, but it
> doesn't seem to be exported from there (I have the 1.4.2 version of the
> X11 module installed).
>
> Cheers,
>
> --
> Bardur Arantsson

Perhaps your installation is not good? I have 1.4.2 installed as well, and it seems to exist fine:

Prelude> :m Graphics.X11.Xlib.Extras
Prelude Graphics.X11.Xlib.Extras> :t setKeyEvent
setKeyEvent :: Graphics.X11.Xlib.Event.XEventPtr
               -> Graphics.X11.Types.Window
               -> Graphics.X11.Types.Window
               -> Graphics.X11.Types.Window
               -> Graphics.X11.Types.KeyMask
               -> Graphics.X11.Types.KeyCode
               -> Bool
               -> IO ()
gwern at craft:20746~>ghc-pkg list X11 [ 4:41PM]
/usr/lib/ghc-6.8.2/package.conf:
    X11-1.4.2
/home/gwern/.ghc/x86_64-linux-6.8.2/package.conf:
    X11-1.4.2

(I suppose it's possible things were changed after the version was changed to 1.4.2, but the cabal version hasn't been bumped; I'd try installing from darcs <http://darcs.haskell.org/X11> and seeing whether it changes.)

--
gwern
device Pox sulphate Elvis Oz. SAP 2E781 HERF H.N.P. Archives
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/xmonad/attachments/20080912/56d4b739/attachment.bin


More information about the xmonad mailing list