I need help implementing RegisterHotKey

Andreas Mohr andi at rhlx01.fht-esslingen.de
Mon May 8 11:40:29 CDT 2006


Hi,

On Sun, May 07, 2006 at 04:20:50PM -0400, Vincent Povirk wrote:
> I found a patch from about 3 years ago for implementing RegisterHotKey
> and UnregisterHotKey. I've updated it to apply to the current wine
> source tree and essentially copied what metacity does to cover any
> missing functionality.
> 
> The original patch is here:
> http://www.winehq.com/hypermail/wine-devel/2003/02/0636.html
> 
> Unfortunately, trying to register an in-use hotkey with this patch
> causes a crash:
> 
> X Error of failed request:  BadAccess (attempt to access private
> resource denied)
>  Major opcode of failed request:  33 (X_GrabKey)
>  Serial number of failed request:  58
>  Current serial number in output stream:  62
> 
> RegisterHotKey is implemented as if XGrabKey returns 0 if it fails. Do
> I need to do something special to "watch" for the error?

I've been searching for X_GrabKey protocol error examples,
but it wasn't too interesting.
The only relatively interesting URL is
http://archives.neohapsis.com/archives/openbsd/2004-06/0255.html
where they say that x2vnc >= 1.5.1 has this issue fixed (either by
installing a custom X error handler or perhaps by doing a good, clean
direct approach). Thus you might want to research the changes in 1.5.1
to see what needs to be done here.

As I said, installing a custom X protocol error handler would also help
(that way you would custom-handle the error instead of having it "crash" by
default), and AFAIK Wine does that in quite some places already (X font
handling in Wine comes to mind as being a major PITA with frequent errors).

Just Google "X11 custom error handler" or so for more info.

Thanks for tackling that, good luck!

Andreas Mohr

-- 
No programming skills!? Why not help translate many Linux applications! 
https://launchpad.ubuntu.com/rosetta
(or alternatively buy nicely packaged Linux distros/OSS software to help
support Linux developers creating shiny new things for you?)



More information about the wine-devel mailing list