Alex wrote: > Thanks for your answer but VkKeyScan* functions do not behave exactly as M$ ones. You filed a bug for that in bugzilla? Alex wrote: > I tried to look at +relay,+keyboard,+key log but I still does not understand what's wrong : > +trace does not trace internal functions so I can see LoadLibrary call with winex11.drv as parameter but not X11DRV_VkKeyScanEx one which is a bit frustrating when you want to understand what's going on internally I'm not sure what you looking for but here is how it works. For example, if you look at VkKeyScanExW(): http://source.winehq.org/source/dlls/user32/input.c#L587 you'll see it's calling the USER_Driver which is x11drv on Wine and the actual implementation of that functions is, as you said it, X11DRV_VkKeyScanEx. Alex wrote: > But you're maybe a 'real' developer who knows a better approach... Yeah I'm a developer. Aside from wanting to call something you shouldn't be calling directly you haven't said what's the problem.