// ==UserScript== // @name mk48.io | 手机模式 // @namespace https://mk48.io/ // @version 1.0.1 // @description 在 mk48.io 中添加按钮 // @author You // @match *://*.mk48.io/* // @match *://mk48.io/* // @match *://test.mk49.top/* // @icon data:image/png;base64,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 // @grant none // @license MIT // @run-at document-idle // ==/UserScript== (function () { 'use strict'; // ============ 配置 ============ const BUTTONS = [ // 左上角:上浮 (R) 和 停船 (X) —— 仅 emoji { id: 'mk48-btn-surface', text: '⬆️', key: 'r', panel: 'left' }, { id: 'mk48-btn-stop', text: '⏹️', key: 'x', panel: 'left' }, // 右上角:放大 (PageUp) 和 缩小 (PageDown) —— 🔍+/- { id: 'mk48-btn-zoom-in', text: '🔍+', key: 'PageUp', panel: 'right' }, { id: 'mk48-btn-zoom-out',text: '🔍-', key: 'PageDown', panel: 'right' } ]; // 圆形按钮直径 const BTN_SIZE = 64; // ============ 样式 ============ const STYLE = ` .mk48-btn-panel { position: fixed; z-index: 2147483647; display: flex; gap: 12px; pointer-events: none; } .mk48-btn-panel button { pointer-events: auto; background-color: rgba(135, 206, 235, 0.3); border: 2px solid rgba(255, 255, 255, 0.8); border-radius: 50%; /* 圆形 */ color: #0a2a3b; font-weight: bold; font-size: 24px; font-family: system-ui, 'Segoe UI', Roboto, sans-serif; width: ${BTN_SIZE}px; height: ${BTN_SIZE}px; padding: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); transition: none !important; outline: none; -webkit-tap-highlight-color: transparent; user-select: none; white-space: nowrap; line-height: 1; overflow: hidden; } .mk48-btn-panel button:active, .mk48-btn-panel button:focus, .mk48-btn-panel button:hover { background-color: rgba(135, 206, 235, 0.3); border-color: rgba(255, 255, 255, 0.8); transform: none; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); transition: none !important; } /* 左上角面板:纵向排列 */ .mk48-left-panel { top: 60px; left: 20px; flex-direction: column; align-items: flex-start; } /* 右上角面板:纵向排列 */ .mk48-right-panel { top: 60px; right: 20px; flex-direction: column; align-items: flex-end; } /* 放大/缩小的 emoji+文字略长,字号稍小一点 */ .mk48-right-panel button { font-size: 18px; } @media (max-width: 600px) { .mk48-btn-panel button { width: 50px; height: 50px; font-size: 18px; } .mk48-right-panel button { font-size: 14px; } } `; // ============ 注入样式 ============ function injectStyle() { if (document.getElementById('mk48-custom-style')) return; const style = document.createElement('style'); style.id = 'mk48-custom-style'; style.textContent = STYLE; (document.head || document.documentElement).appendChild(style); } // ============ 模拟键盘按键 ============ function simulateKey(key) { const keyMap = { 'PageUp': { code: 'PageUp', keyCode: 33, which: 33 }, 'PageDown': { code: 'PageDown', keyCode: 34, which: 34 }, 'r': { code: 'KeyR', keyCode: 82, which: 82 }, 'x': { code: 'KeyX', keyCode: 88, which: 88 } }; const info = keyMap[key] || { code: key, keyCode: key.toUpperCase().charCodeAt(0), which: key.toUpperCase().charCodeAt(0) }; const baseOpts = { key: key, code: info.code, keyCode: info.keyCode, which: info.which, bubbles: true, cancelable: true, composed: true }; const targets = [document, window]; if (document.activeElement && document.activeElement !== document.body) { targets.push(document.activeElement); } const canvas = document.querySelector('canvas'); if (canvas) targets.push(canvas); targets.forEach(t => { try { t.dispatchEvent(new KeyboardEvent('keydown', baseOpts)); } catch (e) {} }); setTimeout(() => { targets.forEach(t => { try { t.dispatchEvent(new KeyboardEvent('keyup', baseOpts)); } catch (e) {} }); }, 0); } // ============ 创建/移除按钮 ============ let leftPanel = null; let rightPanel = null; function removeButtons() { ['mk48-left-panel', 'mk48-right-panel'].forEach(id => { const el = document.getElementById(id); if (el && el.parentNode) el.parentNode.removeChild(el); }); leftPanel = null; rightPanel = null; } function createButtons() { if (document.getElementById('mk48-left-panel') || document.getElementById('mk48-right-panel')) { return; } if (!document.body) return; injectStyle(); leftPanel = document.createElement('div'); leftPanel.className = 'mk48-btn-panel mk48-left-panel'; leftPanel.id = 'mk48-left-panel'; rightPanel = document.createElement('div'); rightPanel.className = 'mk48-btn-panel mk48-right-panel'; rightPanel.id = 'mk48-right-panel'; BUTTONS.forEach(cfg => { const btn = document.createElement('button'); btn.id = cfg.id; btn.textContent = cfg.text; btn.type = 'button'; btn.addEventListener('pointerdown', (e) => { e.preventDefault(); e.stopPropagation(); simulateKey(cfg.key); }); btn.addEventListener('click', (e) => { e.preventDefault(); e.stopPropagation(); }); if (cfg.panel === 'left') { leftPanel.appendChild(btn); } else { rightPanel.appendChild(btn); } }); document.body.appendChild(leftPanel); document.body.appendChild(rightPanel); } // ============ 应对游戏刷新/移除 ============ function startWatcher() { const observer = new MutationObserver(() => { if (!document.getElementById('mk48-left-panel') && !document.getElementById('mk48-right-panel')) { createButtons(); } }); if (document.body) { observer.observe(document.body, { childList: true, subtree: true }); } setInterval(() => { if (document.body && !document.getElementById('mk48-left-panel') && !document.getElementById('mk48-right-panel')) { createButtons(); } }, 800); document.addEventListener('visibilitychange', () => { if (!document.hidden) { setTimeout(() => { if (!document.getElementById('mk48-left-panel') && !document.getElementById('mk48-right-panel')) { createButtons(); } }, 300); } }); window.addEventListener('load', () => { setTimeout(createButtons, 300); }); } // ============ 启动 ============ function init() { injectStyle(); createButtons(); startWatcher(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } if (!document.body) { const bodyObserver = new MutationObserver(() => { if (document.body) { bodyObserver.disconnect(); init(); } }); bodyObserver.observe(document.documentElement, { childList: true }); } })();7