I can't type in Cyrillic_er symbol (it's 'CYRILLIC SMALL
 LETTER ER' in http://www.unicode.org/charts/PDF/U0400.pdf,
 code 0x0440, looks like 'p'). Neither in console nor in X.
 Also I can't type 'CYRILLIC CAPITAL LETTER ER' (code 0x0420,
 looks like 'P') when in X.
    Some time ago I got patch from Sergey Suleymanovor for
 dosemu-1.0.2 that fixes problem for 1.0.2 version. Maybe
 such patch exist for 1.1.3? 

 Comments from patch:
 A little changes (mostly HACKS) added by Alexey Lukin <[EMAIL PROTECTED]>
 to make it work with Cyrillic_er in telnet(slang) and X modes

 Cyrillic_er has code 0xe0 so it messes up with extended keycodes.
 Changes added to ($SRCDIR)/src/base/bios/bios.S

------>8-cut----------
diff -ruN dosemu-1.0.2.orig/src/base/bios/bios.S dosemu-1.0.2/src/base/bios/bios.S
--- dosemu-1.0.2.orig/src/base/bios/bios.S      Tue Feb 12 21:34:49 2002
+++ dosemu-1.0.2/src/base/bios/bios.S   Wed Feb 13 00:39:13 2002
@@ -519,6 +519,14 @@
        cmp     bx, [KEYBUF_WRITE_PTR]  /* set flag if buffer empty     */
        je      get_key_ret             /* buffer empty                 */
        mov     ax, [bx]                /* put char into ax             */
+
+                                        /* HACK!!! by Alexey Lukin <[EMAIL PROTECTED]> */
+                                        /*      little 'Cyrillic_er'    */
+        cmp     ax,#0x00e0
+        jne     true_e0_key
+        mov     dl, #1
+true_e0_key:                            /* end of HACK */
+
        call    do_extended             /* differences for extended calls */
        jne     get_key_ret
        inc     bx
diff -ruN dosemu-1.0.2.orig/src/base/keyboard/serv_backend.c 
dosemu-1.0.2/src/base/keyboard/serv_backend.c
--- dosemu-1.0.2.orig/src/base/keyboard/serv_backend.c  Sun Mar 11 16:27:25 2001
+++ dosemu-1.0.2/src/base/keyboard/serv_backend.c       Wed Feb 13 00:39:13 2002
@@ -43,6 +43,7 @@
 #define KEYBUF_HACK 1
 
 t_shiftstate shiftstate;
+int lockaltmap;
 
 Bit16u bios_buffer;
 t_shiftstate shiftstate_buffer;
@@ -112,6 +113,9 @@
      raw &= 0xff;
    }
 #endif
+   if (bios_key == 0x23e0) { /* Cyrillic_er */
+          bios_key &= 0x00FF;
+   }
    k_printf("KBD: writing to queue: bios_key=%04x shift=%04x scan=%08x\n",
             bios_key,shift,(unsigned int)raw);
------cut-8<----------

-- 
 ������� ��������,
 ��������� �������������
 �� "���������� ���"

-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to