Dmitry Timoshkov dmitry at
Thu Jan 13 20:08:05 CST 2005

"Oleh R. Nykyforchyn" <nick at> wrote:

> I propose two patches to Wine20050111 (sorry for not using CVS, but I have rather
> slow dialup connection). First is more or less obvious: current cp_20866.c page
> includes only Russian KOI8-R codes and is insufficient for Ukrainian and Byelarussian users.
> It is easy to add four Ukrainian pairs and one Byelarussian pair of letters (in fact,
> move to KOI8-RU). I patched the Perl script an regenerated cp_20866.c:

You can't do that. Windows has a distinct code page for Ukrainian and Byelarussian,
it's 21866.

> Second proposal is more complicated. I have four XKB groups in my
> (Latin + 3 cyrillic encodings), and, moreover, use overlays to switch
> between Ukrainian and Russian. This approach is typical among Cyrillic
> Linux users. Of course, wine cannot handle my case, so I partially rewrote 
> keyboard.c to take care of groups and overlays switching if XKB is present.
> Now You can have four independent layouts up to four shift levels in each.
> If XKB is absent, wine will behave as before. Driver will switch internal
> XKB group counter each time when looked up symbol doesn't match previously
> built tables. If this doesn't help, the whole layout ONLY FOR THIS GROUP
> (to save time) will be refreshed.

The real fix for your problem is to add a proper support for keyboard
layouts, and switch internal x11drv layout on an appropriate X event.


More information about the wine-devel mailing list