kicad/pcbnew/router
Jeff Young 77334628c4 Change default tool behaviour to skip unhandled events.
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly.  wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do.  (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)

I played around with a couple of ways to fix wxEVT_CHAR_HOOK.  Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.

So I’m changing it so that most tools now skip at the end of their
event loops.  I left out a couple that I felt were high risk (length
tuning, for instance).  But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.

Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
..
CMakeLists.txt router: copy m_maxClearance when cloning/branching PNS::NODEs 2019-04-23 12:00:54 +02:00
length_tuner_tool.cpp A more robust fix for 36f1d023f0. 2019-07-15 14:15:24 +01:00
length_tuner_tool.h Immediate actions for PlEditor, PcbNew, etc. 2019-06-25 11:34:28 +01:00
pns_algo_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_algo_base.h Coverity fixes 2017-03-11 22:20:08 +01:00
pns_debug_decorator.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_diff_pair.cpp router: DP_GATEWAYS::FilterByOrientation() should have exactly opposite filtering condition! 2018-10-18 14:29:19 +02:00
pns_diff_pair.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_diff_pair_placer.cpp router: Take track width in dp from dp 2019-02-04 03:48:08 +01:00
pns_diff_pair_placer.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_dp_meander_placer.cpp router: don't cross DP lines when length tuning, fix swap pair polarity bug 2018-10-18 13:48:43 +02:00
pns_dp_meander_placer.h router: don't cross DP lines when length tuning, fix swap pair polarity bug 2018-10-18 13:48:43 +02:00
pns_dragger.cpp pcbnew: Do not allow drag to violate DRC without permission 2018-09-27 13:08:22 -07:00
pns_dragger.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_index.cpp router: copy m_maxClearance when cloning/branching PNS::NODEs 2019-04-23 12:00:54 +02:00
pns_index.h router: copy m_maxClearance when cloning/branching PNS::NODEs 2019-04-23 12:00:54 +02:00
pns_item.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_item.h Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_itemset.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_itemset.h Code cleanup: Fixing assignment operators 2018-09-20 20:15:47 -07:00
pns_joint.h Don't shove stitching vias. 2019-07-21 16:38:06 -06:00
pns_kicad_iface.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_kicad_iface.h Insert EE_TOOL_BASE under SchEdit and LibEdit tools, and fix errant rename scope which clobbered PCBNew's PICKER_TOOL. 2019-05-12 13:47:08 +01:00
pns_layerset.h Code cleanup: Fixing assignment operators 2018-09-20 20:15:47 -07:00
pns_line.cpp router: correct walkaround corner case when both ends of the line lie on the hull edge 2019-02-03 11:22:18 +01:00
pns_line.h Allow shoving and springback when dragging vias (either connected or free). 2019-07-24 09:33:47 -06:00
pns_line_placer.cpp pcbnew: Allow DRC violations when marked 2019-06-09 13:03:08 -07:00
pns_line_placer.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_logger.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_logger.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_meander.cpp Fix a bug in how we check for differential pair tuning. 2018-05-21 13:49:40 +01:00
pns_meander.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer.cpp Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_placer.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_placer_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer_base.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_skew_placer.cpp Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_skew_placer.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_node.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_node.h Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_optimizer.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_optimizer.h Adjusting the breakout optimizer for custom pads 2018-05-04 08:23:20 -07:00
pns_placement_algo.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_router.cpp pcbnew: Show clearance when editing tracks 2019-04-07 21:25:28 -07:00
pns_router.h pcbnew: Show clearance when editing tracks 2019-04-07 21:25:28 -07:00
pns_routing_settings.cpp Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_routing_settings.h Change "Automatic neckdown" to "Optimize pad connections". 2018-02-15 17:02:44 +01:00
pns_segment.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_shove.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_shove.h Renaming for clarity. Unqualified "push" could mean push-n-shove, or it could mean push/pop. 2019-07-24 09:33:47 -06:00
pns_sizes_settings.cpp Honour diff-pair dimension changes while routing. 2018-09-18 20:37:00 +01:00
pns_sizes_settings.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_solid.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_solid.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_tool_base.cpp Eradicate globals for PCB_GENERAL_SETTINGS. 2019-06-26 21:54:03 +01:00
pns_tool_base.h Allow move tool to run on top of other tools. 2019-07-01 22:15:25 +01:00
pns_topology.cpp pcbnew: Fix minor miscalculation in dp length 2018-10-09 05:37:48 -07:00
pns_topology.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_tune_status_popup.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
pns_tune_status_popup.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
pns_utils.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_utils.h Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_via.cpp Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_via.h Implement shoving of free vias. 2019-07-24 09:33:47 -06:00
pns_walkaround.cpp router: prevent a very unlikely infinite loop in PNS::LINE::Walkaround() causing an OOM&segfault 2018-05-02 15:06:08 -07:00
pns_walkaround.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
range.h
ranged_num.h
router_preview_item.cpp pcbnew: Make clearance translucent 2019-07-18 10:47:27 -07:00
router_preview_item.h Display clearance for routed tracks (GAL) 2017-01-27 19:11:12 +01:00
router_tool.cpp Change default tool behaviour to skip unhandled events. 2019-07-26 12:21:24 -06:00
router_tool.h Cleanup. 2019-07-10 01:14:21 +01:00
time_limit.cpp Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00
time_limit.h Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00