Open Bug 1327623 Opened 7 years ago Updated 2 months ago

Some shortcuts (mostly devtools-related) don't work in non-english keyboard layouts

Categories

(Mozilla Localizations :: ru / Russian, defect)

defect
Not set
normal

Tracking

(Not tracked)

People

(Reporter: arni2033, Unassigned)

References

(Depends on 1 open bug)

Details

>>>   My Info:   Win7_64, Nightly 49, 32bit, ID 20160526082509
STR_1:
1. Change keyboard layout to russian
2. Try one of shortcuts below in appropriate place of browser (i.e. devtools)

AR:  Shortcuts don't work correctly (don't work at all or propagate from devtools to browser)
ER:  Shortcuts should work correctly

----31.03.2014
The list of shortcuts that do not work:
  right_Alt+Left/Right to navigate to previous/next page in tab history
- Ctrl+` in Panorama (x4 - bug 591935)
// Devtools
  Ctrl+Shift+Alt+I
  Ctrl+[
  Ctrl+]
  Ctrl+Shift+D
// Debugger
  Ctrl+Alt+V
  Ctrl+Alt+E
// Debugger -> click into the filter field
  Ctrl+Alt+F
No longer blocks: 1277113
Component: Untriaged → Keyboard: Navigation
Product: Firefox → Core
I'm not entirely certain this is the correct component, so please correct if needed. Thanks!
Sounds like devtool fits better? And we perhaps needs someone consulting the localization thing.
Component: Keyboard: Navigation → Developer Tools
Product: Core → Firefox
:flod, any advice here?  Maybe there are issues in Russian strings, but they seem to look okay to me after a quick skim.
Flags: needinfo?(francesco.lodolo)
Locales can update them if needed: for example, in Italian, to obtain [ you need to press Alt+è, which invalidates any shortcut using it. 

I'm not familiar with the typical Russian keyboard layout, but it might be that you need to press another metakey like shift to get V or E, etc.
https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/KB_Russian.svg/2000px-KB_Russian.svg.png

I don't think there's a lot we can do to fix this kind of issues, especially for languages using a different alphabet.
Flags: needinfo?(francesco.lodolo)
Okay, moving to Russian localization team for now.  It's not clear that a code change is needed yet.
Component: Developer Tools → ru / Russian
Product: Firefox → Mozilla Localizations
Version: Trunk → unspecified

I can confirm that this is still happening (Windows, Firefox 121, default en-US locale), Ctrl+[ and Ctrl+] work with an English keyboard layout, but not with a Russian keyboard layout.

The shortcut is declared at https://searchfox.org/mozilla-central/rev/7fc94186f1a759790c56e41a90ab350d78dbda30/devtools/client/locales/en-US/toolbox.properties#93-99
The Russian localized version has exactly the same shortcuts: https://searchfox.org/l10n/rev/f21cac58e51c320b17bdacafc337e9f3fdaaf113/ru/devtools/client/toolbox.properties#94-100
The implementation registers a shortcut listener at https://searchfox.org/mozilla-central/rev/7fc94186f1a759790c56e41a90ab350d78dbda30/devtools/client/framework/toolbox.js#1205-1212

The registration is ultimately handled at https://searchfox.org/mozilla-central/rev/7fc94186f1a759790c56e41a90ab350d78dbda30/devtools/client/shared/key-shortcuts.js#145,152-154

In short - what we have at this point is a registration with shortcut.key === "[" in this example.
This is supposedly handled at https://searchfox.org/mozilla-central/rev/7fc94186f1a759790c56e41a90ab350d78dbda30/devtools/client/shared/key-shortcuts.js#266-272

On English keyboard layouts, event.key is [. On the Russian layout, event.key is x. Because of that, the shortcut is not detected.
... when I press [ on my keyboard in an input field, I do actually see e being entered.

Depends on: 1527491
You need to log in before you can comment on or make changes to this bug.