Rewrite kbdemu docs for new version

This commit is contained in:
2021-03-08 20:19:31 -08:00
parent b1ee1884dd
commit e6190775d9
30 changed files with 407 additions and 105 deletions

View File

@@ -0,0 +1,4 @@
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.db7090cddb6602125f0ed93682d138976ae6d5a9a2f2f92c4bcd4de73e6debc939331bf2ec54e8cd7b933fa961527404e59b7ddc6eede1ed4bb4cf90ad77caab.css integrity="sha512-23CQzdtmAhJfDtk2gtE4l2rm1ami8vksS81N5z5t68k5Mxvy7FTozXuTP6lhUnQE5Zt93G7t4e1LtM+QrXfKqw==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>KbdEmu Docs | Arsen Dev</title><meta name=description content="Documentation for KbdEmu, the HID emulator"><link rel=canonical href=/docs/kbdemu/><meta name=twitter:card content="summary"><meta name=twitter:title content="KbdEmu Docs"><meta name=twitter:description content="Documentation for KbdEmu, the HID emulator"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="KbdEmu Docs"><meta property="og:description" content="Documentation for KbdEmu, the HID emulator"><meta property="og:type" content="website"><meta property="og:url" content="/docs/kbdemu/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/docs/kbdemu/index.xml><link rel=sitemap type=application/xml href=/docs/kbdemu/sitemap.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docskbdemu","item":"\/docskbdemu\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/css/highlightjs/dracula.min.css><script src=/js/highlightjs/highlight.min.js></script><script>hljs.initHighlightingOnLoad();</script></head><body class="docs list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><a href=..><p class=text-center>&lArr; Docs</p></a><h1 style=margin:0 class=text-center>KbdEmu Docs</h1><div class=text-center></div><div class=card-list><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/kbdemu/installation/>Installation &rArr;</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/kbdemu/usage/>Usage &rArr;</a></div></div></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.62fb3c8cfeb57442869c870d0aa4097451dc6fe9de70b1c63ef4e25068adfe13bbe1398854c68f4d8fc47ab4a2c1b0840685a16bb51b1a658dea09ec42eca1cb.js integrity="sha512-Yvs8jP61dEKGnIcNCqQJdFHcb+necLHGPvTiUGit/hO74TmIVMaPTY/EerSiwbCEBoWha7UbGmWN6gnsQuyhyw==" crossorigin=anonymous defer></script></body></html>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>KbdEmu Docs on</title><link>/docs/kbdemu/</link><description>Recent content in KbdEmu Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/kbdemu/index.xml" rel="self" type="application/rss+xml"/><item><title>Installation</title><link>/docs/kbdemu/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/kbdemu/installation/</guid><description>Using precompiled binary KbdEmu uses continuous integration to compile. You can find the binary by clicking the CI badge above, selecting &amp;ldquo;Ubuntu2004&amp;rdquo; for the linux build or &amp;ldquo;macOS&amp;rdquo; for the macOS build, and then going to the artifacts tab.
Building from source Downloading KbdEmu is hosted in two places, Gitea and Gitlab. Either one can be used as it is mirrored from Gitea to Gitlab
&amp;nbsp;KbdEmu &amp;nbsp;KbdEmu To download kbdemu, you can either use the download button on one of the above, or you can use the git command</description></item><item><title>Usage</title><link>/docs/kbdemu/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/kbdemu/usage/</guid><description>This page assumes you have already installed KbdEmu. If not, follow the installation instructions on the installation page:
Installation Scripts KbdEmu uses scpt as its scripting language. The example script for kbdemu looks like this:
set testKey to &amp;quot;x&amp;quot; keystroke $testKey with action &amp;quot;hold&amp;quot; sleep &amp;quot;1s&amp;quot; keystroke $testKey with action &amp;quot;release&amp;quot; type &amp;quot;AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz&amp;quot; scroll 5 with direction &amp;quot;up&amp;quot; click &amp;quot;right&amp;quot; move-mouse [0, 0] send-notification &amp;quot;Test&amp;quot; beep open-location &amp;quot;https://www.</description></item></channel></rss>

View File

@@ -0,0 +1,25 @@
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.db7090cddb6602125f0ed93682d138976ae6d5a9a2f2f92c4bcd4de73e6debc939331bf2ec54e8cd7b933fa961527404e59b7ddc6eede1ed4bb4cf90ad77caab.css integrity="sha512-23CQzdtmAhJfDtk2gtE4l2rm1ami8vksS81N5z5t68k5Mxvy7FTozXuTP6lhUnQE5Zt93G7t4e1LtM+QrXfKqw==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Installation | Arsen Dev</title><meta name=description content="Installing kbdemu"><link rel=canonical href=/docs/kbdemu/installation/><meta name=twitter:card content="summary"><meta name=twitter:title content="Installation"><meta name=twitter:description content="Installing kbdemu"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Installation"><meta property="og:description" content="Installing kbdemu"><meta property="og:type" content="article"><meta property="og:url" content="/docs/kbdemu/installation/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docskbdemuinstallation","item":"\/docskbdemuinstallation\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/css/highlightjs/dracula.min.css><script src=/js/highlightjs/highlight.min.js></script><script>hljs.initHighlightingOnLoad();</script></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/kbdemu/>KbdEmu Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#using-precompiled-binary>Using precompiled binary</a></li><li><a href=#building-from-source>Building from source</a><ul><li><a href=#downloading>Downloading</a></li><li><a href=#building>Building</a></li><li><a href=#installing>Installing</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>&lArr; KbdEmu Docs</a><h1 style=margin-top:.2rem>Installation</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/kbdemu><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/km2f1wiy7enuh6il?svg=true"></a>
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/kbdemu><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><h2 id=using-precompiled-binary>Using precompiled binary<a href=#using-precompiled-binary class=anchor aria-hidden=true>#</a></h2><p>KbdEmu uses continuous integration to compile. You can find the binary by
clicking the CI badge above, selecting &ldquo;Ubuntu2004&rdquo; for the linux build or
&ldquo;macOS&rdquo; for the macOS build, and then going to the artifacts tab.</p><h2 id=building-from-source>Building from source<a href=#building-from-source class=anchor aria-hidden=true>#</a></h2><h3 id=downloading>Downloading<a href=#downloading class=anchor aria-hidden=true>#</a></h3><p>KbdEmu is hosted in two places, Gitea and Gitlab. Either one can be used as
it is mirrored from Gitea to Gitlab</p><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/kbdemu><span class=iconify data-icon=cib:gitea></span>&nbsp;KbdEmu</a>
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/kbdemu><span class=iconify data-icon=fa-brands:gitlab></span>&nbsp;KbdEmu</a></p><p>To download kbdemu, you can either use the download button on one of the above, or
you can use the git command</p><p>To clone kbdemu using the command, run one of the following commands:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>git clone https://gitea.arsenm.dev/Arsen6331/kbdemu
OR
git clone https://gitlab.com/moussaelianarsen/kbdemu
</code></pre></div><p>Now, you will want to <code>cd</code> into the root of this repo before completing the rest
of these instructions</p><h3 id=building>Building<a href=#building class=anchor aria-hidden=true>#</a></h3><p>Since KbdEmu is written in go, you will need go installed in order to compile it.
Most linux distros call the package providing it either <code>go</code> or <code>golang</code>.</p><p>Once go is installed, you can check that it runs by running</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go version
</code></pre></div><p>To compile KbdEmu, run the following commands:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go get github.com/go-vgo/robotgo
go get github.com/BurntSushi/toml
go get github.com/rs/zerolog/log
<span class=nb>source</span> .envrc
go build
</code></pre></div><h3 id=installing>Installing<a href=#installing class=anchor aria-hidden=true>#</a></h3><p>To install kbdemu, run the following command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>sudo install -Dm755 kbdemu /usr/bin
</code></pre></div><p>Once this command completes, to test whether kbdemu was installed properly, run
this command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>kbdemu
</code></pre></div><p>You should get an error warning you that kbdemu cannot find a TOML file. If you do,
kbdemu is properly installed.</p></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.62fb3c8cfeb57442869c870d0aa4097451dc6fe9de70b1c63ef4e25068adfe13bbe1398854c68f4d8fc47ab4a2c1b0840685a16bb51b1a658dea09ec42eca1cb.js integrity="sha512-Yvs8jP61dEKGnIcNCqQJdFHcb+necLHGPvTiUGit/hO74TmIVMaPTY/EerSiwbCEBoWha7UbGmWN6gnsQuyhyw==" crossorigin=anonymous defer></script></body></html>

View File

@@ -0,0 +1 @@
<!doctype html><html><head><title>/docs/kbdemu/</title><link rel=canonical href=/docs/kbdemu/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/docs/kbdemu/"></head></html>

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/kbdemu/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/kbdemu/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>

View File

@@ -0,0 +1,53 @@
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.db7090cddb6602125f0ed93682d138976ae6d5a9a2f2f92c4bcd4de73e6debc939331bf2ec54e8cd7b933fa961527404e59b7ddc6eede1ed4bb4cf90ad77caab.css integrity="sha512-23CQzdtmAhJfDtk2gtE4l2rm1ami8vksS81N5z5t68k5Mxvy7FTozXuTP6lhUnQE5Zt93G7t4e1LtM+QrXfKqw==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Usage | Arsen Dev</title><meta name=description content="Using kbdemu"><link rel=canonical href=/docs/kbdemu/usage/><meta name=twitter:card content="summary"><meta name=twitter:title content="Usage"><meta name=twitter:description content="Using kbdemu"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Usage"><meta property="og:description" content="Using kbdemu"><meta property="og:type" content="article"><meta property="og:url" content="/docs/kbdemu/usage/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docskbdemuusage","item":"\/docskbdemuusage\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/css/highlightjs/dracula.min.css><script src=/js/highlightjs/highlight.min.js></script><script>hljs.initHighlightingOnLoad();</script></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/kbdemu/>KbdEmu Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#scripts>Scripts</a></li><li><a href=#builtins>Builtins</a><ul><li><a href=#numcpu><code>numcpu</code></a></li><li><a href=#sleep><code>sleep</code></a></li><li><a href=#display-dialog><code>display-dialog</code></a></li><li><a href=#send-notification><code>send-notification</code></a></li><li><a href=#beep><code>beep</code></a></li><li><a href=#click><code>click</code></a></li><li><a href=#scroll><code>scroll</code></a></li><li><a href=#move-mouse><code>move-mouse</code></a></li><li><a href=#keystroke><code>keystroke</code></a></li><li><a href=#type><code>type</code></a></li><li><a href=#mouse-position><code>mouse-position</code></a></li><li><a href=#pixel-color><code>pixel-color</code></a></li><li><a href=#log><code>log</code></a></li><li><a href=#user-choice><code>user-choice</code></a></li><li><a href=#open-location><code>open-location</code></a></li></ul></li><li><a href=#variables>Variables</a><ul><li><a href=#goos><code>$GOOS</code></a></li><li><a href=#goarch><code>$GOARCH</code></a></li><li><a href=#arguments><code>$arguments</code></a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>&lArr; KbdEmu Docs</a><h1 style=margin-top:.2rem>Usage</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/kbdemu><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/km2f1wiy7enuh6il?svg=true"></a>
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/kbdemu><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><p>This page assumes you have already installed KbdEmu. If not, follow the installation instructions on the installation page:</p><a class=btn style=color:#fff;background-color:#357edd href=../installation>Installation</a><h2 id=scripts>Scripts<a href=#scripts class=anchor aria-hidden=true>#</a></h2><p>KbdEmu uses <a href=https://gitea.arsenm.dev/Arsen6331/scpt>scpt</a> as its scripting language. The example script for kbdemu looks like this:</p><pre><code>set testKey to &quot;x&quot;
keystroke $testKey with action &quot;hold&quot;
sleep &quot;1s&quot;
keystroke $testKey with action &quot;release&quot;
type &quot;AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz&quot;
scroll 5 with direction &quot;up&quot;
click &quot;right&quot;
move-mouse [0, 0]
send-notification &quot;Test&quot;
beep
open-location &quot;https://www.arsenm.dev/&quot;
set showDetails to (display-dialog &quot;Show details?&quot; with type &quot;yesno&quot;)
if $showDetails {
display-dialog {&quot;Color: &quot; + (pixel-color [100, 100]) + &quot;, Mouse: &quot; + (str (mouse-position))} with title &quot;Details&quot;
}
print {&quot;\n&quot; + (user-choice &quot;test&quot; with items [&quot;Hello&quot;, &quot;World&quot;, 3.1415926535, $GOOS, $GOARCH, true, false, (numcpu)])}
log &quot;Complete!&quot;
</code></pre><p>By default, the <code>kbdemu</code> command will look for and execute a file called <code>kbdemu.scpt</code>, but that can be changed using the <code>--file</code> flag.</p><hr><h2 id=builtins>Builtins<a href=#builtins class=anchor aria-hidden=true>#</a></h2><p>KbdEmu comes with some extra functions for automation</p><hr><h3 id=numcpu><code>numcpu</code><a href=#numcpu class=anchor aria-hidden=true>#</a></h3><p>Returns the amount of available CPUs as a number.</p><p>Example:</p><pre><code>print (numcpu)
</code></pre><hr><h3 id=sleep><code>sleep</code><a href=#sleep class=anchor aria-hidden=true>#</a></h3><p>Sleeps for a duration as specified by an unnamed string argument formatted according to the specification of golang&rsquo;s <code>time.ParseDuration()</code>:</p><a class=btn style=color:#fff;background-color:#00acd7 href=https://golang.org/pkg/time#ParseDuration><span class="iconify icon:cib:go"></span>&nbsp;
Godoc</a><p>Examples:</p><pre><code>sleep &quot;1s&quot;
sleep &quot;1h2m&quot;
</code></pre><hr><h3 id=display-dialog><code>display-dialog</code><a href=#display-dialog class=anchor aria-hidden=true>#</a></h3><p>Displays a dialog window with the specified parameters.</p><p>Examples:</p><pre><code>display-dialog &quot;Test1&quot;
display-dialog &quot;Test2&quot; with title &quot;Title Test&quot;
print (display-dialog &quot;Test3&quot; with title &quot;Entry Test&quot; with type &quot;entry&quot;)
</code></pre><p>These are all the supported dialog types:</p><ul><li>info</li><li>warning</li><li>error</li><li>entry</li><li>yesno</li></ul><p>Default dialog type is info.</p><hr><h3 id=send-notification><code>send-notification</code><a href=#send-notification class=anchor aria-hidden=true>#</a></h3><p>Sends a notification according to the specified parameters</p><p>Examples:</p><pre><code>send-notification &quot;Test&quot;
send-notification &quot;Test&quot; with title &quot;Title&quot;
send-notification &quot;Test&quot; with title &quot;Title&quot; with icon &quot;test.png&quot;
</code></pre><hr><h3 id=beep><code>beep</code><a href=#beep class=anchor aria-hidden=true>#</a></h3><p>Creates a beep sound, if impossible, falls back to sending bell character.</p><p>Examples:</p><pre><code>beep
beep &quot;3s&quot;
</code></pre><hr><h3 id=click><code>click</code><a href=#click class=anchor aria-hidden=true>#</a></h3><p>Emulates a mouse click</p><p>Example:</p><pre><code>click &quot;right&quot;
</code></pre><hr><h3 id=scroll><code>scroll</code><a href=#scroll class=anchor aria-hidden=true>#</a></h3><p>Scrolls the specifed amount in the specified direction</p><p>Example:</p><pre><code>scroll 5 with direction &quot;up&quot;
</code></pre><hr><h3 id=move-mouse><code>move-mouse</code><a href=#move-mouse class=anchor aria-hidden=true>#</a></h3><p>Moves the cursor to the specified coordinates</p><p>Example:</p><pre><code>move-mouse [100, 200]
</code></pre><hr><h3 id=keystroke><code>keystroke</code><a href=#keystroke class=anchor aria-hidden=true>#</a></h3><p>Emulates a key event</p><p>Examples:</p><pre><code>keystroke &quot;y&quot; with action &quot;hold&quot;
sleep &quot;2s&quot;
keystroke &quot;y&quot; with action &quot;release&quot;
keystroke &quot;x&quot;
</code></pre><p>Default action is <code>tap</code> which presses and releases the key.</p><hr><h3 id=type><code>type</code><a href=#type class=anchor aria-hidden=true>#</a></h3><p>Types a string using the keyboard</p><p>Example:</p><pre><code>type &quot;Hello, World&quot;
</code></pre><hr><h3 id=mouse-position><code>mouse-position</code><a href=#mouse-position class=anchor aria-hidden=true>#</a></h3><p>Returns the current mouse position in the form of an array containing two number elements.</p><p>Example:</p><pre><code>print (mouse-position) # [0 0]
</code></pre><hr><h3 id=pixel-color><code>pixel-color</code><a href=#pixel-color class=anchor aria-hidden=true>#</a></h3><p>Returns a string containing the hex color of the given coordinates.</p><p>Example:</p><pre><code>print (pixel-color [100, 100]) # ffffff
</code></pre><hr><h3 id=log><code>log</code><a href=#log class=anchor aria-hidden=true>#</a></h3><p>Logs the provided message at the given level.</p><p>Examples:</p><pre><code>log &quot;Complete&quot;
log &quot;Error&quot; with level &quot;fatal&quot;
</code></pre><p>The available levels are:</p><ul><li>info</li><li>debug</li><li>warn</li><li>fatal</li></ul><p>Default log level is info</p><hr><h3 id=user-choice><code>user-choice</code><a href=#user-choice class=anchor aria-hidden=true>#</a></h3><p>Displays a user choice dialog window with provided items, returns selected item.</p><p>Example:</p><pre><code>user-choice &quot;Choose an option&quot; with items [&quot;Hello&quot;, &quot;World&quot;, 1, 3.14159, 6.28318]
</code></pre><hr><h3 id=open-location><code>open-location</code><a href=#open-location class=anchor aria-hidden=true>#</a></h3><p>Opens given URL in the default application set to open it.</p><p>Examples:</p><pre><code>open-location &quot;https://www.arsenm.dev&quot;
open-location &quot;/home&quot;
</code></pre><hr><h2 id=variables>Variables<a href=#variables class=anchor aria-hidden=true>#</a></h2><p>KbdEmu exposes some variables for use in scripts.</p><hr><h3 id=goos><code>$GOOS</code><a href=#goos class=anchor aria-hidden=true>#</a></h3><p>The value from golang&rsquo;s <code>runtime.GOOS</code></p><a class=btn style=color:#fff;background-color:#00acd7 href=https://golang.org/pkg/runtime#GOOS><span class="iconify icon:cib:go"></span>&nbsp;
Godoc</a><hr><h3 id=goarch><code>$GOARCH</code><a href=#goarch class=anchor aria-hidden=true>#</a></h3><p>The value from golang&rsquo;s <code>runtime.GOARCH</code></p><a class=btn style=color:#fff;background-color:#00acd7 href=https://golang.org/pkg/runtime#GOARCH><span class="iconify icon:cib:go"></span>&nbsp;
Godoc</a><hr><h3 id=arguments><code>$arguments</code><a href=#arguments class=anchor aria-hidden=true>#</a></h3><p>Non-flag command line arguments provided to KbdEmu</p><p>Example:</p><p>Command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>kbdemu --file script.scpt <span class=s2>&#34;Hello, World&#34;</span>
</code></pre></div><p>Contents of <code>script.scpt</code>:</p><pre><code>print $arguments[0] # Hello, World
</code></pre></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.62fb3c8cfeb57442869c870d0aa4097451dc6fe9de70b1c63ef4e25068adfe13bbe1398854c68f4d8fc47ab4a2c1b0840685a16bb51b1a658dea09ec42eca1cb.js integrity="sha512-Yvs8jP61dEKGnIcNCqQJdFHcb+necLHGPvTiUGit/hO74TmIVMaPTY/EerSiwbCEBoWha7UbGmWN6gnsQuyhyw==" crossorigin=anonymous defer></script></body></html>