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

Test: Keybindings & Keyboard Dispatching changes #23315

Closed
3 tasks done
alexdima opened this issue Mar 27, 2017 · 0 comments
Closed
3 tasks done

Test: Keybindings & Keyboard Dispatching changes #23315

alexdima opened this issue Mar 27, 2017 · 0 comments

Comments

@alexdima
Copy link
Member

alexdima commented Mar 27, 2017

Test for #17521

Complexity: 4

Windows

There should be no observable difference compared to the previous VS Code stable version (i.e. dispatching still works on e.keyCode). There are a few improvements, we now detect keyboard layout changes and we display some dead key based keybindings better.

Note: this is not a test plan of default keyboard shortcuts. Based on keyboard layouts, defaults might be all over the place (i.e. poor). We do not ship with kb layout specific default shortcuts.

Please check by sampling that we render the correct labels for keybindings in the kb layouts: US, Latin American, UK, German, French. Hint: I use the touch keyboard to validate. (i.e. please pick an action, find its keybinding from our UI, press those key, validate that action executes, do this multiple times). You can use Developer: Inspect Key Mappings to take a look behind the scenes.

Linux & Mac

There should be no observable difference compared to the previous VS Code stable version for the US keyboard layout. On Mac, we detect keyboard layout changes.

Note: this is not a test plan of default keyboard shortcuts. Based on keyboard layouts, defaults might be all over the place (i.e. poor). We do not ship with kb layout specific default shortcuts.

Key code based default shortcuts will be transformed, with heuristics to scan code based shortcuts. The heuristics are about what each scan code combination produces. e.g. ctrl+/ is ctrl+shift+7 on GER because shift+7 produces /. This is a heuristic and there might be edge cases where it might not work well.

Recording a keypress might sometimes (depends on heuristics) resort to using scan codes (i.e. the define keybinding widget). Scan codes look like "[This]".

Please check by sampling that we render the correct labels for keybindings in the kb layouts:

  • mac: US, Spanish, British, German, French
  • linux: us, gb, latam, br, es,
    Please also use the define keybinding widget and check that what you press results in something that can be persisted in keybindings.json and repeated (pressing it again triggers the bound command under the same kb layout).

Hint: I use the keyboard utilities that render a kb on screen to validate (i.e. please pick an action, find its keybinding from our UI, press those key, validate that action executes, do this multiple times). You can use Developer: Inspect Key Mappings to take a look behind the scenes.


Example analysis:
#4084 (comment)
#8568 (comment)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants