Some shortcuts (mostly devtools-related) don't work in non-english keyboard layouts
Categories
(Mozilla Localizations :: ru / Russian, defect)
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
I'm not entirely certain this is the correct component, so please correct if needed. Thanks!
Comment 2•7 years ago
|
||
Sounds like devtool fits better? And we perhaps needs someone consulting the localization thing.
:flod, any advice here? Maybe there are issues in Russian strings, but they seem to look okay to me after a quick skim.
Comment 4•7 years ago
|
||
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.
Okay, moving to Russian localization team for now. It's not clear that a code change is needed yet.
Comment 6•4 months ago
|
||
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.
Description
•