Lionel Ulmer lionel.ulmer@free.fr writes:
And it seems that the invocation of this hook from the wineconsole makes Wine crash. I think that the problem is that the DLL is loaded from the application's context and called from the console context.
The problem is that system hooks don't work so well in builtin dlls because the load address is not always aligned. For the low-level keyboard and mouse hooks it shouldn't matter because they should always be called in the context of the process that set the hook, but this is not implemented yet. There's the same problem with the journalling hooks, I'm working on it.
Now, one could do the same for the mouse, ie install the hook only later on when acquiring the keyboard, but well, I think the problem would be the same if the debugger is started after the 'acquire'.
We should definitely do that in any case. Having the keyboard hook set even when not needed will be a serious performance hit.