CR for Job #20163 - Implement virtual keyboard for use in HMD

Code Review for Job #20163 - Workitem available at https://www.worklist.net/20163
This should also be CamelCase: `keyState`