Opened 14 years ago

Last modified 9 months ago

#7793 new feature request

AGI: Better mapping for mouse buttons

Reported by: SF/sterv Owned by:
Priority: normal Component: Engine: AGI
Version: Keywords:
Cc: Game:

Description

ScummVM should interpret left mouse button as 1, right mouse button as 2, both left and right mousebuttons pressed simultaneously as 3, middle button (scroll wheel) as 4, just like in AGI Mouse, and if possible, support scroll wheel but with mouse only. Values for scroll wheel forward and backward could be 5 and 6.

What ScummVM should not do, is to interpret mousebuttons/wheel usage as keyboard activity like it does now. Restrict mousebuttons ( and scroll wheel) to only variable 27, variable 19 is for keyboard only.

Ticket imported from: #3094682. Ticket imported from: feature-requests/609.

Change History (3)

comment:1 by csnover, 7 years ago

Component: Engine: AGI

comment:2 by sev-, 4 years ago

Summary: AGI Mouse-behaviourAGI: Better mapping for mouse buttons

comment:3 by sluicebox, 9 months ago

There are three requests in this 13 year old ticket:

  1. Set variable 27 like AGIMOUSE does
  2. Set variable 27 to new values in response to mouse scrollwheel
  3. Do not set variable 19 (keyboard) in response to mouse buttons

We already do #1 and did when this ticket was created, but there were problems with our AGIMOUSE implementation. I just fixed three AGIMOUSE issues, so I know that #1 is done and now works better than ever.

#2 is a feature request, but why? Maybe the OP was interested in adding this to a game, but that was 13 years ago. I'm not aware of any AGI games that use this. If they don't exist then I don't see the point. We already have plenty of dead AGI code to delete! =)

#3 sounds like we are doing inaccurate behavior. We are indeed writing to variable 19 when the mouse is clicked. But what does this affect? That input code is complex, I don't see how we can make changes to it without seeing results. (In fact, I know we won't!) I don't see any comments explaining why we do this, but it looks deliberate.

I know I'm late to this party, but I want to give this ticket a fair shot. #3 sounds interesting if we can learn more.

Note: See TracTickets for help on using tickets.