Menu

#6194 DREAMWEB: M key does not work in Network Monitor

Dreamweb
closed-fixed
digitall
5
2012-12-02
2012-11-28
misterhands
No

Latest Win64 snapshot
Dreamweb Freeware CD UK

The title says it all, except that I use an AZERTY keyboard.

Also the ,? key (that's where the M key would be on a QWERTY keyboard) acts a bit strangely:
if you press it on a blank line nothing happens;
if you press it on a non blank line it behaves like the SPACE key.

Discussion

  • misterhands

    misterhands - 2012-11-28
     
  • digitall

    digitall - 2012-11-29
    • assigned_to: nobody --> tdhs
    • summary: Dreamweb: M key does not work in Network --> DREAMWEB: M key does not work in Network Monitor
     
  • digitall

    digitall - 2012-11-29

    misterhands: Thanks for the bug report. This looks like a similar issue to your previous bug #3539031 wrt. Lure engine:
    https://sourceforge.net/tracker/index.php?func=detail&aid=3539031&group_id=37116&atid=418820

    The fix should be similar i.e. to change text input to using ascii, rather than keycode.

     
  • digitall

    digitall - 2012-11-29

    misterhands: To clarify, can you confirm when you say "it behaves like the SPACE key", do you mean it inserts a space character to the monitor line, or that it locks the monitor scrolling (as per SPACE Key during long text printing)?
    (This is an emulation within the game of the nowadays fairly unused https://en.wikipedia.org/wiki/Scroll_lock function)

    Have added debugging output to the keyboard functions. Please download the latest nightly master build and test with "scummvm -d 1" from a command prompt window to get debug output text and paste the relevant section here.

    For reference, I get "DreamWebEngine::processEvents() KeyDown keycode:109 ascii:0x6d" for a lower case 'm' i.e. M and "DreamWebEngine::processEvents() KeyDown keycode:109 ascii:0x4d" for an upper case 'M' i.e. SHIFT+M on my QWERTY Keyboard.

     
  • misterhands

    misterhands - 2012-11-29

    What I meant was that it inserts a space character.

    BTW I didn't know that you could scroll lock with the space key.
    I must have missed that bit when reading the (f******) manual.
    I found that the fast scrolling speed made reading difficult, and in fact I was about to locate the relevant resource file and read it with a hex editor !
    So thanks for saving me the trouble :-)

    I tried the latest nightly, but I got nothing in debug level 1.
    Had to crank it to 11 to get some output when typing.
    For example I get "key pressed = 004c" when hitting the L key.
    But there is no output at all when typing M.
    It looks like your last commit adding debugging output came one hour too late to make it into the nightly... guess I'll have to try again tomorrow then.

    I'll consider setting everything up and compiling ScummVM on my own as I find myself dealing with bugs regularly !

    Thanks

     
  • digitall

    digitall - 2012-11-30

    misterhands: Hmm.. That could be a space or an unprintable character...

    The scroll lock function is noted at the bottom of page 15 of the user manual, at the end of the "Using the Network Monitor" section, though I only noticed it when I looked at the source code.

    Apologies for that. Please try with the next nightly build from:
    http://buildbot.scummvm.org/builds.html

     
  • misterhands

    misterhands - 2012-11-30

    No problem.

    Here is what I get.
    lower case m :
    DreamWebEngine::processEvents() KeyDown keycode:59 ascii:0x6d

    upper case M :
    DreamWebEngine::processEvents() KeyDown keycode:59 ascii:0x4d

    Let me know if you need anything else.

     
  • digitall

    digitall - 2012-12-01

    misterhands: Thanks for that. To confirm, is that when you present the key marked "M" on your AZERTY keyboard, or the key which is marked ", ?" i.e. the one where M should be? Either way, confirm which and if you could attach the codes from pressing the "other" key, then that would be useful.

    I think some of this code will need changing from keycode to ascii usage, but I need to be sure that I'm not going to break something! :)

     
  • misterhands

    misterhands - 2012-12-01

    That was for the actual M key on my keyboard.
    The output for the ",?" key is as follows :

    lower case :
    DreamWebEngine::processEvents() KeyDown keycode:109 ascii:0x2c

    upper case :
    DreamWebEngine::processEvents() KeyDown keycode:109 ascii:0x3f

    Yes the original game ignores DOS codepage or keyboard layout and runs in "QWERTY mode" so a conversion to ascii will probably be needed.
    Oddly enough, only the M key is affected, the other typical problematic keys (AZQW) are fine in ScummVM's implementation...

    Anyway I"m sure that you will sort this out as usual ! :-)

    Thanks

     
  • Thierry Crozat

    Thierry Crozat - 2012-12-01

    @tdhs I just looked at the code and this is indeed the same bug as #3539031. It is simply not correct to test the keycode values to check if a character is in [a-z] and [0-9]. You need to test on the ascii value.

    I can commit a fix if you want.

     
  • Thierry Crozat

    Thierry Crozat - 2012-12-02
    • status: open --> closed-fixed
     
  • Thierry Crozat

    Thierry Crozat - 2012-12-02

    Fix committed in commit 674c625.

    This also fixes issues with qwerty and azerty layouts when using the number keys at the top of the keyboard. This would give strange characters when using SHIFT with a qwerty keyboard and when not using shift with an azerty keyboard.

     
  • digitall

    digitall - 2012-12-02

    criezy: Thanks for fixing this.