Lars Gullik Bjønnes wrote:
> 
> I am not excatly willing to take patches that solve this problem by
> special casing latin2.
> 
> and in any event we should to this for the other latinX xkeysyms as
> well.

Point taken.  I'm attaching the patch for ISO Latin 2, 3 and 9 in
LyX 1.1.6fix1 - they are the only Latin keysyms that I found in
X11/keysymdef.h, but of course this list could be extended -
and ISO Latin 1 was already supported before that.

> | I'm attaching a simple patch that enables support for Latin-2
> | keysyms in LyX.  It should not break anything for any other
> | keyboard as it just adds translation of ISO Latin-2 keysyms
> | to ISO Latin-2 characters as I saw them defined in
> | X11R6/include/X11/keysymdef.h.
>
> Of course this only works if you are using a latin2 font.

Do you really mean "latin 2 font" or perhaps "latin 2 encoding"?
I'm afraid I don't understand the problem.  Are you refering
to Unicode fonts and possible problems there?

IMHO the patch is OK and I hope that it will be accepted;
getiso() should return ISO character code of the keysym (description
in comment says so), which it does - now also for ISO Latin 2.
-- 
        Regards,
          Roman
--- src/kbsequence.C.orig       Sun Dec 17 07:09:34 2000
+++ src/kbsequence.C    Thu May 10 00:04:44 2001
@@ -261,6 +261,11 @@
 char kb_sequence::getiso() const
 {
        int const c = getsym();
+
+       // Check if the keysym is in ISO Latin-2, -3 or -9.
+       int byte3 = c / 0x100;
+       if (byte3 == 0x01 || byte3 == 0x02 || byte3 == 0x13)
+               return static_cast<char>(c % 0x100);
        
        if (c > 0xff)
                return '\0';

Reply via email to