**What kind of change does this PR introduce? (Bug fix, feature, documentation update, new examples etc.)**


**What is the current behavior? (You can also link to an open issue here)**


**What is the new behavior (if this is a feature change)?**


**Does this PR ensure that key events handling across different window toolkits is identical if it
has changes related to window toolkits?**


**Does this PR introduce a breaking change?**


**Please check if the PR fulfills these requirements**
- [ ] The commit message following the [guidelines](https://github.com/arrayfire/forge/blob/devel/CONTRIBUTING.md#commit-message-format)
- [ ] Examples for all compute backends, CUDA & OpenCL, have been added (for new examples)
- [ ] Docs have been added / updated (for bug fixes / features)
- [ ] Change compiles and executes on Linux, OSX and Windows (for window toolkit changes as CI
  builds don't check for this yet).

**Other information**:
