← Commit history

v0.9.85: win32 tier uses Down+Enter (KiCad filter forwards nav keys to tree)

John Lauer ·875b48f009 ·2mo ago ·parent 7c47a6a
5 files changed +15−8
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.84+0.9.85
adom-bridge-kicad-manifest.json+5−5
@@ -1,15 +1,15 @@ {   "manifest_version": 1,   "name": "kicad",-  "version": "0.9.84",-  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.84/adom-bridge-kicad-v0.9.84.zip",-  "sha256": "b613d71ee8cfecc822972efcf226892ddfa004cc278ae6e2c06d0474f67faafa",-  "size": 378015,+  "version": "0.9.85",+  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.85/adom-bridge-kicad-v0.9.85.zip",+  "sha256": "3fd994fd1b2a8c37f6c404715c5fbd8643e77f26dda44e5d525dc896eb97aba7",+  "size": 378108,   "verbPrefixes": [     "kicad_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-08-14T15:37:15Z",+  "released_at": "2026-08-14T15:39:13Z",   "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png",   "languages": [     "Python",
adom-bridge-kicad-v0.9.85.zipadded
⋯ 1 unchanged line ⋯
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.84",+  "version": "0.9.85",   "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.",   "homepage": "https://wiki.adom.inc/adom/adom-bridge",   "author": "Adom Inc.",
handlers/open_symbol_editor.py+8−1
@@ -204,9 +204,16 @@ def _background_navigate_win32(sym_hwnd: int, filter_text: str, verify: str) ->     except Exception:         return False     time.sleep(1.4)  # LIB_TREE search debounce runs on the UI thread (~200-500ms) + tree rebuild+    VK_DOWN = 0x28+    # KiCad's filter box forwards navigation keys to the tree: Down selects the+    # first filtered match, Enter activates (= load into canvas). Same sequence+    # a human types; all posted to the Edit hwnd, zero focus needed.+    user32.PostMessageW(edit, WM_KEYDOWN, VK_DOWN, 0)+    user32.PostMessageW(edit, WM_KEYUP, VK_DOWN, 0)+    time.sleep(0.5)     user32.PostMessageW(edit, WM_KEYDOWN, VK_RETURN, 0)     user32.PostMessageW(edit, WM_KEYUP, VK_RETURN, 0)-    for _ in range(8):+    for _ in range(10):         time.sleep(0.7)         t = (_get_symbol_editor_title() or "").lower()         if verify in t and "no symbol loaded" not in t: