CINXE.COM
Keyman Developer | Build custom keyboard layouts for desktop, web, phone and tablets
<!DOCTYPE html> <html lang='en'><head> <meta charset="utf-8"> <title>Keyman Developer | Build custom keyboard layouts for desktop, web, phone and tablets</title> <script src="/cdn/deploy/js/sentry.bundle.5.28.0.min.94ac314aeac15a10211c943fbbb0b85b.js"></script> <script> Sentry.init({ dsn: "https://44d5544d7c45466ba1928b9196faf67e@o1005580.ingest.sentry.io/5983516", environment: location.host.match(/\.localhost$/) ? 'development' : location.host.match(/(^|\.)keyman-staging\.com$/) ? 'staging' : 'production', }); </script> <meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" name="viewport"> <link rel='shortcut icon' href="/cdn/deploy/img/favicon.56e7a2d76793fb59cca3133b8bb1dd3d.ico"> <link rel="stylesheet" type="text/css" href="/cdn/deploy/css/template.864a3d9cf657ccc5184e90bc0499facf.css"> <link rel="stylesheet" type="text/css" href="/cdn/deploy/css/index.d12408f95ce7cb5fbdabf9170bc1d721.css"> <link rel="stylesheet" type="text/css" href="/cdn/deploy/css/dev.95f1960f3d842a11a443eed4b817e26c.css"> <link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'> <script src='/cdn/deploy/js/jquery1-11-1.min.8101d596b2b8fa35fe3a634ea342d7c3.js'></script> <script src='/cdn/deploy/js/bowser.es5.2.9.0.min.66fb5ded26b5d86decaa5cc59ba79320.js'></script> <script src='/cdn/deploy/js/kmlive.35b6e695a0ef8a8ff1596aee24761420.js'></script> </head> <body data-device="Windows"> <div id="phone-menu"> <div id="phone-menu-inner"> <div class="phone-menu-item"> <h3>Keyboards</h3> <form method="get" action="/keyboards" name="fsearch"> <input id="language-search2" type="text" placeholder="Enter language" name="q"> <input id="search-submit2" type="image" src="/cdn/deploy/img/search-button.4ded2599366e38b689e248c939980b25.png" alt="search button" value="Search" onclick="if(document.getElementById('language-search2').value==''){return false;}"> </form> </div> <div class="phone-menu-item"> <h3>Products</h3> <ul> <li><a href="/windows/">Keyman 17.0 for Windows</a></li> <li><a href="/mac/">Keyman 17.0 for macOS</a></li> <li><a href="/linux/">Keyman 17.0 for Linux</a></li> <li><a href="/keymanweb/">KeymanWeb.com</a></li> <li><a href="/iphone/">Keyman 17.0 for iPhone</a></li> <li><a href="/ipad/">Keyman 17.0 for iPad</a></li> <li><a href="/android/">Keyman 17.0 for Android</a></li> <li><a href="/bookmarklet/">Keyman Bookmarklet</a></li> </ul> <h3>Downloads</h3> <ul> <li><a href='/downloads/'>Current release versions</a></li> <li><a href='/downloads/pre-release/'>Pre-release versions</a></li> <li><a href="/downloads/archive/">Older versions</a></li> </ul> </div> <div class="phone-menu-item"> <h3>Developer Tools</h3> <ul> <li><a href="/developer/">Keyman Developer 17.0</a></li> <li><a href="/engine/">Keyman Engine for Desktop</a></li> <li><a href="/engine/">Keyman Engine for Web</a></li> <li><a href="/engine/">Keyman Engine for iOS</a></li> <li><a href="/engine/">Keyman Engine for Android</a></li> </ul> </div> <div class="phone-menu-item"> <h3>About</h3> <ul> <li><a href="/about/">About Keyman</a></li> <li><a href="/about/get-involved">Get Involved</a></li> <li><a href="/training">Training Events</a></li> <li><a href="/free/">Free on all Platforms</a></li> <li><a href="/ldml/">LDML Support</a></li> <li><a href="/contact/">Contact Us</a></li> <li><a href="https://blog.keyman.com">Keyman Blog</a></li> <li><a href="/testimonials/">Testimonials</a></li> <li><a href="/search/">Search Site</a></li> </ul> </div> <div class="phone-menu-item"> <h3>Help</h3> <ul> <li><a href="https://help.keyman.com">Help and Documentation</a></li> </ul> </div> </div> </div> <div id="container" class="page-default"> <div class="header"> <img id="show-phone-menu" src="/cdn/deploy/img/phonehide.ca5b6569ec86dfcbdff8ca4008c96283.png" alt="menu toggle" /> <a id="home-link" href="/"><img id="logo" src="/cdn/deploy/img/logo2.ba10b4af03869e69115ce84380e980aa.png" alt='Keyman Logo' /></a> <img id="header-bottom" src="/cdn/deploy/img/headerbar.5b66d10475396d1a17cb0d687f794262.png" alt='Header bottom' /> <div id="help"> <form action="/search/" method="get" role="search"> <div class="search-wrap"> <label for="main-q" class="offscreen">Search</label> <input type="search" id="main-q" name="q" placeholder="Search" data-value="" value="" /> <button type="submit" class="offscreen">Search</button> </div> </form> <p id="donate"><a href="/donate">Donate</a></p> <p><a href="https://help.keyman.com" target="blank">Support<img src="/cdn/deploy/img/helpIcon.af6fa8bce63e1210428250d9b45929c2.png" alt="help icon"></a></p> </div> </div> <div id="top-menu-bg"></div> <div id="top-menu1"> <a href="/"><img id="top-menu-icon" src="/cdn/deploy/img/icon1.c7a2600d263e5bfc94580e153ddd38f0.png" alt="Keyman logo" /></a> <div id='help1'> <form action="/search/" method="get" role="search"> <div class="search-wrap"> <label for="main-q" class="offscreen">Search</label> <input type="search" id="main-q" name="q" placeholder="Search" data-value="" value="" /> <button type="submit" class="offscreen">Search</button> </div> </form> <a id='help1-donate' href="/donate">Donate</a> <a href="https://help.keyman.com"><img id="top-menu-icon2" src="/cdn/deploy/img/helpIcon.af6fa8bce63e1210428250d9b45929c2.png" alt="help icon" /></a> </div> <div class="wrapper"> <div class="menu-item" id="keyboards"> <h3>Keyboards<span class="header-triangle"><img src="/cdn/deploy/img/img_trans.ccca81506160a8ccf8003ae57a97b115.png" alt="keyboards dropdown" /></span></h3> <div class="menu-item-dropdown"> <div class="menu-dropdown-inner"> <h4>(2000+ languages)</h4> <form method="get" action="/keyboards" name="fsearch"> <input id="language-search" type="text" placeholder="Enter language" name="q"> <input id="search-submit" type="image" src="/cdn/deploy/img/search-button.4ded2599366e38b689e248c939980b25.png" value="Search" onclick="if(document.getElementById('language-search').value==''){return false;}"> </form> <h4>Featured keyboards</h4> <ul> <li><a href="/amharic/">Amharic and Ethiopic keyboards</a></li> <li><a href="/tigrigna/">Tigrigna keyboards</a></li> <li><a href="/eurolatin/">Eurolatin keyboard</a></li> <li><a href="/ipa/">IPA keyboards</a></li> <li><a href="/khmer/">Khmer Angkor keyboard</a></li> <li><a href="/burmese/">Burmese keyboards</a></li> <li><a href="/cameroon/">Cameroon keyboards</a></li> <li><a href="/tamil/">Tamil keyboards</a></li> <li><a href="/sinhala/">Sinhala keyboards</a></li> <li><a href="/greek/">Greek (Ancient) keyboards</a></li> <li><a href="/tibetan/">Tibetan keyboards</a></li> <li><a href="/urdu/">Urdu keyboard</a></li> </ul> </div> </div> </div> <div class="menu-item" id="products"> <h3>Products<span class="header-triangle"><img src="/cdn/deploy/img/img_trans.ccca81506160a8ccf8003ae57a97b115.png" alt="products dropdown" /></span></h3> <div class="menu-item-dropdown"> <div class="menu-dropdown-inner"> <h4>Core Products</h4> <ul> <li><a href="/windows/">Keyman 17.0 for Windows</a></li> <li><a href="/mac/">Keyman 17.0 for macOS</a></li> <li><a href="/linux/">Keyman 17.0 for Linux</a></li> <li><a href="/iphone-and-ipad/">Keyman 17.0 for iPhone and iPad</a></li> <li><a href="/android/">Keyman 17.0 for Android</a></li> <li><a href="/keymanweb/">KeymanWeb.com</a></li> <li><a href="/bookmarklet/">Keyman Bookmarklet</a></li> </ul> <h4>Downloads</h4> <ul> <li><a href='/downloads/'>Current release versions</a></li> <li><a href='/downloads/pre-release/'>Pre-release versions</a></li> <li><a href="/downloads/archive/">Older versions</a></li> </ul> </div> </div> </div> <div class="menu-item" id="tavultesoft"> <h3>About<span class="header-triangle"><img src="/cdn/deploy/img/img_trans.ccca81506160a8ccf8003ae57a97b115.png" alt="About dropdown" /></span></h3> <div class="menu-item-dropdown"> <div class="menu-dropdown-inner"> <ul> <li><a href="/about/">About Keyman</a></li> <li><a href="/about/get-involved">Get Involved</a></li> <li><a href="/training">Training Events</a></li> <li><a href="/free/">Free on all Platforms</a></li> <li><a href="/ldml/">LDML Support</a></li> <li><a href="https://help.keyman.com">Help and Documentation</a></li> <li><a href="/contact/">Contact Us</a></li> <li><a href="https://blog.keyman.com">Keyman Blog</a></li> <li><a href="/testimonials/">Testimonials</a></li> </ul> </div> </div> </div> <div class="menu-item" id="developer"> <div class="menu-item-sub" id="develop"> <a href="/developer/"> <h3>Developer</h3> </a> </div> </div> </div> <img id="top-menu-bottom" src="/cdn/deploy/img/headerbar.5b66d10475396d1a17cb0d687f794262.png" alt="Header bottom" /> </div> <div id="phone-header-spacer"></div> <div class="section1" id="section1-bgwater"> <div class="valign-outer" id="sect1-title"> <div class="valign-middle"> <div class="valign-inner"> <h1>Create custom keyboards<br/><span id="title-small">for desktop, web and touch devices</span></h1> </div> </div> </div> <div class="valign-outer" id="sect1-image"> <div class="valign-middle"> <img src="/cdn/deploy/img/developer10.a0c96fc0fd8592cca3d5afca22575b00.png" /> </div> </div> </div><div class="main"><div id="section2"><div class="wrapper"> <h2 class="red underline">Keyman Developer 17</h2> <p><a href="features.php">Keyman Developer 17</a> is the most powerful tool for creating keyboard layouts for any popular platform for any language around the world. Build keyboards layouts for desktop, web, tablet and phone. Optimise your keyboards for each platform, including touch-and-hold keys and alternative layers. </p> <ul> <li><a href="features.php">See the features.</a></li> <li><a href='download.php'>Keyman Developer Downloads</a></li> <li><a href='https://help.keyman.com/developer/17.0/'>Keyman Developer Support</a></li> </ul> <h2 class='red underline'>Open Source</h2> <p>Keyman and Keyman Developer are open source: <a href='https://github.com/keymanapp/keyman'>GitHub home</a></p> <h2 class="red underline">Keyman Engine</h2> <p>Integrate our keyboards into your web, desktop and mobile applications with Keyman Engine. <br/><br/> <a href="../engine">Keyman Engine for Windows</a> <br/> <a href="../engine">Keyman Engine for macOS</a> <br/> <a href="../engine">Keyman Engine for iPhone and iPad</a> <br/> <a href="../engine">Keyman Engine for Android</a> <br/> <a href="keymanweb">Keyman Engine for Web</a> </p> <h2 class="red underline">Keyman Cloud Keyboard Repository</h2> <p>Our keyboards are open source. Get involved, contribute, and learn from the source. <br/><br/> <a href="https://github.com/keymanapp/keyboards">Github repository</a> <br/> <a href="https://help.keyman.com/developer/keyboards">Learn about the repository</a> </p> </div> </div> </div> <div class="footer"> <div class="wrapper"> <div class="footer-third" id="footer-mailchimp"> <h2 class="footer-third-title">Keep me updated</h2> <!-- Begin MailChimp Signup Form --> <div id="mc_embed_signup"> <form action="//keyman.us1.list-manage.com/subscribe/post?u=99fcab2b035a8a51cd2158ca9&id=7ccdac1e32" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <div class="mc-field-group"> <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="email" /> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <div class="button subscribe"> <h2>Subscribe</h2> </div> </form> </div> <!--End mc_embed_signup--> <br> <div id="privacy-policy"><a href="/privacy/">Privacy policy</a></div> <div id='footer-get-involved'> <a href="/about/get-involved">Get involved</a> <a href='/donate'>Donate</a> </div> </div> <div class="footer-third" id="footer-social"> <h2 class="footer-third-title">Keep in touch</h2> <div> <a rel="me" href="https://facebook.com/KeymanApp" target="_blank" data-icon=''>Facebook</a> <a rel="me" href="https://twitter.com/keyman" target="_blank" data-icon=''>X/Twitter</a> <a rel="me" href="https://typo.social/@keyman" target="_blank" data-icon=''>Mastodon</a> <a rel="me" href="https://youtube.com/@KeymanApp" target="_blank" data-icon=''>YouTube</a> <a href="https://blog.keyman.com/" target="_blank" data-icon=''>Keyman blog</a> <a rel="me" href="https://github.com/keymanapp" target="_blank" data-icon=''>GitHub</a> <a href="https://community.software.sil.org/c/keyman" target="_blank" id='footer-community'>Keyman Community</a> </div> </div> <div class="footer-third sil-logo"> <br> <a href="/about/"><img id="sil-logo" src="/_common/assets/sil-logos-2024/sil-logo-annapurna.png" width="50%" alt='SIL' /></a> <p>Created by <a href="/about/">SIL Global</a></p> </div> </div> </div> <div id="install-modal"></div> <div id="ios-install"> <p>Do you already have Keyman for iPhone and iPad installed on this device?</p> <a id="ios-installed" href="#">Yes - Install Keyboard</a> <a id="ios-install-confirm" href="https://itunes.apple.com/us/app/keyman/id721595078">No - Download from the App Store</a> <a id="ios-install-cancel" href="#">Cancel</a> </div> <div id="android-install"> <p>Do you already have Keyman for Android installed on this device?</p> <a id="android-installed" href="#">Yes - Install Keyboard</a> <a id="android-install-confirm" href="market://details?id=com.tavultesoft.kma">No - Download from the Play Store</a> <a id="android-install-cancel" href="#">Cancel</a> </div> <div id="jira-feedback"> <div id="jira-feedback-tab"><h4><a href='https://community.software.sil.org/c/keyman'>Support</a></h4></div> </div> <div id="KeymanWebControl"></div> </body> </html>