Swedish keyboard not recognised
"Göran Uddeborg" <[email protected]> Sat, 15 Jan 2005 00:08:47 +0100
| Newsgroups | gmane.comp.emulators.winex.devel |
|---|---|
| Message-ID | <[email protected]> |
(I first posted this as a support request, but was advised to send it to this list instead.) Cedega won't recognise our Swedish keyboard. And when using some national keys in various places I get the wrong character. For example typing a-diaeresis gives me an a-ring. I suspect these problems may be related, so I started investigating why the keyboard wasn't correctly recognised. When starting Cedega with some debug messages enabled, I get a message saying that no keyboard match is found, and a Latin American layout is used. (I include the precise output at the end.) To try to understand why, I checked out the code from :pserver:[email protected]:/cvsroot and searched. In windows/x11drv/keyboard.c I found the relevant function X11DRV_KEYBOARD_DetectLayout(). By adding trace class to the keyboard and key channels, I noticed it failed to match several keys when trying the Swedish keyboard. In particular, it fails to match those keys in main_key_SE for which more than two symbols are defined (keycodes 11, 12, 13, 16, 17, 18, 19, 21, 35, and 94). The definitions in the table do look correct. The additional symbols in the table agree with additional symbols defined for those keys. Shown for example with "xmodmap -pk". So I assume there is something wrong in the way keysyms are checked in the code. I don't know these X functions very well, so I'm not sure what the problem is. In the end, Cedega finds 38 matches and 10 mismatches for the Swedish layout. This happens with all Cedega versions I've tried up to and including 4.2. I haven't had the time to check 4.2.1 yet. My distribution is Fedora Core. Is there something I could do to help debug this? =========================================== This is from the output from cedega +err ... I don't know where to find the "Wine User Guide" mentioned in the message. fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not found! Using closest match instead (Latin American keyboard layout) for scancode mapping. Please define your layout in windows/x11drv/keyboard.c and submit them to us for inclusion into future Wine releases. See the Wine User Guide, chapter "Keyboard" for more information. trace:keyboard:X11DRV_KEYBOARD_DetectLayout detected layout is "Latin American keyboard layout"