From ba07e0498e9c0cf2a5ca352d02feabcc99bf670a Mon Sep 17 00:00:00 2001 From: redphx <96280+redphx@users.noreply.github.com> Date: Sat, 1 Jun 2024 18:23:00 +0700 Subject: [PATCH] Fix disabling the MKB dialog not making it go away --- src/modules/mkb/mkb-handler.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/modules/mkb/mkb-handler.ts b/src/modules/mkb/mkb-handler.ts index 470ba29..21b55bc 100644 --- a/src/modules/mkb/mkb-handler.ts +++ b/src/modules/mkb/mkb-handler.ts @@ -411,8 +411,13 @@ export class MkbHandler { return true; } - toggle = () => { - this.#enabled = !this.#enabled; + toggle = (force?: boolean) => { + if (typeof force !== 'undefined') { + this.#enabled = force; + } else { + this.#enabled = !this.#enabled; + } + Toast.show(t('mouse-and-keyboard'), t(this.#enabled ? 'enabled' : 'disabled'), {instant: true}); this.#mouseDataProvider?.toggle(this.#enabled); } @@ -463,7 +468,8 @@ export class MkbHandler { window.addEventListener('keydown', this.#onKeyboardEvent); - this.#$message = CE('div', {'class': 'bx-mkb-pointer-lock-msg bx-gone'}, + if (!this.#$message) { + this.#$message = CE('div', {'class': 'bx-mkb-pointer-lock-msg'}, CE('div', {}, CE('p', {}, t('mkb-click-to-activate')), CE('p', {}, t('press-key-to-toggle-mkb', {key: 'F8'})), @@ -488,17 +494,20 @@ export class MkbHandler { e.preventDefault(); e.stopPropagation(); - this.toggle(); + this.toggle(false); + this.waitForMouseData(false); }, }), ), ); - this.#$message.addEventListener('click', this.start.bind(this)); - document.documentElement.appendChild(this.#$message); + this.#$message.addEventListener('click', this.start.bind(this)); + document.documentElement.appendChild(this.#$message); + } window.addEventListener(BxEvent.XCLOUD_POLLING_MODE_CHANGED, this.#onPollingModeChanged); + this.#$message.classList.add('bx-gone'); this.waitForMouseData(true); }