Alt-Tab again

David Fries
Fri Feb 20 23:49:00 GMT 2004

I've got it coded and working here with XWin.exe, it is a little rough
around the edges, but I'm using it all day every day.  I also expect
it isn't up to date with the current XWin.exe.

I picked PrintScreen as my 'disable keyboard hook' key, no good reason
for that specific key though.

What it provides,

a dll that is loaded and used when XWin.exe is started when the
argument  -claimkeyboard is given on the command line,

each time the window gets focus it enables the hook, when it looses
focus it gives it up,

all keys (except after the PrintScreen is pressed) are sent to X
windows, window keys included (I have a lot of hot keys assigned to
them with fvwm),


num lock, caps lock, and scroll lock don't toggle when X has focus
(X-windows gets the keys, windows doesn't so the leds don't toggle),

if a key is held when entering X-windows and is lifted before leaving,
windows still has the state of that key as held when you leave, ie if
the window key is pressed

Window-U was taken by something called Utility Monitor, I disabled the
program so it wouldn't run, but the hook would only get the U keyup
when window was held, so it currently sends U down then U up when
Window is held.  I've since found that if you disable all the
accessibility keys from windows it no longer hogs Window-U, so this
hack should be taken out (and a note to let people know how to use
those keys).

By default XWin.exe will ignore any of the window keys.  My patch
passes them through, but needs to ignore them if the hook isn't

I've only tested the full x server in a window, not the multi window

The dll must manually be moved into place.

It has been a long time since I updated the XWin source, but the
embedded XWin/xwin-20031109-1622.tar.bz2 might be the orignal source
to do a diff against.

E-mail me for the source as it is too big for the mailing list.

David Fries <>

More information about the Cygwin-xfree mailing list