Sending special keystrokes to remote/virtual computers

I recently had a need to send Ctrl-Alt-F1 to a VM, but it appears impossible. All of the applications I’ve tried only support sending certain common special keystrokes, like Ctrl-Alt-Del. Why don’t VM interfaces and VNC clients support sending arbitrary special keystrokes?

Several applications have an option to grab “all possible” keystrokes, but this isn’t good enough. First of all, they doesn’t capture all keys. (Specifically, they all miss Ctrl-Alt-F1, at least on my laptop.) Secondly, the user doesn’t know if the keystroke will be captured or not. If it’s a dangerous keystroke like Ctrl-Alt-Del or Ctrl-Alt-Backspace, the try-and-see approach has obvious drawbacks. This also relies on support from the host OS’s windowing system and is not portable.

A few applications support a wide range of specific keystrokes, but this only works if you can list every possible keystroke a user might want to send. This would be hard enough with only “standard” special keystrokes, but becomes practically impossible when considering that users may have customized global keyboard shortcuts.

The real solution is to provide a way to enter arbitrary keystrokes. Possibilities include virtual keyboards and using textual representations, such as “Ctrl-Alt-F1” (or “C-M-“, or whatever your favorate representation is).

I’ve filed bugs with the apps I’ve tested, at least the ones with bug trackers.

(I’d like to clarify that I’m not making the point that there are no applications that support entering arbitrary keystrokes, especially since it’s impossible to test all applications. My point is that it’s a basic feature that they should all support.)

Post a Comment

Your email is never shared. Required fields are marked *