3 hotkey bugs: dead keys on ISO layout not working, `CTRL + i` recognized as `CTRL + Tab`, and assign hotkey combo using `ALT` not working
Description
Let me elaborate on the title first and how I discovered these 3 bugs, step by step.
BUG 1: I was trying to use the "net highlight" feature on PCBNew, but it is assigned by default on the grave accent diacritic or backtick, i.e. ``` , by default. My problem is that I don't have a US International keyboard, I have a Spanish ISO keyboard layout. On my computer, if I change the keyboard layout to ENG US, I can press the key to the left of the number row, above the tab key, to use this default hotkey assigned to the "net highlight" tool (the backtick). On the other hand, on the ENG ES layout (because I like to have my system in English but I use the Spanish keyboard layout), the grave accent key is located to the right of letter P
as a key modificator. Key modificators, or dead keys on ISO keyboards are different than ANSI keyboards since they do not produce a single character, but are used to add diacritics to other keys, for example. Since I noticed that KiCAD does not recognize dead keys by themselves (without having to type the dead key then a space to produce a backtick), I decided to change the hotkey, no problem.
BUG 2: While I was trying to change the hotkeys for the net highlighter to a more familiar hotkey, e.g. CTRL + I
commonly used in word processors, I discovered that this hotkey is recognized as CTRL + Tab
and not CTRL + I
. In the image below, I have used carnac to overlay the keyboard inputs on the display. As you can see, the wrong hotkey is recognized on my machine.
BUG 3: I also tried to change the "toggle net highlight" from ALT + `` to the more familiar
ALT + I` hotkey. While doing this, I found myself hearing a system notification sound similar to the bell ASCII character that is produced in the console. I also noticed that the hotkey was not being recognized, neither in ENG EN, or the ENG ES keyboard layouts.
Steps to reproduce
- Dead keys are not recognized by KiCAD on ISO keyboard.
-
CTRL + I
is recognized asCTRL + Tab
, warning the user that this is a reserved hotkey. - Creating/assigning hotkeys using the
ALT
key is not working.
KiCad Version
Application: KiCad PCB Editor x64 on x64
Version: 7.99.0-3844-g096bcff160, release build
Libraries:
wxWidgets 3.2.4
FreeType 2.12.1
HarfBuzz 8.2.1
FontConfig 2.14.2
Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.83.0
OCC: 7.7.1
Curl: 8.4.0-DEV
ngspice: 41
Compiler: Visual C++ 1936 without C++ ABI
Build settings: