updated
14
Makefile
|
|
@ -1,7 +1,7 @@
|
|||
.PHONY: build clean deps serve
|
||||
.PHONY: build clean setup serve
|
||||
|
||||
build: clean deps
|
||||
mkdir -p ./public/css ./public/js ./public/img ./public/fonts
|
||||
build: clean setup
|
||||
mkdir -p ./public/{css,js,img,fonts}
|
||||
cp ./node_modules/bulma/css/bulma.min.css ./public/css/
|
||||
cp ./node_modules/fork-awesome/css/fork-awesome.min.css ./public/css/
|
||||
cp ./node_modules/fork-awesome/css/fork-awesome.min.css.map ./public/css/
|
||||
|
|
@ -9,13 +9,15 @@ build: clean deps
|
|||
cp ./mkbd65-ansi.png ./mkbd65-ansi-fn.png ./mkbd65-iso.png ./mkbd65-iso-fn.png ./img/
|
||||
cp -r ./css ./public/
|
||||
cp -r ./js ./public/
|
||||
cp -r ./img ./public/
|
||||
cp ./guide.html ./index.html ./public/
|
||||
cp mkbd65-iso.png mkbd65-ansi.png ./public/img/
|
||||
cp mkbd65-iso-fn.png mkbd65-ansi-fn.png ./public/img/
|
||||
cat header.html index.html footer.html > public/index.html
|
||||
cat header.html build.html footer.html > public/build.html
|
||||
|
||||
clean:
|
||||
rm -rf ./public
|
||||
|
||||
deps:
|
||||
setup:
|
||||
yarn
|
||||
|
||||
serve:
|
||||
|
|
|
|||
221
build.html
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
<section class="hero is-dark is-halfheight">
|
||||
<div class="hero-body">
|
||||
<div class="container has-text-centered">
|
||||
<figure class="image is-128x128 is-inline-block">
|
||||
<img src="/img/mkbd65_222x222.png" />
|
||||
</figure><!--/.image .is-128x128-->
|
||||
<p class="title">WIP: mkbd65 build guide v1.0 alpha</p><!--/.title-->
|
||||
<p class="subtitle">This is the official build guide for the mkbd65 mobile keyboard addon for modern smartphones.</p><!--/.title-->
|
||||
</div><!--/.container .has-text-centered-->
|
||||
</div><!--/.hero-body-->
|
||||
</section><!--/.hero .is-dark .is-halfheight-->
|
||||
|
||||
<section id="prerequisites" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">1. Prerequisites</h1>
|
||||
<div class="content">
|
||||
<p>Before you begin, here is a list of all things you will need during the build process. There is also a list
|
||||
of optional components that will make your life easier but are not absolutely neccessary.</p>
|
||||
<h2>What you need:</h2>
|
||||
<ul>
|
||||
<li>
|
||||
3D printer: A 0.25mm nozzle is strongly suggested for best results<ul><li>If you don't have a 3D printer
|
||||
and also no friend with a 3D printer and there also no <a href="https://wiki.hackerspaces.org/List_of_Hacker_Spaces">hackspace</a>
|
||||
nearby, you can order the prints online</li></ul>
|
||||
</li>
|
||||
<li>Soldering iron: Any decent iron will do</li>
|
||||
<li><a href="https://openscad.org/">OpenSCAD</a>: A powerful CAD software which will be used to create the
|
||||
3D files for the case and key mat</li>
|
||||
</ul>
|
||||
<h2>Optional requirements</h2>
|
||||
<ul>
|
||||
<li>Reflow oven (works better then soldering by hand)</li>
|
||||
<li><a href="https://www.kicad.org">KiCAD</a>: A PCB CAD software which you can use to order the PCB and
|
||||
flex cable. Gerber files from GitLab should be enough for most PCB fabs.</li>
|
||||
</ul>
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<section id="buy-parts" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">2. Buy all the things</h1>
|
||||
|
||||
<div class="content">
|
||||
<p>This section lists all things you need to buy before you can put together a mkbd65.</p>
|
||||
|
||||
<h2>Main PCB</h2>
|
||||
<p>The main PCB is the same for all phones. The only thing that changes is the case and the flex cable that
|
||||
connects the PCB to your phone. To order the PCB you can either use the Gerber files from GitLab releases or
|
||||
open the project in KiCAD and upload from there.</p>
|
||||
|
||||
<h3>Order with Gerber files from <a href="https://jlcpcb.com">JLCPCB</a> (China)</h3>
|
||||
<p></p>
|
||||
<ol>
|
||||
<li>Download the <code>gerber.zip</code> file from the latest release from <a href="https://gitlab.com/mkbd65/pcb/-/releases">GitLab</a></li>
|
||||
<li>Go to JLCPCB and upload the <code>gerber.zip</code> file</li>
|
||||
<li>Set the PCB Thickness to 1.6mm</li>
|
||||
<li>You can choose whatever color you like</li>
|
||||
<li>As Surface Finish you can choose ENIG if you like, it's more expensive but easier to solder and lead free</li>
|
||||
<li>You can use the PCB assembly service from JLCPCB if you don't want to assemble the PCB yourself</li>
|
||||
<li>If you want to assemble the PCB yourself with a reflow oven, don't forget to buy a stencil!</li>
|
||||
</ol>
|
||||
<p>5 PCBs (which is the minimum order size) with HASL finish and a stencil will cost you around 15€. If you choose ENIG finish the price go be
|
||||
around 30€. Assembly without compoents factored in will be around 35€.</p>
|
||||
|
||||
<h3>Order from directly with KiCAD from <a href="https://aisler.net">Aisler</a> (Europe)</h3>
|
||||
<p></p>
|
||||
<ol>
|
||||
<li>Clone the git repo from <a href="https://gitlab.com/mkbd65/pcb">GitLab</a>
|
||||
<li>Open the project with KiCAD</li>
|
||||
<li>If not already done open the <code>Plugin and Content Manager</code></li>
|
||||
<li>Install the <code>AISLER Push for KiCad</code> plugin from the Plugins tab and click <code>Apply Pending Changes</code></li>
|
||||
<li>Open the PCB Editor and click the <code>Push layout to AISLER</code> button in the top right</li>
|
||||
<li>On the website that should open, you can go to the BOM tab and assign the components, if you want Aisler
|
||||
to assemble the PCBs for you</li>
|
||||
<li>On the checkout tab, choose "Beautiful Boards HD" if you want to assemble the boards yourself or "Amazing Assembly" if you want Aisler to do the assembly</li>
|
||||
<li>If you want to assemble the PCB yourself with a reflow oven, don't forget to order a "Stellar Stencil"</li>
|
||||
</ol>
|
||||
<p>3 PCBs (which is the minimum order size) with ENIG finish and a stencil will cost you around 60€. Assembly
|
||||
will cost you more then 100€, so I wouldn't recommend it. It is far too expensive. Better source the
|
||||
components at <a href="https://www.mouser.com">Mouser</a> or <a href="https://www.digikey.com">Digikey</a> and
|
||||
assemble the PCB yourself. Don't forget the stencil if you want to use a reflow oven!</p>
|
||||
|
||||
<h2>Flex cable</h2>
|
||||
<p>Similar to the main PCB, the flex cable need to be bought at a PCB fab. The lenght of the cable depends on
|
||||
the size of you phone.</p>
|
||||
|
||||
<p><i>JS that calculates hwat flex cable you need here</i></p>
|
||||
|
||||
<form id="flex_pcb_calc" onsubmit="event.preventDefault(); flex_pcb_calc();">
|
||||
<div class="field is-horizontal">
|
||||
<div class="field-label">
|
||||
<label class="label">Phone length</label>
|
||||
</div><!--/.field-label-->
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="field has-addons">
|
||||
<p class="control">
|
||||
<input id="phone_length" class="input is-hovered" type="number" min="100" step="0.1" value="150" required="required" />
|
||||
</p><!--/.control-->
|
||||
<p class="control">
|
||||
<a class="button is-static">mm</a>
|
||||
</p><!--/.control-->
|
||||
</div><!--/.field .has-addons-->
|
||||
<p class="help">Long side of the phone</p>
|
||||
</div><!--/.field-->
|
||||
</div><!--/.field-body-->
|
||||
</div><!--/.field .is-horizontal-->
|
||||
|
||||
<div class="field is-horizontal">
|
||||
<div class="field-label">
|
||||
<label class="label">Phone width</label>
|
||||
</div><!--/.field-label-->
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="field has-addons">
|
||||
<p class="control">
|
||||
<input id="phone_width" class="input is-hovered" type="number" min="10" step="0.1" value="50" required="required" />
|
||||
</p><!--/.control-->
|
||||
<p class="control">
|
||||
<a class="button is-static">mm</a>
|
||||
</p><!--/.control-->
|
||||
</div><!--/.field .has-addons-->
|
||||
<p class="help">Short side of the phone</p>
|
||||
</div><!--/.field-->
|
||||
</div><!--/.field-body-->
|
||||
</div><!--/.field .is-horizontal-->
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="field is-horizontal">
|
||||
<div class="field-label">
|
||||
<label class="label">Flex PCB length</label>
|
||||
</div><!--/.field-label-->
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="field has-addons">
|
||||
<p class="control">
|
||||
<input id="flex_pcb_length" class="input" type="number" readonly="readonly" />
|
||||
</p><!--/.control-->
|
||||
<p class="control">
|
||||
<a class="button is-static">mm</a>
|
||||
</p><!--/.control-->
|
||||
</div><!--/.field .has-addons-->
|
||||
</div><!--/.field-->
|
||||
</div><!--/.field-body-->
|
||||
</div><!--/.field .is-horizontal-->
|
||||
|
||||
<div class="field is-horizontal">
|
||||
<div class="field-label"></div>
|
||||
<div class="field-body">
|
||||
<button class="button is-primary">Calculate</button>
|
||||
</div><!--/.field-body-->
|
||||
</div><!--/.field .is-horizontal-->
|
||||
</form>
|
||||
|
||||
<h2>Case</h2>
|
||||
<p>The case is 3D printed and consists of multiple parts. You can choose whatever color you like. As material
|
||||
PLA is the recommended choice but others like ABS or PETG would work aswell. Feel free to experiment and share
|
||||
you're results in the community chat.</p>
|
||||
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<section id="printing" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">3. Printing components</h1>
|
||||
|
||||
<div class="content">
|
||||
<h2>Bottom case</h2>
|
||||
<p></p>
|
||||
|
||||
<h2>Top case</h2>
|
||||
<p></p>
|
||||
|
||||
<h2>Key mat</h2>
|
||||
<p>The keyboard has a 3D printed layer which sits on top of the PCB. This 3D print is a bit more tricky
|
||||
becasue it involves a material change. Near the stop the print will stop and you have to replace the filamaent
|
||||
with a different color. This is done so the labels on the keys have a different color then the rest and are
|
||||
visible. If you din't need visible labels you can skip this step and print the key mat in one go.</p>
|
||||
|
||||
<ol>
|
||||
<li>Clone the git repo with the files for the case: <a href="https://gitlab.com/mkbd65/cad">gitlab.com/mkbd65/cad</a></li>
|
||||
<li>Design your key mat or use an existing one</li>
|
||||
<li>slicer</li>
|
||||
<li>print</li>
|
||||
</ol>
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<section id="assembly" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">4. Assembling the electronics</h1>
|
||||
|
||||
<div class="content">
|
||||
<i>tba</i>
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<section id="case" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">5. Building the case</h1>
|
||||
|
||||
<div class="content">
|
||||
<i>tba</i>
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<section id="final" class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">6. Put everything together</h1>
|
||||
|
||||
<div class="content">
|
||||
<i>tba</i>
|
||||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
27
footer.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<div class="columns is-vcentered is-centered">
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer"><img alt="CC BY-SA 4.0" src="https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg" style="height: 31pt; width: 81pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="https://www.oshwa.org/"><img alt="Open Source Hardware Logo" src="https://www.oshwa.org/wp-content/uploads/2014/03/oshw-logo.svg" style="height: 48pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="https://qmk.fm/"><img alt="Powered by QMK logo" src="https://qmk.fm/assets/images/badge-dark.svg" style="height:42pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
</div><!--/.columns .is-vcentered-->
|
||||
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://gitlab.com/mkbd65/">mkbd65</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://gitlab.com/xengi">XenGi</a> is licensed under <a href="http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-SA 4.0</a></p>
|
||||
</div><!--/.content .has-text-centered-->
|
||||
</footer><!--/.footer-->
|
||||
|
||||
<script type="text/javascript" src="/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
82
header.html
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#fefefe" />
|
||||
<title>mkbd65 - by XenGi</title>
|
||||
<link rel="stylesheet" href="/css/bulma.min.css" />
|
||||
<link rel="stylesheet" href="/css/fork-awesome.min.css" />
|
||||
<link rel="stylesheet" href="/css/main.css" />
|
||||
<link rel="icon" sizes="74x74" href="/img/mkbd65_74x74.png" />
|
||||
<link rel="icon" sizes="148x148" href="/img/mkbd65_148x148.png" />
|
||||
<link rel="icon" sizes="222x222" href="/img/mkbd65_222x222.png" />
|
||||
</head>
|
||||
<body>
|
||||
<button class="button is-primary is-medium has-text-white" id="gototop" title="Go to top">
|
||||
<span class="icon is-medium">
|
||||
<i class="fa fa-chevron-up" aria-hidden="true"></i>
|
||||
</span><!--/.icon .is-medium-->
|
||||
</button><!--/.button .is-primary .is-medium .has-text-white #gototop-->
|
||||
|
||||
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a role="button" class="navbar-burger" data-target="navMenu" aria-label="menu" aria-expanded="false">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a><!--/.navbar-burger-->
|
||||
</div><!--/.navbar-brand-->
|
||||
|
||||
<div id="navMenu" class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a class="navbar-item" href="/#features">
|
||||
Features
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="/#layout">
|
||||
Layout
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="/#hardware">
|
||||
Hardware
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="/#case">
|
||||
Case
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="/#compat">
|
||||
Compatibility
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="/build.html">
|
||||
Build guide
|
||||
</a><!--/.navbar-item-->
|
||||
</div><!--/.navbar-start-->
|
||||
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-dark" href="https://gitlab.com/mkbd65">
|
||||
<span class="icon">
|
||||
<i class="fa fa-gitlab" aria-hidden="true"></i>
|
||||
</span><!--/.icon-->
|
||||
<span>Gitlab</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
<a class="button is-dark" href="https://matrix.to/#/#mkbd65:hackint.org">
|
||||
<span class="icon">
|
||||
<i class="fa fa-matrix-org" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Matrix</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
<a class="button is-dark" href="ircs://irc.hackint.org:6697/#mkbd65">
|
||||
<span class="icon">
|
||||
<i class="fa fa-hashtag" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>IRC</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
</div><!--/.buttons-->
|
||||
</div><!--/.navbar-item-->
|
||||
</div><!--/.navbar-end-->
|
||||
</div><!--/.navbar-menu-->
|
||||
</div><!--/.container-->
|
||||
</nav><!--/.navbar-->
|
||||
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
106
index.html
|
|
@ -1,82 +1,3 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#fefefe" />
|
||||
<title>mkbd65 - by XenGi</title>
|
||||
<link rel="stylesheet" href="/css/bulma.min.css" />
|
||||
<link rel="stylesheet" href="/css/fork-awesome.min.css" />
|
||||
<link rel="stylesheet" href="/css/main.css" />
|
||||
<link rel="icon" sizes="74x74" href="/img/mkbd65_74x74.png" />
|
||||
<link rel="icon" sizes="148x148" href="/img/mkbd65_148x148.png" />
|
||||
<link rel="icon" sizes="222x222" href="/img/mkbd65_222x222.png" />
|
||||
</head>
|
||||
<body>
|
||||
<button class="button is-primary is-medium has-text-white" id="gototop" title="Go to top">
|
||||
<span class="icon is-medium">
|
||||
<i class="fa fa-chevron-up" aria-hidden="true"></i>
|
||||
</span><!--/.icon .is-medium-->
|
||||
</button><!--/.button .is-primary .is-medium .has-text-white #gototop-->
|
||||
|
||||
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a role="button" class="navbar-burger" data-target="navMenu" aria-label="menu" aria-expanded="false">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a><!--/.navbar-burger-->
|
||||
</div><!--/.navbar-brand-->
|
||||
|
||||
<div id="navMenu" class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a class="navbar-item" href="#features">
|
||||
Features
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="#layout">
|
||||
Layout
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="#hardware">
|
||||
Hardware
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="#case">
|
||||
Case
|
||||
</a><!--/.navbar-item-->
|
||||
<a class="navbar-item" href="#compat">
|
||||
Compatibility
|
||||
</a><!--/.navbar-item-->
|
||||
</div><!--/.navbar-start-->
|
||||
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-dark" href="https://gitlab.com/mkbd65">
|
||||
<span class="icon">
|
||||
<i class="fa fa-gitlab" aria-hidden="true"></i>
|
||||
</span><!--/.icon-->
|
||||
<span>Gitlab</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
<a class="button is-dark" href="https://matrix.to/#/#mkbd65:hackint.org">
|
||||
<span class="icon">
|
||||
<i class="fa fa-matrix-org" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>Matrix</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
<a class="button is-dark" href="ircs://irc.hackint.org:6697/#mkbd65">
|
||||
<span class="icon">
|
||||
<i class="fa fa-hashtag" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>IRC</span>
|
||||
</a><!--/.button .is-dark-->
|
||||
</div><!--/.buttons-->
|
||||
</div><!--/.navbar-item-->
|
||||
</div><!--/.navbar-end-->
|
||||
</div><!--/.navbar-menu-->
|
||||
</div><!--/.container-->
|
||||
</nav><!--/.navbar-->
|
||||
|
||||
<section class="hero is-dark is-halfheight">
|
||||
<div class="hero-body">
|
||||
<div class="container has-text-centered">
|
||||
|
|
@ -265,30 +186,3 @@
|
|||
</div><!--/.content-->
|
||||
</div><!--/.container-->
|
||||
</section><!--/.section-->
|
||||
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<div class="columns is-vcentered is-centered">
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer"><img alt="CC BY-SA 4.0" src="https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg" style="height: 31pt; width: 81pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="https://www.oshwa.org/"><img alt="Open Source Hardware Logo" src="https://www.oshwa.org/wp-content/uploads/2014/03/oshw-logo.svg" style="height: 48pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
<div class="column is-one-quarter">
|
||||
<figure class="image">
|
||||
<a href="https://qmk.fm/"><img alt="Powered by QMK logo" src="https://qmk.fm/assets/images/badge-dark.svg" style="height:42pt" /></a>
|
||||
</figure><!--/.image-->
|
||||
</div><!--/.column .is-one-quarter-->
|
||||
</div><!--/.columns .is-vcentered-->
|
||||
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://gitlab.com/mkbd65/">mkbd65</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://gitlab.com/xengi">XenGi</a> is licensed under <a href="http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-SA 4.0</a></p>
|
||||
</div><!--/.content .has-text-centered-->
|
||||
</footer><!--/.footer-->
|
||||
|
||||
<script type="text/javascript" src="/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
BIN
logo.png
Normal file
|
After Width: | Height: | Size: 812 B |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 33 KiB |
|
|
@ -50,13 +50,15 @@
|
|||
"",
|
||||
{
|
||||
"a": 5,
|
||||
"f": 5
|
||||
"f": 4
|
||||
},
|
||||
"Alt\nTab\n\n\n\n\nShift",
|
||||
{
|
||||
"f": 6
|
||||
},
|
||||
"Alt\nTab",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 6
|
||||
"a": 7
|
||||
},
|
||||
"F11",
|
||||
"F12",
|
||||
|
|
@ -81,9 +83,9 @@
|
|||
"<i class='kb kb-Multimedia-Play-Pause'></i>",
|
||||
"<i class='kb kb-Multimedia-Stop'></i>",
|
||||
{
|
||||
"a": 4
|
||||
"a": 5
|
||||
},
|
||||
"~\n`",
|
||||
"°\n^",
|
||||
{
|
||||
"a": 7
|
||||
},
|
||||
|
|
@ -101,12 +103,15 @@
|
|||
"<i class='kb kb-Multimedia-Volume-Up-2'></i>",
|
||||
"<i class='kb kb-Multimedia-Mute-2'></i>",
|
||||
{
|
||||
"f": 5
|
||||
"f": 4
|
||||
},
|
||||
"PgUp",
|
||||
{
|
||||
"f": 7,
|
||||
"w": 2
|
||||
"f": 6
|
||||
},
|
||||
"",
|
||||
{
|
||||
"f": 7
|
||||
},
|
||||
""
|
||||
],
|
||||
|
|
@ -133,11 +138,11 @@
|
|||
{
|
||||
"w": 3
|
||||
},
|
||||
"<i class='kb kb-Tab-2'></i>",
|
||||
"<i class='kb kb-Line-Start-End'></i>",
|
||||
"",
|
||||
"",
|
||||
{
|
||||
"f": 5
|
||||
"f": 4
|
||||
},
|
||||
"Home",
|
||||
"PgDn",
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 29 KiB |
|
|
@ -1865,31 +1865,69 @@
|
|||
|
||||
<!-- Outer Border -->
|
||||
<rect x="596" y="164"
|
||||
width="104" height="50"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d" class="outer border"/>
|
||||
|
||||
<!-- Outer Fill -->
|
||||
<rect x="596" y="164"
|
||||
width="104" height="50"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d"/>
|
||||
|
||||
|
||||
|
||||
<!-- Inner Border -->
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949" class="inner border"/>
|
||||
|
||||
<!-- Inner Fill -->
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="url(#FLAT)"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</g>
|
||||
|
||||
<g class=' keycap'
|
||||
>
|
||||
|
||||
|
||||
<!-- Outer Border -->
|
||||
<rect x="650" y="164"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d" class="outer border"/>
|
||||
|
||||
<!-- Outer Fill -->
|
||||
<rect x="650" y="164"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d"/>
|
||||
|
||||
|
||||
|
||||
<!-- Inner Border -->
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949" class="inner border"/>
|
||||
|
||||
<!-- Inner Fill -->
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="url(#FLAT)"/>
|
||||
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.8 KiB |
BIN
mkbd65-iso.jpg
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
|
@ -24,15 +24,15 @@
|
|||
"a": 4
|
||||
},
|
||||
"!\n1",
|
||||
"@\n2",
|
||||
"#\n3",
|
||||
"\"\n2",
|
||||
"§\n3",
|
||||
"$\n4",
|
||||
"%\n5\n\n€",
|
||||
"^\n6",
|
||||
"&\n7",
|
||||
"*\n8",
|
||||
"(\n9",
|
||||
")\n0",
|
||||
"%\n5",
|
||||
"&\n6",
|
||||
"?\n7\n\n{",
|
||||
"(\n8\n\n[",
|
||||
")\n9\n\n]",
|
||||
"=\n0\n\n}",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 7,
|
||||
|
|
@ -49,16 +49,16 @@
|
|||
"E",
|
||||
"R",
|
||||
"T",
|
||||
"Y",
|
||||
"Z",
|
||||
"U",
|
||||
"I",
|
||||
"O",
|
||||
"P",
|
||||
"Ü",
|
||||
{
|
||||
"a": 4
|
||||
},
|
||||
"{\n[",
|
||||
"}\n]",
|
||||
"*\n+\n\n~",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 7,
|
||||
|
|
@ -79,18 +79,18 @@
|
|||
"J",
|
||||
"K",
|
||||
"L",
|
||||
"Ö",
|
||||
"Ä",
|
||||
{
|
||||
"a": 4
|
||||
},
|
||||
":\n;",
|
||||
"\"\n'\n~\n`",
|
||||
"|\n\\"
|
||||
"'\n#\n°\n^"
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": 7
|
||||
},
|
||||
"Z",
|
||||
"Y",
|
||||
"X",
|
||||
"C",
|
||||
"V",
|
||||
|
|
@ -100,16 +100,22 @@
|
|||
{
|
||||
"a": 4
|
||||
},
|
||||
"<\n,",
|
||||
">\n.",
|
||||
"?\n/",
|
||||
";\n,",
|
||||
":\n.",
|
||||
"_\n-",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 7
|
||||
},
|
||||
"<i class='kb kb-Multimedia-Up'></i>",
|
||||
{
|
||||
"w": 2
|
||||
"a": 4,
|
||||
"f": 6
|
||||
},
|
||||
">\n<\n\n|",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 7
|
||||
},
|
||||
"⇧"
|
||||
],
|
||||
|
|
@ -134,8 +140,8 @@
|
|||
{
|
||||
"a": 4
|
||||
},
|
||||
"_\n-",
|
||||
"+\n=",
|
||||
"?\nß\n\n\\",
|
||||
"`\n'",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 7
|
||||
|
|
|
|||
BIN
mkbd65-iso.png
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
|
@ -1865,31 +1865,69 @@
|
|||
|
||||
<!-- Outer Border -->
|
||||
<rect x="596" y="164"
|
||||
width="104" height="50"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d" class="outer border"/>
|
||||
|
||||
<!-- Outer Fill -->
|
||||
<rect x="596" y="164"
|
||||
width="104" height="50"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d"/>
|
||||
|
||||
|
||||
|
||||
<!-- Inner Border -->
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949" class="inner border"/>
|
||||
|
||||
<!-- Inner Fill -->
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<rect x="597" y="165"
|
||||
width="102" height="48"
|
||||
width="48" height="48"
|
||||
rx="5" fill="url(#FLAT)"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</g>
|
||||
|
||||
<g class=' keycap'
|
||||
>
|
||||
|
||||
|
||||
<!-- Outer Border -->
|
||||
<rect x="650" y="164"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d" class="outer border"/>
|
||||
|
||||
<!-- Outer Fill -->
|
||||
<rect x="650" y="164"
|
||||
width="50" height="50"
|
||||
rx="5" fill="#3d3d3d"/>
|
||||
|
||||
|
||||
|
||||
<!-- Inner Border -->
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949" class="inner border"/>
|
||||
|
||||
<!-- Inner Fill -->
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="#494949"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<rect x="651" y="165"
|
||||
width="48" height="48"
|
||||
rx="5" fill="url(#FLAT)"/>
|
||||
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 46 KiB |