Opened 22 months ago

Last modified 20 months ago

#12604 pending defect (pending)

AGS: Maniac Mansion Mania (MMM) series keyboard shortcuts issues

Reported by: scureuil Owned by: dreammaster
Priority: normal Component: Engine: AGS
Version: Keywords: original
Cc: Game:

Description (last modified by scureuil)

Most "Maniac Mansion Mania" games are written in German/Deutsch at first,
and have shortcut issues with both original Windows AGS engine and ScummVM/AGS-engine.

  • For the German language version, the AGS action menu is:
Schau Benutze   Nimm
Öffne Schliesse Gib
Ziehe Drücke    Rede

The game expects this german keyboard layout,
and maps actions position-wise :

[Q] [W] [E] R T Z
[A] [S] [D] E F G
[Y] [X] [C] V B N

(so [E] is a shortcut for "Nimm", and [A] for "Öffne")

But on US keyboards (QWERTY), bottom-leftmost key is Z, not Y,
so the shortcut for "Ziehe" is misplaced.

Worst, French keyboard are like that:

[A]  Z  [E]  R  T [Y]
[Q] [S] [D]  F  G  H
[W] [X] [C]  V  B  N

which gives:

Öffne   *        Nimm * * Ziehe
Shau    Shliesse Gib  * * *
Benutze Drücke   Rede * * *
  • The English/Italian/Russian language version uses the US/IT/RU keyboard layout :
[Q] [W] [E] R T Y
[A] [S] [D] E F G
[Z] [X] [C] V B N

which gives the same issue when the user uses a different keyboard layout, both with ScummVM AGS-engine and the original Windows AGS executable.

  • For shortcuts to work as expected, raw keycodes should be used instead of keymap-translated keys, and keyboard shortcuts for the action menu should be patched accordingly.
  • Affected games:

At least Maniac Mansion Mania 1, 3-8 (Maniac Mansion Mania 8 doesn't adapt shortcuts to other languages at all), 10-11, 14-15, 17-18, 21-24, 27, 29-30.

Maniac Mansion Mania 2,9,16 use first letter based shortcuts for English language, MMM12 has no shortcuts.

Change History (2)

comment:1 by scureuil, 22 months ago

Description: modified (diff)

comment:2 by dreammaster, 20 months ago

Owner: set to dreammaster
Resolution: pending
Status: newpending

I'm not sure how to test this, but since the codebase has been recently updated to match the stand-alone interpreter, there's every chance it could already have been fixed; if you could test and confirm?

Note: See TracTickets for help on using tickets.