Dmitry Timoshkov wrote:
"Sylvain Petreolle" spetreolle@yahoo.fr wrote:
At least, the detection mismatches should be fixed/explained IMHO.
I think that this topic was explained many times already. Anyway, here is yet another attempt.
- Keyboard detection code was introduced in order to make
some picky DOS games (expecting key presses to have fixed scan codes) work with different X keyboard layouts. Since win32 apps do not depend on it that's not a problem at all for them.
- Another problem was that each keyboard layout in x11drv had
its own code page for X event to unicode translations. That's now solved as well by introducing CP_UNIXCP support. Once the underlying system has a correctly configured locale, keyboard input in Wine (as well as a general locale support) should work just fine.
- Another (existing) problem is that each keyboard layout still
has a virtual keyboard map attached to it. It's unavoidable and needed for correct support for QWERTY/AZERTY/etc. keyboard layouts, when some applications really depend on it.
- And the last problem I'm aware of is that we need to revamp
the keyboard detection code to fill the real keyboard map first, and only then create keyc2vkey array depending on the real mapping, not a hardcoded one. That's a minor problem, which I discovered recently while debugging one of my supported apps.
5. In the future, windows keyboard language APIs will need to be handled. For those to work, we must be aware of which is the current keyboard.
Shachar