Open Bug 311665 Opened 19 years ago Updated 2 years ago

Keyboard Shortcuts displayed incorrectly when using a non-qwerty keyboard layout

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

1.7 Branch
x86
Windows XP
defect

Tracking

()

UNCONFIRMED

People

(Reporter: matthias_berndt, Unassigned)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Hi, i recently switched to the NEO Keyboard layout, therefore all the keys on the keyboard are in completely different places (see here: http://de.wikipedia.org/wiki/Bild:NEO-Layout.png). On a qwerty layout, i'd have to press Ctrl+T to open a new tab. I've tried to do this with the NEO layout, but it did't work. Instead, i have to press Ctrl+W, because the W is in the place where the T would normally be. However, in the File Menu it still says Ctrl+T. Reproducible: Always Steps to Reproduce:
This osunds to me like the keyboard is still reporting sending a "T" (for example) when you press what is marked as W. How do you make the keyboard layout work under Windows - via control panel, or by some other method?
Well, first i installed the MSI package from here: http://pebbles.schattenlauf.de/layout.php Then i set the NEO layout as the default in the control panel. Since then, every application uses the NEO layout, including Mozilla when typing URIs and filling forms, but *not* when using keyboard shortcuts. I guess that for some reason the Keyboard Shortcuts are based on keycodes rather than on letters, since a pressed key always returns the same keycode, no matter what keyboard layout is being used.
==> keyboard nav
Assignee: general → aaronleventhal
Component: General → Keyboard: Navigation
Product: Mozilla Application Suite → Core
QA Contact: general → keyboard.navigation
Version: unspecified → 1.7 Branch
Keyboard shortcuts use keycodes because Alt-T and Shift-T and so forth don't make sense with charcodes -- they don't send the charcode for "t", generally speaking.
Well, there must be some sort of algorithm to determine what it says in the Menu (e. g. Ctrl+T), and i think that this algorith should take into account what keyboard layout the user is currently using. You might say that this isn't important, because almost everyone uses a qwerty layout, but that isn't true. The german standard layout is slightly different (the Z and Y are exchanged), and also the french layout is a bit different (see here: http://de.wikipedia.org/wiki/Bild:Azerty.png)
This is also related to bug 69230. See the entire discussion there on why this is so
is there a dupe? reporter has "switched back to using a normal qwertz layout".
I have an AZERTY layout, where Ctrl+Q (for instance, on the middle row) is Ctrl+Q, not Ctrl+A, and my Ctrl+W (at bottom left) means Ctrl+W, not Ctrl+Z. But I wouldn't know about more exotic layouts like Dvorak or NEO. Is this a Mozilla bug or a bug in the NEO keyboard driver? Does the NEO keyboard driver send 0x01 for Ctrl+A, 0x02 for Ctrl+B, etc., the way many others do?
Mass un-assigning bugs assigned to Aaron.
Assignee: aaronleventhal → nobody
For those suffering from this problem: I was using Microsoft Keyboard Layout Creator to create my layouts and was suffering from this problem. I after searching around I discovered Keyboard Layout Manager http://www.klm32.com/KbdEdit.html . In the link above youll find a section called "Resolve VKs" which says: This button does automatic Virtual Key assignment. This feature is useful when moving a key to a new location. For instance, if you move the character 'c' to the new key, you expect that when you press Ctrl + 'new_key' the computer performs the 'copy' function. If you do not press this button after moving the character, the computer performs the 'copy' function only in response to the Ctrl + 'old_key' combination being pressed. This feature just 'follows' new key assignments and tries to put corresponding Ctrl + key combinations in the right place. So create a keyboard layout and then press Resolve VKs and it should work, it did for me anyway. There is a free version that offers mapping of standard EN characters -- and hopefully that will be all you need. Otherwise it costs money. Note: To save your keyboard layouts so that you dont have to use Keyboard Layout Manger"s every time that you want to install a layout you can find the dlls by searching for them (the name is given in the edit mode) and saving the registry key located at: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\ The keys youve created should be at the bottom.
Component: Keyboard: Navigation → User events and focus handling
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.