macKeyIconToName

replace mac key icon to name

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name        macKeyIconToName
// @namespace   leizingyiu
// @match       *://*.*/*
// @grant       none
// @version     0.1
// @author      leizingyiu
// @description replace mac key icon to name
// @license     GNU AGPLv3 
// ==/UserScript==


const dict = {
    "⇧": "shift",
    "⌘": "cmd",
    "⌃": "ctrl",
    "⌥": "opt"
};

function replaceText(node) {
    if (node.nodeType === Node.TEXT_NODE) {
        Object.entries(dict).forEach(([k, v]) => {
            let reg = new RegExp(k, 'g');
            node.nodeValue = node.nodeValue.replace(reg, v);
        });
    } else {
        node.childNodes.forEach(childNode => replaceText(childNode));
    }
}

window.onload=()=>{
  setTimeout(()=>{replaceText(document.body);},1000);
}


// const dict = {
//     "⇧": "shift",
//     "⌘": "cmd",
//     "⌃": "ctrl",
//     "⌥": "opt"
// };

// function replaceText(node) {
//     if (node.nodeType === Node.TEXT_NODE) {
//         Object.entries(dict).forEach(([k, v]) => {
//             let reg = new RegExp(k, 'g');
//             node.nodeValue = node.nodeValue.replace(reg, v);
//         });
//     }
// }

// window.onload=()=>{
//   setTimeout(()=>{replaceText(document.body);},2000);
// }

// const observer = new MutationObserver(mutationsList => {
//     mutationsList.forEach(mutation => {
//         mutation.addedNodes.forEach(addedNode => {
//             replaceText(addedNode);
//         });
//         mutation.target.childNodes.forEach(childNode => {
//             replaceText(childNode);
//         });
//     });
// });

// observer.observe(document.body, { childList: true, subtree: true });