Project

General

Profile

Bug #824

Double press input events

Added by danij over 12 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
2009-11-18
% Done:

100%


Description

Using the default control bindings in Hexen attempting to toggle the paused state of the game by pressing p, it will only work every other time.

Labels: Controllers

History

#1 Updated by danij over 12 years ago

On further inspection this seems to be a general problem. I bound a couple of keys for resizing the statusbar and they too only work every other time.

#2 Updated by danij over 12 years ago

It would seem this problem stems from control UI as the when doing a "clearbindings;defaultbindings" the problem is not present. See here: http://dengine.net/forums/viewtopic.php?f=7&t=326

#3 Updated by skyjake over 12 years ago

Fixed for beta6.9.

The event sequence responder was eating events that were part of a
partial sequence. This prevented the execution of the commands
bound the to eaten events (e.g., pause for P).

I don't think it's possible for the event sequence responder to
eat events during the forming of a sequence without affecting
regular bindings.

#4 Updated by danij about 12 years ago

There may be a problem with that. Without testing, here is what I'm thinking:

If an event sequence uses a character that has a binding which opens the chat widget; event sequence input will be interrupted and the chat widget shown instead.

#5 Updated by skyjake about 12 years ago

I think there is a fundamental conflict between the sequence responder and the bindings. Either we get "misfires" during the entering of the sequence, or some bindings fail to execute because the sequence ate them.

I have a hard time seeing an option that would work correctly in every case.

#6 Updated by danij about 12 years ago

How about; once the first event in a sequence is triggered, any subsequent events in a partial sequence are eaten. The first event in a sequence is never eaten.

#7 Updated by skyjake about 12 years ago

That would likely help somewhat but it's not a full fix. Events would still be erroneously eaten if the user has configured his bindings so that they match the first and second events in the sequence.

Which means that from the user's perspective, in some obscure cases some keys fail to do anything when they are pressed. Not really a perfect situation.

#8 Updated by danij about 12 years ago

Good point. Clearly then, the event responder cannot eat events in a partial sequence.

We don't want to interfere with the normal in-game entry of cheats (even though its problematic) as we'd be buried under a mountain of "cheats don't work" complaints. So what options do we have? The only one I can think of is to rework the chat widget and reassign/remove the bindings for it.

#9 Updated by skyjake about 12 years ago

Well, we need a better chat widget anyway...

#10 Updated by danij about 12 years ago

Brainwave: Change the default bindings for the chat widget, making use of the new shift modifier. That way, its still the same keys but we just require the user hold Shift also.

#11 Updated by skyjake about 12 years ago

That is a good solution. The only problem is that the controls menu doesn't support modifier combinations...

Also available in: Atom PDF