<!DOCTYPE html>
<!-- saved from url=(0046)https://pypi.org/project/keyboard/#description -->
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta name="defaultLanguage" content="en">
    <meta name="availableLanguages" content="en">

    

    <title>keyboard · PyPI</title>
    <meta name="description" content="Hook and simulate keyboard events on Windows and Linux">

    <link rel="stylesheet" href="./keyboard · PyPI_files/warehouse.6b3cae16.css">
    <link rel="stylesheet" href="./keyboard · PyPI_files/fontawesome.91df071f.css">
    <link rel="stylesheet" href="./keyboard · PyPI_files/regular.8819f1a9.css">
    <link rel="stylesheet" href="./keyboard · PyPI_files/solid.002489ee.css">
    <link rel="stylesheet" href="./keyboard · PyPI_files/brands.0c9eb08b.css">
    <link rel="stylesheet" href="./keyboard · PyPI_files/css">
    <noscript>
      <link rel="stylesheet" href="/static/css/noscript.69d08c82.css">
    </noscript>

    

    <link rel="icon" href="https://pypi.org/static/images/favicon.6a76275d.ico" type="image/x-icon">

    <link rel="alternate" type="application/rss+xml" title="RSS: 40 latest updates" href="https://pypi.org/rss/updates.xml">
    <link rel="alternate" type="application/rss+xml" title="RSS: 40 newest packages" href="https://pypi.org/rss/packages.xml">
    
    <link rel="canonical" href="https://pypi.org/project/keyboard/">
    

    <meta property="og:url" content="https://pypi.org/project/keyboard/">
    <meta property="og:site_name" content="PyPI">
    <meta property="og:type" content="website">
    <meta property="og:image" content="https://pypi.org/static/images/twitter.c0030826.jpg">
    <meta property="og:title" content="keyboard">
    <meta property="og:description" content="Hook and simulate keyboard events on Windows and Linux">

    <link rel="search" type="application/opensearchdescription+xml" title="PyPI" href="https://pypi.org/opensearch.xml">

    
    <script src="./keyboard · PyPI_files/lib.23f53f0dd5fed5e0b8788024646a4167734db1c0.js.Без названия"></script><script type="text/javascript" async="" src="./keyboard · PyPI_files/analytics.js.Без названия"></script><script src="./keyboard · PyPI_files/raven.min.js.Без названия" integrity="sha384-D6LXy67EIC102DTuqypxwQsTHgiatlbvg7q/1YAWFb6lRyZ1lIZ6bGDsX7jxHNKA" crossorigin="anonymous">
    </script>
    
    <script async="" data-ga-id="UA-55961911-1" data-sentry-frontend-dsn="https://3a67b35c9dc248a191d761410b095861@sentry.io/1231155" src="./keyboard · PyPI_files/warehouse.ea40d9aa.js.Без названия">
    </script>
    
    
    <script async="" src="./keyboard · PyPI_files/js"></script>
    <script defer="" src="./keyboard · PyPI_files/insights.js.Без названия"></script>
  </head>

  <body data-controller="viewport-toggle" style="padding-top: 0px;">
    

    <!-- Accessibility: this link should always be the first piece of content inside the body-->
    <a href="https://pypi.org/project/keyboard/#content" class="skip-to-content">Skip to main content</a>

    <button class="button button--primary button--switch-to-mobile hidden" data-target="viewport-toggle.switchToMobile" data-action="viewport-toggle#switchToMobile">
      Switch to mobile version
    </button>

    <section id="sticky-notifications" class="stick-to-top js-stick-to-top">
      <!-- Add browser warning. Will show for ie9 and below -->
      <!--[if IE]>
      <div class="notification-bar notification-bar--danger">
        <span class="notification-bar__icon">
          <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
          <span class="sr-only">Warning:</span>
        </span>
        <span class="notification-bar__message">You are using an unsupported browser, upgrade to a newer version.</span>
      </div>
      <![endif]-->
      
      <noscript>
      <div class="notification-bar notification-bar--danger">
        
        <span class="notification-bar__icon">
          <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
          <span class="sr-only">Warning:</span>
        </span>
        <span class="notification-bar__message">Some features may not work without JavaScript. Please try enabling it if you encounter problems.</span>
      </div>
      </noscript>
    </section>

    <div class="notification-bar">
      <span class="notification-bar__message">
        Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF!
        <a href="https://www.python.org/psf/donations/2019-q2-drive/" target="_blank" title="Donate to the Python Software Foundation">Donate Now</a>
      </span>
    </div>

    
      <div data-html-include="/_includes/flash-messages/">



</div>
    

    

    
      <div data-html-include="/_includes/session-notifications/">

</div>
    

    <header class="site-header ">
      <div class="site-container">
        <div class="split-layout">
          
          <div class="split-layout">
            <div>
              <a class="site-header__logo" href="https://pypi.org/">
                <img alt="PyPI" src="./keyboard · PyPI_files/logo-small.6eef541e.svg">
              </a>
            </div>

            <form class="search-form search-form--primary" action="https://pypi.org/search/">
              <div role="search">
                <label for="search" class="sr-only">Search PyPI</label>
                <input id="search" class="search-form__search" type="text" name="q" placeholder="Search projects" value="">
                
                <button type="submit" class="search-form__button">
                  <i class="fa fa-search" aria-hidden="true"></i>
                  <span class="sr-only">Search</span>
                </button>
              </div>
            </form>
          </div>
          

          <div data-html-include="/_includes/current-user-indicator/">
    
    <nav id="user-indicator" class="horizontal-menu horizontal-menu--light horizontal-menu--tall" aria-label="Main navigation">
  <a class="horizontal-menu__link horizontal-menu__link--remove-on-mobile" href="https://pypi.org/help/">Help</a>
  <a class="horizontal-menu__link horizontal-menu__link--remove-on-mobile" href="https://donate.pypi.org/">Donate</a>
  <a class="horizontal-menu__link" href="https://pypi.org/account/login/">Log in</a>
  <a class="horizontal-menu__link" href="https://pypi.org/account/register/">Register</a>
