A question about input
Posted: 26 Jan 2023, 17:46
Hi there,
In our project we're utilizing the new input system (previously we've used cinput2 after deciding to never touch the now-legacy input system due to all of its limitations and shortcomings). We want virtually all player keybinds to be configurable, as well as having a command/action based input system and the new input system does that wonderfully.
I'm aware that Noesis doesn't currently support the new UI system for its keybinds and such, and that noesis also makes some assumptions about what keys will be pressed for some functionality (for example, tab cycling), and that it seems to also be common to define specific keys for UI interactions via the keybinding class instead of defining actions.
In our situation that would lead to very undesirable situations. We'd be in a position where we're managing which action maps are active depending on game state, any action can be bound to any key, and noesis itself would be intercepting key input and doing its own thing which would lead to potentially unpredictable behavior depending on how the user sets up their keybinds, as well as result in us having to essentially manage and maintain two completely separate input systems.
Is there a way for us to manually trigger the functionality that comes built in with Noesis controls? For example say we have an action for "cycle UI focus" and have it set to raise an event. That event gets handled in one of our classes that's aware of the current view (probably the code behind or something else that knows about the view and its elements) and tells it to cycle?
Or is this more of a situation where we'd need to write our own behaviors replicating built in functionality and trigger them ourselves?
In our project we're utilizing the new input system (previously we've used cinput2 after deciding to never touch the now-legacy input system due to all of its limitations and shortcomings). We want virtually all player keybinds to be configurable, as well as having a command/action based input system and the new input system does that wonderfully.
I'm aware that Noesis doesn't currently support the new UI system for its keybinds and such, and that noesis also makes some assumptions about what keys will be pressed for some functionality (for example, tab cycling), and that it seems to also be common to define specific keys for UI interactions via the keybinding class instead of defining actions.
In our situation that would lead to very undesirable situations. We'd be in a position where we're managing which action maps are active depending on game state, any action can be bound to any key, and noesis itself would be intercepting key input and doing its own thing which would lead to potentially unpredictable behavior depending on how the user sets up their keybinds, as well as result in us having to essentially manage and maintain two completely separate input systems.
Is there a way for us to manually trigger the functionality that comes built in with Noesis controls? For example say we have an action for "cycle UI focus" and have it set to raise an event. That event gets handled in one of our classes that's aware of the current view (probably the code behind or something else that knows about the view and its elements) and tells it to cycle?
Or is this more of a situation where we'd need to write our own behaviors replicating built in functionality and trigger them ourselves?