refkbd.html (4566B)
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"/> 5 <title>MNT Reform Keyboard Editor</title> 6 <link rel="stylesheet" href="style.css"></link> 7 <script src="base64binary.js"></script> 8 <script src="mnt-reform-keyboard-firmware.js"></script> 9 <script src="mnt-reform-keyboard.js"></script> 10 </head> 11 <body onload="initKeyboard()"> 12 <section> 13 <h1>MNT Reform Keyboard Editor</h1> 14 <h2>Layout</h2> 15 16 <div class="keyboard"> 17 <div class="kbd-row"> 18 <div class="kbd-key"></div> 19 <div class="kbd-key"></div> 20 <div class="kbd-key"></div> 21 <div class="kbd-key"></div> 22 <div class="kbd-key"></div> 23 <div class="kbd-key"></div> 24 <div class="kbd-key"></div> 25 <div class="kbd-key"></div> 26 <div class="kbd-key"></div> 27 <div class="kbd-key"></div> 28 <div class="kbd-key"></div> 29 <div class="kbd-key"></div> 30 <div class="kbd-key"></div> 31 <div class="kbd-key key-1-5"></div> 32 </div> 33 34 <div class="kbd-row"> 35 <div class="kbd-key"></div> 36 <div class="kbd-key"></div> 37 <div class="kbd-key"></div> 38 <div class="kbd-key"></div> 39 <div class="kbd-key"></div> 40 <div class="kbd-key"></div> 41 <div class="kbd-key"></div> 42 <div class="kbd-key"></div> 43 <div class="kbd-key"></div> 44 <div class="kbd-key"></div> 45 <div class="kbd-key"></div> 46 <div class="kbd-key"></div> 47 <div class="kbd-key"></div> 48 <div class="kbd-key key-1-5"></div> 49 </div> 50 51 <div class="kbd-row"> 52 <div class="kbd-key key-1-5"></div> 53 <div class="kbd-key"></div> 54 <div class="kbd-key"></div> 55 <div class="kbd-key"></div> 56 <div class="kbd-key"></div> 57 <div class="kbd-key"></div> 58 <div class="kbd-key"></div> 59 <div class="kbd-key"></div> 60 <div class="kbd-key"></div> 61 <div class="kbd-key"></div> 62 <div class="kbd-key"></div> 63 <div class="kbd-key"></div> 64 <div class="kbd-key"></div> 65 <div class="kbd-key"></div> 66 </div> 67 68 <div class="kbd-row"> 69 <div class="kbd-key"></div> 70 <div class="kbd-key"></div> 71 <div class="kbd-key"></div> 72 <div class="kbd-key"></div> 73 <div class="kbd-key"></div> 74 <div class="kbd-key"></div> 75 <div class="kbd-key"></div> 76 <div class="kbd-key"></div> 77 <div class="kbd-key"></div> 78 <div class="kbd-key"></div> 79 <div class="kbd-key"></div> 80 <div class="kbd-key"></div> 81 <div class="kbd-key"></div> 82 <div class="kbd-key key-1-5"></div> 83 </div> 84 85 <div class="kbd-row"> 86 <div class="kbd-key key-1-5"></div> 87 <div class="kbd-key"></div> 88 <div class="kbd-key"></div> 89 <div class="kbd-key"></div> 90 <div class="kbd-key"></div> 91 <div class="kbd-key"></div> 92 <div class="kbd-key"></div> 93 <div class="kbd-key"></div> 94 <div class="kbd-key"></div> 95 <div class="kbd-key"></div> 96 <div class="kbd-key"></div> 97 <div class="kbd-key"></div> 98 <div class="kbd-key"></div> 99 <div class="kbd-key"></div> 100 </div> 101 102 <div class="kbd-row last-row"> 103 <div class="kbd-key key-1-5"></div> 104 <div class="kbd-key key-1-5"></div> 105 <div class="kbd-key key-1-5"></div> 106 <div class="kbd-key key-1-5"></div> 107 <div class="kbd-key"></div> 108 <div class="kbd-key"></div> 109 <div class="kbd-key key-1-5"></div> 110 <div class="kbd-key"></div> 111 <div class="kbd-key"></div> 112 <div class="kbd-key"></div> 113 <div class="kbd-key"></div> 114 <div class="kbd-key"></div> 115 </div> 116 </div> 117 118 </section> 119 <section> 120 <h2>Key <span id="keyid"></span></h2> 121 <div> 122 <label> 123 Scancode: 124 <input id="key-scancodename" list="key-scancodes" onchange="applySettingsToKey()"> 125 <datalist id="key-scancodes"></datalist> 126 </label> 127 </div> 128 <div> 129 <button onclick="enableSwapMode()">Swap with Key…</button> 130 <span id="swap-message"></span> 131 </div> 132 </section> 133 <section> 134 <h2>Export</h2> 135 <div> 136 <label> 137 Title: 138 <input id="title" type="text" value="" placeholder="Title"> 139 </label> 140 </div> 141 </section> 142 <section> 143 <h2>Instructions</h2> 144 <button onclick="generateFirmware()">Download Customized Firmware</button> 145 <p> 146 After downloading the Keyboard.elf file, flash it like this: 147 </p> 148 <code> 149 objcopy -O ihex Keyboard.elf Keyboard.hex<br> 150 dfu-programmer atmega32u4 erase --suppress-bootloader-mem<br> 151 dfu-programmer atmega32u4 flash ./Keyboard.hex --suppress-bootloader-mem<br> 152 dfu-programmer atmega32u4 start 153 </code> 154 </section> 155 </body> 156 </html>