</nav>
  </div>
        </div>
      </div>
    </header>

    
    <section class="mobile-search">
      <form class="search-form search-form--fullwidth" action="https://pypi.org/search/">
        <div role="search">
          <label for="mobile-search" class="sr-only">Search PyPI</label>
          <input id="mobile-search" class="search-form__search" type="text" name="q" placeholder="Search projects" value="">
          
          <button type="submit" class="search-form__button">
            <i class="fa fa-search" aria-hidden="true"></i>
            <span class="sr-only">Search</span>
          </button>
          
        </div>
      </form>
    </section>
    

    <main id="content">
      
<section class="banner">
  <div class="package-header">
    <div class="package-header__left">
      <h1 class="package-header__name">
        keyboard 0.13.3
      </h1>

      
      <p class="package-header__pip-instructions">
        <span id="pip-command">pip install keyboard</span>
        <button class="-js-copy-pip-command tooltipped tooltipped-s" data-clipboard-target="#pip-command" aria-label="Copy to clipboard" data-original-label="Copy to clipboard">
          <i class="fa fa-copy" aria-hidden="true"></i>
          <span class="sr-only">Copy PIP instructions<span>
        </span></span></button>
      </p>
      
    </div>

    <div class="package-header__right">
      
      <a class="status-badge status-badge--good" href="https://pypi.org/project/keyboard/">Latest version</a>
      
      <p class="package-header__date">Last released: <time class="-js-relative-time" datetime="2019-03-18T08:52:09+0000" data-controller="localized-time" data-localized-time-relative="true">Mar 18, 2019</time></p>
    </div>
  </div>
</section>

<section class="horizontal-section horizontal-section--grey horizontal-section--thin">
  <div class="site-container">
    <div class="split-layout split-layout--middle package-description">
    
      <p class="package-description__summary">Hook and simulate keyboard events on Windows and Linux</p>
    
    <div data-html-include="/_includes/edit-project-button/keyboard"></div>
    </div>
  </div>
</section>

<section data-controller="project-tabs" data-project-tabs-content="description">
  <div class="tabs-container">
    <div class="vertical-tabs">
      <div class="vertical-tabs__tabs">
        <div class="sidebar-section">
          <h3 class="sidebar-section__title">Navigation</h3>
            <nav role="tablist">
              <a id="description-tab" data-target="project-tabs.tab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--is-active" href="https://pypi.org/project/keyboard/#description" role="tab">
                <i class="fa fa-align-left" aria-hidden="true"></i>
                Project description
              </a>
              <a id="history-tab" data-target="project-tabs.tab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon" href="https://pypi.org/project/keyboard/#history" role="tab">
                <i class="fa fa-history" aria-hidden="true"></i>
                Release history
              </a>
              
                <a id="files-tab" data-target="project-tabs.tab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon" href="https://pypi.org/project/keyboard/#files" role="tab">
                  <i class="fa fa-download" aria-hidden="true"></i>
                  Download files
                </a>
              
            </nav>
        </div>
        
<div class="sidebar-section">
  <h3 class="sidebar-section__title">Project links</h3>
  
  
  <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed" href="https://github.com/boppreh/keyboard" rel="nofollow">
    


  


<i class="fas fa-home" aria-hidden="true"></i>Homepage
  </a>
  
  
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Statistics</h3>
  
  <div class="github-repo-info" data-url="https://api.github.com/repos/boppreh/keyboard">
    GitHub statistics:
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/stargazers" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/stargazers">
      <i class="fa fa-star" aria-hidden="true"></i>
      <strong>Stars: </strong>
      <span class="github-repo-info__item" data-key="stargazers_count">1&nbsp;448</span>
    </a>
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/network" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/network">
      <i class="fa fa-code-branch" aria-hidden="true"></i>
      <strong>Forks: </strong>
      <span class="github-repo-info__item" data-key="forks_count">160</span>
    </a>
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/issues" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/issues">
      <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
      <strong>Open issues/PRs: </strong>
      <span class="github-repo-info__item" data-key="open_issues_count">126</span>
    </a>
  </div>
  
  <p>View statistics for this project via <a href="https://libraries.io/pypi/keyboard">Libraries.io</a>, or by using
    <a href="https://packaging.python.org/guides/analyzing-pypi-package-downloads/">Google
      BigQuery</a></p>
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Meta</h3>
  
  <p><strong>License:</strong> MIT License (MIT)</p>
  
  
    <p><strong>Author:</strong> <a href="mailto:boppreh@gmail.com">BoppreH</a></p>
  
  
  
  <p class="tags">
    <i class="fa fa-tags" aria-hidden="true"></i>
    <span class="sr-only">Tags:</span>
    
    <span class="package-keyword">
      keyboard,
    </span>
    
    <span class="package-keyword">
      hook,
    </span>
    
    <span class="package-keyword">
      simulate,
    </span>
    
    <span class="package-keyword">
      hotkey
    </span>
    
  </p>
  
  
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Maintainers</h3>
  
    
    <span class="sidebar-section__maintainer">
      <a href="https://pypi.org/user/BoppreH/" aria-label="BoppreH" class="sidebar-section__user-gravatar">
        <img src="./keyboard · PyPI_files/68747470733a2f2f7365637572652e67726176617461722e636f6d2f6176617461722f63366235353162363539383061643764356632353737363837643565616665393f73697a653d3530" height="50" width="50" alt="Avatar for BoppreH from gravatar.com" title="Avatar for BoppreH from gravatar.com">
      </a>
      <a href="https://pypi.org/user/BoppreH/" class="sidebar-section__user-gravatar-text">
        BoppreH
      </a>
    </span>
  
</div>


<div class="sidebar-section classifiers">
  <h3>Classifiers</h3>
  <dl>
    
    <dt>Development Status</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Development+Status+%3A%3A+4+-+Beta">
      4 - Beta
    </a>
    </dd>
    
    
    <dt>License</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3A+MIT+License">
      OSI Approved :: MIT License
    </a>
    </dd>
    
    
    <dt>Operating System</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+MacOS+%3A%3A+MacOS+X">
      MacOS :: MacOS X
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+Microsoft+%3A%3A+Windows">
      Microsoft :: Windows
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+Unix">
      Unix
    </a>
    </dd>
    
    
    <dt>Programming Language</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+2">
      Python :: 2
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+3">
      Python :: 3
    </a>
    </dd>
    
    
    <dt>Topic</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Topic+%3A%3A+Software+Development+%3A%3A+Libraries+%3A%3A+Python+Modules">
      Software Development :: Libraries :: Python Modules
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Topic+%3A%3A+Utilities">
      Utilities
    </a>
    </dd>
    
    
  </dl>
</div>


      </div>
      <div class="vertical-tabs__panel">
        <!-- mobile menu -->
        <nav>
          <a id="mobile-description-tab" data-target="project-tabs.mobileTab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--mobile vertical-tabs__tab--no-top-border vertical-tabs__tab--is-active" href="https://pypi.org/project/keyboard/#description">
            <i class="fa fa-align-left" aria-hidden="true"></i>
            Project description
          </a>
          <a id="mobile-data-tab" data-target="project-tabs.mobileTab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--mobile" href="https://pypi.org/project/keyboard/#data">
            <i class="fa fa-info-circle" aria-hidden="true"></i>
            Project details
          </a>
          <a id="mobile-history-tab" data-target="project-tabs.mobileTab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--mobile" href="https://pypi.org/project/keyboard/#history">
            <i class="fa fa-history" aria-hidden="true"></i>
            Release history
          </a>
          
          <a id="mobile-files-tab" data-target="project-tabs.mobileTab" data-action="project-tabs#onTabClick" class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--mobile" href="https://pypi.org/project/keyboard/#files">
            <i class="fa fa-download" aria-hidden="true"></i>
            Download files
          </a>
          
        </nav>

        
        <div id="description" data-target="project-tabs.content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="description-tab mobile-description-tab" style="display: block;">
          <h2 class="page-title">Project description</h2>
          
          <div class="project-description">
            <p>Take full control of your keyboard with this small Python library. Hook
global events, register hotkeys, simulate key presses and much more.</p>
<div id="features">
<h2>Features</h2>
<ul>
<li><strong>Global event hook</strong> on all keyboards (captures keys regardless of
focus).</li>
<li><strong>Listen</strong> and <strong>send</strong> keyboard events.</li>
<li>Works with <strong>Windows</strong> and <strong>Linux</strong> (requires sudo), with
experimental <strong>OS X</strong> support (thanks @glitchassassin!).</li>
<li><strong>Pure Python</strong>, no C modules to be compiled.</li>
<li><strong>Zero dependencies</strong>. Trivial to install and deploy, just copy the
files.</li>
<li><strong>Python 2 and 3</strong>.</li>
<li>Complex hotkey support (e.g. <tt>ctrl+shift+m, ctrl+space</tt>) with
controllable timeout.</li>
<li>Includes <strong>high level API</strong> (e.g. <a href="https://pypi.org/project/keyboard/#keyboard.record" rel="nofollow">record</a> and
<a href="https://pypi.org/project/keyboard/#keyboard.play" rel="nofollow">play</a>,
<a href="https://pypi.org/project/keyboard/#keyboard.add_abbreviation" rel="nofollow">add_abbreviation</a>).</li>
<li>Maps keys as they actually are in your layout, with <strong>full
internationalization support</strong> (e.g. <tt>Ctrl+ç</tt>).</li>
<li>Events automatically captured in separate thread, doesn’t block main
program.</li>
<li>Tested and documented.</li>
<li>Doesn’t break accented dead keys (I’m looking at you, pyHook).</li>
<li>Mouse support available via project
<a href="https://github.com/boppreh/mouse" rel="nofollow">mouse</a> (<tt>pip install mouse</tt>).</li>
</ul>
</div>
<div id="usage">
<h2>Usage</h2>
<p>Install the <a href="https://pypi.python.org/pypi/keyboard/" rel="nofollow">PyPI package</a>:</p>
<pre>pip install keyboard
</pre>
<p>or clone the repository (no installation required, source files are
sufficient):</p>
<pre>git clone https://github.com/boppreh/keyboard
</pre>
<p>or <a href="https://github.com/boppreh/keyboard/archive/master.zip" rel="nofollow">download and extract the
zip</a> into
your project folder.</p>
<p>Then check the <a href="https://github.com/boppreh/keyboard#api" rel="nofollow">API docs
below</a> to see what features
are available.</p>
</div>
<div id="example">
<h2>Example</h2>
<pre><span class="kn">import</span> <span class="nn">keyboard</span>

