{"id":1347,"date":"2024-04-18T10:18:58","date_gmt":"2024-04-18T14:18:58","guid":{"rendered":"http:\/\/sites.bu.edu\/ria\/?page_id=1347"},"modified":"2024-08-02T10:04:29","modified_gmt":"2024-08-02T14:04:29","slug":"mandinka-keyboard","status":"publish","type":"page","link":"https:\/\/sites.bu.edu\/ria\/mandinka\/mandinka-keyboard\/","title":{"rendered":"Mandinka Keyboard"},"content":{"rendered":"<p><!DOCTYPE html lang=\"ar\"><br \/>\n<html><\/p>\n<p><head><br \/>\n    <script src=\r\n    \"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.3.1\/jquery.min.js\">\r\n    <\/script><br \/>\n    <!-- script type=\"text\/javascript\" src=\"http:\/\/code.jquery.com\/jquery-latest.min.js\"><\/script --><\/p>\n<style>\n#wolofinput {<\/p>\n<p>    #input {\n        direction: rtl;\n    }\n    button {\n        font-size: larger;\n        min-width: 20px;\n        width: 4%;\n        min-height: 35px;\n        font-family: KigeliaArabicBold;\n    }\n    #space {\n        width: 25%;\n        font-size:small;\n        font-family: KigeliaArabicSemibold;<\/p>\n<p>    }\n    #del {\n        min-width: 50px;\n        width: 6%;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;\n    }       \n    .shiftbutton {\n        min-width: 50px;\n        width: 6%;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;\n    }<\/p>\n<p>    .shiftbuttonon {\n        min-width: 50px;\n        width: 6%;\n        background-color:darkgray;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;<\/p>\n<p>    }<\/p>\n<p>    #enter {\n        min-width: 50px;\n        width: 6%;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;\n    }\n    #clear {\n        min-width: 50px;\n        width: 6%;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;\n    }\n    #copy {\n        min-width: 50px;\n        width: 6%;\n        font-size: small;\n        font-family: KigeliaArabicSemibold;\n    }\n    #InputField {\n        text-align: center;\n    }\n    #keyboard {\n        text-align: center;\n    }\n    textarea {\n        width: 80%;\n        font-family: KigeliaArabicRegular;\n        font-size: larger;\n    }\n    #row1, #row2, #row3, #row4 {\n        margin-top: 5px;\n        margin-bottom: 5px;\n    }<\/p>\n<p>    #toggle {\n        display: block;\n        margin-left: 10%;<\/p>\n<p>    }<\/p>\n<p>    #ortho {\n        display: block;\n        margin-left: 10%;\n        padding-top: 10px;\n        font-family: KigeliaArabicSemibold;\n    }<\/p>\n<p>    .switch {\n        position: absolute;\n        display: inline-block;\n        width: 60px;\n        height: 34px;\n    }<\/p>\n<p>    .switch input {\n        opacity: 0;\n        width: 0;\n        height: 0;\n    }<\/p>\n<p>    .slider {\n        position: absolute;\n        cursor: pointer;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background-color: #ccc;\n        -webkit-transition: .4s;\n        transition: .4s;\n    }<\/p>\n<p>    .slider:before {\n        position: absolute;\n        content: \"\";\n        height: 26px;\n        width: 26px;\n        left: 4px;\n        bottom: 4px;\n        background-color: white;\n        -webkit-transition: .4s;\n        transition: .4s;\n    }<\/p>\n<p>    input:checked + .slider {\n        background-color: #2196F3;\n    }<\/p>\n<p>    input:focus + .slider {\n        box-shadow: 0 0 1px #2196F3;\n    }<\/p>\n<p>    input:checked + .slider:before {\n        -webkit-transform: translateX(26px);\n        -ms-transform: translateX(26px);\n        transform: translateX(26px);\n    }<\/p>\n<p>    .slider.round {\n        border-radius: 34px;\n    }<\/p>\n<p>    .slider.round:before {\n        border-radius: 50%;\n    }\n}\n<\/style>\n<p><\/head><\/p>\n<p><body><\/p>\n<div id = \"wolofinput\">\n<div style=\"clear: both;\" id=\"InputField\">\n            <textarea style=\"padding: 10px; background-color:aliceblue;\"  id=\"input\" rows=\"5\" ><\/textarea>\n        <\/div>\n<div id=\"keyboard\">\n<div id=\"row1\">\n                <button id=\"`\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"1\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"2\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"3\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"4\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"5\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"6\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"7\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"8\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"9\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"0\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"-\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"=\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"del\" onclick=\"keyPress(this)\">DEL<\/button>\n            <\/div>\n<div id=\"row2\">\n                <button id=\"kq\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"w\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"e\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"r\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"t\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"y\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"u\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"i\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"o\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"p\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"[\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"]\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"\\\" onclick=\"keyPress(this)\"><\/button>\n            <\/div>\n<div id=\"row3\">\n                <button id=\"a\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"s\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"d\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"f\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"g\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"h\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"j\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"k\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"l\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\";\" onclick=\"keyPress(this)\"\u0651><\/button><br \/>\n                <button id=\"'\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"enter\" onclick=\"keyPress(this)\">ENTER<\/button>\n            <\/div>\n<div id=\"row4\">\n                <button class=\"shiftbutton\" id=\"shiftl\" onclick=\"shiftKey()\">SHIFT<\/button><br \/>\n                <button id=\"z\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"x\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"c\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"v\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"b\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"n\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"m\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\",\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\".\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button id=\"\/\" onclick=\"keyPress(this)\"><\/button><br \/>\n                <button class=\"shiftbutton\" id=\"shiftr\" onclick=\"shiftKey()\">SHIFT<\/button>\n            <\/div>\n<div id=\"row5\">\n                <button id=\"copy\" onclick=\"copyToClip(document.getElementById('input').innerHTML)\">COPY<\/button><br \/>\n                <button id=\"space\" onclick=\"keyPress(this)\">SPACE<\/button><br \/>\n                <button id=\"clear\" onclick=\"keyPress(this)\">CLEAR<\/button><\/p><\/div>\n<\/p><\/div>\n<div style=\"clear: both; display: none;\" id=\"copied\">\n<p style=\"padding: 10px;\" class=\"width-100\" >Text copied!<\/p>\n<\/p><\/div>\n<\/div>\n<p><\/body><\/p>\n<p><script>\r\n\r\n    var shiftState = 0;\r\n\r\n    const keymap = {\r\n        '`': \"\u0621\", \r\n        1: \"\u0661\",\r\n        2: \"\u0662\",\r\n        3: \"\u0663\",\r\n        4: \"\u0664\",\r\n        5: \"\u0665\",\r\n        6: \"\u0666\",\r\n        7: \"\u0667\",\r\n        8: \"\u0668\",\r\n        9: \"\u0669\",\r\n        0: \"\u0660\",\r\n        '-': \"\u25cc\u064b\",\r\n        '=': \"\u25cc\u064d\",\r\n\r\n        kq: \"\u06a7\",\r\n        w: \"\u0648\",\r\n        e: \"\u0649\u25cc\u0650\",\r\n        r: \"\u0631\",\r\n        t: \"\u062a\",\r\n        y: \"\u064a\",\r\n        u: \"\u25cc\u08f8\",\r\n        i: \"\u25cc\u0650\",\r\n        o: \"\u0649\u25cc\u08f8\",\r\n        p: \"\u067b\",\r\n        '[': \"[\",\r\n        ']': \"]\",\r\n        '\\\\': \"\\\\\",\r\n\r\n        a: \"\u0627\",\r\n        s: \"\u0633\",\r\n        d: \"\u062f\",\r\n        f: \"\u06a2\",\r\n        g: \"\u063a\",\r\n        h: \"\u0647\",\r\n        j: \"\u062c\",\r\n        k: \"\u06a9\",\r\n        l: \"\u0644\",\r\n        ';': \"\u25cc\u0651\",\r\n        '\\'': \"\u25cc\u064e\",\r\n\r\n        z: \"\u067e\",\r\n        x: \"\u0639\",\r\n        c: \"\u0685\",\r\n        v: \"\u062d\",\r\n        b: \"\u0628\",\r\n        n: \"\u08bd\",\r\n        m: \"\u0645\",\r\n        ',': \"\u060c\",\r\n        '.': \".\",\r\n        '\/': \"\u25cc\u0652\",\r\n    };\r\n\r\n    const shiftKeymap = {\r\n        '`': \"\u0640\", \r\n        1: \"!\",\r\n        2: \"@\",\r\n        3: \"#\",\r\n        4: \"$\",\r\n        5: \"%\",\r\n        6: \"^\",\r\n        7: \"&\",\r\n        8: \"*\",\r\n        9: \"(\",\r\n        0: \")\",\r\n        '-': \"_\",\r\n        '=': \"+\",\r\n\r\n        kq: \"\u06a7\",\r\n        w: \"\u0648\",\r\n        e: \"\u0649\u25cc\u0650\",\r\n        r: \"\u0631\",\r\n        t: \"\u0637\",\r\n        y: \"\u0649\",\r\n        u: \"\u25cc\u08f8\",\r\n        i: \"\u25cc\u0650\",\r\n        o: \"-\",\r\n        p: \"=\",\r\n        '[': \"{\",\r\n        ']': \"}\",\r\n        '\\\\': \"|\",\r\n\r\n        a: \"\u0623\",\r\n        s: \"\u0635\",\r\n        d: \"\u062f\",\r\n        f: \"\u06a2\",\r\n        g: \"\u063a\",\r\n        h: \"\u0647\",\r\n        j: \"\u062c\",\r\n        k: \"\/\",\r\n        l: \"\u061b\",\r\n        ';': \":\",\r\n        '\\'': \"\\\"\",\r\n\r\n        z: \"\u067e\",\r\n        x: \"\u0639\",\r\n        c: \"\u0685\",\r\n        v: \"\u062d\",\r\n        b: \"\u0628\",\r\n        n: \"\u08bd\",\r\n        m: \"'\",\r\n        ',': \"<\",\r\n        '.': \">\",\r\n        '\/': \"\u061f\",    \r\n    };\r\n\r\n    Object.keys(keymap).forEach((key) => {\r\n        document.getElementById(key).innerHTML = keymap[key];\r\n    });\r\n\r\n    \r\n    function keyPress(key) {\r\n        if (key.id == \"space\") {\r\n            document.getElementById(\"input\").innerHTML += \" \"; \r\n        } else if (key.id == \"del\") {\r\n            currText = document.getElementById(\"input\").innerHTML;\r\n            delText = currText.slice(0, -1);\r\n            document.getElementById(\"input\").innerHTML = delText;\r\n        } else if (key.id == \"clear\") {\r\n            document.getElementById(\"input\").innerHTML = \"\"; \r\n            const toast = document.getElementById(\"copied\");\r\n            toast.style.display = 'none';\r\n        } else if (key.id == \"enter\") {\r\n            document.getElementById(\"input\").innerHTML += \"\\n\";   \r\n        \/\/vowel lengthening fatha  \r\n        } else if (key.innerHTML == \"\u25cc\u064e\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += a.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening fathathan \r\n        } else if (key.innerHTML == \"\u25cc\u064b\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += a.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening dot below  \r\n        } else if (key.innerHTML == \"\u25cc\u065c\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += y.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening kasra  \r\n        } else if (key.innerHTML == \"\u25cc\u0650\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += y.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening kasrathan  \r\n        } else if (key.innerHTML == \"\u25cc\u064d\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += y.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening damma  \r\n        } else if (key.innerHTML == \"\u25cc\u08f8\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += w.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening damma dot \r\n        } else if (key.innerHTML == \"\u25cc\u08fd\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += w.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening double damma  \r\n        } else if (key.innerHTML == \"\u25cc\u08fb\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += w.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            }\r\n        \/\/vowel lengthening double damma dot \r\n        } else if (key.innerHTML == \"\u25cc\u08fc\"){\r\n            lastLetter = document.getElementById(\"input\").innerHTML.substr(-1);\r\n            if (lastLetter == key.innerHTML.substr(-1)) {\r\n                document.getElementById(\"input\").innerHTML += w.innerHTML;\r\n            } else {\r\n                document.getElementById(\"input\").innerHTML += key.innerHTML;\r\n            }\r\n        } else if (key.innerHTML == \"\u25cc\u0651\"){\r\n            document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n        } else if (key.innerHTML == \"\u25cc\u0652\"){\r\n            document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n            \r\n        } else {\r\n        document.getElementById(\"input\").innerHTML += key.innerHTML.substr(-1);\r\n        };\r\n\r\n\r\n        if (shiftState == 1) {\r\n            shiftKey();\r\n        };\r\n\r\n        const toast = document.getElementById(\"copied\");\r\n            toast.style.display = 'none';\r\n    };\r\n    \r\n\r\n    function shiftKey() {\r\n        if (shiftState == 0) {\r\n            Object.keys(shiftKeymap).forEach((key) => {\r\n            document.getElementById(key).innerHTML = shiftKeymap[key];\r\n            });\r\n            document.getElementById(\"shiftl\").classList.toggle(\"shiftbuttonon\");\r\n            document.getElementById(\"shiftr\").classList.toggle(\"shiftbuttonon\");\r\n            shiftState = 1;\r\n        } else if (shiftState == 1) {\r\n            Object.keys(keymap).forEach((key) => {\r\n            document.getElementById(key).innerHTML = keymap[key];\r\n            });\r\n            document.getElementById(\"shiftl\").classList.toggle(\"shiftbuttonon\");\r\n            document.getElementById(\"shiftr\").classList.toggle(\"shiftbuttonon\");\r\n            shiftState = 0;\r\n        }\r\n    };\r\n\r\n\r\n\r\n    function copyToClip(str) {\r\n                function listener(e) {\r\n                    e.clipboardData.setData(\"text\/html\", str);\r\n                    e.clipboardData.setData(\"text\/plain\", str);\r\n                    e.preventDefault();\r\n                }\r\n                document.addEventListener(\"copy\", listener);\r\n                document.execCommand(\"copy\");\r\n                document.removeEventListener(\"copy\", listener);\r\n                console.log(str);\r\n                $(\"#copied\").show();\r\n        };\r\n    \r\n<\/script><br \/>\n<\/html><\/p>\n<p>\n<p><p>\n<i>This Mandinka Ajami keyboard was developed specifically for the Readers in Ajami project by JamraPatel.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DEL ENTER SHIFT SHIFT COPY SPACE CLEAR Text copied! This Mandinka Ajami keyboard was developed specifically for the Readers in Ajami project by JamraPatel.<\/p>\n","protected":false},"author":12660,"featured_media":0,"parent":33,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"page-templates\/no-sidebars.php","meta":[],"_links":{"self":[{"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/pages\/1347"}],"collection":[{"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/users\/12660"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/comments?post=1347"}],"version-history":[{"count":7,"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/pages\/1347\/revisions"}],"predecessor-version":[{"id":1796,"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/pages\/1347\/revisions\/1796"}],"up":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/pages\/33"}],"wp:attachment":[{"href":"https:\/\/sites.bu.edu\/ria\/wp-json\/wp\/v2\/media?parent=1347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}