mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 08:00:23 +02:00
7px like the arrow hints; right edge of Steam's 9px AltGr hints, glyph bottom on that of the } hint on 0 (measured font metrics).
36 lines
1.6 KiB
JavaScript
36 lines
1.6 KiB
JavaScript
// Reverts patch.js in Steam's SharedJSContext (run by helper.mjs on stop).
|
|
// Patched functions keep their original as __vrkbdOrig; objects Steam doesn't
|
|
// expose are in window.__vrkbdRefs/__vrkbdLayouts/__vrkbdProto/__vrkbdInst;
|
|
// the Delete-repeat listeners of a keyboard window in its __vrkbdDelDetach.
|
|
// Safe when not patched.
|
|
(() => {
|
|
const refs = window.__vrkbdRefs;
|
|
if (!refs && !window.__vrkbdProto && !window.__vrkbdLayouts) return 'not patched';
|
|
const unwrap = (obj, name) => {
|
|
const f = obj?.[name];
|
|
if (f?.__vrkbdOrig) obj[name] = f.__vrkbdOrig;
|
|
};
|
|
for (const l of window.__vrkbdLayouts || []) unwrap(l, 'rgLayout');
|
|
unwrap(SteamClient.Input, 'ControllerKeyboardSendText');
|
|
unwrap(window.__vrkbdProto, 'TypeKeyInternal');
|
|
unwrap(window.__vrkbdProto, 'RenderStandardKeyboard');
|
|
unwrap(refs?.Manager, 'GetEnterKeyLabel');
|
|
unwrap(refs?.Manager, 'HandleVirtualKeyDown');
|
|
clearInterval(window.__vrkbdHoldTimer);
|
|
|
|
for (const p of g_PopupManager.GetPopups?.() || []) p.window?.__vrkbdDelDetach?.();
|
|
const inst = window.__vrkbdInst;
|
|
if (inst) {
|
|
delete inst.__vrkbd;
|
|
delete inst.__vrkbdDelHold;
|
|
if (refs?.currentLayout) inst.setState({ standardLayout: refs.currentLayout() });
|
|
inst.forceUpdate();
|
|
}
|
|
for (const p of g_PopupManager.GetPopups?.() || []) {
|
|
p.window?.document.getElementById('vrkbd-style')?.remove();
|
|
p.window?.document.documentElement.classList.remove('vrkbd-del-hint');
|
|
}
|
|
for (const k of ['__vrkbdHoldTimer', '__vrkbdHeld', '__vrkbdInst', '__vrkbdProto', '__vrkbdLayouts', '__vrkbdRefs', '__vrkbdRendering']) delete window[k];
|
|
return 'unpatched';
|
|
})()
|