kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #30789
Re: Need testers (especially on OSX) for this patch.
Le 18/09/2017 à 15:54, Jon Evans a écrit :
> Hi JP, works well for me on macOS 10.12. Arrow keys do nothing in GerbView and move the cursor
> around in footprint editor as expected.
>
> Thanks
> Jon
>
Thanks.
I committed the fix.
> On Mon, Sep 18, 2017 at 7:08 AM, jp charras <jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>
> wrote:
>
> Hi All,
>
> I am trying to fix an issue in GAL mode.
> It is related to "special keys":
> ARROW keys
> PAGE UP and PAGE DOWN
> that have a special behavior: if not explicitly used in the a scrolled frame,
> they have a predefined action: scroll the frame.
>
> Until now these keys (managed by a wxEVENT_CHAR_HOOK) were incorrectly managed in GAL mode
> (this event was not handled, and therefore the default handler was called).
>
> Unfortunately it creates an issue (for instance PAGE UP and PAGE DOWN are used to switch active
> layer from top to bottom or bottom to top)
>
> Until now, scroll window commands were not managed in GAL mode by the GAL canvas, and this issue was
> not really noticeable (although it was existing).
>
> Now the scroll window commands are managed and I am trying to fix this issue.
> (see for instance bug https://bugs.launchpad.net/kicad/+bug/1717270
> <https://bugs.launchpad.net/kicad/+bug/1717270>)
>
> the wxEVENT_CHAR_HOOK is now managed, but it is a especially tricky event:
> Depending on the OS, what is mandatory on a platform must be avoided on an other platform.
> The way the 2 events that manage a key ( wxEVENT_CHAR_HOOK and wxEVENT_CHAR ) are fired very
> differently by platforms.
>
> Although the patch to test if small it was really *tricky* to make it working.
>
> It works on Windows and Linux, but I need testers at least on OSX before committing this change.
> (Note also there is less conditionnal code with this patch than the initial code)
>
> Note also there is a flaw in key events management in GAL mode because (unless I missed something)
> there is no way to know if a key was managed or not.
> On wxWidgets, if a key event is not managed it must be Skipped (send to the GUI, just in case), but
> not if it is managed.
> Therefore this fix is not perfect.
>
> Thanks.
>
> --
> Jean-Pierre CHARRAS
>
--
Jean-Pierre CHARRAS
References