Gereon Ruetten <[EMAIL PROTECTED]> writes:
> "Eric W. Biederman" wrote:
>
> > dosemu-0.99.13.eb1.1 is a preliminary patch of my ongoing
> > work to improve the keyboard code in dosemu.
>
>
> first of all, many thanks to Eric for taking time to solve
> the keyborad code problem.
>
> I compiled the "eb" Version (with some little warnings, see below))
>
> after installing and starting dosemu says "key_table -> sizemap = 97"
> (it doesn�t depend on running "local" or "over telnet")
>
> When i try to use (Umlaute (german keyboard "ae,ue,oe,ss")) it WORKS !!!
>
> GREAT !!!!
>
> but :
>
> Backspace didn�t work proper (it does without the patch)
>
> A dos keyboard scan program says :
>
> with patch : without the patch :
> Scan : 14 14
> AscII : 0x7f 0x08
> KeyIdnt : \127 \270
>
I haven't been able to reproduce this (yet), but I believe I know what
is going on. It looks like the german keymap is messed :(
I now actually obey the keymap better. . .
I'm not certain why the us keyboard currently works, it's mapping
looks equally messed.
Anyway in the user overloadable keymappings, this should fix the delete:
#keytable de
keytable keyb-user {
0=
- 0,27,"1234567890",225,39,127,9,
+ 0,27,"1234567890",225,39,8,9,
"qwertzuiop",129,"+",13,0,"as",
"dfghjkl",148,132,"^",0,"#yxcv",
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
0
shift 0=
- 0,27,"!",34,156,"$%&/()=?",96,127,9,
+ 0,27,"!",34,156,"$%&/()=?",96,8,9,
"QWERTZUIOP",154,"*",13,0,"AS",
"DFGHJKL",153,142,248,0,39,"YXCV",
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
0
alt 0=
0,0,0,253,252,0,0,0,"{[]}",92,0,0,0,
"@",0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
0
numpad 0=
"789-456+1230,"
}
> and many other keys also reports other (false) dos scancodes as in the previous
>version
Hmm. Hopefully it is problems in the keyboard mappings.
I have a regression test around for standard us keymappings.
> also the ibm-display codes (e.g. for norton commander) didn�t
> work (with the same dosemu.conf and without the patch -> no problem)
This may be due to a typo. I'll look into it shortly.
I can just about reproduce that one.
The problem is either a logic but in src/env/video/terminal.c
function: set_char_set (It pretty simple. . .)
Or a bug in the mappings to unicode one of:
src/base/translate/ibm_ascii.c
src/base/translate/cp437.c
Currently I map cp437_display to cp437_terminal.
for the ibm display.
I haven't yet run a regression check to make certain
this results in the same display mappings as in src/env/video/terminal.h
I'm currently breaking my huge patch into a number of smaller ones.
So I can determine by backing out patches which patch introduced
the problem.
Once thats done I'll see what I can fix.
Eric
Thanks I'll clean these up as I break the patches up.
>
> > Testers wanted.
>
> tell me what to do, and i will try to help, because its important for me
> to get it work !
>
> "Errors" while compiling the eb Version
>
> serv_xlat.c: In function `init_scancode_translation_rules':
> serv_xlat.c:530: warning: unused variable `j'
Me.
> keymaps.c:22: warning: `is_a_console' declared `static' but never defined
> keymaps.c:23: warning: `open_a_console' declared `static' but never defined
> keymaps.c:24: warning: `getfd' declared `static' but never defined
> keymaps.c:25: warning: `dosemu_val' declared `static' but never defined
Temporarily commented out code to read the console keymap.
> keyb_slang.c:41: warning: type defaults to `int' in declaration of `pc_scancode_mode'
Oops. forgot a return type.
> keyb_clients.c: In function `paste_run':
> keyb_clients.c:49: warning: unused variable `ch'
> translate.c: In function `charset_to_unicode':
> translate.c:261: warning: comparison is always 1 due to limited range of data type
It doesn't like comparint unsigned values to >=0 but the code is clearer...
> translate.c: At top level:
> translate.c:298: warning: `get_ctext_char_set_piece' defined but not used
> translate.c:324: warning: `interpret_ctext_control' declared `static' but never
>defined
Code for handling multi character set pasting in X.
Not yet completed.