Keyboard Shortcuts not working correctly with custom layout
-
Hi,
I am currently learning the Keyboard layout Dvorak Type II German and shortcuts in Vivaldi break fascinating.When I press Ctrl + T, Vivaldi recognizes Ctrl + R, which would be Dvorak type I mapping.
My custom Layout is created with msklc and is installed natively (source), without any sketchy stuff. Also, I changed the hidden technical layout name to "kbdvorak" to not confuse it with default dvorak.
-
@kb01 Please read Help us to reproduce the issue carefully, discuss in forum if issue is a bug and can be confirmed by others.
Then report issue to Vivaldi bug tracker. Once that is done, share the bug number (beginning with VB-) you got by bug report mail. Thanks for helping us making Vivaldi better. -
How to reproduce:
I use Vivaldi 6.1.3035.302 (Stable channel) (64-bit) on Windows 11.Setup Dvorak Type II
- Download Dvorak Type II from here http://www.simon.spruenker.de/dvorak/windows/Dvorak_Type2_Win.zip
- Extract the Zip File.
- Run setup.exe to install the Layout.
- Alternative Installation: If you don't trust setup.exe, you can Download Microsoft Keyboard Layout Creator here https://www.microsoft.com/en-US/download/details.aspx?id=102134 and Install it.
- Then in Microsoft Keyboard Layout Creator in the Menu click File > Load Source File.. and open the downloaded file "Dvorak Type 2 SRS.klc"
- You can now create your own Setup Files by navigating to Project > Build DLL and Setup Package
- Now you can Execute your own newly generated setup.exe
Switch to Dvorak type II
- Press Shift + Alt, or Win + Space to switch your Keyboard Layouts. Your Taskbar might crash when you choose the new Layout. If this happens to you, you simply need to restart Windows and everything will work as expected.
Reproduce Bug
- Start Vivaldi
- open a webpage
- press Dvorak2 Ctrl + T (QUERTY Ctrl + O)
- Expected: New Tab
- Actual: Refresh Page
- Open Vivaldi Settings: Keyboard
- Find New Tab Shortcut
- Change Shortcut and press Dvorak2 Ctrl + T (QUERTY Ctrl + O)
- Expected: Shortcut does not change because Ctrl + T is pressed
- Actual: Message "Shortcut Ctrl + R is already assigned to 'Reload Page' Command" appears.
- When you Type on any Website, the Dvorak2 T-Key (QUERTY O-Key) will write the expected Letter T!
It seems that Instead of looking for actual Key presses Vivaldi does something with the Layout and tries to understand it.
However, Vivaldi seems to think of Dvorak Type II as Dvorak Type I when it comes to shortcuts.Bonus: Uninstall Dvorak Type II
- YOU WILL NEED ORIGINAL SETUP FILES
- execute setup.exe, which you used to install the Keyboard Layout.
- Choose "Remove Layout" and then click Continue
- Uninstall Succeeds
-
Additionally, I changed my original Keyboard Layout name "kbDvorak" to "Dvorak2e" to prevent matching dll-Name with Dvorak Type I Layout (which is preinstalled).
However, the Issue persists, also beyond rebooting.
You can change the Layout Name in Microsoft Keyboard Layout Creator under Project > Settings..You can see the DLL-Names and Paths of Keyboard-Layouts in the Registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts.
The Last Key under it will be your custom installed Layout.Note: Don't try to remove the Layout in Registry, It will force you to run setup.exe again to first repair and then to remove the layout.
-
It is a Windows Issue!
I tested a bit more, and unfortunately it has not much to do with Vivaldi... Some Method to get Inputs in Windows outputs the wrong Keys.
The following Software hast the same Issue:
Brave Ctrl + T
Firefox Ctrl + T
Keviz Any Letter
Windows Win + LThe following Software works how expected:
Powertoys -
@kb01 Sad fro you that Windows does not really support custom keyboard layouts