migrate keymaps to external userspace
This commit is contained in:
parent
41ee8332d1
commit
1aae18be19
78
README.md
78
README.md
|
@ -1,59 +1,37 @@
|
|||
# QMK Userspace
|
||||
# QMK Keymaps
|
||||
|
||||
This is a template repository which allows for an external set of QMK keymaps to be defined and compiled. This is useful for users who want to maintain their own keymaps without having to fork the main QMK repository.
|
||||

|
||||
|
||||
## Howto configure your build targets
|
||||
## Features
|
||||
* **Autocorrect**
|
||||
* **Case Modes**
|
||||
* **Combos**
|
||||
* **Home Row Mods**
|
||||
* **Leader Key**
|
||||
* **Repeat / Magic Keys**
|
||||
|
||||
1. Run the normal `qmk setup` procedure if you haven't already done so -- see [QMK Docs](https://docs.qmk.fm/#/newbs) for details.
|
||||
1. Fork this repository
|
||||
1. Clone your fork to your local machine
|
||||
1. Enable userspace in QMK config using `qmk config user.overlay_dir="$(realpath qmk_userspace)"`
|
||||
1. Add a new keymap for your board using `qmk new-keymap`
|
||||
* This will create a new keymap in the `keyboards` directory, in the same location that would normally be used in the main QMK repository. For example, if you wanted to add a keymap for the Planck, it will be created in `keyboards/planck/keymaps/<your keymap name>`
|
||||
* You can also create a new keymap using `qmk new-keymap -kb <your_keyboard> -km <your_keymap>`
|
||||
* Alternatively, add your keymap manually by placing it in the location specified above.
|
||||
* `layouts/<layout name>/<your keymap name>/keymap.*` is also supported if you prefer the layout system
|
||||
1. Add your keymap(s) to the build by running `qmk userspace-add -kb <your_keyboard> -km <your_keymap>`
|
||||
* This will automatically update your `qmk.json` file
|
||||
* Corresponding `qmk userspace-remove -kb <your_keyboard> -km <your_keymap>` will delete it
|
||||
* Listing the build targets can be done with `qmk userspace-list`
|
||||
1. Commit your changes
|
||||
## My Keymap
|
||||

|
||||
|
||||
## Howto build with GitHub
|
||||
See [**magic sturdy**](https://github.com/Ikcelaks/keyboard_layouts/blob/main/magic_sturdy/magic_sturdy.md) for usage of the magic key.
|
||||
|
||||
1. In the GitHub Actions tab, enable workflows
|
||||
1. Push your changes above to your forked GitHub repository
|
||||
1. Look at the GitHub Actions for a new actions run
|
||||
1. Wait for the actions run to complete
|
||||
1. Inspect the Releases tab on your repository for the latest firmware build
|
||||
## Installation
|
||||
Follow the [getting started](https://docs.qmk.fm/#/newbs_getting_started) docs to install [QMK Firmware](https://docs.qmk.fm/#/)
|
||||
|
||||
## Howto build locally
|
||||
```sh
|
||||
# Clone the keymaps
|
||||
git clone https://git.sajenim.dev/jasmine/qmk_userspace.git
|
||||
|
||||
# Setup external userspace
|
||||
qmk config user.overlay_dir="$(realpath qmk_userspace)"
|
||||
|
||||
1. Run the normal `qmk setup` procedure if you haven't already done so -- see [QMK Docs](https://docs.qmk.fm/#/newbs) for details.
|
||||
1. Fork this repository
|
||||
1. Clone your fork to your local machine
|
||||
1. `cd` into this repository's clone directory
|
||||
1. Set global userspace path: `qmk config user.overlay_dir="$(realpath .)"` -- you MUST be located in the cloned userspace location for this to work correctly
|
||||
* This will be automatically detected if you've `cd`ed into your userspace repository, but the above makes your userspace available regardless of your shell location.
|
||||
1. Compile normally: `qmk compile -kb your_keyboard -km your_keymap` or `make your_keyboard:your_keymap`
|
||||
|
||||
Alternatively, if you configured your build targets above, you can use `qmk userspace-compile` to build all of your userspace targets at once.
|
||||
|
||||
## Extra info
|
||||
|
||||
If you wish to point GitHub actions to a different repository, a different branch, or even a different keymap name, you can modify `.github/workflows/build_binaries.yml` to suit your needs.
|
||||
|
||||
To override the `build` job, you can change the following parameters to use a different QMK repository or branch:
|
||||
```
|
||||
with:
|
||||
qmk_repo: qmk/qmk_firmware
|
||||
qmk_ref: master
|
||||
# Compile the firmware
|
||||
qmk compile -kb <keyboard> -km <keymap>
|
||||
```
|
||||
|
||||
If you wish to manually manage `qmk_firmware` using git within the userspace repository, you can add `qmk_firmware` as a submodule in the userspace directory instead. GitHub Actions will automatically use the submodule at the pinned revision if it exists, otherwise it will use the default latest revision of `qmk_firmware` from the main repository.
|
||||
|
||||
This can also be used to control which fork is used, though only upstream `qmk_firmware` will have support for external userspace until other manufacturers update their forks.
|
||||
|
||||
1. (First time only) `git submodule add https://github.com/qmk/qmk_firmware.git`
|
||||
1. (To update) `git submodule update --init --recursive`
|
||||
1. Commit your changes to your userspace repository
|
||||
## References
|
||||
* [Precondition](https://precondition.github.io/home-row-mods)
|
||||
* [Pascal Getreuer](https://getreuer.info/posts/keyboards/index.html)
|
||||
* [Ikcelaks](https://github.com/Ikcelaks/keyboard_layouts/tree/main)
|
||||
* [Andrew Rae](https://github.com/andrewjrae/kyria-keymap)
|
||||
* [Jonas Hietala](https://www.jonashietala.se/series/t-34/)
|
||||
|
|
BIN
assets/img/keyboards/dactyl-manuform.jpg
Normal file
BIN
assets/img/keyboards/dactyl-manuform.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 641 KiB |
BIN
assets/img/keyboards/ferris-sweep.jpg
Normal file
BIN
assets/img/keyboards/ferris-sweep.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 646 KiB |
779
assets/img/keymaps/crkbd-default.svg
Normal file
779
assets/img/keymaps/crkbd-default.svg
Normal file
|
@ -0,0 +1,779 @@
|
|||
<svg width="900" height="1379" viewBox="0 0 900 1379" class="keymap" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<style>/* inherit to force styles through use tags */
|
||||
svg path {
|
||||
fill: inherit;
|
||||
}
|
||||
|
||||
/* font and background color specifications */
|
||||
svg.keymap {
|
||||
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
|
||||
font-size: 14px;
|
||||
font-kerning: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
fill: #24292e;
|
||||
}
|
||||
|
||||
/* default key styling */
|
||||
rect.key {
|
||||
fill: #f6f8fa;
|
||||
}
|
||||
|
||||
rect.key, rect.combo {
|
||||
stroke: #c9cccf;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
/* default key side styling, only used is draw_key_sides is set */
|
||||
rect.side {
|
||||
filter: brightness(90%);
|
||||
}
|
||||
|
||||
/* color accent for combo boxes */
|
||||
rect.combo, rect.combo-separate {
|
||||
fill: #cdf;
|
||||
}
|
||||
|
||||
/* color accent for held keys */
|
||||
rect.held, rect.combo.held {
|
||||
fill: #fdd;
|
||||
}
|
||||
|
||||
/* color accent for ghost (optional) keys */
|
||||
rect.ghost, rect.combo.ghost {
|
||||
stroke-dasharray: 4, 4;
|
||||
stroke-width: 2;
|
||||
}
|
||||
|
||||
text {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: middle;
|
||||
}
|
||||
|
||||
/* styling for layer labels */
|
||||
text.label {
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
stroke: white;
|
||||
stroke-width: 4;
|
||||
paint-order: stroke;
|
||||
}
|
||||
|
||||
/* styling for optional footer */
|
||||
text.footer {
|
||||
text-anchor: end;
|
||||
dominant-baseline: auto;
|
||||
stroke: white;
|
||||
stroke-width: 4;
|
||||
paint-order: stroke;
|
||||
}
|
||||
|
||||
/* styling for combo tap, and key non-tap label text */
|
||||
text.combo, text.hold, text.shifted, text.left, text.right {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
text.hold {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: auto;
|
||||
}
|
||||
|
||||
text.shifted {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: hanging;
|
||||
}
|
||||
|
||||
text.left {
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
text.right {
|
||||
text-anchor: end;
|
||||
}
|
||||
|
||||
text.layer-activator {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* styling for hold/shifted label text in combo box */
|
||||
text.combo.hold, text.combo.shifted, text.combo.left, text.combo.right {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
/* lighter symbol for transparent keys */
|
||||
text.trans {
|
||||
fill: #7b7e81;
|
||||
}
|
||||
|
||||
/* styling for combo dendrons */
|
||||
path.combo {
|
||||
stroke-width: 1;
|
||||
stroke: gray;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
/* Start Tabler Icons Cleanup */
|
||||
/* cannot use height/width with glyphs */
|
||||
.icon-tabler > path {
|
||||
fill: inherit;
|
||||
stroke: inherit;
|
||||
stroke-width: 2;
|
||||
}
|
||||
/* hide tabler's default box */
|
||||
.icon-tabler > path[stroke="none"][fill="none"] {
|
||||
visibility: hidden;
|
||||
}
|
||||
/* End Tabler Icons Cleanup */
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
svg.keymap { fill: #d1d6db; }
|
||||
rect.key { fill: #3f4750; }
|
||||
rect.key, rect.combo { stroke: #60666c; }
|
||||
rect.combo, rect.combo-separate { fill: #1f3d7a; }
|
||||
rect.held, rect.combo.held { fill: #854747; }
|
||||
text.label, text.footer { stroke: black; }
|
||||
text.trans { fill: #7e8184; }
|
||||
path.combo { stroke: #7f7f7f; }
|
||||
|
||||
}</style>
|
||||
<g transform="translate(30, 0)" class="layer-QWERTY">
|
||||
<text x="0" y="28" class="label" id="QWERTY">QWERTY:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 49)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Tab</text>
|
||||
</g>
|
||||
<g transform="translate(84, 49)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Q</text>
|
||||
</g>
|
||||
<g transform="translate(140, 35)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">W</text>
|
||||
</g>
|
||||
<g transform="translate(196, 28)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">E</text>
|
||||
</g>
|
||||
<g transform="translate(252, 35)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">R</text>
|
||||
</g>
|
||||
<g transform="translate(308, 42)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">T</text>
|
||||
</g>
|
||||
<g transform="translate(532, 42)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Y</text>
|
||||
</g>
|
||||
<g transform="translate(588, 35)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">U</text>
|
||||
</g>
|
||||
<g transform="translate(644, 28)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">I</text>
|
||||
</g>
|
||||
<g transform="translate(700, 35)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">O</text>
|
||||
</g>
|
||||
<g transform="translate(756, 49)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">P</text>
|
||||
</g>
|
||||
<g transform="translate(812, 49)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Bspace</text>
|
||||
</g>
|
||||
<g transform="translate(28, 105)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LCtrl</text>
|
||||
</g>
|
||||
<g transform="translate(84, 105)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">A</text>
|
||||
</g>
|
||||
<g transform="translate(140, 91)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">S</text>
|
||||
</g>
|
||||
<g transform="translate(196, 84)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">D</text>
|
||||
</g>
|
||||
<g transform="translate(252, 91)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">F</text>
|
||||
</g>
|
||||
<g transform="translate(308, 98)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">G</text>
|
||||
</g>
|
||||
<g transform="translate(532, 98)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">H</text>
|
||||
</g>
|
||||
<g transform="translate(588, 91)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">J</text>
|
||||
</g>
|
||||
<g transform="translate(644, 84)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">K</text>
|
||||
</g>
|
||||
<g transform="translate(700, 91)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">L</text>
|
||||
</g>
|
||||
<g transform="translate(756, 105)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">;</text>
|
||||
</g>
|
||||
<g transform="translate(812, 105)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">'</text>
|
||||
</g>
|
||||
<g transform="translate(28, 161)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LShft</text>
|
||||
</g>
|
||||
<g transform="translate(84, 161)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Z</text>
|
||||
</g>
|
||||
<g transform="translate(140, 147)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">X</text>
|
||||
</g>
|
||||
<g transform="translate(196, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">C</text>
|
||||
</g>
|
||||
<g transform="translate(252, 147)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">V</text>
|
||||
</g>
|
||||
<g transform="translate(308, 154)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">B</text>
|
||||
</g>
|
||||
<g transform="translate(532, 154)" class="key keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">N</text>
|
||||
</g>
|
||||
<g transform="translate(588, 147)" class="key keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">M</text>
|
||||
</g>
|
||||
<g transform="translate(644, 140)" class="key keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">,</text>
|
||||
</g>
|
||||
<g transform="translate(700, 147)" class="key keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">.</text>
|
||||
</g>
|
||||
<g transform="translate(756, 161)" class="key keypos-34">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">/</text>
|
||||
</g>
|
||||
<g transform="translate(812, 161)" class="key keypos-35">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Esc</text>
|
||||
</g>
|
||||
<g transform="translate(224, 205)" class="key keypos-36">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LGui</text>
|
||||
</g>
|
||||
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<a href="#FN1">
|
||||
<text x="0" y="0" class="key tap layer-activator">FN1</text>
|
||||
</a></g>
|
||||
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Space</text>
|
||||
</g>
|
||||
<g transform="translate(489, 224) rotate(-30.0)" class="key keypos-39">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Enter</text>
|
||||
</g>
|
||||
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<a href="#FN2">
|
||||
<text x="0" y="0" class="key tap layer-activator">FN2</text>
|
||||
</a></g>
|
||||
<g transform="translate(616, 205)" class="key keypos-41">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">RAlt</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 331)" class="layer-FN1">
|
||||
<text x="0" y="28" class="label" id="FN1">FN1:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 49)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Tab</text>
|
||||
</g>
|
||||
<g transform="translate(84, 49)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">1</text>
|
||||
</g>
|
||||
<g transform="translate(140, 35)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">2</text>
|
||||
</g>
|
||||
<g transform="translate(196, 28)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">3</text>
|
||||
</g>
|
||||
<g transform="translate(252, 35)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">4</text>
|
||||
</g>
|
||||
<g transform="translate(308, 42)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">5</text>
|
||||
</g>
|
||||
<g transform="translate(532, 42)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">6</text>
|
||||
</g>
|
||||
<g transform="translate(588, 35)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">7</text>
|
||||
</g>
|
||||
<g transform="translate(644, 28)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">8</text>
|
||||
</g>
|
||||
<g transform="translate(700, 35)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">9</text>
|
||||
</g>
|
||||
<g transform="translate(756, 49)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">0</text>
|
||||
</g>
|
||||
<g transform="translate(812, 49)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Bspace</text>
|
||||
</g>
|
||||
<g transform="translate(28, 105)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LCtrl</text>
|
||||
</g>
|
||||
<g transform="translate(84, 105)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 91)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 84)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 91)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 98)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 98)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Left</text>
|
||||
</g>
|
||||
<g transform="translate(588, 91)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Down</text>
|
||||
</g>
|
||||
<g transform="translate(644, 84)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Up</text>
|
||||
</g>
|
||||
<g transform="translate(700, 91)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Right</text>
|
||||
</g>
|
||||
<g transform="translate(756, 105)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(812, 105)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(28, 161)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LShft</text>
|
||||
</g>
|
||||
<g transform="translate(84, 161)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 147)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 147)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 154)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 154)" class="key keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(588, 147)" class="key keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(644, 140)" class="key keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(700, 147)" class="key keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(756, 161)" class="key keypos-34">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(812, 161)" class="key keypos-35">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(224, 205)" class="key keypos-36">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LGui</text>
|
||||
</g>
|
||||
<g transform="translate(286, 213) rotate(15.0)" class="key held keypos-37">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key held"/>
|
||||
</g>
|
||||
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Space</text>
|
||||
</g>
|
||||
<g transform="translate(489, 224) rotate(-30.0)" class="key keypos-39">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Enter</text>
|
||||
</g>
|
||||
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<a href="#FN3">
|
||||
<text x="0" y="0" class="key tap layer-activator">FN3</text>
|
||||
</a></g>
|
||||
<g transform="translate(616, 205)" class="key keypos-41">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">RAlt</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 661)" class="layer-FN2">
|
||||
<text x="0" y="28" class="label" id="FN2">FN2:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 49)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Tab</text>
|
||||
</g>
|
||||
<g transform="translate(84, 49)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">!</text>
|
||||
</g>
|
||||
<g transform="translate(140, 35)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">@</text>
|
||||
</g>
|
||||
<g transform="translate(196, 28)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">#</text>
|
||||
</g>
|
||||
<g transform="translate(252, 35)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">$</text>
|
||||
</g>
|
||||
<g transform="translate(308, 42)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">%</text>
|
||||
</g>
|
||||
<g transform="translate(532, 42)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">^</text>
|
||||
</g>
|
||||
<g transform="translate(588, 35)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">&</text>
|
||||
</g>
|
||||
<g transform="translate(644, 28)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">*</text>
|
||||
</g>
|
||||
<g transform="translate(700, 35)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">(</text>
|
||||
</g>
|
||||
<g transform="translate(756, 49)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">)</text>
|
||||
</g>
|
||||
<g transform="translate(812, 49)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Bspace</text>
|
||||
</g>
|
||||
<g transform="translate(28, 105)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LCtrl</text>
|
||||
</g>
|
||||
<g transform="translate(84, 105)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 91)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 84)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 91)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 98)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 98)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">-</text>
|
||||
</g>
|
||||
<g transform="translate(588, 91)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">=</text>
|
||||
</g>
|
||||
<g transform="translate(644, 84)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">[</text>
|
||||
</g>
|
||||
<g transform="translate(700, 91)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">]</text>
|
||||
</g>
|
||||
<g transform="translate(756, 105)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">\</text>
|
||||
</g>
|
||||
<g transform="translate(812, 105)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">`</text>
|
||||
</g>
|
||||
<g transform="translate(28, 161)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LShft</text>
|
||||
</g>
|
||||
<g transform="translate(84, 161)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 147)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 147)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 154)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 154)" class="key keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">_</text>
|
||||
</g>
|
||||
<g transform="translate(588, 147)" class="key keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">+</text>
|
||||
</g>
|
||||
<g transform="translate(644, 140)" class="key keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">{</text>
|
||||
</g>
|
||||
<g transform="translate(700, 147)" class="key keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">}</text>
|
||||
</g>
|
||||
<g transform="translate(756, 161)" class="key keypos-34">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">|</text>
|
||||
</g>
|
||||
<g transform="translate(812, 161)" class="key keypos-35">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">~</text>
|
||||
</g>
|
||||
<g transform="translate(224, 205)" class="key keypos-36">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LGui</text>
|
||||
</g>
|
||||
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<a href="#FN3">
|
||||
<text x="0" y="0" class="key tap layer-activator">FN3</text>
|
||||
</a></g>
|
||||
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Space</text>
|
||||
</g>
|
||||
<g transform="translate(489, 224) rotate(-30.0)" class="key keypos-39">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Enter</text>
|
||||
</g>
|
||||
<g transform="translate(554, 213) rotate(-15.0)" class="key held keypos-40">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key held"/>
|
||||
</g>
|
||||
<g transform="translate(616, 205)" class="key keypos-41">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">RAlt</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 992)" class="layer-FN3">
|
||||
<text x="0" y="28" class="label" id="FN3">FN3:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 49)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Boot</text>
|
||||
</g>
|
||||
<g transform="translate(84, 49)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 35)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 28)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 35)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 42)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 42)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(588, 35)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(644, 28)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(700, 35)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(756, 49)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(812, 49)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(28, 105)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">Toggle</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(84, 105)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">HUE+</text>
|
||||
</g>
|
||||
<g transform="translate(140, 91)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">SAT+</text>
|
||||
</g>
|
||||
<g transform="translate(196, 84)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">VAL+</text>
|
||||
</g>
|
||||
<g transform="translate(252, 91)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 98)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 98)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(588, 91)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(644, 84)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(700, 91)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(756, 105)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(812, 105)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(28, 161)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">Next</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(84, 161)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">HUE-</text>
|
||||
</g>
|
||||
<g transform="translate(140, 147)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">SAT-</text>
|
||||
</g>
|
||||
<g transform="translate(196, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">VAL-</text>
|
||||
</g>
|
||||
<g transform="translate(252, 147)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(308, 154)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 154)" class="key keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(588, 147)" class="key keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(644, 140)" class="key keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(700, 147)" class="key keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(756, 161)" class="key keypos-34">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(812, 161)" class="key keypos-35">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(224, 205)" class="key keypos-36">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">LGui</text>
|
||||
</g>
|
||||
<g transform="translate(286, 213) rotate(15.0)" class="key held keypos-37">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key held"/>
|
||||
</g>
|
||||
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Space</text>
|
||||
</g>
|
||||
<g transform="translate(489, 224) rotate(-30.0)" class="key keypos-39">
|
||||
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Enter</text>
|
||||
</g>
|
||||
<g transform="translate(554, 213) rotate(-15.0)" class="key held keypos-40">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key held"/>
|
||||
</g>
|
||||
<g transform="translate(616, 205)" class="key keypos-41">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">RAlt</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text x="870.0" y="1351.0" class="footer">Created with <a href="https://github.com/caksoylar/keymap-drawer">keymap-drawer</a></text></svg>
|
After Width: | Height: | Size: 31 KiB |
813
assets/img/keymaps/ferris-sajenim.svg
Normal file
813
assets/img/keymaps/ferris-sajenim.svg
Normal file
|
@ -0,0 +1,813 @@
|
|||
<svg width="732" height="1411" viewBox="0 0 732 1411" class="keymap" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<style>/* inherit to force styles through use tags */
|
||||
svg path {
|
||||
fill: inherit;
|
||||
}
|
||||
|
||||
/* font and background color specifications */
|
||||
svg.keymap {
|
||||
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
|
||||
font-size: 14px;
|
||||
font-kerning: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
fill: #24292e;
|
||||
}
|
||||
|
||||
/* default key styling */
|
||||
rect.key {
|
||||
fill: #f6f8fa;
|
||||
}
|
||||
|
||||
rect.key, rect.combo {
|
||||
stroke: #c9cccf;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
/* default key side styling, only used is draw_key_sides is set */
|
||||
rect.side {
|
||||
filter: brightness(90%);
|
||||
}
|
||||
|
||||
/* color accent for combo boxes */
|
||||
rect.combo, rect.combo-separate {
|
||||
fill: #cdf;
|
||||
}
|
||||
|
||||
/* color accent for held keys */
|
||||
rect.held, rect.combo.held {
|
||||
fill: #fdd;
|
||||
}
|
||||
|
||||
/* color accent for ghost (optional) keys */
|
||||
rect.ghost, rect.combo.ghost {
|
||||
stroke-dasharray: 4, 4;
|
||||
stroke-width: 2;
|
||||
}
|
||||
|
||||
text {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: middle;
|
||||
}
|
||||
|
||||
/* styling for layer labels */
|
||||
text.label {
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
stroke: white;
|
||||
stroke-width: 4;
|
||||
paint-order: stroke;
|
||||
}
|
||||
|
||||
/* styling for optional footer */
|
||||
text.footer {
|
||||
text-anchor: end;
|
||||
dominant-baseline: auto;
|
||||
stroke: white;
|
||||
stroke-width: 4;
|
||||
paint-order: stroke;
|
||||
}
|
||||
|
||||
/* styling for combo tap, and key non-tap label text */
|
||||
text.combo, text.hold, text.shifted, text.left, text.right {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
text.hold {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: auto;
|
||||
}
|
||||
|
||||
text.shifted {
|
||||
text-anchor: middle;
|
||||
dominant-baseline: hanging;
|
||||
}
|
||||
|
||||
text.left {
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
text.right {
|
||||
text-anchor: end;
|
||||
}
|
||||
|
||||
text.layer-activator {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* styling for hold/shifted label text in combo box */
|
||||
text.combo.hold, text.combo.shifted, text.combo.left, text.combo.right {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
/* lighter symbol for transparent keys */
|
||||
text.trans {
|
||||
fill: #7b7e81;
|
||||
}
|
||||
|
||||
/* styling for combo dendrons */
|
||||
path.combo {
|
||||
stroke-width: 1;
|
||||
stroke: gray;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
/* Start Tabler Icons Cleanup */
|
||||
/* cannot use height/width with glyphs */
|
||||
.icon-tabler > path {
|
||||
fill: inherit;
|
||||
stroke: inherit;
|
||||
stroke-width: 2;
|
||||
}
|
||||
/* hide tabler's default box */
|
||||
.icon-tabler > path[stroke="none"][fill="none"] {
|
||||
visibility: hidden;
|
||||
}
|
||||
/* End Tabler Icons Cleanup */
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
svg.keymap { fill: #d1d6db; }
|
||||
rect.key { fill: #3f4750; }
|
||||
rect.key, rect.combo { stroke: #60666c; }
|
||||
rect.combo, rect.combo-separate { fill: #1f3d7a; }
|
||||
rect.held, rect.combo.held { fill: #854747; }
|
||||
text.label, text.footer { stroke: black; }
|
||||
text.trans { fill: #7e8184; }
|
||||
path.combo { stroke: #7f7f7f; }
|
||||
|
||||
}</style>
|
||||
<g transform="translate(30, 0)" class="layer-CANARY">
|
||||
<text x="0" y="28" class="label" id="CANARY">CANARY:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 81)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">w</text>
|
||||
</g>
|
||||
<g transform="translate(84, 46)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">l</text>
|
||||
</g>
|
||||
<g transform="translate(140, 28)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">y</text>
|
||||
</g>
|
||||
<g transform="translate(196, 44)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">p</text>
|
||||
</g>
|
||||
<g transform="translate(252, 52)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">b</text>
|
||||
</g>
|
||||
<g transform="translate(420, 52)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">z</text>
|
||||
</g>
|
||||
<g transform="translate(476, 44)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">f</text>
|
||||
</g>
|
||||
<g transform="translate(532, 28)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">o</text>
|
||||
</g>
|
||||
<g transform="translate(588, 46)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">u</text>
|
||||
</g>
|
||||
<g transform="translate(644, 81)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">'</text>
|
||||
</g>
|
||||
<g transform="translate(28, 137)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">c</text>
|
||||
<text x="0" y="24" class="key hold">Shift</text>
|
||||
</g>
|
||||
<g transform="translate(84, 102)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">r</text>
|
||||
<text x="0" y="24" class="key hold">Ctrl</text>
|
||||
</g>
|
||||
<g transform="translate(140, 84)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">s</text>
|
||||
<text x="0" y="24" class="key hold">Alt</text>
|
||||
</g>
|
||||
<g transform="translate(196, 100)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">t</text>
|
||||
<text x="0" y="24" class="key hold">Gui</text>
|
||||
</g>
|
||||
<g transform="translate(252, 108)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">g</text>
|
||||
</g>
|
||||
<g transform="translate(420, 108)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">m</text>
|
||||
</g>
|
||||
<g transform="translate(476, 100)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">n</text>
|
||||
<text x="0" y="24" class="key hold">Gui</text>
|
||||
</g>
|
||||
<g transform="translate(532, 84)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">e</text>
|
||||
<text x="0" y="24" class="key hold">Alt</text>
|
||||
</g>
|
||||
<g transform="translate(588, 102)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">i</text>
|
||||
<text x="0" y="24" class="key hold">Ctrl</text>
|
||||
</g>
|
||||
<g transform="translate(644, 137)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">a</text>
|
||||
<text x="0" y="24" class="key hold">Shift</text>
|
||||
</g>
|
||||
<g transform="translate(28, 193)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">q</text>
|
||||
</g>
|
||||
<g transform="translate(84, 158)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">j</text>
|
||||
</g>
|
||||
<g transform="translate(140, 140)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">v</text>
|
||||
</g>
|
||||
<g transform="translate(196, 156)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">d</text>
|
||||
<text x="0" y="24" class="key hold">Sym</text>
|
||||
</g>
|
||||
<g transform="translate(252, 164)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">k</text>
|
||||
</g>
|
||||
<g transform="translate(420, 164)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">x</text>
|
||||
</g>
|
||||
<g transform="translate(476, 156)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">h</text>
|
||||
<text x="0" y="24" class="key hold">Sym</text>
|
||||
</g>
|
||||
<g transform="translate(532, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">/</text>
|
||||
</g>
|
||||
<g transform="translate(588, 158)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">,</text>
|
||||
</g>
|
||||
<g transform="translate(644, 193)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">.</text>
|
||||
</g>
|
||||
<g transform="translate(221, 221) rotate(15.0)" class="key keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Repeat</text>
|
||||
<text x="0" y="24" class="key hold">Nav</text>
|
||||
</g>
|
||||
<g transform="translate(279, 245) rotate(30.0)" class="key keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Spc</text>
|
||||
</g>
|
||||
<g transform="translate(393, 245) rotate(-30.0)" class="key keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Bspc</text>
|
||||
</g>
|
||||
<g transform="translate(451, 221) rotate(-15.0)" class="key keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Magic</text>
|
||||
<text x="0" y="24" class="key hold">Num</text>
|
||||
</g>
|
||||
<g class="combo combopos-0">
|
||||
<rect rx="6" ry="6" x="14" y="96" width="28" height="26" class="combo"/>
|
||||
<text x="28" y="109" class="combo tap">1</text>
|
||||
</g>
|
||||
<g class="combo combopos-1">
|
||||
<rect rx="6" ry="6" x="70" y="61" width="28" height="26" class="combo"/>
|
||||
<text x="84" y="74" class="combo tap">2</text>
|
||||
</g>
|
||||
<g class="combo combopos-2">
|
||||
<rect rx="6" ry="6" x="126" y="43" width="28" height="26" class="combo"/>
|
||||
<text x="140" y="56" class="combo tap">3</text>
|
||||
</g>
|
||||
<g class="combo combopos-3">
|
||||
<rect rx="6" ry="6" x="154" y="135" width="28" height="26" class="combo"/>
|
||||
<text x="168" y="148" class="combo tap">M-a</text>
|
||||
</g>
|
||||
<g class="combo combopos-4">
|
||||
<rect rx="6" ry="6" x="182" y="59" width="28" height="26" class="combo"/>
|
||||
<text x="196" y="72" class="combo tap">4</text>
|
||||
</g>
|
||||
<g class="combo combopos-5">
|
||||
<rect rx="6" ry="6" x="238" y="67" width="28" height="26" class="combo"/>
|
||||
<text x="252" y="80" class="combo tap">5</text>
|
||||
</g>
|
||||
<g class="combo combopos-6">
|
||||
<rect rx="6" ry="6" x="406" y="67" width="28" height="26" class="combo"/>
|
||||
<text x="420" y="80" class="combo tap">6</text>
|
||||
</g>
|
||||
<g class="combo combopos-7">
|
||||
<rect rx="6" ry="6" x="462" y="59" width="28" height="26" class="combo"/>
|
||||
<text x="476" y="72" class="combo tap">7</text>
|
||||
</g>
|
||||
<g class="combo combopos-8">
|
||||
<rect rx="6" ry="6" x="490" y="135" width="28" height="26" class="combo"/>
|
||||
<text x="504" y="148" class="combo tap">M1-a</text>
|
||||
</g>
|
||||
<g class="combo combopos-9">
|
||||
<rect rx="6" ry="6" x="518" y="43" width="28" height="26" class="combo"/>
|
||||
<text x="532" y="56" class="combo tap">8</text>
|
||||
</g>
|
||||
<g class="combo combopos-10">
|
||||
<rect rx="6" ry="6" x="574" y="61" width="28" height="26" class="combo"/>
|
||||
<text x="588" y="74" class="combo tap">9</text>
|
||||
</g>
|
||||
<g class="combo combopos-11">
|
||||
<rect rx="6" ry="6" x="630" y="96" width="28" height="26" class="combo"/>
|
||||
<text x="644" y="109" class="combo tap">0</text>
|
||||
</g>
|
||||
<g class="combo combopos-12">
|
||||
<rect rx="6" ry="6" x="98" y="80" width="28" height="26" class="combo"/>
|
||||
<text x="112" y="93" class="combo tap">Tab</text>
|
||||
</g>
|
||||
<g class="combo combopos-13">
|
||||
<rect rx="6" ry="6" x="154" y="79" width="28" height="26" class="combo"/>
|
||||
<text x="168" y="92" class="combo tap">C-w</text>
|
||||
</g>
|
||||
<g class="combo combopos-14">
|
||||
<rect rx="6" ry="6" x="490" y="79" width="28" height="26" class="combo"/>
|
||||
<text x="504" y="92" class="combo tap">Esc</text>
|
||||
</g>
|
||||
<g class="combo combopos-15">
|
||||
<rect rx="6" ry="6" x="546" y="80" width="28" height="26" class="combo"/>
|
||||
<text x="560" y="93" class="combo tap">Ent</text>
|
||||
</g>
|
||||
<g class="combo combopos-16">
|
||||
<rect rx="6" ry="6" x="98" y="136" width="28" height="26" class="combo"/>
|
||||
<text x="112" y="149" class="combo tap">:</text>
|
||||
</g>
|
||||
<g class="combo combopos-17">
|
||||
<rect rx="6" ry="6" x="210" y="147" width="28" height="26" class="combo"/>
|
||||
<text x="224" y="160" class="combo tap">
|
||||
<tspan x="224" dy="-0.6em">OS</tspan><tspan x="224" dy="1.2em">Shift</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g class="combo combopos-18">
|
||||
<rect rx="6" ry="6" x="434" y="147" width="28" height="26" class="combo"/>
|
||||
<text x="448" y="160" class="combo tap">
|
||||
<tspan x="448" dy="-0.6em">OS</tspan><tspan x="448" dy="1.2em">Shift</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g class="combo combopos-19">
|
||||
<rect rx="6" ry="6" x="546" y="136" width="28" height="26" class="combo"/>
|
||||
<text x="560" y="149" class="combo tap">\</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 339)" class="layer-NAV">
|
||||
<text x="0" y="28" class="label" id="NAV">NAV:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 81)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(84, 46)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Prev</tspan><tspan x="0" dy="1.2em">Track</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(140, 28)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Play</tspan><tspan x="0" dy="1.2em">Pause</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(196, 44)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Next</tspan><tspan x="0" dy="1.2em">Track</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(252, 52)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Vol</tspan><tspan x="0" dy="1.2em">Up</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(420, 52)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Page</tspan><tspan x="0" dy="1.2em">Up</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(476, 44)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Home</text>
|
||||
</g>
|
||||
<g transform="translate(532, 28)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Up</text>
|
||||
</g>
|
||||
<g transform="translate(588, 46)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">End</text>
|
||||
</g>
|
||||
<g transform="translate(644, 81)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(28, 137)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Shift</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(84, 102)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Ctrl</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(140, 84)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Alt</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(196, 100)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Gui</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(252, 108)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Vol</tspan><tspan x="0" dy="1.2em">Down</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(420, 108)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">Page</tspan><tspan x="0" dy="1.2em">Down</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(476, 100)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Left</text>
|
||||
</g>
|
||||
<g transform="translate(532, 84)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Down</text>
|
||||
</g>
|
||||
<g transform="translate(588, 102)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Right</text>
|
||||
</g>
|
||||
<g transform="translate(644, 137)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">Del</text>
|
||||
</g>
|
||||
<g transform="translate(28, 193)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(84, 158)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(140, 140)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(196, 156)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(252, 164)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(420, 164)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 156)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(532, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(588, 158)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(644, 193)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(221, 221) rotate(15.0)" class="key trans keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Repeat</text>
|
||||
<text x="0" y="24" class="key trans hold">Nav</text>
|
||||
</g>
|
||||
<g transform="translate(279, 245) rotate(30.0)" class="key trans keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Spc</text>
|
||||
</g>
|
||||
<g transform="translate(393, 245) rotate(-30.0)" class="key trans keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Bspc</text>
|
||||
</g>
|
||||
<g transform="translate(451, 221) rotate(-15.0)" class="key trans keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Magic</text>
|
||||
<text x="0" y="24" class="key trans hold">Num</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 678)" class="layer-NUM">
|
||||
<text x="0" y="28" class="label" id="NUM">NUM:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 81)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">(</text>
|
||||
</g>
|
||||
<g transform="translate(84, 46)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">7</text>
|
||||
</g>
|
||||
<g transform="translate(140, 28)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">8</text>
|
||||
</g>
|
||||
<g transform="translate(196, 44)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">9</text>
|
||||
</g>
|
||||
<g transform="translate(252, 52)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">)</text>
|
||||
</g>
|
||||
<g transform="translate(420, 52)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 44)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">*</text>
|
||||
</g>
|
||||
<g transform="translate(532, 28)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">%</text>
|
||||
</g>
|
||||
<g transform="translate(588, 46)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">/</text>
|
||||
</g>
|
||||
<g transform="translate(644, 81)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(28, 137)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">0</text>
|
||||
</g>
|
||||
<g transform="translate(84, 102)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">4</text>
|
||||
</g>
|
||||
<g transform="translate(140, 84)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">5</text>
|
||||
</g>
|
||||
<g transform="translate(196, 100)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">6</text>
|
||||
</g>
|
||||
<g transform="translate(252, 108)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">.</text>
|
||||
</g>
|
||||
<g transform="translate(420, 108)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 100)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Gui</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(532, 84)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Alt</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(588, 102)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Ctrl</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(644, 137)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">
|
||||
<tspan x="0" dy="-0.6em">OS</tspan><tspan x="0" dy="1.2em">Shift</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g transform="translate(28, 193)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap"><</text>
|
||||
</g>
|
||||
<g transform="translate(84, 158)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">1</text>
|
||||
</g>
|
||||
<g transform="translate(140, 140)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">2</text>
|
||||
</g>
|
||||
<g transform="translate(196, 156)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">3</text>
|
||||
</g>
|
||||
<g transform="translate(252, 164)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">></text>
|
||||
</g>
|
||||
<g transform="translate(420, 164)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 156)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">+</text>
|
||||
</g>
|
||||
<g transform="translate(532, 140)" class="key keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">=</text>
|
||||
</g>
|
||||
<g transform="translate(588, 158)" class="key keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">-</text>
|
||||
</g>
|
||||
<g transform="translate(644, 193)" class="key keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(221, 221) rotate(15.0)" class="key trans keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Repeat</text>
|
||||
<text x="0" y="24" class="key trans hold">Nav</text>
|
||||
</g>
|
||||
<g transform="translate(279, 245) rotate(30.0)" class="key trans keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Spc</text>
|
||||
</g>
|
||||
<g transform="translate(393, 245) rotate(-30.0)" class="key trans keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Bspc</text>
|
||||
</g>
|
||||
<g transform="translate(451, 221) rotate(-15.0)" class="key trans keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Magic</text>
|
||||
<text x="0" y="24" class="key trans hold">Num</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(30, 1016)" class="layer-SYM">
|
||||
<text x="0" y="28" class="label" id="SYM">SYM:</text>
|
||||
<g transform="translate(0, 56)">
|
||||
<g transform="translate(28, 81)" class="key keypos-0">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">`</text>
|
||||
</g>
|
||||
<g transform="translate(84, 46)" class="key keypos-1">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap"><</text>
|
||||
</g>
|
||||
<g transform="translate(140, 28)" class="key keypos-2">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">-</text>
|
||||
</g>
|
||||
<g transform="translate(196, 44)" class="key keypos-3">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">></text>
|
||||
</g>
|
||||
<g transform="translate(252, 52)" class="key keypos-4">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(420, 52)" class="key keypos-5">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 44)" class="key keypos-6">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">[</text>
|
||||
</g>
|
||||
<g transform="translate(532, 28)" class="key keypos-7">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">_</text>
|
||||
</g>
|
||||
<g transform="translate(588, 46)" class="key keypos-8">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">]</text>
|
||||
</g>
|
||||
<g transform="translate(644, 81)" class="key keypos-9">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">+</text>
|
||||
</g>
|
||||
<g transform="translate(28, 137)" class="key keypos-10">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">!</text>
|
||||
</g>
|
||||
<g transform="translate(84, 102)" class="key keypos-11">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">(</text>
|
||||
</g>
|
||||
<g transform="translate(140, 84)" class="key keypos-12">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">=</text>
|
||||
</g>
|
||||
<g transform="translate(196, 100)" class="key keypos-13">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">)</text>
|
||||
</g>
|
||||
<g transform="translate(252, 108)" class="key keypos-14">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">#</text>
|
||||
</g>
|
||||
<g transform="translate(420, 108)" class="key keypos-15">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">%</text>
|
||||
</g>
|
||||
<g transform="translate(476, 100)" class="key keypos-16">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">{</text>
|
||||
</g>
|
||||
<g transform="translate(532, 84)" class="key keypos-17">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">$</text>
|
||||
</g>
|
||||
<g transform="translate(588, 102)" class="key keypos-18">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">}</text>
|
||||
</g>
|
||||
<g transform="translate(644, 137)" class="key keypos-19">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">;</text>
|
||||
</g>
|
||||
<g transform="translate(28, 193)" class="key keypos-20">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">|</text>
|
||||
</g>
|
||||
<g transform="translate(84, 158)" class="key keypos-21">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">&</text>
|
||||
</g>
|
||||
<g transform="translate(140, 140)" class="key keypos-22">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">^</text>
|
||||
</g>
|
||||
<g transform="translate(196, 156)" class="key keypos-23">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">@</text>
|
||||
</g>
|
||||
<g transform="translate(252, 164)" class="key keypos-24">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(420, 164)" class="key keypos-25">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
</g>
|
||||
<g transform="translate(476, 156)" class="key keypos-26">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
|
||||
<text x="0" y="0" class="key tap">*</text>
|
||||
</g>
|
||||
<g transform="translate(532, 140)" class="key trans keypos-27">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">/</text>
|
||||
</g>
|
||||
<g transform="translate(588, 158)" class="key trans keypos-28">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">,</text>
|
||||
</g>
|
||||
<g transform="translate(644, 193)" class="key trans keypos-29">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">.</text>
|
||||
</g>
|
||||
<g transform="translate(221, 221) rotate(15.0)" class="key trans keypos-30">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Repeat</text>
|
||||
<text x="0" y="24" class="key trans hold">Nav</text>
|
||||
</g>
|
||||
<g transform="translate(279, 245) rotate(30.0)" class="key trans keypos-31">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Spc</text>
|
||||
</g>
|
||||
<g transform="translate(393, 245) rotate(-30.0)" class="key trans keypos-32">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Bspc</text>
|
||||
</g>
|
||||
<g transform="translate(451, 221) rotate(-15.0)" class="key trans keypos-33">
|
||||
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans"/>
|
||||
<text x="0" y="0" class="key trans tap">Magic</text>
|
||||
<text x="0" y="24" class="key trans hold">Num</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 32 KiB |
50
assets/keymap-drawer/ferris-sajenim.yaml
Normal file
50
assets/keymap-drawer/ferris-sajenim.yaml
Normal file
|
@ -0,0 +1,50 @@
|
|||
layout:
|
||||
qmk_keyboard: ferris/sweep
|
||||
layout_name: LAYOUT_split_3x5_2
|
||||
layers:
|
||||
CANARY:
|
||||
- [w, l, y, p, b, z, f, o, u, "'"]
|
||||
- [{h: Shift, t: c}, {h: Ctrl, t: r}, {h: Alt, t: s}, {h: Gui, t: t}, g, m, {h: Gui, t: n}, {h: Alt, t: e}, {h: Ctrl, t: i}, {h: Shift, t: a}]
|
||||
- [q, j, v, {h: Sym, t: d}, k, x, {h: Sym, t: h}, "/", ",", "."]
|
||||
- [{h: Nav, t: Repeat}, Spc, Bspc, {h: Num, t: Magic}]
|
||||
|
||||
NAV:
|
||||
- [Null, Prev Track, Play Pause, Next Track, Vol Up, Page Up, Home, Up, End, Null]
|
||||
- [OS Shift, OS Ctrl, OS Alt, OS Gui, Vol Down, Page Down, Left, Down, Right, Del]
|
||||
- [Null, Null, Null, Null, Null, Null, Null, Null, Null, Null]
|
||||
- [{h: Nav, t: Repeat, type: trans}, {t: Spc, type: trans}, {t: Bspc, type: trans}, {h: Num, t: Magic, type: trans}]
|
||||
|
||||
NUM:
|
||||
- ["(", 7, 8, 9, ")", Null, "*", "%", "/", Null]
|
||||
- [0, 4, 5, 6, ".", Null, OS Gui, OS Alt, OS Ctrl, OS Shift]
|
||||
- ["<", 1, 2, 3, ">", Null, "+", "=", "-", Null]
|
||||
- [{h: Nav, t: Repeat, type: trans}, {t: Spc, type: trans}, {t: Bspc, type: trans}, {h: Num, t: Magic, type: trans}]
|
||||
|
||||
SYM:
|
||||
- ["`", "<", "-", ">", Null, Null, "[", "_", "]", "+"]
|
||||
- ["!", "(", "=", ")", "#", "%", "{", "$", "}", ";"]
|
||||
- ["|", "&", "^", "@", Null, Null, "*", {t: "/", type: trans}, {t: ",", type: trans}, {t: ".", type: trans}]
|
||||
- [{h: Nav, t: Repeat, type: trans}, {t: Spc, type: trans}, {t: Bspc, type: trans}, {h: Num, t: Magic, type: trans}]
|
||||
|
||||
combos:
|
||||
- {p: [0, 10], k: "1", l: ["CANARY"]}
|
||||
- {p: [1, 11], k: "2", l: ["CANARY"]}
|
||||
- {p: [2, 12], k: "3", l: ["CANARY"]}
|
||||
- {p: [3, 13], k: "4", l: ["CANARY"]}
|
||||
- {p: [4, 14], k: "5", l: ["CANARY"]}
|
||||
- {p: [5, 15], k: "6", l: ["CANARY"]}
|
||||
- {p: [6, 16], k: "7", l: ["CANARY"]}
|
||||
- {p: [7, 17], k: "8", l: ["CANARY"]}
|
||||
- {p: [8, 18], k: "9", l: ["CANARY"]}
|
||||
- {p: [9, 19], k: "0", l: ["CANARY"]}
|
||||
- {p: [11, 12], k: "Tab", l: ["CANARY"]}
|
||||
- {p: [12, 13], k: "C-w", l: ["CANARY"]}
|
||||
- {p: [16, 17], k: "Esc", l: ["CANARY"]}
|
||||
- {p: [17, 18], k: "Ent", l: ["CANARY"]}
|
||||
- {p: [21, 22], k: ":", l: ["CANARY"]}
|
||||
- {p: [22, 23], k: "M-a", l: ["CANARY"]}
|
||||
- {p: [23, 24], k: "OS Shift", l: ["CANARY"]}
|
||||
- {p: [25, 26], k: "OS Shift", l: ["CANARY"]}
|
||||
- {p: [26, 27], k: "M1-a", l: ["CANARY"]}
|
||||
- {p: [27, 28], k: "\\", l: ["CANARY"]}
|
||||
|
808
features/autocorrect_data.h
Normal file
808
features/autocorrect_data.h
Normal file
|
@ -0,0 +1,808 @@
|
|||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/*******************************************************************************
|
||||
88888888888 888 d8b .d888 d8b 888 d8b
|
||||
888 888 Y8P d88P" Y8P 888 Y8P
|
||||
888 888 888 888
|
||||
888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
|
||||
888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
|
||||
888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
|
||||
888 888 888 888 X88 888 888 888 Y8b. 888 X88
|
||||
888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
|
||||
888 888
|
||||
888 888
|
||||
888 888
|
||||
.d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
|
||||
d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
|
||||
888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
|
||||
Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
|
||||
"Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
|
||||
888
|
||||
Y8b d88P
|
||||
"Y88P"
|
||||
*******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Autocorrection dictionary (400 entries):
|
||||
// :htere -> there
|
||||
// abbout -> about
|
||||
// abotu -> about
|
||||
// baout -> about
|
||||
// :theri -> their
|
||||
// :thier -> their
|
||||
// :owudl -> would
|
||||
// woudl -> would
|
||||
// peaple -> people
|
||||
// peolpe -> people
|
||||
// peopel -> people
|
||||
// poeple -> people
|
||||
// poeople -> people
|
||||
// :hwihc -> which
|
||||
// whcih -> which
|
||||
// whihc -> which
|
||||
// whlch -> which
|
||||
// wihch -> which
|
||||
// coudl -> could
|
||||
// :htikn -> think
|
||||
// :htink -> think
|
||||
// thikn -> think
|
||||
// thiunk -> think
|
||||
// tihkn -> think
|
||||
// :olther -> other
|
||||
// :otehr -> other
|
||||
// baceause -> because
|
||||
// beacuse -> because
|
||||
// becasue -> because
|
||||
// beccause -> because
|
||||
// becouse -> because
|
||||
// becuase -> because
|
||||
// theese -> these
|
||||
// :goign -> going
|
||||
// :gonig -> going
|
||||
// :yaers -> years
|
||||
// :yeasr -> years
|
||||
// :thsoe -> those
|
||||
// shoudl -> should
|
||||
// raelly -> really
|
||||
// realy -> really
|
||||
// relaly -> really
|
||||
// bedore -> before
|
||||
// befoer -> before
|
||||
// littel -> little
|
||||
// beeing -> being
|
||||
// :hwile -> while
|
||||
// aroud -> around
|
||||
// arround -> around
|
||||
// arund -> around
|
||||
// thign -> thing
|
||||
// thigsn -> things
|
||||
// thnigs -> things
|
||||
// anohter -> another
|
||||
// beteen -> between
|
||||
// beween -> between
|
||||
// bewteen -> between
|
||||
// :eveyr -> every
|
||||
// :graet -> great
|
||||
// :agian -> again
|
||||
// :sicne -> since
|
||||
// alwasy -> always
|
||||
// alwyas -> always
|
||||
// throught -> thought
|
||||
// :acheiv -> achiev
|
||||
// almsot -> almost
|
||||
// alomst -> almost
|
||||
// chnage -> change
|
||||
// chekc -> check
|
||||
// childen -> children
|
||||
// claer -> clear
|
||||
// comapny -> company
|
||||
// contian -> contain
|
||||
// elasped -> elapsed
|
||||
// feild -> field
|
||||
// fitler -> filter
|
||||
// firts -> first
|
||||
// follwo -> follow
|
||||
// :foudn -> found
|
||||
// frequecy -> frequency
|
||||
// firend -> friend
|
||||
// freind -> friend
|
||||
// heigth -> height
|
||||
// iamge -> image
|
||||
// inital -> initial
|
||||
// intput -> input
|
||||
// laguage -> language
|
||||
// lenght -> length
|
||||
// levle -> level
|
||||
// libary -> library
|
||||
// :moeny -> money
|
||||
// mysefl -> myself
|
||||
// ouptut -> output
|
||||
// ouput -> output
|
||||
// probaly -> probably
|
||||
// probelm -> problem
|
||||
// recrod -> record
|
||||
// reponse -> response
|
||||
// reprot -> report
|
||||
// singel -> single
|
||||
// stregth -> strength
|
||||
// strengh -> strength
|
||||
// tkaes -> takes
|
||||
// therfore -> therefore
|
||||
// todya -> today
|
||||
// toghether -> together
|
||||
// unkown -> unknown
|
||||
// unqiue -> unique
|
||||
// widht -> width
|
||||
// aberation -> aberration
|
||||
// accross -> across
|
||||
// adviced -> advised
|
||||
// aledge -> allege
|
||||
// alledge -> allege
|
||||
// amature -> amateur
|
||||
// anomolous -> anomalous
|
||||
// anomoly -> anomaly
|
||||
// aparent -> apparent
|
||||
// aparrent -> apparent
|
||||
// apparant -> apparent
|
||||
// apparrent -> apparent
|
||||
// asthetic -> aesthetic
|
||||
// auxilary -> auxiliary
|
||||
// auxillary -> auxiliary
|
||||
// auxilliary -> auxiliary
|
||||
// bankrupcy -> bankruptcy
|
||||
// busness -> business
|
||||
// bussiness -> business
|
||||
// calander -> calendar
|
||||
// commitee -> committee
|
||||
// comittee -> committee
|
||||
// competance -> competence
|
||||
// competant -> competent
|
||||
// concensus -> consensus
|
||||
// cognizent -> cognizant
|
||||
// copywrite: -> copyright
|
||||
// choosen -> chosen
|
||||
// collegue -> colleague
|
||||
// excercise -> exercise
|
||||
// :grammer -> grammar
|
||||
// :guage -> gauge
|
||||
// govement -> government
|
||||
// govenment -> government
|
||||
// goverment -> government
|
||||
// governmnet -> government
|
||||
// govorment -> government
|
||||
// govornment -> government
|
||||
// guaratee -> guarantee
|
||||
// garantee -> guarantee
|
||||
// gaurantee -> guarantee
|
||||
// heirarchy -> hierarchy
|
||||
// hygeine -> hygiene
|
||||
// hypocracy -> hypocrisy
|
||||
// hypocrasy -> hypocrisy
|
||||
// hypocricy -> hypocrisy
|
||||
// hypocrit: -> hypocrite
|
||||
// looses: -> loses
|
||||
// maintence -> maintenance
|
||||
// morgage -> mortgage
|
||||
// neccesary -> necessary
|
||||
// necesary -> necessary
|
||||
// pallete -> palette
|
||||
// paralel -> parallel
|
||||
// parralel -> parallel
|
||||
// parrallel -> parallel
|
||||
// priviledge -> privilege
|
||||
// probablly -> probably
|
||||
// prominant -> prominent
|
||||
// propogate -> propagate
|
||||
// proove -> prove
|
||||
// psuedo -> pseudo
|
||||
// reciept -> receipt
|
||||
// receiev -> receiv
|
||||
// reciev -> receiv
|
||||
// recepient -> recipient
|
||||
// recipiant -> recipient
|
||||
// relevent -> relevant
|
||||
// repitition -> repetition
|
||||
// safty -> safety
|
||||
// saftey -> safety
|
||||
// seperat -> separat
|
||||
// spectogram -> spectrogram
|
||||
// symetric -> symmetric
|
||||
// tolerence -> tolerance
|
||||
// cacheing -> caching
|
||||
// complier -> compiler
|
||||
// doulbe -> double
|
||||
// dyanmic -> dynamic
|
||||
// excecut -> execut
|
||||
// failse -> false
|
||||
// fales -> false
|
||||
// fasle -> false
|
||||
// flase -> false
|
||||
// indeces -> indices
|
||||
// indecies -> indices
|
||||
// indicies -> indices
|
||||
// interator -> iterator
|
||||
// looup -> lookup
|
||||
// namesapce -> namespace
|
||||
// namespcae -> namespace
|
||||
// nulltpr -> nullptr
|
||||
// operaotr -> operator
|
||||
// overide -> override
|
||||
// ovveride -> override
|
||||
// poitner -> pointer
|
||||
// :rference -> reference
|
||||
// referece -> reference
|
||||
// singed -> signed
|
||||
// stirng -> string
|
||||
// strign -> string
|
||||
// swithc -> switch
|
||||
// swtich -> switch
|
||||
// teamplate -> template
|
||||
// tempalte -> template
|
||||
// :ture -> true
|
||||
// retrun -> return
|
||||
// retun -> return
|
||||
// reutrn -> return
|
||||
// cosnt -> const
|
||||
// virutal -> virtual
|
||||
// vitual -> virtual
|
||||
// yeild -> yield
|
||||
// :alot: -> a lot
|
||||
// :andteh -> and the
|
||||
// :andthe -> and the
|
||||
// :asthe -> as the
|
||||
// :atthe -> at the
|
||||
// abouta -> about a
|
||||
// aboutit -> about it
|
||||
// aboutthe -> about the
|
||||
// :tothe -> to the
|
||||
// didnot -> did not
|
||||
// fromthe -> from the
|
||||
// :agred -> agreed
|
||||
// :ajust -> adjust
|
||||
// :anual -> annual
|
||||
// :asign -> assign
|
||||
// :aslo: -> also
|
||||
// :casue -> cause
|
||||
// :choses -> chooses
|
||||
// :gaurd -> guard
|
||||
// :haev -> have
|
||||
// :hapen -> happen
|
||||
// :idaes -> ideas
|
||||
// :jsut: -> just
|
||||
// :jstu: -> just
|
||||
// :knwo -> know
|
||||
// :konw -> know
|
||||
// :kwno -> know
|
||||
// :ocuntry -> country
|
||||
// :ocur -> occur
|
||||
// :socre -> score
|
||||
// :szie -> size
|
||||
// :the:the: -> the
|
||||
// :turth -> truth
|
||||
// :uesd: -> used
|
||||
// :usally -> usually
|
||||
// abilties -> abilities
|
||||
// abilty -> ability
|
||||
// abvove -> above
|
||||
// accesories -> accessories
|
||||
// accomodate -> accommodate
|
||||
// acommodate -> accommodate
|
||||
// acomplish -> accomplish
|
||||
// actualy -> actually
|
||||
// acurate -> accurate
|
||||
// acutally -> actually
|
||||
// addtion -> addition
|
||||
// againnst -> against
|
||||
// aganist -> against
|
||||
// aggreed -> agreed
|
||||
// agianst -> against
|
||||
// ahppn -> happen
|
||||
// allign -> align
|
||||
// anytying -> anything
|
||||
// aquire -> acquire
|
||||
// availabe -> available
|
||||
// availaible -> available
|
||||
// availalbe -> available
|
||||
// availble -> available
|
||||
// availiable -> available
|
||||
// avalable -> available
|
||||
// avaliable -> available
|
||||
// avilable -> available
|
||||
// bandwith -> bandwidth
|
||||
// begginer -> beginner
|
||||
// beleif -> belief
|
||||
// beleive -> believe
|
||||
// belive -> believe
|
||||
// breif -> brief
|
||||
// burried -> buried
|
||||
// caluclate -> calculate
|
||||
// caluculate -> calculate
|
||||
// calulate -> calculate
|
||||
// catagory -> category
|
||||
// cauhgt -> caught
|
||||
// ceratin -> certain
|
||||
// certian -> certain
|
||||
// cheif -> chief
|
||||
// cieling -> ceiling
|
||||
// circut -> circuit
|
||||
// clasic -> classic
|
||||
// cmoputer -> computer
|
||||
// coform -> conform
|
||||
// comming: -> coming
|
||||
// considerd -> considered
|
||||
// dervied -> derived
|
||||
// desicion -> decision
|
||||
// diferent -> different
|
||||
// diferrent -> different
|
||||
// differnt -> different
|
||||
// diffrent -> different
|
||||
// divison -> division
|
||||
// effecient -> efficient
|
||||
// eligable -> eligible
|
||||
// elpased -> elapsed
|
||||
// embarass -> embarrass
|
||||
// embeded -> embedded
|
||||
// encypt -> encrypt
|
||||
// finaly -> finally
|
||||
// foriegn -> foreign
|
||||
// foward -> forward
|
||||
// fraciton -> fraction
|
||||
// fucntion -> function
|
||||
// fufill -> fulfill
|
||||
// fullfill -> fulfill
|
||||
// futher -> further
|
||||
// ganerate -> generate
|
||||
// generaly -> generally
|
||||
// greatful -> grateful
|
||||
// heigher -> higher
|
||||
// higest -> highest
|
||||
// howver -> however
|
||||
// hydogen -> hydrogen
|
||||
// importamt -> important
|
||||
// inclued -> include
|
||||
// insted -> instead
|
||||
// intrest -> interest
|
||||
// invliad -> invalid
|
||||
// largst -> largest
|
||||
// learnign -> learning
|
||||
// liasion -> liaison
|
||||
// likly -> likely
|
||||
// lisense -> license
|
||||
// listner -> listener
|
||||
// macthing -> matching
|
||||
// manefist -> manifest
|
||||
// mesage -> message
|
||||
// naturual -> natural
|
||||
// occassion -> occasion
|
||||
// occured -> occurred
|
||||
// particualr -> particular
|
||||
// paticular -> particular
|
||||
// peice -> piece
|
||||
// perhasp -> perhaps
|
||||
// perheaps -> perhaps
|
||||
// perhpas -> perhaps
|
||||
// perphas -> perhaps
|
||||
// persue -> pursue
|
||||
// posess -> possess
|
||||
// postion -> position
|
||||
// preiod -> period
|
||||
// primarly -> primarily
|
||||
// privte -> private
|
||||
// proccess -> process
|
||||
// proeprty -> property
|
||||
// propery -> property
|
||||
// realtion -> relation
|
||||
// reasearch -> research
|
||||
// recuring -> recurring
|
||||
// refered -> referred
|
||||
// regluar -> regular
|
||||
// releated -> related
|
||||
// resutl -> result
|
||||
// reuslt -> result
|
||||
// reveiw -> review
|
||||
// satisifed -> satisfied
|
||||
// scheduel -> schedule
|
||||
// sequnce -> sequence
|
||||
// similiar -> similar
|
||||
// simmilar -> similar
|
||||
// slighly -> slightly
|
||||
// somehwat -> somewhat
|
||||
// statment -> statement
|
||||
// sucess -> success
|
||||
// succsess -> success
|
||||
// sugest -> suggest
|
||||
// sumary -> summary
|
||||
// supress -> suppress
|
||||
// surpress -> suppress
|
||||
// thresold -> threshold
|
||||
// tongiht -> tonight
|
||||
// tranpose -> transpose
|
||||
// typcial -> typical
|
||||
// udpate -> update
|
||||
// ususally -> usually
|
||||
// verticies -> vertices
|
||||
// whereever -> wherever
|
||||
// wherre -> where
|
||||
// wierd -> weird
|
||||
|
||||
#define AUTOCORRECT_MIN_LENGTH 5 // "abotu"
|
||||
#define AUTOCORRECT_MAX_LENGTH 10 // "auxilliary"
|
||||
#define DICTIONARY_SIZE 5967
|
||||
|
||||
static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {
|
||||
0x6C, 0x43, 0x00, 0x04, 0xD4, 0x00, 0x06, 0xEC, 0x00, 0x07, 0x64, 0x01, 0x08, 0x0F, 0x03, 0x09,
|
||||
0xA9, 0x08, 0x0A, 0xCC, 0x08, 0x0B, 0x44, 0x09, 0x0C, 0xF6, 0x09, 0x0E, 0x00, 0x0A, 0x0F, 0x1C,
|
||||
0x0A, 0x10, 0x4F, 0x0B, 0x11, 0x81, 0x0B, 0x12, 0xAF, 0x0D, 0x13, 0xE3, 0x0D, 0x15, 0xFD, 0x0D,
|
||||
0x16, 0xC2, 0x0F, 0x17, 0x79, 0x11, 0x18, 0xC9, 0x14, 0x19, 0xD2, 0x14, 0x1A, 0x08, 0x15, 0x1C,
|
||||
0x22, 0x15, 0x00, 0x47, 0x59, 0x00, 0x08, 0x63, 0x00, 0x0A, 0x82, 0x00, 0x12, 0x8E, 0x00, 0x16,
|
||||
0x98, 0x00, 0x17, 0xA3, 0x00, 0x18, 0xCA, 0x00, 0x00, 0x16, 0x08, 0x18, 0x2C, 0x00, 0x83, 0x73,
|
||||
0x65, 0x64, 0x00, 0x4B, 0x6A, 0x00, 0x17, 0x73, 0x00, 0x00, 0x17, 0x2C, 0x08, 0x0B, 0x17, 0x2C,
|
||||
0x00, 0x84, 0x00, 0x0C, 0x15, 0x1A, 0x1C, 0x13, 0x12, 0x06, 0x00, 0x85, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x00, 0x11, 0x0C, 0x10, 0x10, 0x12, 0x06, 0x00, 0x84, 0x69, 0x6E, 0x67, 0x00, 0x0F, 0x16,
|
||||
0x04, 0x2C, 0x00, 0x83, 0x6C, 0x73, 0x6F, 0x00, 0x08, 0x16, 0x12, 0x12, 0x0F, 0x00, 0x84, 0x73,
|
||||
0x65, 0x73, 0x00, 0x4C, 0xAD, 0x00, 0x12, 0xB7, 0x00, 0x18, 0xC1, 0x00, 0x00, 0x15, 0x06, 0x12,
|
||||
0x13, 0x1C, 0x0B, 0x00, 0x80, 0x65, 0x00, 0x0F, 0x04, 0x2C, 0x00, 0x83, 0x20, 0x6C, 0x6F, 0x74,
|
||||
0x00, 0x16, 0x0D, 0x2C, 0x00, 0x83, 0x75, 0x73, 0x74, 0x00, 0x17, 0x16, 0x0D, 0x2C, 0x00, 0x83,
|
||||
0x75, 0x73, 0x74, 0x00, 0x57, 0xDB, 0x00, 0x1C, 0xE4, 0x00, 0x00, 0x18, 0x12, 0x05, 0x04, 0x00,
|
||||
0x80, 0x20, 0x61, 0x00, 0x07, 0x12, 0x17, 0x00, 0x81, 0x61, 0x79, 0x00, 0x4B, 0xF6, 0x00, 0x0C,
|
||||
0x1C, 0x01, 0x0E, 0x5C, 0x01, 0x00, 0x4C, 0xFD, 0x00, 0x17, 0x14, 0x01, 0x00, 0x4B, 0x04, 0x01,
|
||||
0x1A, 0x0A, 0x01, 0x00, 0x1A, 0x00, 0x81, 0x63, 0x68, 0x00, 0x0B, 0x2C, 0x00, 0x84, 0x77, 0x68,
|
||||
0x69, 0x63, 0x68, 0x00, 0x0C, 0x1A, 0x16, 0x00, 0x81, 0x63, 0x68, 0x00, 0x50, 0x29, 0x01, 0x15,
|
||||
0x35, 0x01, 0x16, 0x43, 0x01, 0x17, 0x4C, 0x01, 0x00, 0x11, 0x04, 0x1C, 0x07, 0x00, 0x84, 0x6E,
|
||||
0x61, 0x6D, 0x69, 0x63, 0x00, 0x17, 0x08, 0x10, 0x1C, 0x16, 0x00, 0x84, 0x6D, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x00, 0x04, 0x0F, 0x06, 0x00, 0x81, 0x73, 0x69, 0x63, 0x00, 0x08, 0x0B, 0x17, 0x16,
|
||||
0x04, 0x00, 0x86, 0x65, 0x73, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x00, 0x08, 0x0B, 0x06, 0x00,
|
||||
0x81, 0x63, 0x6B, 0x00, 0x44, 0x7A, 0x01, 0x08, 0x86, 0x01, 0x0F, 0x54, 0x02, 0x11, 0x7C, 0x02,
|
||||
0x12, 0xB4, 0x02, 0x15, 0xCF, 0x02, 0x18, 0x07, 0x03, 0x00, 0x0C, 0x0F, 0x19, 0x11, 0x0C, 0x00,
|
||||
0x83, 0x61, 0x6C, 0x69, 0x64, 0x00, 0x46, 0xA8, 0x01, 0x07, 0xB2, 0x01, 0x08, 0xBC, 0x01, 0x09,
|
||||
0xC7, 0x01, 0x0A, 0xD4, 0x01, 0x0C, 0xDE, 0x01, 0x13, 0xF8, 0x01, 0x15, 0x03, 0x02, 0x16, 0x26,
|
||||
0x02, 0x17, 0x32, 0x02, 0x18, 0x4B, 0x02, 0x00, 0x0C, 0x19, 0x07, 0x04, 0x00, 0x82, 0x73, 0x65,
|
||||
0x64, 0x00, 0x08, 0x05, 0x10, 0x08, 0x00, 0x81, 0x64, 0x65, 0x64, 0x00, 0x15, 0x0A, 0x0A, 0x04,
|
||||
0x00, 0x84, 0x72, 0x65, 0x65, 0x64, 0x00, 0x0C, 0x16, 0x0C, 0x17, 0x04, 0x16, 0x00, 0x83, 0x66,
|
||||
0x69, 0x65, 0x64, 0x00, 0x11, 0x0C, 0x16, 0x00, 0x83, 0x67, 0x6E, 0x65, 0x64, 0x00, 0x55, 0xE5,
|
||||
0x01, 0x19, 0xEE, 0x01, 0x00, 0x15, 0x18, 0x05, 0x00, 0x83, 0x69, 0x65, 0x64, 0x00, 0x15, 0x08,
|
||||
0x07, 0x00, 0x83, 0x69, 0x76, 0x65, 0x64, 0x00, 0x16, 0x04, 0x0F, 0x08, 0x00, 0x83, 0x70, 0x73,
|
||||
0x65, 0x64, 0x00, 0x48, 0x0D, 0x02, 0x0A, 0x16, 0x02, 0x18, 0x1D, 0x02, 0x00, 0x09, 0x08, 0x15,
|
||||
0x00, 0x81, 0x72, 0x65, 0x64, 0x00, 0x04, 0x2C, 0x00, 0x80, 0x65, 0x64, 0x00, 0x06, 0x06, 0x12,
|
||||
0x00, 0x81, 0x72, 0x65, 0x64, 0x00, 0x04, 0x13, 0x0F, 0x08, 0x00, 0x84, 0x61, 0x70, 0x73, 0x65,
|
||||
0x64, 0x00, 0x44, 0x39, 0x02, 0x16, 0x44, 0x02, 0x00, 0x08, 0x0F, 0x08, 0x15, 0x00, 0x84, 0x61,
|
||||
0x74, 0x65, 0x64, 0x00, 0x11, 0x0C, 0x00, 0x80, 0x61, 0x64, 0x00, 0x0F, 0x06, 0x11, 0x0C, 0x00,
|
||||
0x81, 0x64, 0x65, 0x00, 0x4C, 0x5B, 0x02, 0x12, 0x70, 0x02, 0x00, 0x08, 0x00, 0x49, 0x64, 0x02,
|
||||
0x1C, 0x6A, 0x02, 0x00, 0x83, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x83, 0x69, 0x65, 0x6C, 0x64, 0x00,
|
||||
0x16, 0x08, 0x15, 0x0B, 0x17, 0x00, 0x82, 0x68, 0x6F, 0x6C, 0x64, 0x00, 0x48, 0x86, 0x02, 0x0C,
|
||||
0x91, 0x02, 0x18, 0x9B, 0x02, 0x00, 0x15, 0x0C, 0x09, 0x00, 0x84, 0x72, 0x69, 0x65, 0x6E, 0x64,
|
||||
0x00, 0x08, 0x15, 0x09, 0x00, 0x83, 0x69, 0x65, 0x6E, 0x64, 0x00, 0x52, 0xA2, 0x02, 0x15, 0xAC,
|
||||
0x02, 0x00, 0x15, 0x15, 0x04, 0x00, 0x84, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x04, 0x00, 0x82, 0x6F,
|
||||
0x75, 0x6E, 0x64, 0x00, 0x4C, 0xBB, 0x02, 0x15, 0xC6, 0x02, 0x00, 0x08, 0x15, 0x13, 0x00, 0x84,
|
||||
0x65, 0x72, 0x69, 0x6F, 0x64, 0x00, 0x06, 0x08, 0x15, 0x00, 0x82, 0x6F, 0x72, 0x64, 0x00, 0x44,
|
||||
0xD9, 0x02, 0x08, 0xE4, 0x02, 0x18, 0xFD, 0x02, 0x00, 0x1A, 0x12, 0x09, 0x00, 0x83, 0x72, 0x77,
|
||||
0x61, 0x72, 0x64, 0x00, 0x47, 0xEB, 0x02, 0x0C, 0xF5, 0x02, 0x00, 0x0C, 0x16, 0x11, 0x12, 0x06,
|
||||
0x00, 0x80, 0x65, 0x64, 0x00, 0x1A, 0x00, 0x83, 0x65, 0x69, 0x72, 0x64, 0x00, 0x04, 0x0A, 0x2C,
|
||||
0x00, 0x83, 0x75, 0x61, 0x72, 0x64, 0x00, 0x12, 0x15, 0x04, 0x00, 0x80, 0x6E, 0x64, 0x00, 0x44,
|
||||
0x43, 0x03, 0x05, 0x50, 0x03, 0x06, 0x7B, 0x03, 0x07, 0xFB, 0x03, 0x08, 0x17, 0x04, 0x0A, 0x6B,
|
||||
0x04, 0x0B, 0xE3, 0x04, 0x0C, 0x34, 0x05, 0x0F, 0x3D, 0x05, 0x11, 0x00, 0x06, 0x12, 0x1B, 0x06,
|
||||
0x13, 0x25, 0x06, 0x15, 0x2F, 0x06, 0x16, 0x9C, 0x06, 0x17, 0x52, 0x07, 0x18, 0x2D, 0x08, 0x19,
|
||||
0x73, 0x08, 0x00, 0x06, 0x13, 0x16, 0x08, 0x10, 0x04, 0x11, 0x00, 0x82, 0x61, 0x63, 0x65, 0x00,
|
||||
0x44, 0x57, 0x03, 0x0F, 0x61, 0x03, 0x00, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x80, 0x6C, 0x65,
|
||||
0x00, 0x44, 0x68, 0x03, 0x18, 0x73, 0x03, 0x00, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x82, 0x62,
|
||||
0x6C, 0x65, 0x00, 0x12, 0x07, 0x00, 0x82, 0x62, 0x6C, 0x65, 0x00, 0x48, 0x88, 0x03, 0x0C, 0x93,
|
||||
0x03, 0x11, 0x9C, 0x03, 0x13, 0xEE, 0x03, 0x00, 0x15, 0x08, 0x09, 0x08, 0x15, 0x00, 0x81, 0x6E,
|
||||
0x63, 0x65, 0x00, 0x08, 0x13, 0x00, 0x83, 0x69, 0x65, 0x63, 0x65, 0x00, 0x44, 0xA6, 0x03, 0x08,
|
||||
0xB3, 0x03, 0x18, 0xE4, 0x03, 0x00, 0x17, 0x08, 0x13, 0x10, 0x12, 0x06, 0x00, 0x83, 0x65, 0x6E,
|
||||
0x63, 0x65, 0x00, 0x55, 0xBA, 0x03, 0x17, 0xD9, 0x03, 0x00, 0x08, 0x00, 0x49, 0xC3, 0x03, 0x0F,
|
||||
0xD0, 0x03, 0x00, 0x15, 0x2C, 0x00, 0x86, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x00,
|
||||
0x12, 0x17, 0x00, 0x83, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x11, 0x0C, 0x04, 0x10, 0x00, 0x81, 0x61,
|
||||
0x6E, 0x63, 0x65, 0x00, 0x14, 0x08, 0x16, 0x00, 0x82, 0x65, 0x6E, 0x63, 0x65, 0x00, 0x04, 0x16,
|
||||
0x08, 0x10, 0x04, 0x11, 0x00, 0x83, 0x70, 0x61, 0x63, 0x65, 0x00, 0x0C, 0x15, 0x08, 0x19, 0x00,
|
||||
0x52, 0x07, 0x04, 0x19, 0x0D, 0x04, 0x00, 0x82, 0x72, 0x69, 0x64, 0x65, 0x00, 0x12, 0x00, 0x85,
|
||||
0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x00, 0x17, 0x00, 0x44, 0x26, 0x04, 0x0C, 0x31, 0x04, 0x11,
|
||||
0x3B, 0x04, 0x17, 0x5E, 0x04, 0x00, 0x15, 0x04, 0x18, 0x0A, 0x00, 0x82, 0x6E, 0x74, 0x65, 0x65,
|
||||
0x00, 0x10, 0x10, 0x12, 0x06, 0x00, 0x81, 0x74, 0x65, 0x65, 0x00, 0x04, 0x15, 0x00, 0x44, 0x45,
|
||||
0x04, 0x18, 0x51, 0x04, 0x00, 0x0A, 0x00, 0x86, 0x75, 0x61, 0x72, 0x61, 0x6E, 0x74, 0x65, 0x65,
|
||||
0x00, 0x04, 0x0A, 0x00, 0x87, 0x75, 0x61, 0x72, 0x61, 0x6E, 0x74, 0x65, 0x65, 0x00, 0x0C, 0x10,
|
||||
0x12, 0x06, 0x00, 0x84, 0x6D, 0x69, 0x74, 0x74, 0x65, 0x65, 0x00, 0x44, 0x75, 0x04, 0x07, 0xB8,
|
||||
0x04, 0x10, 0xDA, 0x04, 0x00, 0x4A, 0x82, 0x04, 0x11, 0x8D, 0x04, 0x16, 0x96, 0x04, 0x18, 0x9F,
|
||||
0x04, 0x00, 0x15, 0x12, 0x10, 0x00, 0x83, 0x74, 0x67, 0x61, 0x67, 0x65, 0x00, 0x0B, 0x06, 0x00,
|
||||
0x83, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x08, 0x10, 0x00, 0x82, 0x73, 0x61, 0x67, 0x65, 0x00, 0x0A,
|
||||
0x00, 0x6C, 0xA8, 0x04, 0x04, 0xAE, 0x04, 0x00, 0x83, 0x61, 0x75, 0x67, 0x65, 0x00, 0x0F, 0x00,
|
||||
0x84, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x00, 0x08, 0x0F, 0x00, 0x44, 0xC5, 0x04, 0x0C, 0xCB,
|
||||
0x04, 0x0F, 0xD4, 0x04, 0x00, 0x83, 0x6C, 0x65, 0x67, 0x65, 0x00, 0x19, 0x0C, 0x15, 0x13, 0x00,
|
||||
0x82, 0x67, 0x65, 0x00, 0x04, 0x00, 0x82, 0x67, 0x65, 0x00, 0x04, 0x0C, 0x00, 0x83, 0x6D, 0x61,
|
||||
0x67, 0x65, 0x00, 0x17, 0x00, 0x47, 0xF5, 0x04, 0x10, 0xFF, 0x04, 0x12, 0x09, 0x05, 0x16, 0x12,
|
||||
0x05, 0x17, 0x1B, 0x05, 0x00, 0x11, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x12,
|
||||
0x15, 0x09, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68,
|
||||
0x65, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x44, 0x22, 0x05, 0x18, 0x2A,
|
||||
0x05, 0x00, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x12, 0x05, 0x04, 0x00, 0x82, 0x20,
|
||||
0x74, 0x68, 0x65, 0x00, 0x1D, 0x16, 0x2C, 0x00, 0x82, 0x69, 0x7A, 0x65, 0x00, 0x45, 0x4D, 0x05,
|
||||
0x0C, 0xBE, 0x05, 0x13, 0xC9, 0x05, 0x16, 0xF1, 0x05, 0x19, 0xF9, 0x05, 0x00, 0x44, 0x57, 0x05,
|
||||
0x0C, 0xA7, 0x05, 0x0F, 0xB3, 0x05, 0x00, 0x4A, 0x61, 0x05, 0x0C, 0x6B, 0x05, 0x0F, 0x89, 0x05,
|
||||
0x00, 0x0C, 0x0F, 0x08, 0x00, 0x83, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x0F, 0x00, 0x44, 0x74, 0x05,
|
||||
0x0C, 0x7F, 0x05, 0x00, 0x19, 0x04, 0x00, 0x85, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x04,
|
||||
0x19, 0x04, 0x00, 0x84, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x44, 0x90, 0x05, 0x0C, 0x9B, 0x05, 0x00,
|
||||
0x19, 0x04, 0x00, 0x84, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x19, 0x04, 0x00, 0x85, 0x61,
|
||||
0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x04, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x83, 0x62,
|
||||
0x6C, 0x65, 0x00, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x82, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x1A, 0x0B,
|
||||
0x2C, 0x00, 0x84, 0x77, 0x68, 0x69, 0x6C, 0x65, 0x00, 0x44, 0xD3, 0x05, 0x08, 0xDC, 0x05, 0x12,
|
||||
0xE6, 0x05, 0x00, 0x08, 0x13, 0x00, 0x83, 0x6F, 0x70, 0x6C, 0x65, 0x00, 0x12, 0x13, 0x00, 0x84,
|
||||
0x65, 0x6F, 0x70, 0x6C, 0x65, 0x00, 0x08, 0x12, 0x13, 0x00, 0x85, 0x65, 0x6F, 0x70, 0x6C, 0x65,
|
||||
0x00, 0x04, 0x09, 0x00, 0x82, 0x6C, 0x73, 0x65, 0x00, 0x08, 0x0F, 0x00, 0x81, 0x65, 0x6C, 0x00,
|
||||
0x46, 0x07, 0x06, 0x0C, 0x10, 0x06, 0x00, 0x0C, 0x16, 0x2C, 0x00, 0x82, 0x6E, 0x63, 0x65, 0x00,
|
||||
0x08, 0x0A, 0x1C, 0x0B, 0x00, 0x83, 0x69, 0x65, 0x6E, 0x65, 0x00, 0x16, 0x0B, 0x17, 0x2C, 0x00,
|
||||
0x82, 0x6F, 0x73, 0x65, 0x00, 0x0F, 0x12, 0x08, 0x13, 0x00, 0x82, 0x70, 0x6C, 0x65, 0x00, 0x46,
|
||||
0x42, 0x06, 0x08, 0x4C, 0x06, 0x0C, 0x57, 0x06, 0x12, 0x63, 0x06, 0x15, 0x7F, 0x06, 0x18, 0x86,
|
||||
0x06, 0x00, 0x12, 0x16, 0x2C, 0x00, 0x83, 0x63, 0x6F, 0x72, 0x65, 0x00, 0x17, 0x0B, 0x2C, 0x00,
|
||||
0x84, 0x74, 0x68, 0x65, 0x72, 0x65, 0x00, 0x18, 0x14, 0x04, 0x00, 0x84, 0x63, 0x71, 0x75, 0x69,
|
||||
0x72, 0x65, 0x00, 0x47, 0x6A, 0x06, 0x09, 0x73, 0x06, 0x00, 0x08, 0x05, 0x00, 0x83, 0x66, 0x6F,
|
||||
0x72, 0x65, 0x00, 0x15, 0x08, 0x0B, 0x17, 0x00, 0x83, 0x65, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x08,
|
||||
0x0B, 0x1A, 0x00, 0x81, 0x65, 0x00, 0x17, 0x00, 0x6C, 0x8F, 0x06, 0x04, 0x94, 0x06, 0x00, 0x82,
|
||||
0x72, 0x75, 0x65, 0x00, 0x10, 0x04, 0x00, 0x82, 0x65, 0x75, 0x72, 0x00, 0x44, 0xB2, 0x06, 0x08,
|
||||
0xCB, 0x06, 0x0C, 0xD3, 0x06, 0x0F, 0xE2, 0x06, 0x11, 0xEB, 0x06, 0x12, 0x09, 0x07, 0x18, 0x16,
|
||||
0x07, 0x00, 0x4F, 0xB9, 0x06, 0x18, 0xC1, 0x06, 0x00, 0x09, 0x00, 0x83, 0x61, 0x6C, 0x73, 0x65,
|
||||
0x00, 0x06, 0x08, 0x05, 0x00, 0x83, 0x61, 0x75, 0x73, 0x65, 0x00, 0x08, 0x0B, 0x17, 0x00, 0x82,
|
||||
0x73, 0x65, 0x00, 0x06, 0x15, 0x08, 0x06, 0x1B, 0x08, 0x00, 0x86, 0x65, 0x72, 0x63, 0x69, 0x73,
|
||||
0x65, 0x00, 0x0C, 0x04, 0x09, 0x00, 0x83, 0x6C, 0x73, 0x65, 0x00, 0x48, 0xF2, 0x06, 0x12, 0xFD,
|
||||
0x06, 0x00, 0x16, 0x0C, 0x0F, 0x00, 0x84, 0x63, 0x65, 0x6E, 0x73, 0x65, 0x00, 0x13, 0x08, 0x15,
|
||||
0x00, 0x84, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x00, 0x13, 0x11, 0x04, 0x15, 0x17, 0x00, 0x83,
|
||||
0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, 0x44, 0x20, 0x07, 0x06, 0x3D, 0x07, 0x12, 0x48, 0x07, 0x00,
|
||||
0x46, 0x27, 0x07, 0x08, 0x31, 0x07, 0x00, 0x06, 0x08, 0x05, 0x00, 0x84, 0x61, 0x75, 0x73, 0x65,
|
||||
0x00, 0x06, 0x04, 0x05, 0x00, 0x86, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x00, 0x04, 0x08, 0x05,
|
||||
0x00, 0x84, 0x63, 0x61, 0x75, 0x73, 0x65, 0x00, 0x06, 0x08, 0x05, 0x00, 0x83, 0x61, 0x75, 0x73,
|
||||
0x65, 0x00, 0x44, 0x5F, 0x07, 0x08, 0x0D, 0x08, 0x0F, 0x18, 0x08, 0x19, 0x24, 0x08, 0x00, 0x47,
|
||||
0x6F, 0x07, 0x0A, 0x94, 0x07, 0x0F, 0xA1, 0x07, 0x13, 0xE4, 0x07, 0x15, 0xEE, 0x07, 0x00, 0x12,
|
||||
0x10, 0x00, 0x50, 0x79, 0x07, 0x12, 0x88, 0x07, 0x00, 0x12, 0x06, 0x04, 0x00, 0x87, 0x63, 0x6F,
|
||||
0x6D, 0x6D, 0x6F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x06, 0x06, 0x04, 0x00, 0x84, 0x6D, 0x6F, 0x64,
|
||||
0x61, 0x74, 0x65, 0x00, 0x12, 0x13, 0x12, 0x15, 0x13, 0x00, 0x84, 0x61, 0x67, 0x61, 0x74, 0x65,
|
||||
0x00, 0x46, 0xAB, 0x07, 0x13, 0xB8, 0x07, 0x18, 0xC5, 0x07, 0x00, 0x18, 0x0F, 0x04, 0x06, 0x00,
|
||||
0x85, 0x63, 0x75, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x10, 0x04, 0x08, 0x17, 0x00, 0x86, 0x6D, 0x70,
|
||||
0x6C, 0x61, 0x74, 0x65, 0x00, 0x46, 0xCC, 0x07, 0x0F, 0xD9, 0x07, 0x00, 0x18, 0x0F, 0x04, 0x06,
|
||||
0x00, 0x86, 0x63, 0x75, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x04, 0x06, 0x00, 0x84, 0x63, 0x75, 0x6C,
|
||||
0x61, 0x74, 0x65, 0x00, 0x07, 0x18, 0x00, 0x84, 0x70, 0x64, 0x61, 0x74, 0x65, 0x00, 0x48, 0xF5,
|
||||
0x07, 0x18, 0x02, 0x08, 0x00, 0x11, 0x04, 0x0A, 0x00, 0x86, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74,
|
||||
0x65, 0x00, 0x06, 0x04, 0x00, 0x84, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0F, 0x0F, 0x04,
|
||||
0x13, 0x00, 0x83, 0x65, 0x74, 0x74, 0x65, 0x00, 0x04, 0x13, 0x10, 0x08, 0x17, 0x00, 0x83, 0x6C,
|
||||
0x61, 0x74, 0x65, 0x00, 0x0C, 0x15, 0x13, 0x00, 0x81, 0x61, 0x74, 0x65, 0x00, 0x4A, 0x37, 0x08,
|
||||
0x0C, 0x43, 0x08, 0x16, 0x4D, 0x08, 0x00, 0x08, 0x0F, 0x0F, 0x12, 0x06, 0x00, 0x82, 0x61, 0x67,
|
||||
0x75, 0x65, 0x00, 0x14, 0x11, 0x18, 0x00, 0x83, 0x69, 0x71, 0x75, 0x65, 0x00, 0x44, 0x54, 0x08,
|
||||
0x15, 0x69, 0x08, 0x00, 0x06, 0x00, 0x6C, 0x5D, 0x08, 0x08, 0x62, 0x08, 0x00, 0x82, 0x75, 0x73,
|
||||
0x65, 0x00, 0x05, 0x00, 0x82, 0x75, 0x73, 0x65, 0x00, 0x08, 0x13, 0x00, 0x84, 0x75, 0x72, 0x73,
|
||||
0x75, 0x65, 0x00, 0x4C, 0x7A, 0x08, 0x12, 0x93, 0x08, 0x00, 0x48, 0x81, 0x08, 0x0F, 0x8B, 0x08,
|
||||
0x00, 0x0F, 0x08, 0x05, 0x00, 0x83, 0x69, 0x65, 0x76, 0x65, 0x00, 0x08, 0x05, 0x00, 0x81, 0x65,
|
||||
0x76, 0x65, 0x00, 0x52, 0x9A, 0x08, 0x19, 0xA1, 0x08, 0x00, 0x15, 0x13, 0x00, 0x82, 0x76, 0x65,
|
||||
0x00, 0x05, 0x04, 0x00, 0x83, 0x6F, 0x76, 0x65, 0x00, 0x0C, 0x08, 0x00, 0x4B, 0xB6, 0x08, 0x0F,
|
||||
0xBD, 0x08, 0x15, 0xC5, 0x08, 0x00, 0x06, 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x08, 0x05, 0x00,
|
||||
0x82, 0x69, 0x65, 0x66, 0x00, 0x05, 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x4C, 0xD3, 0x08, 0x11,
|
||||
0xDD, 0x08, 0x00, 0x11, 0x12, 0x0A, 0x2C, 0x00, 0x82, 0x69, 0x6E, 0x67, 0x00, 0x4C, 0xE4, 0x08,
|
||||
0x15, 0x3A, 0x09, 0x00, 0x48, 0xF4, 0x08, 0x0B, 0x0B, 0x09, 0x0F, 0x18, 0x09, 0x15, 0x24, 0x09,
|
||||
0x1C, 0x2F, 0x09, 0x00, 0x48, 0xFB, 0x08, 0x0B, 0x02, 0x09, 0x00, 0x05, 0x00, 0x83, 0x69, 0x6E,
|
||||
0x67, 0x00, 0x06, 0x04, 0x06, 0x00, 0x83, 0x69, 0x6E, 0x67, 0x00, 0x17, 0x06, 0x04, 0x10, 0x00,
|
||||
0x85, 0x74, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x00, 0x08, 0x0C, 0x06, 0x00, 0x85, 0x65, 0x69, 0x6C,
|
||||
0x69, 0x6E, 0x67, 0x00, 0x18, 0x06, 0x08, 0x15, 0x00, 0x82, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x17,
|
||||
0x1C, 0x11, 0x04, 0x00, 0x83, 0x68, 0x69, 0x6E, 0x67, 0x00, 0x0C, 0x17, 0x16, 0x00, 0x83, 0x72,
|
||||
0x69, 0x6E, 0x67, 0x00, 0x46, 0x57, 0x09, 0x08, 0x8E, 0x09, 0x0A, 0x9A, 0x09, 0x0C, 0xA4, 0x09,
|
||||
0x16, 0xAD, 0x09, 0x17, 0xBF, 0x09, 0x00, 0x4B, 0x64, 0x09, 0x0C, 0x6D, 0x09, 0x0F, 0x77, 0x09,
|
||||
0x15, 0x7F, 0x09, 0x00, 0x0C, 0x1A, 0x00, 0x83, 0x68, 0x69, 0x63, 0x68, 0x00, 0x17, 0x1A, 0x16,
|
||||
0x00, 0x83, 0x69, 0x74, 0x63, 0x68, 0x00, 0x0B, 0x1A, 0x00, 0x82, 0x69, 0x63, 0x68, 0x00, 0x04,
|
||||
0x08, 0x16, 0x04, 0x08, 0x15, 0x00, 0x86, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x00, 0x17, 0x07,
|
||||
0x11, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x11, 0x08, 0x15, 0x17, 0x16, 0x00,
|
||||
0x80, 0x74, 0x68, 0x00, 0x06, 0x0B, 0x1A, 0x00, 0x82, 0x69, 0x63, 0x68, 0x00, 0x0C, 0x0F, 0x13,
|
||||
0x10, 0x12, 0x06, 0x04, 0x00, 0x86, 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x69, 0x73, 0x68, 0x00, 0x4A,
|
||||
0xC9, 0x09, 0x0C, 0xE1, 0x09, 0x15, 0xEC, 0x09, 0x00, 0x48, 0xD0, 0x09, 0x0C, 0xDA, 0x09, 0x00,
|
||||
0x15, 0x17, 0x16, 0x00, 0x82, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x08, 0x0B, 0x00, 0x81, 0x68, 0x74,
|
||||
0x00, 0x1A, 0x07, 0x11, 0x04, 0x05, 0x00, 0x81, 0x64, 0x74, 0x68, 0x00, 0x18, 0x17, 0x2C, 0x00,
|
||||
0x83, 0x72, 0x75, 0x74, 0x68, 0x00, 0x15, 0x08, 0x0B, 0x17, 0x2C, 0x00, 0x81, 0x69, 0x72, 0x00,
|
||||
0x11, 0x00, 0x4C, 0x09, 0x0A, 0x18, 0x14, 0x0A, 0x00, 0x17, 0x0B, 0x2C, 0x00, 0x84, 0x74, 0x68,
|
||||
0x69, 0x6E, 0x6B, 0x00, 0x0C, 0x0B, 0x17, 0x00, 0x82, 0x6E, 0x6B, 0x00, 0x44, 0x32, 0x0A, 0x07,
|
||||
0x86, 0x0A, 0x08, 0xB1, 0x0A, 0x09, 0x11, 0x0B, 0x0F, 0x1A, 0x0B, 0x17, 0x37, 0x0B, 0x18, 0x40,
|
||||
0x0B, 0x00, 0x4C, 0x3C, 0x0A, 0x17, 0x47, 0x0A, 0x18, 0x60, 0x0A, 0x00, 0x06, 0x13, 0x1C, 0x17,
|
||||
0x00, 0x83, 0x69, 0x63, 0x61, 0x6C, 0x00, 0x4C, 0x4E, 0x0A, 0x18, 0x56, 0x0A, 0x00, 0x11, 0x0C,
|
||||
0x00, 0x81, 0x69, 0x61, 0x6C, 0x00, 0x15, 0x0C, 0x19, 0x00, 0x83, 0x74, 0x75, 0x61, 0x6C, 0x00,
|
||||
0x51, 0x6A, 0x0A, 0x15, 0x73, 0x0A, 0x17, 0x7C, 0x0A, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x6E, 0x75,
|
||||
0x61, 0x6C, 0x00, 0x18, 0x17, 0x04, 0x11, 0x00, 0x82, 0x61, 0x6C, 0x00, 0x0C, 0x19, 0x00, 0x83,
|
||||
0x72, 0x74, 0x75, 0x61, 0x6C, 0x00, 0x18, 0x00, 0x52, 0x8F, 0x0A, 0x1A, 0xA7, 0x0A, 0x00, 0x46,
|
||||
0x99, 0x0A, 0x0B, 0x9D, 0x0A, 0x1A, 0xA3, 0x0A, 0x00, 0x81, 0x6C, 0x64, 0x00, 0x16, 0x00, 0x81,
|
||||
0x6C, 0x64, 0x00, 0x81, 0x6C, 0x64, 0x00, 0x12, 0x2C, 0x00, 0x84, 0x77, 0x6F, 0x75, 0x6C, 0x64,
|
||||
0x00, 0x4A, 0xC1, 0x0A, 0x0F, 0xC9, 0x0A, 0x13, 0xF7, 0x0A, 0x17, 0xFF, 0x0A, 0x18, 0x07, 0x0B,
|
||||
0x00, 0x11, 0x0C, 0x16, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x44, 0xD0, 0x0A, 0x0F, 0xEA, 0x0A, 0x00,
|
||||
0x15, 0x00, 0x44, 0xD9, 0x0A, 0x15, 0xE0, 0x0A, 0x00, 0x13, 0x00, 0x81, 0x6C, 0x65, 0x6C, 0x00,
|
||||
0x04, 0x13, 0x00, 0x84, 0x61, 0x6C, 0x6C, 0x65, 0x6C, 0x00, 0x04, 0x15, 0x15, 0x04, 0x13, 0x00,
|
||||
0x85, 0x61, 0x6C, 0x6C, 0x65, 0x6C, 0x00, 0x12, 0x08, 0x13, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x17,
|
||||
0x0C, 0x0F, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x07, 0x08, 0x0B, 0x06, 0x16, 0x00, 0x81, 0x6C, 0x65,
|
||||
0x00, 0x08, 0x16, 0x1C, 0x10, 0x00, 0x81, 0x6C, 0x66, 0x00, 0x0C, 0x09, 0x00, 0x4F, 0x24, 0x0B,
|
||||
0x18, 0x2E, 0x0B, 0x00, 0x0F, 0x18, 0x09, 0x00, 0x84, 0x66, 0x69, 0x6C, 0x6C, 0x00, 0x09, 0x00,
|
||||
0x83, 0x6C, 0x66, 0x69, 0x6C, 0x6C, 0x00, 0x18, 0x16, 0x08, 0x15, 0x00, 0x81, 0x6C, 0x74, 0x00,
|
||||
0x09, 0x17, 0x04, 0x08, 0x15, 0x0A, 0x00, 0x85, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6C, 0x00, 0x44,
|
||||
0x59, 0x0B, 0x0F, 0x6A, 0x0B, 0x15, 0x75, 0x0B, 0x00, 0x15, 0x0A, 0x12, 0x17, 0x06, 0x08, 0x13,
|
||||
0x16, 0x00, 0x84, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x00, 0x08, 0x05, 0x12, 0x15, 0x13, 0x00,
|
||||
0x82, 0x6C, 0x65, 0x6D, 0x00, 0x12, 0x09, 0x12, 0x06, 0x00, 0x83, 0x6E, 0x66, 0x6F, 0x72, 0x6D,
|
||||
0x00, 0x44, 0xA6, 0x0B, 0x07, 0xCE, 0x0B, 0x08, 0xD7, 0x0B, 0x0A, 0x3A, 0x0C, 0x0C, 0x8D, 0x0C,
|
||||
0x0E, 0x99, 0x0C, 0x12, 0xC0, 0x0C, 0x13, 0x6C, 0x0D, 0x15, 0x78, 0x0D, 0x16, 0x83, 0x0D, 0x18,
|
||||
0x8D, 0x0D, 0x1A, 0xA4, 0x0D, 0x00, 0x0C, 0x00, 0x4A, 0xAF, 0x0B, 0x17, 0xB7, 0x0B, 0x00, 0x04,
|
||||
0x2C, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x51, 0xBE, 0x0B, 0x15, 0xC6, 0x0B, 0x00, 0x12, 0x06,
|
||||
0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x08, 0x06, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x18, 0x12,
|
||||
0x09, 0x2C, 0x00, 0x81, 0x6E, 0x64, 0x00, 0x47, 0xE7, 0x0B, 0x08, 0xF1, 0x0B, 0x0A, 0x1B, 0x0C,
|
||||
0x13, 0x27, 0x0C, 0x16, 0x30, 0x0C, 0x00, 0x0F, 0x0C, 0x0B, 0x06, 0x00, 0x81, 0x72, 0x65, 0x6E,
|
||||
0x00, 0x57, 0xF8, 0x0B, 0x1A, 0x11, 0x0C, 0x00, 0x48, 0xFF, 0x0B, 0x1A, 0x07, 0x0C, 0x00, 0x05,
|
||||
0x00, 0x82, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x08, 0x05, 0x00, 0x84, 0x74, 0x77, 0x65, 0x65, 0x6E,
|
||||
0x00, 0x08, 0x05, 0x00, 0x83, 0x74, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x12, 0x07, 0x1C, 0x0B, 0x00,
|
||||
0x83, 0x72, 0x6F, 0x67, 0x65, 0x6E, 0x00, 0x04, 0x0B, 0x2C, 0x00, 0x81, 0x70, 0x65, 0x6E, 0x00,
|
||||
0x12, 0x12, 0x0B, 0x06, 0x00, 0x83, 0x73, 0x65, 0x6E, 0x00, 0x48, 0x41, 0x0C, 0x0C, 0x4C, 0x0C,
|
||||
0x00, 0x0C, 0x15, 0x12, 0x09, 0x00, 0x83, 0x65, 0x69, 0x67, 0x6E, 0x00, 0x4B, 0x5F, 0x0C, 0x0F,
|
||||
0x65, 0x0C, 0x11, 0x6D, 0x0C, 0x12, 0x76, 0x0C, 0x15, 0x7D, 0x0C, 0x16, 0x84, 0x0C, 0x00, 0x17,
|
||||
0x00, 0x81, 0x6E, 0x67, 0x00, 0x0F, 0x04, 0x00, 0x83, 0x69, 0x67, 0x6E, 0x00, 0x15, 0x04, 0x08,
|
||||
0x0F, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x0A, 0x2C, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x17, 0x16, 0x00,
|
||||
0x81, 0x6E, 0x67, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x73, 0x69, 0x67, 0x6E, 0x00, 0x17, 0x04, 0x15,
|
||||
0x08, 0x06, 0x00, 0x83, 0x74, 0x61, 0x69, 0x6E, 0x00, 0x4B, 0xA0, 0x0C, 0x0C, 0xA9, 0x0C, 0x00,
|
||||
0x0C, 0x17, 0x00, 0x83, 0x68, 0x69, 0x6E, 0x6B, 0x00, 0x4B, 0xB0, 0x0C, 0x17, 0xB6, 0x0C, 0x00,
|
||||
0x17, 0x00, 0x81, 0x6E, 0x6B, 0x00, 0x0B, 0x2C, 0x00, 0x84, 0x74, 0x68, 0x69, 0x6E, 0x6B, 0x00,
|
||||
0x4C, 0xCA, 0x0C, 0x16, 0x56, 0x0D, 0x17, 0x60, 0x0D, 0x00, 0x46, 0xD4, 0x0C, 0x16, 0xE1, 0x0C,
|
||||
0x17, 0xFB, 0x0C, 0x00, 0x0C, 0x16, 0x08, 0x07, 0x00, 0x85, 0x63, 0x69, 0x73, 0x69, 0x6F, 0x6E,
|
||||
0x00, 0x44, 0xE8, 0x0C, 0x16, 0xF1, 0x0C, 0x00, 0x0C, 0x0F, 0x00, 0x83, 0x69, 0x73, 0x6F, 0x6E,
|
||||
0x00, 0x04, 0x06, 0x06, 0x12, 0x00, 0x83, 0x69, 0x6F, 0x6E, 0x00, 0x44, 0x0E, 0x0D, 0x07, 0x1B,
|
||||
0x0D, 0x0C, 0x25, 0x0D, 0x0F, 0x34, 0x0D, 0x11, 0x40, 0x0D, 0x16, 0x4C, 0x0D, 0x00, 0x15, 0x08,
|
||||
0x05, 0x04, 0x00, 0x84, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x07, 0x04, 0x00, 0x83, 0x69,
|
||||
0x74, 0x69, 0x6F, 0x6E, 0x00, 0x17, 0x0C, 0x13, 0x08, 0x15, 0x00, 0x86, 0x65, 0x74, 0x69, 0x74,
|
||||
0x69, 0x6F, 0x6E, 0x00, 0x04, 0x08, 0x15, 0x00, 0x85, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00,
|
||||
0x06, 0x18, 0x09, 0x00, 0x85, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x12, 0x13, 0x00, 0x83,
|
||||
0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x0C, 0x19, 0x0C, 0x07, 0x00, 0x81, 0x69, 0x6F, 0x6E, 0x00,
|
||||
0x0C, 0x06, 0x04, 0x15, 0x09, 0x00, 0x83, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x13, 0x0B, 0x04, 0x00,
|
||||
0x84, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6E, 0x00, 0x17, 0x18, 0x08, 0x15, 0x00, 0x83, 0x74, 0x75,
|
||||
0x72, 0x6E, 0x00, 0x0A, 0x0C, 0x0B, 0x17, 0x00, 0x82, 0x6E, 0x67, 0x73, 0x00, 0x55, 0x94, 0x0D,
|
||||
0x17, 0x9D, 0x0D, 0x00, 0x17, 0x08, 0x15, 0x00, 0x82, 0x75, 0x72, 0x6E, 0x00, 0x08, 0x15, 0x00,
|
||||
0x80, 0x72, 0x6E, 0x00, 0x12, 0x0E, 0x11, 0x18, 0x00, 0x82, 0x6E, 0x6F, 0x77, 0x6E, 0x00, 0x47,
|
||||
0xB9, 0x0D, 0x11, 0xC4, 0x0D, 0x1A, 0xCD, 0x0D, 0x00, 0x08, 0x18, 0x16, 0x13, 0x00, 0x83, 0x65,
|
||||
0x75, 0x64, 0x6F, 0x00, 0x1A, 0x0E, 0x2C, 0x00, 0x82, 0x6E, 0x6F, 0x77, 0x00, 0x4F, 0xD4, 0x0D,
|
||||
0x11, 0xDC, 0x0D, 0x00, 0x0F, 0x12, 0x09, 0x00, 0x81, 0x6F, 0x77, 0x00, 0x0E, 0x2C, 0x00, 0x81,
|
||||
0x6F, 0x77, 0x00, 0x56, 0xEA, 0x0D, 0x18, 0xF4, 0x0D, 0x00, 0x04, 0x0B, 0x15, 0x08, 0x13, 0x00,
|
||||
0x81, 0x70, 0x73, 0x00, 0x12, 0x12, 0x0F, 0x00, 0x81, 0x6B, 0x75, 0x70, 0x00, 0x44, 0x1C, 0x0E,
|
||||
0x08, 0x5D, 0x0E, 0x0B, 0x67, 0x0F, 0x0F, 0x71, 0x0F, 0x12, 0x7F, 0x0F, 0x13, 0x90, 0x0F, 0x16,
|
||||
0x9B, 0x0F, 0x17, 0xA4, 0x0F, 0x18, 0xB0, 0x0F, 0x1C, 0xB9, 0x0F, 0x00, 0x4C, 0x26, 0x0E, 0x0F,
|
||||
0x30, 0x0E, 0x18, 0x52, 0x0E, 0x00, 0x0F, 0x0C, 0x10, 0x0C, 0x16, 0x00, 0x82, 0x61, 0x72, 0x00,
|
||||
0x4C, 0x37, 0x0E, 0x18, 0x42, 0x0E, 0x00, 0x10, 0x10, 0x0C, 0x16, 0x00, 0x84, 0x69, 0x6C, 0x61,
|
||||
0x72, 0x00, 0x06, 0x0C, 0x17, 0x04, 0x13, 0x00, 0x86, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6C, 0x61,
|
||||
0x72, 0x00, 0x0F, 0x0A, 0x08, 0x15, 0x00, 0x83, 0x75, 0x6C, 0x61, 0x72, 0x00, 0x44, 0x7C, 0x0E,
|
||||
0x07, 0x84, 0x0E, 0x0B, 0x91, 0x0E, 0x0C, 0xCB, 0x0E, 0x0F, 0xE5, 0x0E, 0x10, 0xEF, 0x0E, 0x11,
|
||||
0xF9, 0x0E, 0x12, 0x25, 0x0F, 0x17, 0x2D, 0x0F, 0x19, 0x4C, 0x0F, 0x00, 0x0F, 0x06, 0x00, 0x82,
|
||||
0x65, 0x61, 0x72, 0x00, 0x11, 0x04, 0x0F, 0x04, 0x06, 0x00, 0x84, 0x65, 0x6E, 0x64, 0x61, 0x72,
|
||||
0x00, 0x4A, 0x98, 0x0E, 0x17, 0xA3, 0x0E, 0x00, 0x0C, 0x08, 0x0B, 0x00, 0x85, 0x69, 0x67, 0x68,
|
||||
0x65, 0x72, 0x00, 0x48, 0xAD, 0x0E, 0x0F, 0xB9, 0x0E, 0x18, 0xC2, 0x0E, 0x00, 0x0B, 0x0A, 0x12,
|
||||
0x17, 0x00, 0x85, 0x65, 0x74, 0x68, 0x65, 0x72, 0x00, 0x12, 0x2C, 0x00, 0x84, 0x74, 0x68, 0x65,
|
||||
0x72, 0x00, 0x09, 0x00, 0x83, 0x72, 0x74, 0x68, 0x65, 0x72, 0x00, 0x4B, 0xD2, 0x0E, 0x0F, 0xDA,
|
||||
0x0E, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x65, 0x69, 0x72, 0x00, 0x13, 0x10, 0x12, 0x06, 0x00, 0x83,
|
||||
0x69, 0x6C, 0x65, 0x72, 0x00, 0x17, 0x0C, 0x09, 0x00, 0x83, 0x6C, 0x74, 0x65, 0x72, 0x00, 0x10,
|
||||
0x04, 0x15, 0x0A, 0x2C, 0x00, 0x81, 0x61, 0x72, 0x00, 0x4C, 0x00, 0x0F, 0x17, 0x0C, 0x0F, 0x00,
|
||||
0x0A, 0x0A, 0x08, 0x05, 0x00, 0x84, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x00, 0x4C, 0x13, 0x0F, 0x16,
|
||||
0x1C, 0x0F, 0x00, 0x12, 0x13, 0x00, 0x83, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x0C, 0x0F, 0x00, 0x82,
|
||||
0x65, 0x6E, 0x65, 0x72, 0x00, 0x09, 0x08, 0x05, 0x00, 0x81, 0x72, 0x65, 0x00, 0x4B, 0x34, 0x0F,
|
||||
0x18, 0x3E, 0x0F, 0x00, 0x12, 0x11, 0x04, 0x00, 0x83, 0x74, 0x68, 0x65, 0x72, 0x00, 0x13, 0x12,
|
||||
0x10, 0x06, 0x00, 0x86, 0x6F, 0x6D, 0x70, 0x75, 0x74, 0x65, 0x72, 0x00, 0x48, 0x53, 0x0F, 0x1A,
|
||||
0x5E, 0x0F, 0x00, 0x08, 0x15, 0x08, 0x0B, 0x1A, 0x00, 0x83, 0x76, 0x65, 0x72, 0x00, 0x12, 0x0B,
|
||||
0x00, 0x82, 0x65, 0x76, 0x65, 0x72, 0x00, 0x08, 0x17, 0x12, 0x2C, 0x00, 0x82, 0x68, 0x65, 0x72,
|
||||
0x00, 0x04, 0x18, 0x06, 0x0C, 0x17, 0x15, 0x04, 0x13, 0x00, 0x82, 0x6C, 0x61, 0x72, 0x00, 0x17,
|
||||
0x04, 0x15, 0x08, 0x17, 0x11, 0x0C, 0x00, 0x87, 0x74, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00,
|
||||
0x17, 0x0F, 0x0F, 0x18, 0x11, 0x00, 0x82, 0x70, 0x74, 0x72, 0x00, 0x04, 0x08, 0x1C, 0x2C, 0x00,
|
||||
0x81, 0x72, 0x73, 0x00, 0x12, 0x04, 0x15, 0x08, 0x13, 0x12, 0x00, 0x82, 0x74, 0x6F, 0x72, 0x00,
|
||||
0x06, 0x12, 0x2C, 0x00, 0x81, 0x63, 0x75, 0x72, 0x00, 0x08, 0x19, 0x08, 0x2C, 0x00, 0x81, 0x72,
|
||||
0x79, 0x00, 0x44, 0xDB, 0x0F, 0x08, 0x03, 0x10, 0x0A, 0x93, 0x10, 0x13, 0x9E, 0x10, 0x15, 0xAA,
|
||||
0x10, 0x16, 0xB5, 0x10, 0x17, 0x4D, 0x11, 0x18, 0x55, 0x11, 0x00, 0x4B, 0xE5, 0x0F, 0x13, 0xF0,
|
||||
0x0F, 0x1C, 0xFA, 0x0F, 0x00, 0x13, 0x15, 0x08, 0x13, 0x00, 0x83, 0x68, 0x61, 0x70, 0x73, 0x00,
|
||||
0x0B, 0x15, 0x08, 0x13, 0x00, 0x82, 0x61, 0x70, 0x73, 0x00, 0x1A, 0x0F, 0x04, 0x00, 0x82, 0x61,
|
||||
0x79, 0x73, 0x00, 0x44, 0x13, 0x10, 0x06, 0x2A, 0x10, 0x0C, 0x35, 0x10, 0x0F, 0x81, 0x10, 0x16,
|
||||
0x88, 0x10, 0x00, 0x47, 0x1A, 0x10, 0x0E, 0x22, 0x10, 0x00, 0x0C, 0x2C, 0x00, 0x82, 0x65, 0x61,
|
||||
0x73, 0x00, 0x17, 0x00, 0x83, 0x61, 0x6B, 0x65, 0x73, 0x00, 0x08, 0x07, 0x11, 0x0C, 0x00, 0x83,
|
||||
0x69, 0x63, 0x65, 0x73, 0x00, 0x46, 0x3F, 0x10, 0x15, 0x66, 0x10, 0x17, 0x75, 0x10, 0x00, 0x48,
|
||||
0x46, 0x10, 0x0C, 0x50, 0x10, 0x00, 0x07, 0x11, 0x0C, 0x00, 0x84, 0x69, 0x63, 0x65, 0x73, 0x00,
|
||||
0x47, 0x57, 0x10, 0x17, 0x5E, 0x10, 0x00, 0x11, 0x0C, 0x00, 0x82, 0x65, 0x73, 0x00, 0x15, 0x08,
|
||||
0x19, 0x00, 0x82, 0x65, 0x73, 0x00, 0x12, 0x16, 0x08, 0x06, 0x06, 0x04, 0x00, 0x84, 0x73, 0x6F,
|
||||
0x72, 0x69, 0x65, 0x73, 0x00, 0x0F, 0x0C, 0x05, 0x04, 0x00, 0x83, 0x69, 0x74, 0x69, 0x65, 0x73,
|
||||
0x00, 0x04, 0x09, 0x00, 0x81, 0x73, 0x65, 0x00, 0x12, 0x0B, 0x06, 0x2C, 0x00, 0x82, 0x6F, 0x73,
|
||||
0x65, 0x73, 0x00, 0x0C, 0x11, 0x0B, 0x17, 0x00, 0x83, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x04, 0x08,
|
||||
0x0B, 0x15, 0x08, 0x13, 0x00, 0x83, 0x61, 0x70, 0x73, 0x00, 0x08, 0x04, 0x1C, 0x2C, 0x00, 0x83,
|
||||
0x65, 0x61, 0x72, 0x73, 0x00, 0x44, 0xBF, 0x10, 0x08, 0xCB, 0x10, 0x12, 0x42, 0x11, 0x00, 0x15,
|
||||
0x04, 0x05, 0x10, 0x08, 0x00, 0x82, 0x72, 0x61, 0x73, 0x73, 0x00, 0x46, 0xD8, 0x10, 0x11, 0xF0,
|
||||
0x10, 0x15, 0x0D, 0x11, 0x16, 0x2A, 0x11, 0x00, 0x46, 0xDF, 0x10, 0x18, 0xE8, 0x10, 0x00, 0x12,
|
||||
0x15, 0x13, 0x00, 0x83, 0x65, 0x73, 0x73, 0x00, 0x16, 0x00, 0x82, 0x63, 0x65, 0x73, 0x73, 0x00,
|
||||
0x4C, 0xF7, 0x10, 0x16, 0x03, 0x11, 0x00, 0x16, 0x16, 0x18, 0x05, 0x00, 0x85, 0x69, 0x6E, 0x65,
|
||||
0x73, 0x73, 0x00, 0x18, 0x05, 0x00, 0x83, 0x69, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x13, 0x00, 0x55,
|
||||
0x16, 0x11, 0x18, 0x21, 0x11, 0x00, 0x18, 0x16, 0x00, 0x85, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73,
|
||||
0x00, 0x16, 0x00, 0x83, 0x70, 0x72, 0x65, 0x73, 0x73, 0x00, 0x46, 0x31, 0x11, 0x12, 0x3A, 0x11,
|
||||
0x00, 0x06, 0x18, 0x16, 0x00, 0x83, 0x65, 0x73, 0x73, 0x00, 0x13, 0x00, 0x82, 0x73, 0x65, 0x73,
|
||||
0x73, 0x00, 0x15, 0x06, 0x06, 0x04, 0x00, 0x84, 0x72, 0x6F, 0x73, 0x73, 0x00, 0x15, 0x0C, 0x09,
|
||||
0x00, 0x81, 0x73, 0x74, 0x00, 0x52, 0x5C, 0x11, 0x16, 0x6A, 0x11, 0x00, 0x0F, 0x12, 0x10, 0x12,
|
||||
0x11, 0x04, 0x00, 0x84, 0x61, 0x6C, 0x6F, 0x75, 0x73, 0x00, 0x11, 0x08, 0x06, 0x11, 0x12, 0x06,
|
||||
0x00, 0x85, 0x73, 0x65, 0x6E, 0x73, 0x75, 0x73, 0x00, 0x44, 0x9E, 0x11, 0x08, 0xBC, 0x11, 0x0A,
|
||||
0xD9, 0x11, 0x0B, 0xE3, 0x11, 0x0C, 0x19, 0x12, 0x0F, 0x24, 0x12, 0x10, 0x2F, 0x12, 0x11, 0x3B,
|
||||
0x12, 0x12, 0x97, 0x13, 0x13, 0xBD, 0x13, 0x16, 0xD9, 0x13, 0x18, 0x6B, 0x14, 0x00, 0x55, 0xA5,
|
||||
0x11, 0x1A, 0xB0, 0x11, 0x00, 0x08, 0x13, 0x08, 0x16, 0x00, 0x83, 0x61, 0x72, 0x61, 0x74, 0x00,
|
||||
0x0B, 0x08, 0x10, 0x12, 0x16, 0x00, 0x83, 0x77, 0x68, 0x61, 0x74, 0x00, 0x44, 0xC3, 0x11, 0x11,
|
||||
0xCC, 0x11, 0x00, 0x15, 0x0A, 0x2C, 0x00, 0x82, 0x65, 0x61, 0x74, 0x00, 0x10, 0x11, 0x15, 0x08,
|
||||
0x19, 0x12, 0x0A, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x0B, 0x18, 0x04, 0x06, 0x00, 0x82, 0x67,
|
||||
0x68, 0x74, 0x00, 0x47, 0xED, 0x11, 0x0A, 0xF4, 0x11, 0x0C, 0x0E, 0x12, 0x00, 0x0C, 0x1A, 0x00,
|
||||
0x81, 0x74, 0x68, 0x00, 0x51, 0xFB, 0x11, 0x18, 0x02, 0x12, 0x00, 0x08, 0x0F, 0x00, 0x81, 0x74,
|
||||
0x68, 0x00, 0x12, 0x15, 0x0B, 0x17, 0x00, 0x85, 0x6F, 0x75, 0x67, 0x68, 0x74, 0x00, 0x0A, 0x11,
|
||||
0x12, 0x17, 0x00, 0x83, 0x69, 0x67, 0x68, 0x74, 0x00, 0x17, 0x18, 0x12, 0x05, 0x04, 0x00, 0x81,
|
||||
0x20, 0x69, 0x74, 0x00, 0x16, 0x18, 0x08, 0x15, 0x00, 0x83, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x04,
|
||||
0x17, 0x15, 0x12, 0x13, 0x10, 0x0C, 0x00, 0x81, 0x6E, 0x74, 0x00, 0x44, 0x48, 0x12, 0x08, 0x80,
|
||||
0x12, 0x15, 0x84, 0x13, 0x16, 0x8F, 0x13, 0x00, 0x4C, 0x55, 0x12, 0x11, 0x60, 0x12, 0x15, 0x6B,
|
||||
0x12, 0x17, 0x75, 0x12, 0x00, 0x13, 0x0C, 0x06, 0x08, 0x15, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00,
|
||||
0x0C, 0x10, 0x12, 0x15, 0x13, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x04, 0x13, 0x13, 0x04, 0x00,
|
||||
0x82, 0x65, 0x6E, 0x74, 0x00, 0x08, 0x13, 0x10, 0x12, 0x06, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00,
|
||||
0x4C, 0x90, 0x12, 0x10, 0xB1, 0x12, 0x15, 0x15, 0x13, 0x19, 0x6F, 0x13, 0x1D, 0x79, 0x13, 0x00,
|
||||
0x46, 0x97, 0x12, 0x13, 0xA4, 0x12, 0x00, 0x08, 0x09, 0x09, 0x08, 0x00, 0x85, 0x69, 0x63, 0x69,
|
||||
0x65, 0x6E, 0x74, 0x00, 0x08, 0x06, 0x08, 0x15, 0x00, 0x85, 0x69, 0x70, 0x69, 0x65, 0x6E, 0x74,
|
||||
0x00, 0x48, 0xBE, 0x12, 0x11, 0xCA, 0x12, 0x15, 0xEB, 0x12, 0x17, 0x0A, 0x13, 0x00, 0x19, 0x12,
|
||||
0x0A, 0x00, 0x83, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x48, 0xD1, 0x12, 0x15, 0xDD, 0x12,
|
||||
0x00, 0x19, 0x12, 0x0A, 0x00, 0x84, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x12, 0x19, 0x12,
|
||||
0x0A, 0x00, 0x86, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x48, 0xF2, 0x12, 0x12, 0xFD,
|
||||
0x12, 0x00, 0x19, 0x12, 0x0A, 0x00, 0x83, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x19, 0x12, 0x0A,
|
||||
0x00, 0x85, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x04, 0x17, 0x16, 0x00, 0x83, 0x65,
|
||||
0x6D, 0x65, 0x6E, 0x74, 0x00, 0x44, 0x22, 0x13, 0x08, 0x2D, 0x13, 0x09, 0x39, 0x13, 0x15, 0x44,
|
||||
0x13, 0x00, 0x13, 0x04, 0x00, 0x84, 0x70, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07,
|
||||
0x00, 0x84, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07, 0x00, 0x83, 0x65, 0x72,
|
||||
0x65, 0x6E, 0x74, 0x00, 0x44, 0x4B, 0x13, 0x08, 0x63, 0x13, 0x00, 0x13, 0x00, 0x44, 0x54, 0x13,
|
||||
0x13, 0x5C, 0x13, 0x00, 0x85, 0x70, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x04, 0x00, 0x83, 0x65,
|
||||
0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07, 0x00, 0x85, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x08,
|
||||
0x0F, 0x08, 0x15, 0x00, 0x82, 0x61, 0x6E, 0x74, 0x00, 0x0C, 0x11, 0x0A, 0x12, 0x06, 0x00, 0x82,
|
||||
0x61, 0x6E, 0x74, 0x00, 0x08, 0x09, 0x09, 0x0C, 0x07, 0x00, 0x81, 0x65, 0x6E, 0x74, 0x00, 0x12,
|
||||
0x06, 0x00, 0x82, 0x6E, 0x73, 0x74, 0x00, 0x51, 0xA1, 0x13, 0x15, 0xAB, 0x13, 0x16, 0xB4, 0x13,
|
||||
0x00, 0x07, 0x0C, 0x07, 0x00, 0x82, 0x20, 0x6E, 0x6F, 0x74, 0x00, 0x13, 0x08, 0x15, 0x00, 0x82,
|
||||
0x6F, 0x72, 0x74, 0x00, 0x10, 0x0F, 0x04, 0x00, 0x82, 0x6F, 0x73, 0x74, 0x00, 0x48, 0xC4, 0x13,
|
||||
0x1C, 0xCF, 0x13, 0x00, 0x0C, 0x06, 0x08, 0x15, 0x00, 0x83, 0x65, 0x69, 0x70, 0x74, 0x00, 0x06,
|
||||
0x11, 0x08, 0x00, 0x82, 0x72, 0x79, 0x70, 0x74, 0x00, 0x48, 0xEC, 0x13, 0x0A, 0x15, 0x14, 0x0C,
|
||||
0x1E, 0x14, 0x10, 0x3B, 0x14, 0x11, 0x45, 0x14, 0x18, 0x60, 0x14, 0x00, 0x4A, 0xF3, 0x13, 0x15,
|
||||
0x0A, 0x14, 0x00, 0x4C, 0xFA, 0x13, 0x18, 0x02, 0x14, 0x00, 0x0B, 0x00, 0x82, 0x68, 0x65, 0x73,
|
||||
0x74, 0x00, 0x16, 0x00, 0x82, 0x67, 0x65, 0x73, 0x74, 0x00, 0x17, 0x11, 0x0C, 0x00, 0x83, 0x65,
|
||||
0x72, 0x65, 0x73, 0x74, 0x00, 0x15, 0x04, 0x0F, 0x00, 0x81, 0x65, 0x73, 0x74, 0x00, 0x49, 0x25,
|
||||
0x14, 0x11, 0x31, 0x14, 0x00, 0x08, 0x11, 0x04, 0x10, 0x00, 0x84, 0x69, 0x66, 0x65, 0x73, 0x74,
|
||||
0x00, 0x04, 0x0A, 0x04, 0x00, 0x83, 0x69, 0x6E, 0x73, 0x74, 0x00, 0x12, 0x0F, 0x04, 0x00, 0x83,
|
||||
0x6D, 0x6F, 0x73, 0x74, 0x00, 0x44, 0x4C, 0x14, 0x11, 0x57, 0x14, 0x00, 0x0C, 0x0A, 0x04, 0x00,
|
||||
0x84, 0x61, 0x69, 0x6E, 0x73, 0x74, 0x00, 0x0C, 0x04, 0x0A, 0x04, 0x00, 0x82, 0x73, 0x74, 0x00,
|
||||
0x0D, 0x04, 0x2C, 0x00, 0x83, 0x64, 0x6A, 0x75, 0x73, 0x74, 0x00, 0x46, 0x78, 0x14, 0x12, 0x90,
|
||||
0x14, 0x13, 0xA8, 0x14, 0x17, 0xBF, 0x14, 0x00, 0x48, 0x7F, 0x14, 0x15, 0x89, 0x14, 0x00, 0x06,
|
||||
0x1B, 0x08, 0x00, 0x84, 0x65, 0x63, 0x75, 0x74, 0x00, 0x0C, 0x06, 0x00, 0x80, 0x69, 0x74, 0x00,
|
||||
0x44, 0x97, 0x14, 0x05, 0xA0, 0x14, 0x00, 0x05, 0x00, 0x84, 0x61, 0x62, 0x6F, 0x75, 0x74, 0x00,
|
||||
0x05, 0x04, 0x00, 0x83, 0x6F, 0x75, 0x74, 0x00, 0x57, 0xAF, 0x14, 0x18, 0xB7, 0x14, 0x00, 0x11,
|
||||
0x0C, 0x00, 0x83, 0x70, 0x75, 0x74, 0x00, 0x12, 0x00, 0x82, 0x74, 0x70, 0x75, 0x74, 0x00, 0x13,
|
||||
0x18, 0x12, 0x00, 0x83, 0x74, 0x70, 0x75, 0x74, 0x00, 0x17, 0x12, 0x05, 0x04, 0x00, 0x81, 0x75,
|
||||
0x74, 0x00, 0x48, 0xD9, 0x14, 0x0C, 0xFD, 0x14, 0x00, 0x44, 0xE0, 0x14, 0x0C, 0xE7, 0x14, 0x00,
|
||||
0x0B, 0x2C, 0x00, 0x81, 0x76, 0x65, 0x00, 0x46, 0xEE, 0x14, 0x08, 0xF6, 0x14, 0x00, 0x08, 0x15,
|
||||
0x00, 0x82, 0x65, 0x69, 0x76, 0x00, 0x06, 0x08, 0x15, 0x00, 0x81, 0x76, 0x00, 0x08, 0x0B, 0x06,
|
||||
0x04, 0x2C, 0x00, 0x82, 0x69, 0x65, 0x76, 0x00, 0x4C, 0x0F, 0x15, 0x11, 0x19, 0x15, 0x00, 0x08,
|
||||
0x19, 0x08, 0x15, 0x00, 0x82, 0x69, 0x65, 0x77, 0x00, 0x12, 0x0E, 0x2C, 0x00, 0x82, 0x6E, 0x6F,
|
||||
0x77, 0x00, 0x46, 0x3B, 0x15, 0x08, 0x76, 0x15, 0x0B, 0x80, 0x15, 0x0F, 0x92, 0x15, 0x11, 0x57,
|
||||
0x16, 0x15, 0x72, 0x16, 0x16, 0x0C, 0x17, 0x17, 0x27, 0x17, 0x00, 0x44, 0x48, 0x15, 0x08, 0x54,
|
||||
0x15, 0x0C, 0x5F, 0x15, 0x13, 0x6A, 0x15, 0x00, 0x15, 0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x82,
|
||||
0x69, 0x73, 0x79, 0x00, 0x18, 0x14, 0x08, 0x15, 0x09, 0x00, 0x81, 0x6E, 0x63, 0x79, 0x00, 0x15,
|
||||
0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x81, 0x73, 0x79, 0x00, 0x18, 0x15, 0x0E, 0x11, 0x04, 0x05,
|
||||
0x00, 0x81, 0x74, 0x63, 0x79, 0x00, 0x17, 0x09, 0x04, 0x16, 0x00, 0x82, 0x65, 0x74, 0x79, 0x00,
|
||||
0x06, 0x15, 0x04, 0x15, 0x0C, 0x08, 0x0B, 0x00, 0x87, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68,
|
||||
0x79, 0x00, 0x44, 0xA5, 0x15, 0x0B, 0xE8, 0x15, 0x0E, 0xF2, 0x15, 0x0F, 0xFA, 0x15, 0x12, 0x42,
|
||||
0x16, 0x15, 0x4C, 0x16, 0x00, 0x45, 0xB8, 0x15, 0x08, 0xC1, 0x15, 0x0F, 0xC7, 0x15, 0x11, 0xD0,
|
||||
0x15, 0x15, 0xD7, 0x15, 0x18, 0xE0, 0x15, 0x00, 0x12, 0x15, 0x13, 0x00, 0x81, 0x62, 0x6C, 0x79,
|
||||
0x00, 0x15, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x08, 0x15, 0x00, 0x83, 0x61, 0x6C, 0x6C, 0x79, 0x00,
|
||||
0x0C, 0x09, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x08, 0x11, 0x08, 0x0A, 0x00, 0x80, 0x6C, 0x79, 0x00,
|
||||
0x17, 0x06, 0x04, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x0A, 0x0C, 0x0F, 0x16, 0x00, 0x81, 0x74, 0x6C,
|
||||
0x79, 0x00, 0x0C, 0x0F, 0x00, 0x81, 0x65, 0x6C, 0x79, 0x00, 0x44, 0x04, 0x16, 0x05, 0x2F, 0x16,
|
||||
0x08, 0x38, 0x16, 0x00, 0x56, 0x0B, 0x16, 0x17, 0x23, 0x16, 0x00, 0x18, 0x00, 0x6C, 0x14, 0x16,
|
||||
0x16, 0x1B, 0x16, 0x00, 0x83, 0x75, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x18, 0x00, 0x84, 0x61, 0x6C,
|
||||
0x6C, 0x79, 0x00, 0x18, 0x06, 0x04, 0x00, 0x85, 0x74, 0x75, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x04,
|
||||
0x05, 0x12, 0x15, 0x13, 0x00, 0x81, 0x79, 0x00, 0x04, 0x15, 0x00, 0x84, 0x65, 0x61, 0x6C, 0x6C,
|
||||
0x79, 0x00, 0x10, 0x12, 0x11, 0x04, 0x00, 0x82, 0x61, 0x6C, 0x79, 0x00, 0x04, 0x10, 0x0C, 0x15,
|
||||
0x13, 0x00, 0x81, 0x69, 0x6C, 0x79, 0x00, 0x48, 0x5E, 0x16, 0x13, 0x67, 0x16, 0x00, 0x12, 0x10,
|
||||
0x2C, 0x00, 0x82, 0x6E, 0x65, 0x79, 0x00, 0x04, 0x10, 0x12, 0x06, 0x00, 0x83, 0x70, 0x61, 0x6E,
|
||||
0x79, 0x00, 0x44, 0x7F, 0x16, 0x08, 0xE7, 0x16, 0x12, 0xF0, 0x16, 0x17, 0xFD, 0x16, 0x00, 0x45,
|
||||
0x8F, 0x16, 0x0C, 0x98, 0x16, 0x0F, 0xA5, 0x16, 0x10, 0xC1, 0x16, 0x16, 0xCA, 0x16, 0x00, 0x0C,
|
||||
0x0F, 0x00, 0x82, 0x72, 0x61, 0x72, 0x79, 0x00, 0x0F, 0x0F, 0x0C, 0x1B, 0x18, 0x04, 0x00, 0x84,
|
||||
0x69, 0x61, 0x72, 0x79, 0x00, 0x4C, 0xAC, 0x16, 0x0F, 0xB6, 0x16, 0x00, 0x1B, 0x18, 0x04, 0x00,
|
||||
0x82, 0x69, 0x61, 0x72, 0x79, 0x00, 0x0C, 0x1B, 0x18, 0x04, 0x00, 0x83, 0x69, 0x61, 0x72, 0x79,
|
||||
0x00, 0x18, 0x16, 0x00, 0x82, 0x6D, 0x61, 0x72, 0x79, 0x00, 0x08, 0x06, 0x00, 0x46, 0xD4, 0x16,
|
||||
0x08, 0xDF, 0x16, 0x00, 0x08, 0x11, 0x00, 0x85, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x00, 0x11,
|
||||
0x00, 0x82, 0x73, 0x61, 0x72, 0x79, 0x00, 0x13, 0x12, 0x15, 0x13, 0x00, 0x80, 0x74, 0x79, 0x00,
|
||||
0x0A, 0x04, 0x17, 0x04, 0x06, 0x00, 0x84, 0x65, 0x67, 0x6F, 0x72, 0x79, 0x00, 0x11, 0x18, 0x06,
|
||||
0x12, 0x2C, 0x00, 0x86, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x04, 0x00, 0x55, 0x15,
|
||||
0x17, 0x1A, 0x20, 0x17, 0x00, 0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x82, 0x69, 0x73, 0x79, 0x00,
|
||||
0x0F, 0x04, 0x00, 0x81, 0x79, 0x73, 0x00, 0x49, 0x31, 0x17, 0x0F, 0x39, 0x17, 0x15, 0x42, 0x17,
|
||||
0x00, 0x04, 0x16, 0x00, 0x81, 0x65, 0x74, 0x79, 0x00, 0x0C, 0x05, 0x04, 0x00, 0x81, 0x69, 0x74,
|
||||
0x79, 0x00, 0x13, 0x08, 0x12, 0x15, 0x13, 0x00, 0x84, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00
|
||||
};
|
474
features/autocorrect_dictionary.txt
Normal file
474
features/autocorrect_dictionary.txt
Normal file
|
@ -0,0 +1,474 @@
|
|||
|
||||
# Copyright 2021 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
# This is a larger example typo dictionary containing 400 entries. It builds to
|
||||
# a table of about 6000 bytes, so you'll need a keyboard with a generous
|
||||
# amount of free firmware space to use the full dictionary. Alternatively, pick
|
||||
# out a subset of entries to a separate file, then build a table from that.
|
||||
#
|
||||
# Dictionary syntax:
|
||||
# Each line of this file defines one typo correction entry with the syntax
|
||||
# "typo -> correction". Typos and corrections are case insensitive, and any
|
||||
# whitespace before or after the typo and correction is ignored. The typo must be
|
||||
# only the letters a-z, or the special character : representing a word break.
|
||||
#
|
||||
# For documentation about how to use this dictionary, see
|
||||
# https://getreuer.info/posts/keyboards/autocorrection
|
||||
#
|
||||
# Further resources:
|
||||
# * Wikipedia has a large list of common typos at
|
||||
# https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
|
||||
#
|
||||
# * EmacsWiki has another list of typos at
|
||||
# https://www.emacswiki.org/emacs/autocorrection_abbrev_defs
|
||||
#
|
||||
# * You can find data on English word frequencies at
|
||||
# https://www.wordfrequency.info/samples.asp
|
||||
|
||||
|
||||
## 10 most common words.
|
||||
# The words "there", "about", "their", "would", "people", "which", "could",
|
||||
# "think", "other", and "because" are among the most common words in English
|
||||
# that are 5 letters or longer. (We don't include entries for words shorter than
|
||||
# that to avoid false triggering.)
|
||||
:htere -> there
|
||||
abbout -> about
|
||||
abotu -> about
|
||||
baout -> about
|
||||
:theri -> their
|
||||
:thier -> their
|
||||
:owudl -> would
|
||||
woudl -> would
|
||||
peaple -> people
|
||||
peolpe -> people
|
||||
peopel -> people
|
||||
poeple -> people
|
||||
poeople -> people
|
||||
:hwihc -> which
|
||||
whcih -> which
|
||||
whihc -> which
|
||||
whlch -> which
|
||||
wihch -> which
|
||||
coudl -> could
|
||||
:htikn -> think
|
||||
:htink -> think
|
||||
thikn -> think
|
||||
thiunk -> think
|
||||
tihkn -> think
|
||||
:olther -> other
|
||||
:otehr -> other
|
||||
baceause -> because
|
||||
beacuse -> because
|
||||
becasue -> because
|
||||
beccause -> because
|
||||
becouse -> because
|
||||
becuase -> because
|
||||
|
||||
## Common words, 11-20.
|
||||
theese -> these
|
||||
:goign -> going
|
||||
:gonig -> going
|
||||
:yaers -> years
|
||||
:yeasr -> years
|
||||
:thsoe -> those
|
||||
shoudl -> should
|
||||
raelly -> really
|
||||
realy -> really
|
||||
relaly -> really
|
||||
bedore -> before
|
||||
befoer -> before
|
||||
littel -> little
|
||||
beeing -> being
|
||||
:hwile -> while
|
||||
|
||||
## Common words, 21-30.
|
||||
aroud -> around
|
||||
arround -> around
|
||||
arund -> around
|
||||
thign -> thing
|
||||
thigsn -> things
|
||||
thnigs -> things
|
||||
anohter -> another
|
||||
beteen -> between
|
||||
beween -> between
|
||||
bewteen -> between
|
||||
:eveyr -> every
|
||||
:graet -> great
|
||||
:agian -> again
|
||||
:sicne -> since
|
||||
alwasy -> always
|
||||
alwyas -> always
|
||||
throught -> thought
|
||||
|
||||
|
||||
## Words especially susceptible to skipping or transposing a letter.
|
||||
# These entries are for words that are easy enough to spell, but not necessarily
|
||||
# easy to press the keys in the right order.
|
||||
# Catch misspellings of "achieves", "achieving", etc.
|
||||
:acheiv -> achiev
|
||||
almsot -> almost
|
||||
alomst -> almost
|
||||
chnage -> change
|
||||
chekc -> check
|
||||
childen -> children
|
||||
claer -> clear
|
||||
comapny -> company
|
||||
contian -> contain
|
||||
elasped -> elapsed
|
||||
feild -> field
|
||||
fitler -> filter
|
||||
firts -> first
|
||||
follwo -> follow
|
||||
:foudn -> found
|
||||
frequecy -> frequency
|
||||
firend -> friend
|
||||
freind -> friend
|
||||
heigth -> height
|
||||
iamge -> image
|
||||
inital -> initial
|
||||
intput -> input
|
||||
laguage -> language
|
||||
lenght -> length
|
||||
levle -> level
|
||||
libary -> library
|
||||
:moeny -> money
|
||||
mysefl -> myself
|
||||
ouptut -> output
|
||||
ouput -> output
|
||||
probaly -> probably
|
||||
probelm -> problem
|
||||
recrod -> record
|
||||
reponse -> response
|
||||
reprot -> report
|
||||
singel -> single
|
||||
stregth -> strength
|
||||
strengh -> strength
|
||||
tkaes -> takes
|
||||
therfore -> therefore
|
||||
todya -> today
|
||||
toghether -> together
|
||||
unkown -> unknown
|
||||
unqiue -> unique
|
||||
widht -> width
|
||||
|
||||
|
||||
## Words with tricky spelling.
|
||||
# If you are a good speller, you could drop this section.
|
||||
aberation -> aberration
|
||||
accross -> across
|
||||
adviced -> advised
|
||||
aledge -> allege
|
||||
alledge -> allege
|
||||
amature -> amateur
|
||||
anomolous -> anomalous
|
||||
anomoly -> anomaly
|
||||
aparent -> apparent
|
||||
aparrent -> apparent
|
||||
apparant -> apparent
|
||||
apparrent -> apparent
|
||||
asthetic -> aesthetic
|
||||
auxilary -> auxiliary
|
||||
auxillary -> auxiliary
|
||||
auxilliary -> auxiliary
|
||||
bankrupcy -> bankruptcy
|
||||
busness -> business
|
||||
bussiness -> business
|
||||
calander -> calendar
|
||||
commitee -> committee
|
||||
comittee -> committee
|
||||
competance -> competence
|
||||
competant -> competent
|
||||
concensus -> consensus
|
||||
cognizent -> cognizant
|
||||
copywrite: -> copyright
|
||||
choosen -> chosen
|
||||
collegue -> colleague
|
||||
excercise -> exercise
|
||||
:grammer -> grammar
|
||||
:guage -> gauge
|
||||
govement -> government
|
||||
govenment -> government
|
||||
goverment -> government
|
||||
governmnet -> government
|
||||
govorment -> government
|
||||
govornment -> government
|
||||
guaratee -> guarantee
|
||||
garantee -> guarantee
|
||||
gaurantee -> guarantee
|
||||
heirarchy -> hierarchy
|
||||
hygeine -> hygiene
|
||||
hypocracy -> hypocrisy
|
||||
hypocrasy -> hypocrisy
|
||||
hypocricy -> hypocrisy
|
||||
hypocrit: -> hypocrite
|
||||
looses: -> loses
|
||||
maintence -> maintenance
|
||||
morgage -> mortgage
|
||||
neccesary -> necessary
|
||||
necesary -> necessary
|
||||
pallete -> palette
|
||||
paralel -> parallel
|
||||
parralel -> parallel
|
||||
parrallel -> parallel
|
||||
priviledge -> privilege
|
||||
probablly -> probably
|
||||
prominant -> prominent
|
||||
propogate -> propagate
|
||||
proove -> prove
|
||||
psuedo -> pseudo
|
||||
reciept -> receipt
|
||||
# Catch misspellings of "receives", "receiving", etc.
|
||||
receiev -> receiv
|
||||
reciev -> receiv
|
||||
recepient -> recipient
|
||||
recipiant -> recipient
|
||||
relevent -> relevant
|
||||
repitition -> repetition
|
||||
safty -> safety
|
||||
saftey -> safety
|
||||
# Catch misspellings of "separate", "separating", etc.
|
||||
seperat -> separat
|
||||
spectogram -> spectrogram
|
||||
symetric -> symmetric
|
||||
tolerence -> tolerance
|
||||
|
||||
|
||||
## Words particularly for coding.
|
||||
# Entries for common code keywords ("const") and terminology ("lookup").
|
||||
cacheing -> caching
|
||||
complier -> compiler
|
||||
doulbe -> double
|
||||
dyanmic -> dynamic
|
||||
# As in "execute", "executable", "executing", ...
|
||||
excecut -> execut
|
||||
failse -> false
|
||||
fales -> false
|
||||
fasle -> false
|
||||
flase -> false
|
||||
indeces -> indices
|
||||
indecies -> indices
|
||||
indicies -> indices
|
||||
interator -> iterator
|
||||
looup -> lookup
|
||||
namesapce -> namespace
|
||||
namespcae -> namespace
|
||||
nulltpr -> nullptr
|
||||
operaotr -> operator
|
||||
overide -> override
|
||||
ovveride -> override
|
||||
poitner -> pointer
|
||||
:rference -> reference
|
||||
referece -> reference
|
||||
singed -> signed
|
||||
stirng -> string
|
||||
strign -> string
|
||||
swithc -> switch
|
||||
swtich -> switch
|
||||
teamplate -> template
|
||||
tempalte -> template
|
||||
:ture -> true
|
||||
retrun -> return
|
||||
retun -> return
|
||||
reutrn -> return
|
||||
cosnt -> const
|
||||
virutal -> virtual
|
||||
vitual -> virtual
|
||||
yeild -> yield
|
||||
|
||||
|
||||
## Catch skipped spaces between common words.
|
||||
:alot: -> a lot
|
||||
:andteh -> and the
|
||||
:andthe -> and the
|
||||
:asthe -> as the
|
||||
:atthe -> at the
|
||||
abouta -> about a
|
||||
aboutit -> about it
|
||||
aboutthe -> about the
|
||||
:tothe -> to the
|
||||
didnot -> did not
|
||||
fromthe -> from the
|
||||
|
||||
|
||||
## Various additional entries.
|
||||
:agred -> agreed
|
||||
:ajust -> adjust
|
||||
:anual -> annual
|
||||
:asign -> assign
|
||||
:aslo: -> also
|
||||
:casue -> cause
|
||||
:choses -> chooses
|
||||
:gaurd -> guard
|
||||
:haev -> have
|
||||
:hapen -> happen
|
||||
:idaes -> ideas
|
||||
:jsut: -> just
|
||||
:jstu: -> just
|
||||
:knwo -> know
|
||||
:konw -> know
|
||||
:kwno -> know
|
||||
:ocuntry -> country
|
||||
:ocur -> occur
|
||||
:socre -> score
|
||||
:szie -> size
|
||||
:the:the: -> the
|
||||
:turth -> truth
|
||||
:uesd: -> used
|
||||
:usally -> usually
|
||||
abilties -> abilities
|
||||
abilty -> ability
|
||||
abvove -> above
|
||||
accesories -> accessories
|
||||
accomodate -> accommodate
|
||||
acommodate -> accommodate
|
||||
acomplish -> accomplish
|
||||
actualy -> actually
|
||||
acurate -> accurate
|
||||
acutally -> actually
|
||||
addtion -> addition
|
||||
againnst -> against
|
||||
aganist -> against
|
||||
aggreed -> agreed
|
||||
agianst -> against
|
||||
ahppn -> happen
|
||||
allign -> align
|
||||
anytying -> anything
|
||||
aquire -> acquire
|
||||
availabe -> available
|
||||
availaible -> available
|
||||
availalbe -> available
|
||||
availble -> available
|
||||
availiable -> available
|
||||
avalable -> available
|
||||
avaliable -> available
|
||||
avilable -> available
|
||||
bandwith -> bandwidth
|
||||
begginer -> beginner
|
||||
beleif -> belief
|
||||
beleive -> believe
|
||||
belive -> believe
|
||||
breif -> brief
|
||||
burried -> buried
|
||||
caluclate -> calculate
|
||||
caluculate -> calculate
|
||||
calulate -> calculate
|
||||
catagory -> category
|
||||
cauhgt -> caught
|
||||
ceratin -> certain
|
||||
certian -> certain
|
||||
cheif -> chief
|
||||
cieling -> ceiling
|
||||
circut -> circuit
|
||||
clasic -> classic
|
||||
cmoputer -> computer
|
||||
coform -> conform
|
||||
comming: -> coming
|
||||
considerd -> considered
|
||||
dervied -> derived
|
||||
desicion -> decision
|
||||
diferent -> different
|
||||
diferrent -> different
|
||||
differnt -> different
|
||||
diffrent -> different
|
||||
divison -> division
|
||||
effecient -> efficient
|
||||
eligable -> eligible
|
||||
elpased -> elapsed
|
||||
embarass -> embarrass
|
||||
embeded -> embedded
|
||||
encypt -> encrypt
|
||||
finaly -> finally
|
||||
foriegn -> foreign
|
||||
foward -> forward
|
||||
fraciton -> fraction
|
||||
fucntion -> function
|
||||
fufill -> fulfill
|
||||
fullfill -> fulfill
|
||||
futher -> further
|
||||
ganerate -> generate
|
||||
generaly -> generally
|
||||
greatful -> grateful
|
||||
heigher -> higher
|
||||
higest -> highest
|
||||
howver -> however
|
||||
hydogen -> hydrogen
|
||||
importamt -> important
|
||||
inclued -> include
|
||||
insted -> instead
|
||||
intrest -> interest
|
||||
invliad -> invalid
|
||||
largst -> largest
|
||||
learnign -> learning
|
||||
liasion -> liaison
|
||||
likly -> likely
|
||||
lisense -> license
|
||||
listner -> listener
|
||||
macthing -> matching
|
||||
manefist -> manifest
|
||||
mesage -> message
|
||||
naturual -> natural
|
||||
occassion -> occasion
|
||||
occured -> occurred
|
||||
particualr -> particular
|
||||
paticular -> particular
|
||||
peice -> piece
|
||||
perhasp -> perhaps
|
||||
perheaps -> perhaps
|
||||
perhpas -> perhaps
|
||||
perphas -> perhaps
|
||||
persue -> pursue
|
||||
posess -> possess
|
||||
postion -> position
|
||||
preiod -> period
|
||||
primarly -> primarily
|
||||
privte -> private
|
||||
proccess -> process
|
||||
proeprty -> property
|
||||
propery -> property
|
||||
realtion -> relation
|
||||
reasearch -> research
|
||||
recuring -> recurring
|
||||
refered -> referred
|
||||
regluar -> regular
|
||||
releated -> related
|
||||
resutl -> result
|
||||
reuslt -> result
|
||||
reveiw -> review
|
||||
satisifed -> satisfied
|
||||
scheduel -> schedule
|
||||
sequnce -> sequence
|
||||
similiar -> similar
|
||||
simmilar -> similar
|
||||
slighly -> slightly
|
||||
somehwat -> somewhat
|
||||
statment -> statement
|
||||
sucess -> success
|
||||
succsess -> success
|
||||
sugest -> suggest
|
||||
sumary -> summary
|
||||
supress -> suppress
|
||||
surpress -> suppress
|
||||
thresold -> threshold
|
||||
tongiht -> tonight
|
||||
tranpose -> transpose
|
||||
typcial -> typical
|
||||
udpate -> update
|
||||
ususally -> usually
|
||||
verticies -> vertices
|
||||
whereever -> wherever
|
||||
wherre -> where
|
||||
wierd -> weird
|
||||
|
264
features/casemodes.c
Normal file
264
features/casemodes.c
Normal file
|
@ -0,0 +1,264 @@
|
|||
/* Copyright 2021 Andrew Rae ajrae.nv@gmail.com @andrewjrae
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "casemodes.h"
|
||||
|
||||
/* The caps word concept started with me @iaap on splitkb.com discord.
|
||||
* However it has been implemented and extended by many splitkb.com users:
|
||||
* - @theol0403 made many improvements to initial implementation
|
||||
* - @precondition used caps lock rather than shifting
|
||||
* - @dnaq his own implementation which also used caps lock
|
||||
* - @sevanteri added underscores on spaces
|
||||
* - @metheon extended on @sevanteri's work and added specific modes for
|
||||
* snake_case and SCREAMING_SNAKE_CASE
|
||||
* - @baffalop came up with the idea for xcase, which he implements in his own
|
||||
* repo, however this is implemented by @iaap with support also for one-shot-shift.
|
||||
* - @sevanteri
|
||||
* - fixed xcase waiting mode to allow more modified keys and keys from other layers.
|
||||
* - Added @baffalop's separator defaulting on first keypress, with a
|
||||
* configurable default separator and overrideable function to determine
|
||||
* if the default should be used.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef DEFAULT_XCASE_SEPARATOR
|
||||
#define DEFAULT_XCASE_SEPARATOR KC_UNDS
|
||||
#endif
|
||||
|
||||
#define IS_OSM(keycode) (keycode >= QK_ONE_SHOT_MOD && keycode <= QK_ONE_SHOT_MOD_MAX)
|
||||
|
||||
// bool to keep track of the caps word state
|
||||
static bool caps_word_on = false;
|
||||
|
||||
// enum to keep track of the xcase state
|
||||
static enum xcase_state xcase_state = XCASE_OFF;
|
||||
// the keycode of the xcase delimiter
|
||||
static uint16_t xcase_delimiter;
|
||||
// the number of keys to the last delimiter
|
||||
static int8_t distance_to_last_delim = -1;
|
||||
|
||||
// Check whether caps word is on
|
||||
bool caps_word_enabled(void) {
|
||||
return caps_word_on;
|
||||
}
|
||||
|
||||
// Enable caps word
|
||||
void enable_caps_word(void) {
|
||||
caps_word_on = true;
|
||||
#ifndef CAPSWORD_USE_SHIFT
|
||||
if (!host_keyboard_led_state().caps_lock) {
|
||||
tap_code(KC_CAPS);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// Disable caps word
|
||||
void disable_caps_word(void) {
|
||||
caps_word_on = false;
|
||||
#ifndef CAPSWORD_USE_SHIFT
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
tap_code(KC_CAPS);
|
||||
}
|
||||
#else
|
||||
unregister_mods(MOD_LSFT);
|
||||
#endif
|
||||
}
|
||||
|
||||
// Toggle caps word
|
||||
void toggle_caps_word(void) {
|
||||
if (caps_word_on) {
|
||||
disable_caps_word();
|
||||
}
|
||||
else {
|
||||
enable_caps_word();
|
||||
}
|
||||
}
|
||||
|
||||
// Get xcase state
|
||||
enum xcase_state get_xcase_state(void) {
|
||||
return xcase_state;
|
||||
}
|
||||
|
||||
// Enable xcase and pickup the next keystroke as the delimiter
|
||||
void enable_xcase(void) {
|
||||
xcase_state = XCASE_WAIT;
|
||||
}
|
||||
|
||||
// Enable xcase with the specified delimiter
|
||||
void enable_xcase_with(uint16_t delimiter) {
|
||||
xcase_state = XCASE_ON;
|
||||
xcase_delimiter = delimiter;
|
||||
distance_to_last_delim = -1;
|
||||
}
|
||||
|
||||
// Disable xcase
|
||||
void disable_xcase(void) {
|
||||
xcase_state = XCASE_OFF;
|
||||
}
|
||||
|
||||
// Place the current xcase delimiter
|
||||
static void place_delimiter(void) {
|
||||
if (IS_OSM(xcase_delimiter)) {
|
||||
// apparently set_oneshot_mods() is dumb and doesn't deal with handedness for you
|
||||
uint8_t mods = xcase_delimiter & 0x10 ? (xcase_delimiter & 0x0F) << 4 : xcase_delimiter & 0xFF;
|
||||
set_oneshot_mods(mods);
|
||||
} else {
|
||||
tap_code16(xcase_delimiter);
|
||||
}
|
||||
}
|
||||
|
||||
// Removes a delimiter, used for double tap space exit
|
||||
static void remove_delimiter(void) {
|
||||
if (IS_OSM(xcase_delimiter)) {
|
||||
clear_oneshot_mods();
|
||||
} else {
|
||||
tap_code(KC_BSPC);
|
||||
}
|
||||
}
|
||||
|
||||
// overrideable function to determine whether the case mode should stop
|
||||
__attribute__ ((weak))
|
||||
bool terminate_case_modes(uint16_t keycode, const keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
// Keycodes to ignore (don't disable caps word)
|
||||
case KC_A ... KC_Z:
|
||||
case KC_1 ... KC_0:
|
||||
case KC_MINS:
|
||||
case KC_UNDS:
|
||||
case KC_BSPC:
|
||||
// If mod chording disable the mods
|
||||
if (record->event.pressed && (get_mods() != 0)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (record->event.pressed) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* overrideable function to determine whether to use the default separator on
|
||||
* first keypress when waiting for the separator. */
|
||||
__attribute__ ((weak))
|
||||
bool use_default_xcase_separator(uint16_t keycode, const keyrecord_t *record) {
|
||||
// for example:
|
||||
/* switch (keycode) { */
|
||||
/* case KC_A ... KC_Z: */
|
||||
/* case KC_1 ... KC_0: */
|
||||
/* return true; */
|
||||
/* } */
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_case_modes(uint16_t keycode, const keyrecord_t *record) {
|
||||
if (caps_word_on || xcase_state) {
|
||||
if ((QK_MOD_TAP <= keycode && keycode <= QK_MOD_TAP_MAX)
|
||||
|| (QK_LAYER_TAP <= keycode && keycode <= QK_LAYER_TAP_MAX)) {
|
||||
// Earlier return if this has not been considered tapped yet
|
||||
if (record->tap.count == 0)
|
||||
return true;
|
||||
keycode = keycode & 0xFF;
|
||||
}
|
||||
|
||||
if (keycode >= QK_LAYER_TAP && keycode <= QK_ONE_SHOT_LAYER_MAX) {
|
||||
// let special keys and normal modifiers go through
|
||||
return true;
|
||||
}
|
||||
|
||||
if (xcase_state == XCASE_WAIT) {
|
||||
// grab the next input to be the delimiter
|
||||
if (use_default_xcase_separator(keycode, record)) {
|
||||
enable_xcase_with(DEFAULT_XCASE_SEPARATOR);
|
||||
}
|
||||
else if (record->event.pressed) {
|
||||
// factor in mods
|
||||
if (get_mods() & MOD_MASK_SHIFT) {
|
||||
keycode = LSFT(keycode);
|
||||
}
|
||||
else if (get_mods() & MOD_BIT(KC_RALT)) {
|
||||
keycode = RALT(keycode);
|
||||
}
|
||||
enable_xcase_with(keycode);
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
if (IS_OSM(keycode)) {
|
||||
// this catches the OSM release if no other key was pressed
|
||||
set_oneshot_mods(0);
|
||||
enable_xcase_with(keycode);
|
||||
return false;
|
||||
}
|
||||
// let other special keys go through
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (record->event.pressed) {
|
||||
// handle xcase mode
|
||||
if (xcase_state == XCASE_ON) {
|
||||
// place the delimiter if space is tapped
|
||||
if (keycode == KC_SPACE) {
|
||||
if (distance_to_last_delim != 0) {
|
||||
place_delimiter();
|
||||
distance_to_last_delim = 0;
|
||||
return false;
|
||||
}
|
||||
// remove the delimiter and disable modes
|
||||
else {
|
||||
remove_delimiter();
|
||||
disable_xcase();
|
||||
disable_caps_word();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// decrement distance to delimiter on back space
|
||||
else if (keycode == KC_BSPC) {
|
||||
--distance_to_last_delim;
|
||||
}
|
||||
// don't increment distance to last delim if negative
|
||||
else if (distance_to_last_delim >= 0) {
|
||||
// puts back a one shot delimiter if you we're back to the delimiter pos
|
||||
if (distance_to_last_delim == 0 && (IS_OSM(xcase_delimiter))) {
|
||||
place_delimiter();
|
||||
}
|
||||
++distance_to_last_delim;
|
||||
}
|
||||
|
||||
} // end XCASE_ON
|
||||
|
||||
// check if the case modes have been terminated
|
||||
if (terminate_case_modes(keycode, record)) {
|
||||
disable_caps_word();
|
||||
disable_xcase();
|
||||
}
|
||||
|
||||
#ifdef CAPSWORD_USE_SHIFT
|
||||
else if (caps_word_on && keycode >= KC_A && keycode <= KC_Z){
|
||||
tap_code16(LSFT(keycode));
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
} // end if event.pressed
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
47
features/casemodes.h
Normal file
47
features/casemodes.h
Normal file
|
@ -0,0 +1,47 @@
|
|||
/* Copyright 2021 Andrew Rae ajrae.nv@gmail.com @andrewjrae
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Check whether caps word is on
|
||||
bool caps_word_enabled(void);
|
||||
// Enable caps word
|
||||
void enable_caps_word(void);
|
||||
// Disable caps word
|
||||
void disable_caps_word(void);
|
||||
// Toggle caps word
|
||||
void toggle_caps_word(void);
|
||||
|
||||
// enum for the xcase states
|
||||
enum xcase_state {
|
||||
XCASE_OFF = 0, // xcase is off
|
||||
XCASE_ON, // xcase is actively on
|
||||
XCASE_WAIT, // xcase is waiting for the delimiter input
|
||||
};
|
||||
|
||||
// Get xcase state
|
||||
enum xcase_state get_xcase_state(void);
|
||||
// Enable xcase and pickup the next keystroke as the delimiter
|
||||
void enable_xcase(void);
|
||||
// Enable xcase with the specified delimiter
|
||||
void enable_xcase_with(uint16_t delimiter);
|
||||
// Disable xcase
|
||||
void disable_xcase(void);
|
||||
|
||||
// Function to be put in process user
|
||||
bool process_case_modes(uint16_t keycode, const keyrecord_t *record);
|
39
keyboards/ferris/sweep/keymaps/sajenim/combos.def
Normal file
39
keyboards/ferris/sweep/keymaps/sajenim/combos.def
Normal file
|
@ -0,0 +1,39 @@
|
|||
#define CK_DQUO "\"\""SS_TAP(X_LEFT)
|
||||
#define CK_QUOT "\'\'"SS_TAP(X_LEFT)
|
||||
|
||||
// name result 1st chord key 2nd chord key 3rd chord key
|
||||
|
||||
// vertical
|
||||
COMB(NUM_1, KC_1, KC_W, HRM_C)
|
||||
COMB(NUM_2, KC_2, KC_L, HRM_R)
|
||||
COMB(NUM_3, KC_3, KC_Y, HRM_S)
|
||||
COMB(NUM_4, KC_4, KC_P, HRM_T)
|
||||
COMB(NUM_5, KC_5, KC_B, KC_G)
|
||||
COMB(NUM_6, KC_6, KC_Z, KC_M)
|
||||
COMB(NUM_7, KC_7, KC_F, HRM_N)
|
||||
COMB(NUM_8, KC_8, KC_O, HRM_E)
|
||||
COMB(NUM_9, KC_9, KC_U, HRM_I)
|
||||
COMB(NUM_0, KC_0, KC_QUOT, HRM_A)
|
||||
|
||||
// middle row
|
||||
COMB(rs_tab, KC_TAB, HRM_R, HRM_S)
|
||||
SUBS(rt_dquo, CK_DQUO, HRM_R, HRM_T)
|
||||
COMB(st_delwrd, C(KC_BSPC), HRM_S, HRM_T)
|
||||
|
||||
COMB(ne_esc, KC_ESC, HRM_N, HRM_E)
|
||||
SUBS(ni_quot, CK_QUOT, HRM_N, HRM_I)
|
||||
COMB(ei_ent, KC_ENT, HRM_E, HRM_I)
|
||||
SUBS(nei_write, "\e:w\n", HRM_N, HRM_E, HRM_I)
|
||||
|
||||
// bottom row
|
||||
COMB(jv_coln, KC_COLN, KC_J, KC_V)
|
||||
COMB(vd_m1a, G(KC_A), KC_V, SYM_D)
|
||||
COMB(dk_shift, OSM(MOD_LSFT), SYM_D, KC_K)
|
||||
|
||||
COMB(xh_shift, OSM(MOD_RSFT), KC_X, SYM_H)
|
||||
COMB(h_slsh_m4a, A(KC_A), SYM_H, KC_SLSH)
|
||||
COMB(h_comm_lead, QK_LEAD, SYM_H, KC_COMM)
|
||||
COMB(slsh_comm_bsls, KC_BSLS, KC_SLSH, KC_COMM)
|
||||
|
||||
/* vim: set filetype=c: */
|
||||
|
37
keyboards/ferris/sweep/keymaps/sajenim/config.h
Normal file
37
keyboards/ferris/sweep/keymaps/sajenim/config.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* Copyright 2022 @ sajenim (https://github.com/sajenim)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// By default, the firmware does not know which side is which.
|
||||
#define MASTER_LEFT
|
||||
|
||||
// Tap-Hold configuration for home row mods.
|
||||
#define TAPPING_TERM 175
|
||||
#define PERMISSIVE_HOLD
|
||||
#define CHORDAL_HOLD
|
||||
#define QUICK_TAP_TERM 0
|
||||
|
||||
// Leader
|
||||
#define LEADER_NO_TIMEOUT // disable initial timeout
|
||||
#define LEADER_PER_KEY_TIMING // reset timeout for each key
|
||||
#define LEADER_TIMEOUT 250
|
||||
|
||||
// Timeouts
|
||||
#define ONESHOT_TIMEOUT 5000
|
||||
|
||||
// Combo keys are always checked from layer 0.
|
||||
#define COMBO_ONLY_FROM_LAYER 0
|
329
keyboards/ferris/sweep/keymaps/sajenim/keymap.c
Normal file
329
keyboards/ferris/sweep/keymaps/sajenim/keymap.c
Normal file
|
@ -0,0 +1,329 @@
|
|||
/* Copyright 2022 @ sajenim (https://github.com/sajenim)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "features/casemodes.h"
|
||||
|
||||
enum layers {
|
||||
CANARY,
|
||||
NAV,
|
||||
NUM,
|
||||
SYM,
|
||||
FUN,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
// Magic Keycodes
|
||||
MG_EFORE = SAFE_RANGE,
|
||||
MG_ON,
|
||||
MG_UST,
|
||||
MG_ENT,
|
||||
MG_ION,
|
||||
MG_MENT,
|
||||
MG_ER,
|
||||
MG_HICH,
|
||||
MG_ES,
|
||||
MG_BUT,
|
||||
MG_THE,
|
||||
};
|
||||
|
||||
/* Thumb Keys:
|
||||
* dual role keys for accessing layers and to offload shift from pinkies */
|
||||
|
||||
#define NAV_REP LT(NAV, QK_REP)
|
||||
#define NUM_MAG LT(NUM, QK_AREP)
|
||||
|
||||
/* Home Row Mods:
|
||||
* https://precondition.github.io/home-row-mods */
|
||||
|
||||
#define HRM_C LSFT_T(KC_C)
|
||||
#define HRM_R LCTL_T(KC_R)
|
||||
#define HRM_S LALT_T(KC_S)
|
||||
#define HRM_T LGUI_T(KC_T)
|
||||
#define HRM_N RGUI_T(KC_N)
|
||||
#define HRM_E RALT_T(KC_E)
|
||||
#define HRM_I RCTL_T(KC_I)
|
||||
#define HRM_A RSFT_T(KC_A)
|
||||
#define SYM_D LT(SYM, KC_D)
|
||||
#define SYM_H LT(SYM, KC_H)
|
||||
|
||||
/* One Shot Keys:
|
||||
* https://github.com/qmk/qmk_firmware/blob/master/docs/one_shot_keys.md */
|
||||
|
||||
#define OS_LCTL OSM(MOD_LCTL)
|
||||
#define OS_LSFT OSM(MOD_LSFT)
|
||||
#define OS_LALT OSM(MOD_LALT)
|
||||
#define OS_LGUI OSM(MOD_LGUI)
|
||||
#define OS_RCTL OSM(MOD_RCTL)
|
||||
#define OS_RSFT OSM(MOD_RSFT)
|
||||
#define OS_RALT OSM(MOD_RALT)
|
||||
#define OS_RGUI OSM(MOD_RGUI)
|
||||
|
||||
#include "g/keymap_combo.h" // layer names must be defined before engine include
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[CANARY] = LAYOUT_split_3x5_2(
|
||||
//,--------------------------------------------. ,--------------------------------------------.
|
||||
KC_W, KC_L, KC_Y, KC_P, KC_B, KC_Z, KC_F, KC_O, KC_U, KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
HRM_C, HRM_R, HRM_S, HRM_T, KC_G, KC_M, HRM_N, HRM_E, HRM_I, HRM_A,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_Q, KC_J, KC_V, SYM_D, KC_K, KC_X, SYM_H, KC_SLSH, KC_COMM, KC_DOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
NAV_REP, KC_SPC, KC_BSPC, NUM_MAG
|
||||
//`-----------------' `-----------------'
|
||||
),
|
||||
|
||||
[NAV] = LAYOUT_split_3x5_2(
|
||||
//,--------------------------------------------. ,--------------------------------------------.
|
||||
XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
OS_LSFT, OS_LCTL, OS_LALT, OS_LGUI, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______
|
||||
//`-----------------' `-----------------'
|
||||
),
|
||||
|
||||
[NUM] = LAYOUT_split_3x5_2(
|
||||
//,--------------------------------------------. ,--------------------------------------------.
|
||||
KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, XXXXXXX, KC_ASTR, KC_PERC, KC_SLSH, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_0, KC_4, KC_5, KC_6, KC_DOT, XXXXXXX, OS_RGUI, OS_RALT, OS_RCTL, OS_RSFT,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_LABK, KC_1, KC_2, KC_3, KC_RABK, XXXXXXX, KC_PLUS, KC_EQL, KC_MINS, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______
|
||||
//`-----------------' `-----------------'
|
||||
),
|
||||
|
||||
[SYM] = LAYOUT_split_3x5_2(
|
||||
//,--------------------------------------------. ,--------------------------------------------.
|
||||
KC_GRV, KC_LABK, KC_MINS, KC_RABK, XXXXXXX, XXXXXXX, KC_LBRC, KC_UNDS, KC_RBRC, KC_PLUS,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_EXLM, KC_LPRN, KC_EQL, KC_RPRN, KC_HASH, KC_PERC, KC_LCBR, KC_DLR, KC_RCBR, KC_SCLN,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_PIPE, KC_AMPR, KC_CIRC, KC_AT, XXXXXXX, XXXXXXX, KC_ASTR, _______, _______, _______,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______
|
||||
//`-----------------' `-----------------'
|
||||
),
|
||||
|
||||
[FUN] = LAYOUT_split_3x5_2(
|
||||
//,--------------------------------------------. ,--------------------------------------------.
|
||||
KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_F11, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP,
|
||||
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
|
||||
KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_RBT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______
|
||||
//`-----------------' `-----------------'
|
||||
),
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
|
||||
/* Tri-state Layers:
|
||||
* setup FUN layer to activate when NAV & NUM is held */
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Activate function layer
|
||||
state = update_tri_layer_state(state, NAV, NUM, FUN);
|
||||
return state;
|
||||
}
|
||||
|
||||
/* Caseword:
|
||||
* configure which keys are "word breaking" */
|
||||
|
||||
bool use_default_xcase_separator(uint16_t keycode, const keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_A ... KC_Z:
|
||||
case KC_1 ... KC_0:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Repeat key:
|
||||
* configure additional keys */
|
||||
|
||||
bool remember_last_key_user(uint16_t keycode, keyrecord_t *record, uint8_t *remembered_mods) {
|
||||
switch (keycode) {
|
||||
case NAV_REP:
|
||||
return false;
|
||||
case NUM_MAG:
|
||||
return false;
|
||||
// Forget Shift on letter keys when Shift or AltGr are the only mods.
|
||||
case KC_A ... KC_Z:
|
||||
if ((*remembered_mods & ~(MOD_MASK_SHIFT | MOD_BIT(KC_RALT))) == 0) {
|
||||
*remembered_mods &= ~MOD_MASK_SHIFT;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Alternate repeat key:
|
||||
* dynamically adjust output based on the most recent previous keycode */
|
||||
|
||||
uint16_t get_alt_repeat_key_keycode_user(uint16_t keycode, uint8_t mods) {
|
||||
// clang-format off
|
||||
switch (keycode) {
|
||||
// Same Finger Bigrams
|
||||
case KC_Y: return KC_S; // "YS" sfb (0.123%)
|
||||
case HRM_E: return KC_O; // "EO" sfb (0.121%)
|
||||
case HRM_R: return KC_L; // "RL" sfb (0.114%)
|
||||
case KC_U: return KC_I; // "UI" sfb (0.073%)
|
||||
case KC_O: return KC_E; // "OE" sfb (0.060%)
|
||||
case KC_P: return KC_T; // "PT" sfb (0.050%)
|
||||
case HRM_S: return KC_Y; // "SY" sfb (0.024%)
|
||||
case SYM_D: return KC_G; // "DG" sfb (0.021%)
|
||||
|
||||
// Coding shortcuts
|
||||
case KC_PLUS: return KC_EQL;
|
||||
case KC_MINS: return KC_EQL;
|
||||
|
||||
// Magic Keycodes
|
||||
case KC_B: return MG_EFORE;
|
||||
case HRM_I: return MG_ON;
|
||||
case KC_J: return MG_UST;
|
||||
case KC_M: return MG_ENT;
|
||||
case HRM_N: return MG_ION;
|
||||
case HRM_T: return MG_MENT;
|
||||
case KC_V: return MG_ER;
|
||||
case KC_W: return MG_HICH;
|
||||
case KC_X: return MG_ES;
|
||||
case KC_COMM: return MG_BUT;
|
||||
case KC_SPC: return MG_THE;
|
||||
}
|
||||
return KC_TRNS;
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
/* Custom keycodes:
|
||||
* program the behaviour of any keycode */
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// Process case modes
|
||||
if (!process_case_modes(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Process our custom keys
|
||||
switch (keycode) {
|
||||
case NAV_REP:
|
||||
if (record->tap.count) {
|
||||
process_repeat_key(QK_REP, record);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
case NUM_MAG:
|
||||
if (record->tap.count) {
|
||||
process_repeat_key(QK_AREP, record);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// clang-format off
|
||||
if (record->event.pressed) {
|
||||
int rep_count = get_repeat_key_count();
|
||||
switch (keycode) {
|
||||
// Magic keycodes
|
||||
case MG_EFORE: SEND_STRING(/*b*/ "efore"); return false;
|
||||
case MG_ON: SEND_STRING(/*i*/ "on" ); return false;
|
||||
case MG_UST: SEND_STRING(/*j*/ "ust" ); return false;
|
||||
case MG_ENT: SEND_STRING(/*m*/ "ent" ); return false;
|
||||
case MG_ION: SEND_STRING(/*n*/ "ion" ); return false;
|
||||
case MG_MENT: SEND_STRING(/*t*/ "ment" ); return false;
|
||||
case MG_ER: SEND_STRING(/*v*/ "er" ); return false;
|
||||
case MG_HICH: SEND_STRING(/*w*/ "hich" ); return false;
|
||||
case MG_ES: SEND_STRING(/*x*/ "es" ); return false;
|
||||
case MG_BUT: SEND_STRING(/*,*/ " but" ); return false;
|
||||
case MG_THE: SEND_STRING(/* */ "the" ); return false;
|
||||
}
|
||||
if (rep_count > 0) {
|
||||
switch (keycode) {
|
||||
// Repeat Key Overrides
|
||||
case HRM_A: SEND_STRING(/*a*/ "nd" ); return false; // "and" trigram (3.293%)
|
||||
case HRM_I: SEND_STRING(/*i*/ "ng" ); return false; // "ing" trigram (3.476%)
|
||||
case KC_Y: SEND_STRING(/*y*/ "ou" ); return false; // "you" trigram (3.492%)
|
||||
case HRM_N: SEND_STRING(/*n*/ "f" ); return false; // "nf" sfb (0.036%)
|
||||
case KC_B: SEND_STRING(/*b*/ "ecause"); return false; // "because" brief
|
||||
case KC_W: SEND_STRING(/*w*/ "ould" ); return false; // "would" brief
|
||||
case KC_COMM: SEND_STRING(/*,*/ " and" ); return false; // ", and" brief
|
||||
case KC_SPC: SEND_STRING(/* */ "for" ); return false; // " for" brief
|
||||
|
||||
// Miscellaneous
|
||||
case KC_GRV: SEND_STRING("\b~/"); return false;
|
||||
case KC_DOT:
|
||||
if (rep_count > 1) {
|
||||
SEND_STRING("../");
|
||||
return false;
|
||||
}
|
||||
SEND_STRING("./");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
/* Leader Key:
|
||||
* hit sequences of keys to trigger custom functionality */
|
||||
|
||||
void leader_end_user() {
|
||||
if (leader_sequence_one_key(KC_ESC)) {
|
||||
layer_clear();
|
||||
|
||||
// shortcuts
|
||||
} else if (leader_sequence_one_key(KC_Y)) { // yank
|
||||
tap_code16(C(KC_C));
|
||||
} else if (leader_sequence_one_key(KC_P)) { // paste
|
||||
tap_code16(C(KC_V));
|
||||
} else if (leader_sequence_one_key(KC_D)) { // delete
|
||||
tap_code16(C(KC_X));
|
||||
} else if (leader_sequence_one_key(KC_U)) { // undo
|
||||
tap_code16(C(KC_Z));
|
||||
} else if (leader_sequence_one_key(KC_W)) { // write
|
||||
tap_code16(C(KC_S));
|
||||
|
||||
// casemodes
|
||||
} else if (leader_sequence_one_key(KC_C)) { // camelCase
|
||||
enable_xcase_with(OSM(MOD_LSFT));
|
||||
} else if (leader_sequence_one_key(KC_S)) { // snake_case
|
||||
enable_xcase_with(KC_UNDS);
|
||||
} else if (leader_sequence_one_key(KC_K)) { // kebab-case
|
||||
enable_xcase_with(KC_MINS);
|
||||
} else if (leader_sequence_one_key(KC_M)) { // MACRO_CASE
|
||||
enable_caps_word();
|
||||
enable_xcase_with(KC_UNDS);
|
||||
|
||||
// toggle layers
|
||||
} else if (leader_sequence_two_keys(KC_L, KC_E)) { // e for extend as n for num is taken
|
||||
layer_on(NAV);
|
||||
} else if (leader_sequence_two_keys(KC_L, KC_N)) {
|
||||
layer_on(NUM);
|
||||
} else if (leader_sequence_two_keys(KC_L, KC_S)) {
|
||||
layer_on(SYM);
|
||||
} else if (leader_sequence_two_keys(KC_L, KC_F)) {
|
||||
layer_on(FUN);
|
||||
}
|
||||
}
|
20
keyboards/ferris/sweep/keymaps/sajenim/rules.mk
Normal file
20
keyboards/ferris/sweep/keymaps/sajenim/rules.mk
Normal file
|
@ -0,0 +1,20 @@
|
|||
# We are using a Splinky RP2040 as a drop-in pro-micro replacement
|
||||
CONVERT_TO = helios
|
||||
BOOTLOADER = rp2040
|
||||
|
||||
# Reduce compiled size of firmware
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# Software features
|
||||
AUTOCORRECT_ENABLE = yes
|
||||
COMBO_ENABLE = yes
|
||||
REPEAT_KEY_ENABLE = yes
|
||||
LEADER_ENABLE = yes
|
||||
|
||||
# Combo dictionary
|
||||
ifeq ($(COMBO_ENABLE),yes)
|
||||
VPATH += keyboards/gboards
|
||||
endif
|
||||
|
||||
# Enable casemode
|
||||
SRC += features/casemodes.c
|
Loading…
Reference in a new issue