OnPressed event fired multiple times for single key-press

hi.

I use InputEventNotificationBus to get input, but the OnPressed event is fired multiple times for single key press!

I noticed that the OnPressed() function is called once for each input component.

So if you have 4 input components, that function will be called 4 times.

Hi there! you could try to use InputChannelEventListener

example code here

That’s what I was looking for.

Thanks.

Another feature to be aware of is: consuming or not consuming events. Those callbacks have a bool return value that allows you to indicate if you wish to consume the event.

Hi @MrOleksandr,

If I understand it, it’s used for ui purposes?

Thank you for the clarification.

Yes but it’s a more general idea that some listener have a higher priority than others and can consume those events.

See a comment here:

dev\Code\Framework\AzFramework\AzFramework\Input\Events\InputChannelEventListener.h

        //! Override to be notified when an input channel is active or its state or value is updated,
//! unless the event was consumed by a higher priority listener, or did not pass the filter.
//! \param[in] inputChannel The input channel that is active or whose state or value updated
//! \return True if the input event has been consumed, false otherwise
virtual bool OnInputChannelEventFiltered(const InputChannel& inputChannel) = 0;