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