{"id":386,"date":"2026-05-02T16:00:57","date_gmt":"2026-05-02T16:00:57","guid":{"rendered":"https:\/\/keyboardflow.com\/?page_id=386"},"modified":"2026-05-02T16:00:58","modified_gmt":"2026-05-02T16:00:58","slug":"afrikaans","status":"publish","type":"page","link":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/","title":{"rendered":"AFRIKAANS"},"content":{"rendered":"\n<style>\n:root {\n    --kb-bg: #1a1a1a; \/* Black *\/\n    --key-main: #ffffff;\n    --key-text: #0f172a;\n    --accent-red: #DD0000; \/* Red *\/\n    --accent-gold: #FFCE00; \/* Gold *\/\n    --accent-soft: #fffbeb;\n    --key-shadow: #cbd5e1;\n}\n\n.app-container {\n    width: 98%;\n    max-width: 1400px;\n    background: #f8fafc;\n    border-radius: 12px;\n    padding: 15px;\n    margin: 20px auto;\n    box-shadow: 0 4px 6px -1px rgb(0 0 0 \/ 0.1);\n    font-family: sans-serif;\n}\n\n.keyboard {\n    background: var(--kb-bg);\n    padding: 15px;\n    border-radius: 12px;\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    user-select: none;\n}\n\n.row {\n    display: flex;\n    justify-content: center;\n    gap: 5px;\n}\n\n.key {\n    flex: 1;\n    min-width: 40px;\n    max-width: 70px;\n    height: 55px;\n    background: var(--key-main);\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    cursor: pointer;\n    border-bottom: 3px solid var(--key-shadow);\n    transition: all 0.1s ease;\n}\n\n.key.active-press {\n    transform: translateY(2px);\n    border-bottom-width: 1px;\n    background: var(--accent-soft);\n}\n\n.key.modifier {\n    background: #e2e8f0;\n    font-size: 12px;\n    max-width: 100px;\n    font-weight: bold;\n}\n\n.key.space {\n    max-width: 500px;\n    flex: 4;\n}\n\n.eng {\n    position: absolute;\n    top: 3px;\n    right: 5px;\n    font-size: 10px;\n    color: #94a3b8;\n}\n\n.normal {\n    font-size: 18px;\n    font-weight: 600;\n    color: var(--key-text);\n}\n\n.shift-val {\n    position: absolute;\n    bottom: 3px;\n    left: 5px;\n    font-size: 11px;\n    color: var(--accent-red);\n}\n\ntextarea#germanInput {\n    width: 100%;\n    margin-top: 20px;\n    height: 250px;\n    font-size: 24px;\n    padding: 20px;\n    border: 2px solid #e2e8f0;\n    border-radius: 8px;\n    line-height: 1.6;\n    box-sizing: border-box;\n}\n<\/style>\n\n<div class=\"app-container\">\n    <div id=\"gkb\" class=\"keyboard\"><\/div>\n    <textarea id=\"germanInput\" placeholder=\"Begin hier tik...\"><\/textarea>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n\n\/\/ \u2705 G\nconst imap = {\n    \/\/ Same as English QWERTY but adds access to vowels with circumflex\/umlaut via shift\n    '1':['1','!'],'2':['2','@'],'3':['3','#'],'4':['4','$'],\n    '5':['5','%'],'6':['6','^'],'7':['7','&'],'8':['8','*'],\n    'q':['q','Q'],'w':['w','W'],'e':['e','\u00ca'],'r':['r','R'],\n    't':['t','T'],'y':['y','Y'],'u':['u','\u00db'],'i':['i','\u00ce'],\n    'o':['o','\u00d4'],'p':['p','P'],\n    'a':['a','\u00c2'],'s':['s','S'],'d':['d','D'],'f':['f','F'],\n    ';':['\u00eb','\u00cb'],\"'\":['\u00ea','\u00ca'],\n    'z':['z','Z'],'x':['x','X'],'c':['c','C'],'v':['v','V'],\n    'b':['b','B'],'n':['n','N'],'m':['m','M']\n};\n\n\/\/ Layout structure\nconst rows = [\n    ['1','2','3','4','5','6','7','8','9','0','-','=','backspace'],\n    ['tab','q','w','e','r','t','y','u','i','o','p','[',']'],\n    ['caps','a','s','d','f','g','h','j','k','l',';',\"'\",'enter'],\n    ['shift','z','x','c','v','b','n','m',',','.','\/','shift'],\n    ['space']\n];\n\nconst kb = document.getElementById('gkb');\nconst input = document.getElementById('germanInput');\n\nrows.forEach(row => {\n    const rowDiv = document.createElement('div');\n    rowDiv.className = 'row';\n\n    row.forEach(key => {\n        const keyDiv = document.createElement('div');\n        keyDiv.className = 'key';\n        keyDiv.dataset.key = key.toLowerCase();\n\n        if (['backspace','tab','caps','enter','shift'].includes(key))\n            keyDiv.classList.add('modifier');\n        if (key === 'space') keyDiv.classList.add('space');\n\n        if (imap[key]) {\n            keyDiv.innerHTML = `\n                <span class=\"eng\">${key.toUpperCase()}<\/span>\n                <span class=\"normal\">${imap[key][0]}<\/span>\n                <span class=\"shift-val\">${imap[key][1]}<\/span>\n            `;\n        } else {\n            keyDiv.innerHTML = `<span>${key.toUpperCase()}<\/span>`;\n        }\n\n        keyDiv.addEventListener('mousedown', (e) => {\n            e.preventDefault();\n            handleKey(key, e.shiftKey);\n        });\n\n        rowDiv.appendChild(keyDiv);\n    });\n    kb.appendChild(rowDiv);\n});\n\nfunction handleKey(key, shift) {\n    const start = input.selectionStart;\n    const end = input.selectionEnd;\n    let char = '';\n\n    if (imap[key]) {\n        char = shift ? imap[key][1] : imap[key][0];\n    } else if (key === 'space') char = ' ';\n    else if (key === 'enter') char = '\\n';\n    else if (key === 'backspace') {\n        input.setRangeText('', start === end ? Math.max(0, start - 1) : start, end, 'end');\n        input.focus();\n        return;\n    }\n\n    if (char) {\n        input.setRangeText(char, start, end, 'end');\n    }\n\n    input.focus();\n    input.scrollTop = input.scrollHeight;\n}\n\nwindow.addEventListener('keydown', (e) => {\n    const key = e.key.toLowerCase();\n    const targetKey = key === ' ' ? 'space' : key;\n\n    if (imap[targetKey] || targetKey === 'space' || targetKey === 'enter' || targetKey === 'backspace') {\n        if (document.activeElement === input) {\n            e.preventDefault();\n            handleKey(targetKey, e.shiftKey);\n        }\n    }\n\n    const el = document.querySelector(`.key[data-key=\"${targetKey}\"]`);\n    if (el) el.classList.add('active-press');\n});\n\nwindow.addEventListener('keyup', (e) => {\n    const key = e.key.toLowerCase();\n    const targetKey = key === ' ' ? 'space' : key;\n    const el = document.querySelector(`.key[data-key=\"${targetKey}\"]`);\n    if (el) el.classList.remove('active-press');\n});\n\n});\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-386","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AFRIKAANS - Keyboard Flow<\/title>\n<meta name=\"description\" content=\"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the &quot;deelteken-e&quot; (\u00eb) or the &quot;kappie-e&quot; (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/keyboardflow.com\/index.php\/afrikaans\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AFRIKAANS - Keyboard Flow\" \/>\n<meta property=\"og:description\" content=\"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the &quot;deelteken-e&quot; (\u00eb) or the &quot;kappie-e&quot; (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/keyboardflow.com\/index.php\/afrikaans\/\" \/>\n<meta property=\"og:site_name\" content=\"Keyboard Flow\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-02T16:00:58+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/keyboardflow.com\\\/index.php\\\/afrikaans\\\/\",\"url\":\"https:\\\/\\\/keyboardflow.com\\\/index.php\\\/afrikaans\\\/\",\"name\":\"AFRIKAANS - Keyboard Flow\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/keyboardflow.com\\\/#website\"},\"datePublished\":\"2026-05-02T16:00:57+00:00\",\"dateModified\":\"2026-05-02T16:00:58+00:00\",\"description\":\"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the \\\"deelteken-e\\\" (\u00eb) or the \\\"kappie-e\\\" (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/keyboardflow.com\\\/index.php\\\/afrikaans\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/keyboardflow.com\\\/index.php\\\/afrikaans\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/keyboardflow.com\\\/index.php\\\/afrikaans\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/keyboardflow.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AFRIKAANS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/keyboardflow.com\\\/#website\",\"url\":\"https:\\\/\\\/keyboardflow.com\\\/\",\"name\":\"Keyboard Flow\",\"description\":\"Find your local keyboard\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/keyboardflow.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AFRIKAANS - Keyboard Flow","description":"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the \"deelteken-e\" (\u00eb) or the \"kappie-e\" (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/","og_locale":"en_US","og_type":"article","og_title":"AFRIKAANS - Keyboard Flow","og_description":"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the \"deelteken-e\" (\u00eb) or the \"kappie-e\" (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.","og_url":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/","og_site_name":"Keyboard Flow","article_modified_time":"2026-05-02T16:00:58+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/","url":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/","name":"AFRIKAANS - Keyboard Flow","isPartOf":{"@id":"https:\/\/keyboardflow.com\/#website"},"datePublished":"2026-05-02T16:00:57+00:00","dateModified":"2026-05-02T16:00:58+00:00","description":"Writing in Afrikaans on a standard keyboard can be frustrating when you need characters like the \"deelteken-e\" (\u00eb) or the \"kappie-e\" (\u00ea). Our Afrikaans Virtual Keyboard (Afrikaanse sleutelbord) simplifies the process, allowing you to type special vowels and symbols instantly. Whether you are a student or a native speaker abroad, this tool ensures your spelling remains accurate and professional.","breadcrumb":{"@id":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/keyboardflow.com\/index.php\/afrikaans\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/keyboardflow.com\/index.php\/afrikaans\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/keyboardflow.com\/"},{"@type":"ListItem","position":2,"name":"AFRIKAANS"}]},{"@type":"WebSite","@id":"https:\/\/keyboardflow.com\/#website","url":"https:\/\/keyboardflow.com\/","name":"Keyboard Flow","description":"Find your local keyboard","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/keyboardflow.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/pages\/386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/comments?post=386"}],"version-history":[{"count":1,"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/pages\/386\/revisions"}],"predecessor-version":[{"id":389,"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/pages\/386\/revisions\/389"}],"wp:attachment":[{"href":"https:\/\/keyboardflow.com\/index.php\/wp-json\/wp\/v2\/media?parent=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}