Add key code pass through to applications

Does not replace existing key input users. Applications can be migrated at their own pace.