vscode: Screencast mode regression - always shows all keystrokes

Does this issue occur when all extensions are disabled?: Yes/No Yes

  • VS Code Version: 1.77.1
  • OS Version: Mac OS 12.6.3

Until recently, it was possible to configure the “screencast mode” settings so that the overlay was only displayed when a keyboard shortcut was used. Now, the overlay shows every single keystroke all the time, and there appears to be no way to change this.

Steps to reproduce:

  1. Enable screencast mode by running “Developer: Toggle screencast mode” from the Command Palette.
  2. Open settings.
  3. Search for “screencast” to filter to just the screencast properties.
  4. Try any combination of properties to limit to only showing the overlay when keyboard shortcuts are entered.
  5. Try typing code into a file and see that every single key stroke displays in the overlay.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 20 (9 by maintainers)

Commits related to this issue

Most upvoted comments

Fully agree with @jaktestowac. It is a regression and the comment they referred to backs this up and it’s weird that the original bug got closed immediately. The description of the feature in the settings is too ambiguous:

  • it’s called “only keyboard shortcuts” suggesting it configures WHEN it’s shown
  • it has “do not include action names” in the text suggesting it configures WHAT is shown

To me only the first interpretation makes sense because we have screencastMode.keyboardShortcutsFormat (Keyboard Shortcuts Format) for the second. I think the description text should be updated and the functionality reinstated.

You guys are absolutely right. Pushing one more setting flag:

https://github.com/microsoft/vscode/assets/22350/1fb62b8f-57d8-4355-86e6-0f8f011f0812

This has been driving me wild, I teach at an online bootcamp and showing key presses for shortcuts is helpful, showing every single keystroke is not!

I tested things out with the settings available in the latest release (1.81.0), and I still see ALL keystrokes regardless of whether it’s a shortcut/command or not. If I uncheck “Show raw keys” and execute a shortcut or command action, it only shows the name of the command action and doesn’t show the keystroke combination to execute it. If I check “Show raw keys” back on, it shows the keystroke combination for commands but will also show general keystrokes when typing.

While it’s certainly nice to see the simplified screencast mode keyboard options, I think the reasoning behind this issue is missed and should be re-opened.

I don’t know what version of VS Code this was, but in this screencast recording I made on March 18th you’ll see that the overlay only appears when I use keyboard shortcuts, Tab, or Backspace (which is my desired behavior.) I have other videos as well if they would be helpful.

https://user-images.githubusercontent.com/1727699/230823468-4a0200db-4981-4671-886d-d482a8eb1c77.mp4

@gjsjohnmurray exactly, and as https://github.com/microsoft/vscode/issues/188938 is fixed finally after half year waiting I can get my shortcut displayed without single key logging 😊

Simply: we need to present shortcuts but not all keystrokes (and it was working in 1.76.2)

Surely there is no reason to show all keystrokes. We can already see non-shortcut keystrokes-- they appear in the editor window…

When the user presses a certain key combo, let’s say Ctrl A, that means Select all text when in the editor. If Commands only mode is enabled, I would expect only Select all text to appear.

I agree. I suggest having a tri-state setting here:

  • Commands only
  • Keyboard shortcuts only
  • Commands and keyboard shortcuts

PR welcome.

According to #179096 (comment) this is as designed. You reported it as a regression. In which version did you get different behaviour?

My comment in https://github.com/microsoft/vscode/issues/179096#issuecomment-1503320262 should clarify because I’m having same problem as @Krxtopher Regression took place from 1.76 -> 1.77