Hi
some example ZwQueryDefaultLocale is located in ntoskrnl it call on NtQueryDefaultLocale it is to get current keyboard name file ntoskrnl/ex/locale.c
in that file it exists all api to get and set the a keyboard.
a keyboard are being loading either from user mode or kmode. in kmode it is loading by ntoskrnl or win32k depns on the case which keyboard that is active are set by ntoskrnl not win32k to get defult or current keyboard is the ntoskrnl jobb not win32k so on.
so do not change my implement of NtUserGetKeyboardLayoutName it is correct test in Windows and in ReactOS.
we need using same api as windows and same prototype. even undocument thing. but what I provide is a start to use it. but not complete what I did give about NtUser* so change it to 7 param and use the protoype I gave u. use the x2 and x6 I put in, so we can change it to same as windows when we got more informations how it works. I do not have time to dig after any more doc about it.
one more thing use the Zw* api when u call on ntoskrnl from win32k. and the keyboard work are split betwin user32.dll, win32k.sys, ntoskrnl. they doing diffeting thing, but theý are linked toghther like user32.dll -> win32k.sys -> ntoskrnl.exe | | --------------- |
\ / Keyboard drv both talk with the keyboard drv and can loading it depns on the case all setting are done by ntoskrnl and win32k is relay those msg when it is need it to ntoskrnl