Description
We are currently binding keys in Vue. This was set up as a temporary measure. We'll want to properly send input events to the WASM code without involving Vue. Some considerations:
- All keyboard input should be sent to the WASM
- Only mouse inputs targeting the viewport should be sent, not those involving clicks on GUI elements
- Mouse that has dragged outside the viewport should continue to be sent until (and including) release
- Properly handle (to the best of its abilities) events when the application has been removed from focus in the OS
- Use input to outside-the-viewport items to help reconstruct the status of inputs that may have been interrupted while mouse button was down in a viewport interaction and then focus lost
- Support multiple panels at once
- Generic approach so it can be used in other panel types, like the Layer Graph
- Consideration should be put into pen inputs, and other types of input devices