Thanks for your answer but VkKeyScan* functions do not behave exactly as M$ ones (leading to a crash in my software but that's another problem) . I tried to look at +relay,+keyboard,+key log but I still does not understand what's wrong (²). If I could call them, I think the issue would be easier to find. But you're maybe a 'real' developer who knows a better approach... --- ² : +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