Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extended keys through RDP #162

Merged
merged 1 commit into from
Apr 16, 2016
Merged

Conversation

mgmartel
Copy link
Contributor

I have been working more with RobotJS via RDP, which has been working great so far.

However, keys with an extended scancode (most notably, media keys) were not sent through correctly with the change from PR #151. To get extended keys to work, the flag KEYEVENTF_EXTENDEDKEY needs to be set in keybd_event (docs).

I could find no reliable way of querying the OS which keys are extended, so I looked in the src of FreeRDP/FreeRDP (here), because they have a similar issue.

All the keys that should have an extended scan code are now triggered with the KEYEVENTF_EXTENDEDKEY set. So now also media buttons, volume buttons, keypad, etc. work with RDP!

Links:

@octalmage
Copy link
Owner

This is awesome! Thanks a ton for getting this fixed. Ill let @Deltatiger review this if he has time. I know the rdp stuff would be hard to test, so I really only care if this affects normal users.

@Deltatiger
Copy link
Collaborator

@octalmage This looks good. Just got my old system set up and tested it with actual RDP. I could only test a few keys but it worked.
I do not think there will be any issue with this commit affecting normal users.

@octalmage
Copy link
Owner

@Deltatiger awesome thanks a ton! I'm putting together v0.4.0 of RobotJS, this is going to be a great release.

@octalmage octalmage merged commit 0dfd515 into octalmage:master Apr 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants