On Fri, Jun 21, 2002 at 09:42:04AM +0400, Sergey Suleymanov wrote:
>  Baurjan> config.term_charset=2 keyb_config_charset=terminal_cp437
>  Baurjan> paste_charset=iso8859-1 keyb_charset=iso8859-1
> 
>         Why do you specify cp437 and iso8859-1 instead of cp857 and
>         iso8859-9?

Well, I don't specify them. They are preset to these values, and setting
$_*_char_set variables does not seem to alter them. I've tried to set
these in /etc/dosemu/dosemu.conf; that didn't help either.


>  Baurjan> keynum-> keysym: 33->00f6 Keynum 0x33 is comma (the key
>  Baurjan> between m and period), isn't it? And 0x00f6 is utf-8 code
>  Baurjan> for small o with diaeresis, isn't it? If so, shouldn't it be
>  Baurjan> 0x0094 (odiaeresis in 857)?  
> 
>         Bios code 0x3394 to be exactly.

Yes, I agree BIOS code should be so. However, the -D+k output shows
character codes only, without the scan code. So I conclude that 33->00f6
is wrong.

I looked at keyb-user from dosemu -I 'keytable dump <file>'. It is as
follows:

keytable keyb-user {
  0=
     0,27,49,50,51,52,53,54,55,56,57,48,42,45,127,9,
     "qwertyuiop[]",13,0,"as",
     "dfghjkl;",39,96,0,92,"zxcv",
     "bnm,./",0,"*",0," ",0,0,0,0,0,0,
...

I.e., the default. Does this mean that my /usr/lib/dosemu/keymap/tr is
not loaded correctly? I have $_layout = "load tr" in
/etc/dosemu/dosemu.conf. strace shows that /usr/lib/dosemu/keymap/tr
gets opened. But the dump output doesn't change when I modify that file.


>         I reproduce turkish environment with (Am I right?)
> 
>         consolechars -f default8x16.psf.gz -m iso09
>         loadkeys trq

This setup doesn't have iso-8859-9 glyphs. Some time ago I sent Turkish
fonts and alternative keyboard layouts to Wartan Hachaturow, Debian
console-data maintainer; unfortunately, the bug report has not been
acknowledged yet. I'll send you the font privately.


>         $_external_char_set is your linux console charset (iso8859-9)
>         and $_internal_char_set is your DOS codepage (cp857)

This setup almost works! First, all keys producing codes above 127 get
passed to the DOS application. Second, only 857 characters that are also
in 437 (odiaeresis, ccedilla, udiaeresis) come with proper values;
others are replaced with 0x3f -- question mark (scedilla, gbreve, etc.).

Can you reproduce this behaviour? Layout is as follows:

, -> odiaeresis
. -> ccedilla
; -> scedilla
i -> dotlessi
[ -> gbreve
] -> udiaeresis

I rechecked src/plugin/extra_charsets/cp857.c and
src/plugin/translate/charsets/iso8859-9.c against the respective files
under http://www.unicode.org/Public/MAPPINGS/, everything seems to be
correct.

BTW, what are those struct field inits by name (like "struct char_set
iso8859_9 = { .c0 = &ascii_c0 }")? Is it gcc extension or C99 (or
whatever)?


>         It dumps keytables into the file you specified and
>         exit. According debug you post keytable is ok.

I don't think it's ok. How comes that keynum 0x33 maps to keysym 0x00f6,
whereas it should be 0x0094?

And those keyb_config_charset, paste_charset and keyb_charset in -D+k
output -- why are they terminal_cp437, iso8859-1 and iso8859-1 with
_any_ combination of _*_char_set?


With best regards,
Baurjan.
-
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