← Back to team overview

kicad-developers team mailing list archive

Re: Joy of multi-platform development


If you don't have yet fun enough with joys of multi-platform development, I
can give you more. Throw in different national keyboard layouts and it gets

For example, I use Finnish layout in Kubuntu. The hotkeys editor in
Preferences of pcbnew shows characters } and { as bind to
Increment/Decrement Layout Transparency. But those characters don't work.
In Finnish layout they are produced by AltGr+7 and AltGr+0. I can rebind
those with Set Hotkey dialog, by pressing AltGr+0/7 there. But after that
the Preferences->Hotkeys shows them as "Ctrl+Alt+{" and "Ctrl+Alt+}", which
is wrong regardless of the logic used. However, they work with AltGr+0/7.

Toggle Highlight of Selected Net is bind to ` (backward single quote or an
accent mark) but in this specific layout it's a "dead key", i.e. pressing
Shift+that_button_which_has_that_character doesn't actually produce that
character before another key has been pressed. Rebinding to that same key
combination doesn't work at all.

Version: (6.0.0-rc1-dev-254-g7fa5456d7), debug build
    wxWidgets 3.0.3
Platform: Linux 4.13.0-46-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    Compiler: GCC 7.2.0 with C++ ABI 1011

Eeli Kaikkonen

to 16. elok. 2018 klo 14.05 jp charras (jp.charras@xxxxxxxxxx) kirjoitti:

> Le 16/08/2018 à 12:11, Jeff Young a écrit :
> > Hi JP,
> >
> > Your menu fix for LINUX does work for OSX as well.  The problem is that
> > because it didn’t understand the hotkey *before* your fix it ends up
> > writing 0 (“<unassigned>”) into the hotkeys config, so you have to have
> > your fix *and* you have to reset your hotkeys to default.
> >
> > Is there any way around that second part, or should we just live with it?
> >
> > Cheers,
> > Jeff.
> >
> Looks like Backspace key creates issues.
> Issues depend on the way used to assign a accelerator key to a menu.
> In Legacy mode, the accelerator key is a string added to the menuitem
> label.
> In Gal mode, the accelerator key is added by a wxAcceleratorEntry.
> For the specific '\b' code, the wxAcceleratorEntry does not show the
> accelerator in menu (both on Linux and Windows), but when added in menu
> label, it works on Linux (as said previously, not on Windows).
> I am currently working on it to try to understand what happens.
> It takes a while because Windows, Ubuntu/KDE and Ubuntu/Unity does not
> show exactly the same menu.
> Besides, Kicad uses "BkSp" as accelerator string (working on Windows)
> but it should be "Back".
> --
> Jean-Pierre CHARRAS
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp