"Shachar Shemesh" <[EMAIL PROTECTED]> wrote: > I have been itching to do an overhaul of the Wine keyboard handling for > some time. I think the current scheme is overly complicated, and causes > problems. This is a major task, but I may be able to recrute some local > help. I am a bit worried, however, about the fact that some other people > may also working on a similar task at the moment. I know Dmitry said in > the past he is rennovating the keyboard a little, and I know codeweavers > still hold a patch that will allow UTF-8 input locale to work.
Actually Alexandre didn't like that patch, and I reworked it and sent to wine-patches as "Add support for CP_UNIXCP". If you could try it and report whether it allows you to type with UTF-8 locale, it would be nice. Once this patch is commited, all the base for keyboard layout support should be in place, and implementing kbd layout APIs should be a straightforward enough task. Regarding the current implementation, I don't think that it's over complicated. We have to cope with different virtual key code layouts and should make an attempt to detect current X keyboard layout in order to assign correct keyboard map, and report correct VK_xxx key events. The CP_UNIXCP patch simplifies a bit current scheme by removing the codepage field from layout tables, which should avoid converting X key events to unicode using wrong code page, and therefore make it possible to make international keyboard input work even if we have made a mistake while detecting an X keyboard layout. What exactly part of it you see could be simplified, and how? -- Dmitry.