Word in Hebrew and Wine
Shachar Shemesh
wine-devel at shemesh.biz
Sun Jul 6 12:16:58 CDT 2003
Dmitry Timoshkov wrote:
>"Shachar Shemesh" <wine-devel at shemesh.biz> wrote:
>
>
>>I tried it and it does NOT work. I still get "unrecognized keyboard event".
>>
>>
>
>I'd prefer to see at least a +key,+keyboard,+x11drv,+event log (compressed)
>with good description: what exactly doesn't work.
>
>
I get "unknown key". I'll try to recompile with it and let you know.
>>Please bear in mind that knowing which
>>keyboard locale the current keymap belongs to is important.
>>
>>
>
>Actually that's not important for internal functionality in current limits,
>but it's necessary for keyboard layout APIs.
>
>
And it is important for getting Word to work with BiDi. All I was trying
to do is to get this aspect of the API a higher priority.
>>I'm not sure
>>we can afford to give the locale info from the keyboard layouts just yet.
>>
>>
>
>In future we need to revive LCID for every defined keyboard layout, as
>it was some time ago.
>
>
That's what I meant. Sorry if I wasn't clear.
>>>What exactly part of it you see could be simplified, and how?
>>>
>>>
>>>
>>>
>>I was aiming for the following path:
>>
>> 1. Detect current keymap. Try to do that independantly for each
>> keymap group (i.e. - have an array - group0 - US, group1 - IL,
>> group2 - RU).
>> The keys will be stored inside the keyboard map in Unicode. I'm
>> not 100% sure how to do that stage yet, but I do have a relatively
>> non-efficient way of doing that to fall back to, if necessary.
>>
>>
>
>This will require major revamping of the current code. If you have an idea
>or a preliminary patch I'm interested to see it.
>
>
I have already started collecting the necessary information. It does,
however, require relying on Xkb. This would also let us let applications
control the current layout (for that I already have a working code). I
/THINK/ we can get to a point where we don't need the keyboard lists in
keyboard.c at all, which means we can support new keyboards with a
simple line saying "IL is LCID(MAKELANG(LANG_HEBREW, SUBLANG_DEFAULT))".
I still have not started looking at how difficult it would be to be
softly dependant on Xkb (so that if it's not present, not to support
Windows keyboard switching). On the whole, however, I'm getting the
feeling I'm planning work to be done in parallel to you, which sounds
like a waste of resources. Especially as I may have found a local
vulenteer to do the actual coding :-). If it makes more sense for you to
delve into this, let me know and I'll redirect my vulenteer to other
useful areas of Wine.
>> 2. Trap the X events that notify about group changes, and pass them
>> on as Windows messages to applications.
>>
>>
>
>That's a part of the planned keyboard layout support implementation.
>
>
Good
>> 3. When an X event arrives, convert the raw virtual key to a raw
>> Windows key, and pass it on. Do not convert to ASCII, ANSI, or any
>> other non-layout information. In essence, the keyboard mapping is
>> not used at this stage at all.
>> 4. When an application asks to convert the raw Windows key to
>> ANSI/Unicode, look up the result in the current keymap.
>>
>>
>
>#3 and #4 are exactly how it's currently implemented.
>
>
That's not the impression I got, I have to admit. It has been a while
since I stepped through the code, but I got the impression that Windows
raw key is derived from the keyboard location of the ANSI representation
of the X raw key.
When I have the time again (not this week, I'm afraid), I'll have a look
again.
Shachar
--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
More information about the wine-devel
mailing list