<span class="n">keyboard</span><span class="o">.</span><span class="n">press_and_release</span><span class="p">(</span><span class="s1">'shift+s, space'</span><span class="p">)</span>

<span class="n">keyboard</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'The quick brown fox jumps over the lazy dog.'</span><span class="p">)</span>

<span class="n">keyboard</span><span class="o">.</span><span class="n">add_hotkey</span><span class="p">(</span><span class="s1">'ctrl+shift+a'</span><span class="p">,</span> <span class="k">print</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="s1">'triggered'</span><span class="p">,</span> <span class="s1">'hotkey'</span><span class="p">))</span>

<span class="c1"># Press PAGE UP then PAGE DOWN to type "foobar".</span>
<span class="n">keyboard</span><span class="o">.</span><span class="n">add_hotkey</span><span class="p">(</span><span class="s1">'page up, page down'</span><span class="p">,</span> <span class="k">lambda</span><span class="p">:</span> <span class="n">keyboard</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'foobar'</span><span class="p">))</span>

<span class="c1"># Blocks until you press esc.</span>
<span class="n">keyboard</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span><span class="s1">'esc'</span><span class="p">)</span>

<span class="c1"># Record events until 'esc' is pressed.</span>
<span class="n">recorded</span> <span class="o">=</span> <span class="n">keyboard</span><span class="o">.</span><span class="n">record</span><span class="p">(</span><span class="n">until</span><span class="o">=</span><span class="s1">'esc'</span><span class="p">)</span>
<span class="c1"># Then replay back at three times the speed.</span>
<span class="n">keyboard</span><span class="o">.</span><span class="n">play</span><span class="p">(</span><span class="n">recorded</span><span class="p">,</span> <span class="n">speed_factor</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>

<span class="c1"># Type @@ then press space to replace with abbreviation.</span>
<span class="n">keyboard</span><span class="o">.</span><span class="n">add_abbreviation</span><span class="p">(</span><span class="s1">'@@'</span><span class="p">,</span> <span class="s1">'my.long.email@example.com'</span><span class="p">)</span>

<span class="c1"># Block forever, like `while True`.</span>
<span class="n">keyboard</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
</pre>
</div>
<div id="known-limitations">
<h2>Known limitations:</h2>
<ul>
<li>Events generated under Windows don’t report device id
(<tt>event.device == None</tt>).
<a href="https://github.com/boppreh/keyboard/issues/21" rel="nofollow">#21</a></li>
<li>Media keys on Linux may appear nameless (scan-code only) or not at
all. <a href="https://github.com/boppreh/keyboard/issues/20" rel="nofollow">#20</a></li>
<li>Key suppression/blocking only available on Windows.
<a href="https://github.com/boppreh/keyboard/issues/22" rel="nofollow">#22</a></li>
<li>To avoid depending on X, the Linux parts reads raw device files
(<tt>/dev/input/input*</tt>) but this requries root.</li>
<li>Other applications, such as some games, may register hooks that
swallow all key events. In this case <tt>keyboard</tt> will be unable to
report events.</li>
<li>This program makes no attempt to hide itself, so don’t use it for
keyloggers or online gaming bots. Be responsible.</li>
</ul>
</div>

          </div>
          
        </div>

        
        <div id="data" data-target="project-tabs.content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="mobile-data-tab" style="display: none;">
          <h2 class="page-title">Project details</h2>
          
<div class="sidebar-section">
  <h3 class="sidebar-section__title">Project links</h3>
  
  
  <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed" href="https://github.com/boppreh/keyboard" rel="nofollow">
    


  


<i class="fas fa-home" aria-hidden="true"></i>Homepage
  </a>
  
  
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Statistics</h3>
  
  <div class="github-repo-info hidden" data-url="https://api.github.com/repos/boppreh/keyboard">
    GitHub statistics:
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/stargazers" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/stargazers">
      <i class="fa fa-star" aria-hidden="true"></i>
      <strong>Stars: </strong>
      <span class="github-repo-info__item" data-key="stargazers_count">1&nbsp;448</span>
    </a>
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/network" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/network">
      <i class="fa fa-code-branch" aria-hidden="true"></i>
      <strong>Forks: </strong>
      <span class="github-repo-info__item" data-key="forks_count">160</span>
    </a>
    <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed github-repo-info__item" data-key="html_url" data-attr="href" data-supplement="/issues" rel="noopener" target="_blank" href="https://github.com/boppreh/keyboard/issues">
      <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
      <strong>Open issues/PRs: </strong>
      <span class="github-repo-info__item" data-key="open_issues_count">126</span>
    </a>
  </div>
  
  <p>View statistics for this project via <a href="https://libraries.io/pypi/keyboard">Libraries.io</a>, or by using
    <a href="https://packaging.python.org/guides/analyzing-pypi-package-downloads/">Google
      BigQuery</a></p>
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Meta</h3>
  
  <p><strong>License:</strong> MIT License (MIT)</p>
  
  
    <p><strong>Author:</strong> <a href="mailto:boppreh@gmail.com">BoppreH</a></p>
  
  
  
  <p class="tags">
    <i class="fa fa-tags" aria-hidden="true"></i>
    <span class="sr-only">Tags:</span>
    
    <span class="package-keyword">
      keyboard,
    </span>
    
    <span class="package-keyword">
      hook,
    </span>
    
    <span class="package-keyword">
      simulate,
    </span>
    
    <span class="package-keyword">
      hotkey
    </span>
    
  </p>
  
  
</div>


<div class="sidebar-section">
  <h3 class="sidebar-section__title">Maintainers</h3>
  
    
    <span class="sidebar-section__maintainer">
      <a href="https://pypi.org/user/BoppreH/" aria-label="BoppreH" class="sidebar-section__user-gravatar">
        <img src="./keyboard · PyPI_files/68747470733a2f2f7365637572652e67726176617461722e636f6d2f6176617461722f63366235353162363539383061643764356632353737363837643565616665393f73697a653d3530" height="50" width="50" alt="Avatar for BoppreH from gravatar.com" title="Avatar for BoppreH from gravatar.com">
      </a>
      <a href="https://pypi.org/user/BoppreH/" class="sidebar-section__user-gravatar-text">
        BoppreH
      </a>
    </span>
  
</div>


<div class="sidebar-section classifiers">
  <h3>Classifiers</h3>
  <dl>
    
    <dt>Development Status</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Development+Status+%3A%3A+4+-+Beta">
      4 - Beta
    </a>
    </dd>
    
    
    <dt>License</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3A+MIT+License">
      OSI Approved :: MIT License
    </a>
    </dd>
    
    
    <dt>Operating System</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+MacOS+%3A%3A+MacOS+X">
      MacOS :: MacOS X
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+Microsoft+%3A%3A+Windows">
      Microsoft :: Windows
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Operating+System+%3A%3A+Unix">
      Unix
    </a>
    </dd>
    
    
    <dt>Programming Language</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+2">
      Python :: 2
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+3">
      Python :: 3
    </a>
    </dd>
    
    
    <dt>Topic</dt>
    
    <dd>
    <a href="https://pypi.org/search/?c=Topic+%3A%3A+Software+Development+%3A%3A+Libraries+%3A%3A+Python+Modules">
      Software Development :: Libraries :: Python Modules
    </a>
    </dd>
    
    <dd>
    <a href="https://pypi.org/search/?c=Topic+%3A%3A+Utilities">
      Utilities
    </a>
    </dd>
    
    
  </dl>
</div>

          <br>
        </div>

        
        <div id="history" data-target="project-tabs.content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="history-tab mobile-history-tab" style="display: none;">
          <h2 class="page-title split-layout">
            <span>Release history</span>
            <a class="reset-text margin-top" href="https://pypi.org/help/#project-release-notifications">Release notifications</a>
          </h2>

          <section class="release-timeline">
            
            
            
            
            <div class="release release--latest release--current">
              <div class="release__meta">
                
                <span class="badge">This version</span>
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/blue-cube.e6165d35.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.13.3/">
                <p class="release__version">
                  0.13.3 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2019-03-18T08:52:09+0000" data-controller="localized-time" aria-label="Mar 18, 2019, 11:52:09 GMT+3" data-original-label="Mar 18, 2019, 11:52:09 GMT+3">Mar 18, 2019</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.13.2/">
                <p class="release__version">
                  0.13.2 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2018-05-18T23:04:38+0000" data-controller="localized-time" aria-label="May 19, 2018, 02:04:38 GMT+3" data-original-label="May 19, 2018, 02:04:38 GMT+3">May 19, 2018</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.13.1/">
                <p class="release__version">
                  0.13.1 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2018-03-27T16:54:21+0000" data-controller="localized-time" aria-label="Mar 27, 2018, 19:54:21 GMT+3" data-original-label="Mar 27, 2018, 19:54:21 GMT+3">Mar 27, 2018</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.13.0/">
                <p class="release__version">
                  0.13.0 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2018-03-26T22:59:24+0000" data-controller="localized-time" aria-label="Mar 27, 2018, 01:59:24 GMT+3" data-original-label="Mar 27, 2018, 01:59:24 GMT+3">Mar 27, 2018</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.11.0/">
                <p class="release__version">
                  0.11.0 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-08-24T20:11:25+0000" data-controller="localized-time" aria-label="Aug 24, 2017, 23:11:25 GMT+3" data-original-label="Aug 24, 2017, 23:11:25 GMT+3">Aug 24, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.10.4/">
                <p class="release__version">
                  0.10.4 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-08-15T02:02:00+0000" data-controller="localized-time" aria-label="Aug 15, 2017, 05:02:00 GMT+3" data-original-label="Aug 15, 2017, 05:02:00 GMT+3">Aug 15, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.10.3/">
                <p class="release__version">
                  0.10.3 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-08-08T13:46:22+0000" data-controller="localized-time" aria-label="Aug 8, 2017, 16:46:22 GMT+3" data-original-label="Aug 8, 2017, 16:46:22 GMT+3">Aug 8, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.10.2/">
                <p class="release__version">
                  0.10.2 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-08-08T13:38:56+0000" data-controller="localized-time" aria-label="Aug 8, 2017, 16:38:56 GMT+3" data-original-label="Aug 8, 2017, 16:38:56 GMT+3">Aug 8, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.10.0/">
                <p class="release__version">
                  0.10.0 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-08-03T15:17:16+0000" data-controller="localized-time" aria-label="Aug 3, 2017, 18:17:16 GMT+3" data-original-label="Aug 3, 2017, 18:17:16 GMT+3">Aug 3, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.13/">
                <p class="release__version">
                  0.9.13 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-03-29T03:25:10+0000" data-controller="localized-time" aria-label="Mar 29, 2017, 06:25:10 GMT+3" data-original-label="Mar 29, 2017, 06:25:10 GMT+3">Mar 29, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.12/">
                <p class="release__version">
                  0.9.12 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-02-04T16:02:32+0000" data-controller="localized-time" aria-label="Feb 4, 2017, 19:02:32 GMT+3" data-original-label="Feb 4, 2017, 19:02:32 GMT+3">Feb 4, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.11/">
                <p class="release__version">
                  0.9.11 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-02-02T07:17:17+0000" data-controller="localized-time" aria-label="Feb 2, 2017, 10:17:17 GMT+3" data-original-label="Feb 2, 2017, 10:17:17 GMT+3">Feb 2, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.10/">
                <p class="release__version">
                  0.9.10 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2017-01-29T10:13:43+0000" data-controller="localized-time" aria-label="Jan 29, 2017, 13:13:43 GMT+3" data-original-label="Jan 29, 2017, 13:13:43 GMT+3">Jan 29, 2017</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.9/">
                <p class="release__version">
                  0.9.9 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-12-18T17:32:46+0000" data-controller="localized-time" aria-label="Dec 18, 2016, 20:32:46 GMT+3" data-original-label="Dec 18, 2016, 20:32:46 GMT+3">Dec 18, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.8/">
                <p class="release__version">
                  0.9.8 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-12-10T22:26:25+0000" data-controller="localized-time" aria-label="Dec 11, 2016, 01:26:25 GMT+3" data-original-label="Dec 11, 2016, 01:26:25 GMT+3">Dec 11, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.7/">
                <p class="release__version">
                  0.9.7 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-16T21:05:51+0000" data-controller="localized-time" aria-label="Nov 17, 2016, 00:05:51 GMT+3" data-original-label="Nov 17, 2016, 00:05:51 GMT+3">Nov 17, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.6/">
                <p class="release__version">
                  0.9.6 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-14T23:13:18+0000" data-controller="localized-time" aria-label="Nov 15, 2016, 02:13:18 GMT+3" data-original-label="Nov 15, 2016, 02:13:18 GMT+3">Nov 15, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.5/">
                <p class="release__version">
                  0.9.5 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-14T07:31:43+0000" data-controller="localized-time" aria-label="Nov 14, 2016, 10:31:43 GMT+3" data-original-label="Nov 14, 2016, 10:31:43 GMT+3">Nov 14, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.4/">
                <p class="release__version">
                  0.9.4 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-13T19:13:52+0000" data-controller="localized-time" aria-label="Nov 13, 2016, 22:13:52 GMT+3" data-original-label="Nov 13, 2016, 22:13:52 GMT+3">Nov 13, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.3/">
                <p class="release__version">
                  0.9.3 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-13T13:46:32+0000" data-controller="localized-time" aria-label="Nov 13, 2016, 16:46:32 GMT+3" data-original-label="Nov 13, 2016, 16:46:32 GMT+3">Nov 13, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.9.1/">
                <p class="release__version">
                  0.9.1 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-11-13T13:20:09+0000" data-controller="localized-time" aria-label="Nov 13, 2016, 16:20:09 GMT+3" data-original-label="Nov 13, 2016, 16:20:09 GMT+3">Nov 13, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.7.1/">
                <p class="release__version">
                  0.7.1 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-07-20T20:45:12+0000" data-controller="localized-time" aria-label="Jul 20, 2016, 23:45:12 GMT+3" data-original-label="Jul 20, 2016, 23:45:12 GMT+3">Jul 20, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.7.0/">
                <p class="release__version">
                  0.7.0 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-06-23T15:29:46+0000" data-controller="localized-time" aria-label="Jun 23, 2016, 18:29:46 GMT+3" data-original-label="Jun 23, 2016, 18:29:46 GMT+3">Jun 23, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.8/">
                <p class="release__version">
                  0.6.8 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-05-14T12:50:42+0000" data-controller="localized-time" aria-label="May 14, 2016, 15:50:42 GMT+3" data-original-label="May 14, 2016, 15:50:42 GMT+3">May 14, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.7/">
                <p class="release__version">
                  0.6.7 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-04-05T16:47:36+0000" data-controller="localized-time" aria-label="Apr 5, 2016, 19:47:36 GMT+3" data-original-label="Apr 5, 2016, 19:47:36 GMT+3">Apr 5, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.6/">
                <p class="release__version">
                  0.6.6 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-04-05T16:20:56+0000" data-controller="localized-time" aria-label="Apr 5, 2016, 19:20:56 GMT+3" data-original-label="Apr 5, 2016, 19:20:56 GMT+3">Apr 5, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.5/">
                <p class="release__version">
                  0.6.5 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-03-08T19:24:16+0000" data-controller="localized-time" aria-label="Mar 8, 2016, 22:24:16 GMT+3" data-original-label="Mar 8, 2016, 22:24:16 GMT+3">Mar 8, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.4/">
                <p class="release__version">
                  0.6.4 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-03-08T17:42:35+0000" data-controller="localized-time" aria-label="Mar 8, 2016, 20:42:35 GMT+3" data-original-label="Mar 8, 2016, 20:42:35 GMT+3">Mar 8, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.3/">
                <p class="release__version">
                  0.6.3 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-02-01T00:17:40+0000" data-controller="localized-time" aria-label="Feb 1, 2016, 03:17:40 GMT+3" data-original-label="Feb 1, 2016, 03:17:40 GMT+3">Feb 1, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.2/">
                <p class="release__version">
                  0.6.2 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-01-31T23:56:23+0000" data-controller="localized-time" aria-label="Feb 1, 2016, 02:56:23 GMT+3" data-original-label="Feb 1, 2016, 02:56:23 GMT+3">Feb 1, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.1/">
                <p class="release__version">
                  0.6.1 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-01-31T23:48:50+0000" data-controller="localized-time" aria-label="Feb 1, 2016, 02:48:50 GMT+3" data-original-label="Feb 1, 2016, 02:48:50 GMT+3">Feb 1, 2016</time>
                </p>
              </a>
            </div>
            
            
            <div class="release release--oldest">
              <div class="release__meta">
                
              </div>

              <div class="release__graphic">
                
                <div class="release__line"></div>
                
                
                <img class="release__node" alt="History Node" src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg">
                
              </div>

              <a class="card release__card" href="https://pypi.org/project/keyboard/0.6.0/">
                <p class="release__version">
                  0.6.0 
                </p>
                <p class="release__version-date">
                  <time class="tooltipped tooltipped-s -js-relative-time" datetime="2016-01-31T23:41:18+0000" data-controller="localized-time" aria-label="Feb 1, 2016, 02:41:18 GMT+3" data-original-label="Feb 1, 2016, 02:41:18 GMT+3">Feb 1, 2016</time>
                </p>
              </a>
            </div>
            
          </section>
        </div>

        
          
          <div id="files" data-target="project-tabs.content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="files-tab mobile-files-tab" style="display: none;">
            <h2 class="page-title">Download files</h2>
            <p>Download the file for your platform. If you're not sure which to choose, learn more about <a href="https://packaging.python.org/installing/">installing packages</a>.</p>

            <table class="table table--downloads">
              <thead>
                <tr>
                  <th class="table__filename">
                    Filename, size &amp; hash
                    <a href="https://pip.pypa.io/en/stable/reference/pip_install/#hash-checking-mode" class="tooltipped tooltipped-n" aria-label="what&#39;s this?" data-original-label="what&#39;s this?">
                      <i class="fa fa-question-circle" aria-hidden="true"></i>
                      <span class="sr-only">SHA256 hash help</span>
                    </a>
                  </th>
                  <th class="table__type">File type</th>
                  <th class="table__version">Python version</th>
                  <th class="table__upload-date">Upload date</th>
                </tr>
              </thead>
              <tbody>
                
                <tr>
                  <td>
                    <a href="https://files.pythonhosted.org/packages/8d/14/b7a8f46e750b5905b099f0ae164a00bc99fe2a3029b4d54ae978797d2c15/keyboard-0.13.3-py2.py3-none-any.whl">
                      keyboard-0.13.3-py2.py3-none-any.whl
                    </a>
                     (58.7 kB)
                    <a class="-js-copy-hash table__sha256-link tooltipped tooltipped-s" aria-label="Copy to clipboard" data-original-label="Copy to clipboard" data-clipboard-text="18b53344408df1973c452549f47a203f20a0e65fbbd4436c72562759fa03c0b8">
                      <i class="fa fa-copy" aria-hidden="true"></i>
                      <span class="sr-only">Copy SHA256 hash</span>
                      SHA256
                    </a>
                  </td>
                  <td>
                    Wheel
                  </td>
                  <td>
                    
                      py2.py3
                    
                  </td>
                  <td><time class="tooltipped tooltipped-s -js-relative-time" datetime="2019-03-18T08:52:09+0000" data-controller="localized-time" aria-label="Mar 18, 2019, 11:52:09 GMT+3" data-original-label="Mar 18, 2019, 11:52:09 GMT+3">Mar 18, 2019</time></td>
                </tr>
                
                <tr>
                  <td>
                    <a href="https://files.pythonhosted.org/packages/bf/5e/4c046b8f94e68af6b5b3fe7550a87370f68a168fbc2eff10f06f59172e32/keyboard-0.13.3.win-amd64.exe">
                      keyboard-0.13.3.win-amd64.exe
                    </a>
                     (650.4 kB)
                    <a class="-js-copy-hash table__sha256-link tooltipped tooltipped-s" aria-label="Copy to clipboard" data-original-label="Copy to clipboard" data-clipboard-text="0fa2f6d5aa793270d97952d256fbd984091bdccd63a7e10127bd1a04e3f2ee71">
                      <i class="fa fa-copy" aria-hidden="true"></i>
                      <span class="sr-only">Copy SHA256 hash</span>
                      SHA256
                    </a>
                  </td>
                  <td>
                    Windows Installer
                  </td>
                  <td>
                    
                      any
                    
                  </td>
                  <td><time class="tooltipped tooltipped-s -js-relative-time" datetime="2019-03-18T08:52:13+0000" data-controller="localized-time" aria-label="Mar 18, 2019, 11:52:13 GMT+3" data-original-label="Mar 18, 2019, 11:52:13 GMT+3">Mar 18, 2019</time></td>
                </tr>
                
                <tr>
                  <td>
                    <a href="https://files.pythonhosted.org/packages/ea/bf/f00decd3a10c55039d9036c9d698a6a59798f736db7b046af20e7e6fd02d/keyboard-0.13.3.zip">
                      keyboard-0.13.3.zip
                    </a>
                     (69.4 kB)
                    <a class="-js-copy-hash table__sha256-link tooltipped tooltipped-s" aria-label="Copy to clipboard" data-original-label="Copy to clipboard" data-clipboard-text="d900fefc9c8dfc0c5d92bea6d6190a2ed9beea1bdbc0e16ce12a235bf5ef6281">
                      <i class="fa fa-copy" aria-hidden="true"></i>
                      <span class="sr-only">Copy SHA256 hash</span>
                      SHA256
                    </a>
                  </td>
                  <td>
                    Source
                  </td>
                  <td>
                    
                      None
                    
                  </td>
                  <td><time class="tooltipped tooltipped-s -js-relative-time" datetime="2019-03-18T08:52:15+0000" data-controller="localized-time" aria-label="Mar 18, 2019, 11:52:15 GMT+3" data-original-label="Mar 18, 2019, 11:52:15 GMT+3">Mar 18, 2019</time></td>
                </tr>
                
              </tbody>
            </table>
          </div>
        
      </div>
    </div>
  </div>
</section>

    </main>

    <footer class="footer" role="contentinfo">
      <div class="footer__logo">
        <img src="./keyboard · PyPI_files/white-cube.8c3a6fe9.svg" alt="Logo" class="-js-white-cube">
      </div>

      <div class="footer__menus">
        <ul class="footer__menu">
          <li>
            <h2>Help</h2>
          </li>
          <li><a href="https://packaging.python.org/installing/">Installing packages</a></li>
          <li><a href="https://packaging.python.org/tutorials/packaging-projects/">Uploading packages</a></li>
          <li><a href="https://packaging.python.org/">User guide</a></li>
          <li><a href="https://pypi.org/help/">FAQs</a></li>
        </ul>
        <ul class="footer__menu">
          <li>
            <h2>About PyPI</h2>
          </li>
          <li><a href="https://twitter.com/PyPI">PyPI on Twitter</a></li>
          <li><a href="https://dtdg.co/pypi">Infrastructure dashboard</a></li>
          <li><a href="https://www.python.org/dev/peps/pep-0541/">Package index name retention</a></li>
          <li><a href="https://pypi.org/sponsors/">Our sponsors</a></li>
        </ul>


        <ul class="footer__menu">
          <li>
            <h2>Contributing to PyPI</h2>
          </li>
          <li><a href="https://pypi.org/help/#feedback">Bugs and feedback</a></li>
          <li><a href="https://github.com/pypa/warehouse">Contribute on GitHub</a></li>
          <li><a href="https://github.com/pypa/warehouse/graphs/contributors">Development credits</a></li>
        </ul>
        <ul class="footer__menu">
          <li>
            <h2>Using PyPI</h2>
          </li>
          <li><a href="https://www.pypa.io/en/latest/code-of-conduct/">Code of conduct</a></li>
          <li><a href="https://pypi.org/security/">Report security issue</a></li>
          <li><a href="https://www.python.org/privacy/">Privacy policy</a></li>
          <li><a href="https://pypi.org/policy/terms-of-use/">Terms of use</a></li>
        </ul>
      </div>

      <hr class="footer__divider">

      <div class="footer__text">
        
        <p>Status: <a href="https://status.python.org/"><span data-statuspage-domain="https://2p66nmmycsj3.statuspage.io">All Systems Operational</span></a></p>
        
        <p>
          Developed and maintained by the Python community, for the Python community.
          <br>
          <a href="https://donate.pypi.org/">Donate today!</a>
        </p>
        <p>© 2019 <a href="https://www.python.org/psf/">Python Software Foundation</a></p>
      </div>

      <div class="centered hide-on-desktop">
        <button class="button button--switch-to-desktop" data-target="viewport-toggle.switchToDesktop" data-action="viewport-toggle#switchToDesktop">
          Desktop version
        </button>
      </div>
    </footer>

    

<div class="sponsors">
  <p class="sponsors__title">Supported by</p>
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.elastic.co/">
        <img class="sponsors__image" alt="Elastic" src="./keyboard · PyPI_files/elastic.a912fb87.png">
        <span class="sponsors__name">Elastic</span>
        <span class="sponsors__service">Search</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.pingdom.com/">
        <img class="sponsors__image" alt="Pingdom" src="./keyboard · PyPI_files/pingdom.07446398.png">
        <span class="sponsors__name">Pingdom</span>
        <span class="sponsors__service">Monitoring</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://cloud.google.com/">
        <img class="sponsors__image" alt="Google" src="./keyboard · PyPI_files/google.2f72f26f.png">
        <span class="sponsors__name">Google</span>
        <span class="sponsors__service">BigQuery</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://getsentry.com/for/python">
        <img class="sponsors__image" alt="Sentry" src="./keyboard · PyPI_files/sentry.5ab437bc.png">
        <span class="sponsors__name">Sentry</span>
        <span class="sponsors__service">Error logging</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://aws.amazon.com/">
        <img class="sponsors__image" alt="AWS" src="./keyboard · PyPI_files/aws.5f800271.png">
        <span class="sponsors__name">AWS</span>
        <span class="sponsors__service">Cloud computing</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.datadoghq.com/">
        <img class="sponsors__image" alt="DataDog" src="./keyboard · PyPI_files/datadog.e569d741.png">
        <span class="sponsors__name">DataDog</span>
        <span class="sponsors__service">Monitoring</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.fastly.com/">
        <img class="sponsors__image" alt="Fastly" src="./keyboard · PyPI_files/fastly.0563c6f5.png">
        <span class="sponsors__name">Fastly</span>
        <span class="sponsors__service">CDN</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.signalfx.com/">
        <img class="sponsors__image" alt="SignalFx" src="./keyboard · PyPI_files/signalfx.560cb5c4.png">
        <span class="sponsors__name">SignalFx</span>
        <span class="sponsors__service">Supporter</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.digicert.com/">
        <img class="sponsors__image" alt="DigiCert" src="./keyboard · PyPI_files/digicert.79748718.png">
        <span class="sponsors__name">DigiCert</span>
        <span class="sponsors__service">EV certificate</span>
      </a>
    
  
    
      <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://statuspage.io/">
        <img class="sponsors__image" alt="StatusPage" src="./keyboard · PyPI_files/statuspage.67af0b3d.png">
        <span class="sponsors__name">StatusPage</span>
        <span class="sponsors__service">Status page</span>
      </a>
    
  
</div>

    
  

</body></html>