From efff54add222bdca2daa450333ecf8a63a17e28c Mon Sep 17 00:00:00 2001 From: min Date: Tue, 9 Jun 2026 17:07:44 +0300 Subject: [PATCH] =?UTF-8?q?fix(lua):=20keydown/keyup=20=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B8=D0=B6=D0=BD=D0=B5=D0=BC=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B5=20(BabylonScene=20=D1=88=D0=BB=D1=91=D1=82?= =?UTF-8?q?=20'keydown')?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BabylonScene._normalizeKey → routeGlobalEvent('keydown', {key:'e'}) → sb.sendGlobalEvent({type:'keydown', key:'e'}) → shim.fireGlobalEvent(p). Shim проверял только p.type === 'keyDown' (camelCase) — keydown (lowercase) пропускался. UserInputService.InputBegan не фейерился. Фикс: принимаем оба варианта keyDown/keydown и keyUp/keyup. --- src/editor/engine/lua/RobloxShim.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/editor/engine/lua/RobloxShim.js b/src/editor/engine/lua/RobloxShim.js index 90fb45a..a431ac5 100644 --- a/src/editor/engine/lua/RobloxShim.js +++ b/src/editor/engine/lua/RobloxShim.js @@ -2082,7 +2082,7 @@ export function registerRobloxShim(lua, opts) { if (p.type === 'mouseButton1Up') { try { playerMouse.Button1Up.Fire(); } catch (_) {} } - if (p.type === 'keyDown') { + if (p.type === 'keyDown' || p.type === 'keydown') { const k = String(p.key || '').toLowerCase(); try { playerMouse.KeyDown.Fire(k); } catch (_) {} // Также фейерим UserInputService.InputBegan с InputObject. @@ -2096,7 +2096,7 @@ export function registerRobloxShim(lua, opts) { uis.InputBegan.Fire(inputObj, false); } catch (_) {} } - if (p.type === 'keyUp') { + if (p.type === 'keyUp' || p.type === 'keyup') { const k = String(p.key || '').toLowerCase(); try { playerMouse.KeyUp.Fire(k); } catch (_) {} try {