Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2b4178245 | ||
|
|
ef5b161bb5 | ||
|
|
23d68d0ba1 | ||
|
|
435a1202e7 | ||
|
|
3e8f272873 | ||
|
|
f8a915a2db | ||
|
|
ec26684491 | ||
|
|
ac46378ac6 |
No files matched your search
+58
-37
@@ -19,58 +19,79 @@ If you're having trouble flashing/erasing your board, and running into cryptic e
|
|||||||
Memory write error, use debug for more info.
|
Memory write error, use debug for more info.
|
||||||
commands.c:360: Error writing memory data. (err -4)
|
commands.c:360: Error writing memory data. (err -4)
|
||||||
|
|
||||||
You're likely going to need to ISP flash your board/device to get it working again. Luckily, this process is pretty straight-forward, provided you have any extra programmable keyboard, Arduino, or Teensy 2.0/Teensy 2.0++. There are also dedicated ISP flashers available for this, but most cost >$15, and it's assumed that if you are googling this error, this is the first you've heard about ISP flashing, and don't have one readily available (whereas you might have some other AVR board). __We'll be using a Teensy 2.0 with Windows 10 in this guide__ - if you are comfortable doing this on another system, please consider editing this guide and contributing those instructions!
|
You're likely going to need to ISP flash your board/device to get it working again. Luckily, this process is pretty straight-forward, provided you have any extra programmable keyboard, Pro Micro, or Teensy 2.0/Teensy 2.0++. There are also dedicated ISP flashers available for this, but most cost >$15, and it's assumed that if you are googling this error, this is the first you've heard about ISP flashing, and don't have one readily available (whereas you might have some other AVR board). __We'll be using a Teensy 2.0 or Pro Micro with Windows 10 in this guide__ - if you are comfortable doing this on another system, please consider editing this guide and contributing those instructions!
|
||||||
|
|
||||||
## Software Needed
|
## Software Needed
|
||||||
|
|
||||||
* [The Arduino IDE](https://www.arduino.cc/en/Main/Software)
|
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html) (if using a Teensy)
|
||||||
* [Teensyduino](https://www.pjrc.com/teensy/td_download.html) (if you're using a Teensy)
|
* QMK Toolbox (flash as usual - be sure to select the correct MCU) or `avrdude` via [WinAVR](http://www.ladyada.net/learn/avr/setup-win.html) (for Teensy & Pro Micro)
|
||||||
* [WinAVR](http://www.ladyada.net/learn/avr/setup-win.html) (Windows)
|
|
||||||
|
|
||||||
## Wiring
|
## Wiring
|
||||||
|
|
||||||
This is pretty straight-forward - we'll be connecting like-things to like-things in the following manner:
|
This is pretty straight-forward - we'll be connecting like-things to like-things in the following manner:
|
||||||
|
|
||||||
Flasher B0 <-> Keyboard RESET
|
### Teensy 2.0
|
||||||
Flasher B1 <-> Keyboard B1 (SCLK)
|
|
||||||
Flasher B2 <-> Keyboard B2 (MOSI)
|
|
||||||
Flasher B3 <-> Keyboard B3 (MISO)
|
|
||||||
Flasher VCC <-> Keyboard VCC
|
|
||||||
Flasher GND <-> Keyboard GND
|
|
||||||
|
|
||||||
## The ISP Firmware
|
Teensy B0 <-> Keyboard RESET
|
||||||
|
Teensy B1 <-> Keyboard B1 (SCLK)
|
||||||
|
Teensy B2 <-> Keyboard B2 (MOSI)
|
||||||
|
Teensy B3 <-> Keyboard B3 (MISO)
|
||||||
|
Teensy VCC <-> Keyboard VCC
|
||||||
|
Teensy GND <-> Keyboard GND
|
||||||
|
|
||||||
|
### Pro Micro
|
||||||
|
|
||||||
|
Pro Micro 10 (B6) <-> Keyboard RESET
|
||||||
|
Pro Micro 15 (B1) <-> Keyboard B1 (SCLK)
|
||||||
|
Pro Micro 16 (B2) <-> Keyboard B2 (MOSI)
|
||||||
|
Pro Micro 14 (B3) <-> Keyboard B3 (MISO)
|
||||||
|
Pro Micro VCC <-> Keyboard VCC
|
||||||
|
Pro Micro GND <-> Keyboard GND
|
||||||
|
|
||||||
|
## The ISP Firmware (now pre-compiled)
|
||||||
|
|
||||||
|
The only difference between the .hex files below is which pin is connected to RESET. You can use them on other boards as well, as long as you're aware of the pins being used. If for some reason neither of these pins are available, [create an issue](https://github.com/qmk/qmk_firmware/issues/new), and we can generate one for you!
|
||||||
|
|
||||||
|
* Teensy 2.0: [`util/teensy_2.0_ISP_B0.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/teensy_2.0_ISP_B0.hex) (`B0`)
|
||||||
|
* Pro Micro: [`util/pro_micro_ISP_B6_10.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/pro_mico_ISP_B6_10.hex) (`B6/10`)
|
||||||
|
|
||||||
|
**Flash your Teenys/Pro Micro with one of these and continue - you won't need the file after flashing your ISP device.**
|
||||||
|
|
||||||
|
## Just the Bootloader File
|
||||||
|
|
||||||
|
If you just want to get things back to normal, you can flash only a bootloader from [`util/` folder](https://github.com/qmk/qmk_firmware/tree/master/util), and use your normal process to flash the firmware afterwards. Be sure to flash the correct bootloader for your chip:
|
||||||
|
|
||||||
|
* [`atmega32u4`](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1_0_0.hex) - Most keyboards, Planck Rev 1-5, Preonic Rev 1-2
|
||||||
|
* [`at90usb1286`](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb128x_1_0_1.hex) - Planck Light Rev 1
|
||||||
|
|
||||||
|
If you're not sure what your board uses, look in the `rules.mk` file for the keyboard in QMK. The `MCU =` line will have the value you need. It may differ between different versions of the board.
|
||||||
|
|
||||||
|
### Advanced/Production Techniques
|
||||||
|
|
||||||
|
If you'd like to flash both the bootloader **and** the regular firmware at the same time, you need to combine the files.
|
||||||
|
|
||||||
|
1. Open the original firmware .hex file in a text editor
|
||||||
|
2. Remove the last line (which should be `:00000001FF` - this is an EOF message)
|
||||||
|
3. Copy the entire bootloader's contents onto a new line (with no empty lines between) and paste it at the end of the original file
|
||||||
|
4. Save it as a new file by naming it `<keyboard>_<keymap>_production.hex`
|
||||||
|
|
||||||
|
It's possible to use other bootloaders here in the same way, but __you need a bootloader__, otherwise you'll have to use ISP again to write new firmware to your keyboard.
|
||||||
|
|
||||||
|
## Flashing Your Bootloader/Production File
|
||||||
|
|
||||||
Make sure your keyboard is unplugged from any device, and plug in your Teensy.
|
Make sure your keyboard is unplugged from any device, and plug in your Teensy.
|
||||||
|
|
||||||
1. Run Arduino after you have everything installed
|
### QMK Toolbox
|
||||||
2. Select `Tools > Board * > Teensy 2.0`
|
|
||||||
3. Click `File > Examples > 11.ArduinoISP > ArduinoISP`
|
|
||||||
|
|
||||||
Then scroll down until you see something that looks like this block of code:
|
1. `AVRISP device connected` will show up in yellow
|
||||||
|
2. Select the correct bootloader/production .hex file with the `Open` dialog (spaces can't be in the path)
|
||||||
|
3. Be sure the correct `Microcontroller` option is selected
|
||||||
|
4. Hit `Flash`
|
||||||
|
5. Wait, as nothing will output for a while, especially with production files
|
||||||
|
|
||||||
// Configure which pins to use:
|
If the verification and fuse checks are ok, you're done! Your board may restart automatically, otherwise, unplug your Teensy and plug in your keyboard - you can leave your Teensy wired to your keyboard while testing things, but it's recommended that you desolder it/remove the wiring once you're sure everything works.
|
||||||
|
|
||||||
// The standard pin configuration.
|
### Command Line
|
||||||
#ifndef ARDUINO_HOODLOADER2
|
|
||||||
|
|
||||||
#define RESET 0 // Use 0 (B0) instead of 10
|
|
||||||
#define LED_HB 11 // Use 11 (LED on the Teensy 2.0)
|
|
||||||
#define LED_ERR 8 // This won't be used unless you have an LED hooked-up to 8 (D3)
|
|
||||||
#define LED_PMODE 7 // This won't be used unless you have an LED hooked-up to 7 (D2)
|
|
||||||
|
|
||||||
And make the changes in the last four lines. If you're using something besides the Teensy 2.0, you'll want to choose something else that makes sense for `LED_HB`. We define `RESET` as `0`/`B0` because that's what's close - if you want to use another pin for some reason, [you can use the pinouts to choose something else](https://www.pjrc.com/teensy/pinout.html).
|
|
||||||
|
|
||||||
Once you've made your changes, you can click the Upload button (right arrow), which will open up the Teensy flasher app - you'll need to press the reset button on the Teensy the first time, but after that, it's automatic (you shouldn't be flashing this more than once, though). Once flashed, the orange LED on the Teensy will flash on and off, indicating it's ready for some action.
|
|
||||||
|
|
||||||
## The `.hex` File
|
|
||||||
|
|
||||||
Before flashing your firmware, you're going to need to and do a little preparation. We'll be appending [this bootloader (also a .hex file)](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1_0_0.hex) to the end of our firmware by opening the original .hex file in a text editor, and removing the last line, which should be `:00000001FF` (this is an EOF message). After that's been removed, copy the entire bootloader's contents and paste it at the end of the original file, and save it.
|
|
||||||
|
|
||||||
It's possible to use other bootloaders here in the same way, but __you need a bootloader__, otherwise you'll have to ISP to write new firmware to your keyboard.
|
|
||||||
|
|
||||||
## Flashing Your Firmware
|
|
||||||
|
|
||||||
Make sure your keyboard is unplugged from any device, and plug in your Teensy.
|
|
||||||
|
|
||||||
Open `cmd` and navigate to your where your modified .hex file is. We'll pretend this file is called `main.hex`, and that your Teensy 2.0 is on the `COM3` port - if you're unsure, you can open your Device Manager, and look for `Ports > USB Serial Device`. Use that COM port here. You can confirm it's the right port with:
|
Open `cmd` and navigate to your where your modified .hex file is. We'll pretend this file is called `main.hex`, and that your Teensy 2.0 is on the `COM3` port - if you're unsure, you can open your Device Manager, and look for `Ports > USB Serial Device`. Use that COM port here. You can confirm it's the right port with:
|
||||||
|
|
||||||
|
|||||||
+144
-131
@@ -8,40 +8,8 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-----------------------|--------------------|-----------------------------------------------|
|
|-----------------------|--------------------|-----------------------------------------------|
|
||||||
|`KC_1` | |`1` and `!` |
|
|`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) |
|
||||||
|`KC_2` | |`2` and `@` |
|
|`KC_TRANSPARENT` |`KC_TRNS`, `_______`|Use the next lowest non-transparent key |
|
||||||
|`KC_3` | |`3` and `#` |
|
|
||||||
|`KC_4` | |`4` and `$` |
|
|
||||||
|`KC_5` | |`5` and `%` |
|
|
||||||
|`KC_6` | |`6` and `^` |
|
|
||||||
|`KC_7` | |`7` and `&` |
|
|
||||||
|`KC_8` | |`8` and `*` |
|
|
||||||
|`KC_9` | |`9` and `(` |
|
|
||||||
|`KC_0` | |`0` and `)` |
|
|
||||||
|`KC_F1` | | |
|
|
||||||
|`KC_F2` | | |
|
|
||||||
|`KC_F3` | | |
|
|
||||||
|`KC_F4` | | |
|
|
||||||
|`KC_F5` | | |
|
|
||||||
|`KC_F6` | | |
|
|
||||||
|`KC_F7` | | |
|
|
||||||
|`KC_F8` | | |
|
|
||||||
|`KC_F9` | | |
|
|
||||||
|`KC_F10` | | |
|
|
||||||
|`KC_F11` | | |
|
|
||||||
|`KC_F12` | | |
|
|
||||||
|`KC_F13` | | |
|
|
||||||
|`KC_F14` | | |
|
|
||||||
|`KC_F15` | | |
|
|
||||||
|`KC_F16` | | |
|
|
||||||
|`KC_F17` | | |
|
|
||||||
|`KC_F18` | | |
|
|
||||||
|`KC_F19` | | |
|
|
||||||
|`KC_F20` | | |
|
|
||||||
|`KC_F21` | | |
|
|
||||||
|`KC_F22` | | |
|
|
||||||
|`KC_F23` | | |
|
|
||||||
|`KC_F24` | | |
|
|
||||||
|`KC_A` | |`a` and `A` |
|
|`KC_A` | |`a` and `A` |
|
||||||
|`KC_B` | |`b` and `B` |
|
|`KC_B` | |`b` and `B` |
|
||||||
|`KC_C` | |`c` and `C` |
|
|`KC_C` | |`c` and `C` |
|
||||||
@@ -68,6 +36,16 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|`KC_X` | |`x` and `X` |
|
|`KC_X` | |`x` and `X` |
|
||||||
|`KC_Y` | |`y` and `Y` |
|
|`KC_Y` | |`y` and `Y` |
|
||||||
|`KC_Z` | |`z` and `Z` |
|
|`KC_Z` | |`z` and `Z` |
|
||||||
|
|`KC_1` | |`1` and `!` |
|
||||||
|
|`KC_2` | |`2` and `@` |
|
||||||
|
|`KC_3` | |`3` and `#` |
|
||||||
|
|`KC_4` | |`4` and `$` |
|
||||||
|
|`KC_5` | |`5` and `%` |
|
||||||
|
|`KC_6` | |`6` and `^` |
|
||||||
|
|`KC_7` | |`7` and `&` |
|
||||||
|
|`KC_8` | |`8` and `*` |
|
||||||
|
|`KC_9` | |`9` and `(` |
|
||||||
|
|`KC_0` | |`0` and `)` |
|
||||||
|`KC_ENTER` |`KC_ENT` |Return (Enter) |
|
|`KC_ENTER` |`KC_ENT` |Return (Enter) |
|
||||||
|`KC_ESCAPE` |`KC_ESC` |Escape |
|
|`KC_ESCAPE` |`KC_ESC` |Escape |
|
||||||
|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
|
|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
|
||||||
@@ -79,33 +57,28 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
|
|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
|
||||||
|`KC_BSLASH` |`KC_BSLS` |`\` and <code>|</code> |
|
|`KC_BSLASH` |`KC_BSLS` |`\` and <code>|</code> |
|
||||||
|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
|
|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
|
||||||
|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>|</code> |
|
|
||||||
|`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code> |
|
|
||||||
|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
|
|
||||||
|`KC_INT3` |`KC_JYEN` |JIS `¥` |
|
|
||||||
|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
|
|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
|
||||||
|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
|
|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
|
||||||
|`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~` |
|
|`KC_GRAVE` |`KC_GRV`, `KC_ZKHK` |<code>`</code> and `~`, JIS Zenkaku/Hankaku|
|
||||||
|`KC_COMMA` |`KC_COMM` |`,` and `<` |
|
|`KC_COMMA` |`KC_COMM` |`,` and `<` |
|
||||||
|`KC_DOT` | |`.` and `>` |
|
|`KC_DOT` | |`.` and `>` |
|
||||||
|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
|
|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
|
||||||
|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
|
|`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS`|Caps Lock |
|
||||||
|`KC_LCTRL` |`KC_LCTL` |Left Control |
|
|`KC_F1` | |F1 |
|
||||||
|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
|
|`KC_F2` | |F2 |
|
||||||
|`KC_LALT` | |Left Alt |
|
|`KC_F3` | |F3 |
|
||||||
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
|`KC_F4` | |F4 |
|
||||||
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
|`KC_F5` | |F5 |
|
||||||
|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
|
|`KC_F6` | |F6 |
|
||||||
|`KC_RALT` | |Right Alt |
|
|`KC_F7` | |F7 |
|
||||||
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |
|
|`KC_F8` | |F8 |
|
||||||
|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|
|`KC_F9` | |F9 |
|
||||||
|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|
|`KC_F10` | |F10 |
|
||||||
|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
|
|`KC_F11` | |F11 |
|
||||||
|`KC_INT4` |`KC_HENK` |JIS Henkan |
|
|`KC_F12` | |F12 |
|
||||||
|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
|
|
||||||
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|
||||||
|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
|
|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
|
||||||
|`KC_PAUSE` |`KC_PAUS` |Pause |
|
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK` |Pause |
|
||||||
|`KC_INSERT` |`KC_INS` |Insert |
|
|`KC_INSERT` |`KC_INS` |Insert |
|
||||||
|`KC_HOME` | |Home |
|
|`KC_HOME` | |Home |
|
||||||
|`KC_PGUP` | |Page Up |
|
|`KC_PGUP` | |Page Up |
|
||||||
@@ -116,58 +89,6 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|`KC_LEFT` | |Left Arrow |
|
|`KC_LEFT` | |Left Arrow |
|
||||||
|`KC_DOWN` | |Down Arrow |
|
|`KC_DOWN` | |Down Arrow |
|
||||||
|`KC_UP` | |Up Arrow |
|
|`KC_UP` | |Up Arrow |
|
||||||
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
|
|
||||||
|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
|
|
||||||
|`KC_EXECUTE` | |Execute |
|
|
||||||
|`KC_HELP` | |Help |
|
|
||||||
|`KC_MENU` | |Menu |
|
|
||||||
|`KC_SELECT` | |Select |
|
|
||||||
|`KC_AGAIN` | |Again |
|
|
||||||
|`KC_UNDO` | |Undo |
|
|
||||||
|`KC_CUT` | |Cut |
|
|
||||||
|`KC_COPY` | |Copy |
|
|
||||||
|`KC_PASTE` | |Paste |
|
|
||||||
|`KC_FIND` | |Find |
|
|
||||||
|`KC_ALT_ERASE` | |Alternate Erase |
|
|
||||||
|`KC_SYSREQ` | |SysReq/Attention |
|
|
||||||
|`KC_CANCEL` | |Cancel |
|
|
||||||
|`KC_CLEAR` | |Clear |
|
|
||||||
|`KC_PRIOR` | |Prior |
|
|
||||||
|`KC_RETURN` | |Return |
|
|
||||||
|`KC_SEPARATOR` | |Separator |
|
|
||||||
|`KC_OUT` | |Out |
|
|
||||||
|`KC_OPER` | |Oper |
|
|
||||||
|`KC_CLEAR_AGAIN` | |Clear/Again |
|
|
||||||
|`KC_CRSEL` | |CrSel/Props |
|
|
||||||
|`KC_EXSEL` | |ExSel |
|
|
||||||
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
|
|
||||||
|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
|
|
||||||
|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
|
|
||||||
|`KC_MAIL` |`KC_MAIL` | |
|
|
||||||
|`KC_CALCULATOR` |`KC_CALC` | |
|
|
||||||
|`KC_MY_COMPUTER` |`KC_MYCM` | |
|
|
||||||
|`KC_WWW_SEARCH` |`KC_WSCH` | |
|
|
||||||
|`KC_WWW_HOME` |`KC_WHOM` | |
|
|
||||||
|`KC_WWW_BACK` |`KC_WBAK` | |
|
|
||||||
|`KC_WWW_FORWARD` |`KC_WFWD` | |
|
|
||||||
|`KC_WWW_STOP` |`KC_WSTP` | |
|
|
||||||
|`KC_WWW_REFRESH` |`KC_WREF` | |
|
|
||||||
|`KC_WWW_FAVORITES` |`KC_WFAV` | |
|
|
||||||
|`KC_STOP` | |Stop |
|
|
||||||
|`KC__MUTE` | |Mute (macOS) |
|
|
||||||
|`KC__VOLUP` | |Volume Up (macOS) |
|
|
||||||
|`KC__VOLDOWN` | |Volume Down (macOS) |
|
|
||||||
|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
|
|
||||||
|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
|
|
||||||
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
|
|
||||||
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
|
|
||||||
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
|
|
||||||
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
|
|
||||||
|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
|
|
||||||
|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
|
|
||||||
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
|
|
||||||
|`KC_MEDIA_SELECT` |`KC_MSEL` | |
|
|
||||||
|`KC_MEDIA_EJECT` |`KC_EJCT` |Eject (macOS) |
|
|
||||||
|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
|
|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
|
||||||
|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
|
|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
|
||||||
|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
|
|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
|
||||||
@@ -185,11 +106,103 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
|
|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
|
||||||
|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
|
|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
|
||||||
|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
|
|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
|
||||||
|
|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>|</code> |
|
||||||
|
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
|
||||||
|
|`KC_POWER` | |System Power (macOS) |
|
||||||
|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
|
|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
|
||||||
|
|`KC_F13` | |F13 |
|
||||||
|
|`KC_F14` | |F14 |
|
||||||
|
|`KC_F15` | |F15 |
|
||||||
|
|`KC_F16` | |F16 |
|
||||||
|
|`KC_F17` | |F17 |
|
||||||
|
|`KC_F18` | |F18 |
|
||||||
|
|`KC_F19` | |F19 |
|
||||||
|
|`KC_F20` | |F20 |
|
||||||
|
|`KC_F21` | |F21 |
|
||||||
|
|`KC_F22` | |F22 |
|
||||||
|
|`KC_F23` | |F23 |
|
||||||
|
|`KC_F24` | |F24 |
|
||||||
|
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|
||||||
|
|`KC_HELP` | |Help |
|
||||||
|
|`KC_MENU` | |Menu |
|
||||||
|
|`KC_SELECT` |`KC_SLCT` |Select |
|
||||||
|
|`KC_STOP` | |Stop |
|
||||||
|
|`KC_AGAIN` |`KC_AGIN` |Again |
|
||||||
|
|`KC_UNDO` | |Undo |
|
||||||
|
|`KC_CUT` | |Cut |
|
||||||
|
|`KC_COPY` | |Copy |
|
||||||
|
|`KC_PASTE` |`KC_PSTE` |Paste |
|
||||||
|
|`KC_FIND` | |Find |
|
||||||
|
|`KC__MUTE` | |Mute (macOS) |
|
||||||
|
|`KC__VOLUP` | |Volume Up (macOS) |
|
||||||
|
|`KC__VOLDOWN` | |Volume Down (macOS) |
|
||||||
|
|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|
||||||
|
|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|
||||||
|
|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
|
||||||
|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
|
|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
|
||||||
|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
|
|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
|
||||||
|`KC_NO` | |Ignore this key (NOOP) |
|
|`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code> |
|
||||||
|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
|
|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
|
||||||
|
|`KC_INT3` |`KC_JYEN` |JIS `¥` |
|
||||||
|
|`KC_INT4` |`KC_HENK` |JIS Henkan |
|
||||||
|
|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
|
||||||
|
|`KC_INT6` | |JIS Numpad `,` |
|
||||||
|
|`KC_INT7` | |International 7 |
|
||||||
|
|`KC_INT8` | |International 8 |
|
||||||
|
|`KC_INT9` | |International 9 |
|
||||||
|
|`KC_LANG1` |`KC_HAEN` |Hangul/English |
|
||||||
|
|`KC_LANG2` |`KC_HANJ` |Hanja |
|
||||||
|
|`KC_LANG3` | |JIS Katakana |
|
||||||
|
|`KC_LANG4` | |JIS Hiragana |
|
||||||
|
|`KC_LANG5` | |JIS Zenkaku/Hankaku |
|
||||||
|
|`KC_LANG6` | |Language 6 |
|
||||||
|
|`KC_LANG7` | |Language 7 |
|
||||||
|
|`KC_LANG8` | |Language 8 |
|
||||||
|
|`KC_LANG9` | |Language 9 |
|
||||||
|
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|
||||||
|
|`KC_SYSREQ` | |SysReq/Attention |
|
||||||
|
|`KC_CANCEL` | |Cancel |
|
||||||
|
|`KC_CLEAR` |`KC_CLR` |Clear |
|
||||||
|
|`KC_PRIOR` | |Prior |
|
||||||
|
|`KC_RETURN` | |Return |
|
||||||
|
|`KC_SEPARATOR` | |Separator |
|
||||||
|
|`KC_OUT` | |Out |
|
||||||
|
|`KC_OPER` | |Oper |
|
||||||
|
|`KC_CLEAR_AGAIN` | |Clear/Again |
|
||||||
|
|`KC_CRSEL` | |CrSel/Props |
|
||||||
|
|`KC_EXSEL` | |ExSel |
|
||||||
|
|`KC_LCTRL` |`KC_LCTL` |Left Control |
|
||||||
|
|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
|
||||||
|
|`KC_LALT` | |Left Alt |
|
||||||
|
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
||||||
|
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
||||||
|
|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
|
||||||
|
|`KC_RALT` | |Right Alt |
|
||||||
|
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |
|
||||||
|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|
||||||
|
|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
|
||||||
|
|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
|
||||||
|
|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute |
|
||||||
|
|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up |
|
||||||
|
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down |
|
||||||
|
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
|
||||||
|
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
|
||||||
|
|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track (Windows) |
|
||||||
|
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
|
||||||
|
|`KC_MEDIA_SELECT` |`KC_MSEL` |Launch Media Player (Windows) |
|
||||||
|
|`KC_MEDIA_EJECT` |`KC_EJCT` |Eject (macOS) |
|
||||||
|
|`KC_MAIL` | |Launch Mail (Windows) |
|
||||||
|
|`KC_CALCULATOR` |`KC_CALC` |Launch Calculator (Windows) |
|
||||||
|
|`KC_MY_COMPUTER` |`KC_MYCM` |Launch My Computer (Windows) |
|
||||||
|
|`KC_WWW_SEARCH` |`KC_WSCH` |Browser Search (Windows) |
|
||||||
|
|`KC_WWW_HOME` |`KC_WHOM` |Browser Home (Windows) |
|
||||||
|
|`KC_WWW_BACK` |`KC_WBAK` |Browser Back (Windows) |
|
||||||
|
|`KC_WWW_FORWARD` |`KC_WFWD` |Browser Forward (Windows) |
|
||||||
|
|`KC_WWW_STOP` |`KC_WSTP` |Browser Stop (Windows) |
|
||||||
|
|`KC_WWW_REFRESH` |`KC_WREF` |Browser Refresh (Windows) |
|
||||||
|
|`KC_WWW_FAVORITES` |`KC_WFAV` |Browser Favorites (Windows) |
|
||||||
|
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
|
||||||
|
|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
|
||||||
|
|
||||||
## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
|
## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
|
||||||
|
|
||||||
@@ -391,29 +404,29 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|
|
||||||
## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
|
## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|------------------------|------------------|-------------------|
|
|------------------------|-------------------|-------------------|
|
||||||
|`KC_TILDE` |`KC_TILD` |`~` |
|
|`KC_TILDE` |`KC_TILD` |`~` |
|
||||||
|`KC_EXCLAIM` |`KC_EXLM` |`!` |
|
|`KC_EXCLAIM` |`KC_EXLM` |`!` |
|
||||||
|`KC_AT` | |`@` |
|
|`KC_AT` | |`@` |
|
||||||
|`KC_HASH` | |`#` |
|
|`KC_HASH` | |`#` |
|
||||||
|`KC_DOLLAR` |`KC_DLR` |`$` |
|
|`KC_DOLLAR` |`KC_DLR` |`$` |
|
||||||
|`KC_PERCENT` |`KC_PERC` |`%` |
|
|`KC_PERCENT` |`KC_PERC` |`%` |
|
||||||
|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|
|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|
||||||
|`KC_AMPERSAND` |`KC_AMPR` |`&` |
|
|`KC_AMPERSAND` |`KC_AMPR` |`&` |
|
||||||
|`KC_ASTERISK` |`KC_ASTR` |`*` |
|
|`KC_ASTERISK` |`KC_ASTR` |`*` |
|
||||||
|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|
|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|
||||||
|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|
|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|
||||||
|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|
|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|
||||||
|`KC_PLUS` | |`+` |
|
|`KC_PLUS` | |`+` |
|
||||||
|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|
|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|
||||||
|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|
|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|
||||||
|`KC_PIPE` | |<code>|</code>|
|
|`KC_PIPE` | |<code>|</code>|
|
||||||
|`KC_COLON` |`KC_COLN` |`:` |
|
|`KC_COLON` |`KC_COLN` |`:` |
|
||||||
|`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
|
|`KC_DOUBLE_QUOTE` |`KC_DQUO`, `KC_DQT`|`"` |
|
||||||
|`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
|
|`KC_LEFT_ANGLE_BRACKET` |`KC_LABK`, `KC_LT` |`<` |
|
||||||
|`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
|
|`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>` |
|
||||||
|`KC_QUESTION` |`KC_QUES` |`?` |
|
|`KC_QUESTION` |`KC_QUES` |`?` |
|
||||||
|
|
||||||
## [Switching and Toggling Layers](feature_advanced_keycodes.md#switching-and-toggling-layers)
|
## [Switching and Toggling Layers](feature_advanced_keycodes.md#switching-and-toggling-layers)
|
||||||
|
|
||||||
|
|||||||
+160
-137
@@ -47,117 +47,145 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
|
|||||||
|
|
||||||
|Key |Description|
|
|Key |Description|
|
||||||
|--------|-----------|
|
|--------|-----------|
|
||||||
|`KC_F1` | |
|
|`KC_F1` |F1 |
|
||||||
|`KC_F2` | |
|
|`KC_F2` |F2 |
|
||||||
|`KC_F3` | |
|
|`KC_F3` |F3 |
|
||||||
|`KC_F4` | |
|
|`KC_F4` |F4 |
|
||||||
|`KC_F5` | |
|
|`KC_F5` |F5 |
|
||||||
|`KC_F6` | |
|
|`KC_F6` |F6 |
|
||||||
|`KC_F7` | |
|
|`KC_F7` |F7 |
|
||||||
|`KC_F8` | |
|
|`KC_F8` |F8 |
|
||||||
|`KC_F9` | |
|
|`KC_F9` |F9 |
|
||||||
|`KC_F10`| |
|
|`KC_F10`|F10 |
|
||||||
|`KC_F11`| |
|
|`KC_F11`|F11 |
|
||||||
|`KC_F12`| |
|
|`KC_F12`|F12 |
|
||||||
|`KC_F13`| |
|
|`KC_F13`|F13 |
|
||||||
|`KC_F14`| |
|
|`KC_F14`|F14 |
|
||||||
|`KC_F15`| |
|
|`KC_F15`|F15 |
|
||||||
|`KC_F16`| |
|
|`KC_F16`|F16 |
|
||||||
|`KC_F17`| |
|
|`KC_F17`|F17 |
|
||||||
|`KC_F18`| |
|
|`KC_F18`|F18 |
|
||||||
|`KC_F19`| |
|
|`KC_F19`|F19 |
|
||||||
|`KC_F20`| |
|
|`KC_F20`|F20 |
|
||||||
|`KC_F21`| |
|
|`KC_F21`|F21 |
|
||||||
|`KC_F22`| |
|
|`KC_F22`|F22 |
|
||||||
|`KC_F23`| |
|
|`KC_F23`|F23 |
|
||||||
|`KC_F24`| |
|
|`KC_F24`|F24 |
|
||||||
|
|
||||||
## Punctuation
|
## Punctuation
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-----------------|---------|----------------------------------|
|
|-----------------|-------------------|-----------------------------------------------|
|
||||||
|`KC_ENTER` |`KC_ENT` |Return (Enter) |
|
|`KC_ENTER` |`KC_ENT` |Return (Enter) |
|
||||||
|`KC_ESCAPE` |`KC_ESC` |Escape |
|
|`KC_ESCAPE` |`KC_ESC` |Escape |
|
||||||
|`KC_BSPACE` |`KC_BSPC`|Delete (Backspace) |
|
|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
|
||||||
|`KC_TAB` | |Tab |
|
|`KC_TAB` | |Tab |
|
||||||
|`KC_SPACE` |`KC_SPC` |Spacebar |
|
|`KC_SPACE` |`KC_SPC` |Spacebar |
|
||||||
|`KC_MINUS` |`KC_MINS`|`-` and `_` |
|
|`KC_MINUS` |`KC_MINS` |`-` and `_` |
|
||||||
|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
|
|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
|
||||||
|`KC_LBRACKET` |`KC_LBRC`|`[` and `{` |
|
|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
|
||||||
|`KC_RBRACKET` |`KC_RBRC`|`]` and `}` |
|
|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
|
||||||
|`KC_BSLASH` |`KC_BSLS`|`\` and <code>|</code> |
|
|`KC_BSLASH` |`KC_BSLS` |`\` and <code>|</code> |
|
||||||
|`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` |
|
|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
|
||||||
|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>|</code>|
|
|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
|
||||||
|`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code> |
|
|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
|
||||||
|`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana |
|
|`KC_GRAVE` |`KC_GRV`, `KC_ZKHK`|<code>`</code> and `~`, JIS Zenkaku/Hankaku|
|
||||||
|`KC_INT3` |`KC_JYEN`|JIS `¥` |
|
|`KC_COMMA` |`KC_COMM` |`,` and `<` |
|
||||||
|`KC_SCOLON` |`KC_SCLN`|`;` and `:` |
|
|`KC_DOT` | |`.` and `>` |
|
||||||
|`KC_QUOTE` |`KC_QUOT`|`'` and `"` |
|
|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
|
||||||
|`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~` |
|
|`KC_NONUS_BSLASH`|`KC_NUBS` |Non-US `\` and <code>|</code> |
|
||||||
|`KC_COMMA` |`KC_COMM`|`,` and `<` |
|
|
||||||
|`KC_DOT` | |`.` and `>` |
|
## Lock Keys
|
||||||
|`KC_SLASH` |`KC_SLSH`|`/` and `?` |
|
|
||||||
|`KC_CAPSLOCK` |`KC_CAPS`|Caps Lock |
|
|Key |Aliases |Description |
|
||||||
|
|-------------------|--------------------|-------------------------|
|
||||||
|
|`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS`|Caps Lock |
|
||||||
|
|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
|
||||||
|
|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear|
|
||||||
|
|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|
||||||
|
|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|
||||||
|
|`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
|
||||||
|
|
||||||
## Modifiers
|
## Modifiers
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-------------------|--------------------|------------------------------------|
|
|-----------|--------------------|------------------------------------|
|
||||||
|`KC_LCTRL` |`KC_LCTL` |Left Control |
|
|`KC_LCTRL` |`KC_LCTL` |Left Control |
|
||||||
|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
|
|`KC_LSHIFT`|`KC_LSFT` |Left Shift |
|
||||||
|`KC_LALT` | |Left Alt |
|
|`KC_LALT` | |Left Alt |
|
||||||
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
||||||
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
||||||
|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
|
|`KC_RSHIFT`|`KC_RSFT` |Right Shift |
|
||||||
|`KC_RALT` | |Right Alt |
|
|`KC_RALT` | |Right Alt |
|
||||||
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
|
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
|
||||||
|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|
|
||||||
|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|
## International
|
||||||
|`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
|
|
||||||
|`KC_INT4` |`KC_HENK` |JIS Henkan |
|
|Key |Aliases |Description |
|
||||||
|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
|
|----------|---------|-------------------------------|
|
||||||
|
|`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code>|
|
||||||
|
|`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana |
|
||||||
|
|`KC_INT3` |`KC_JYEN`|JIS `¥` |
|
||||||
|
|`KC_INT4` |`KC_HENK`|JIS Henkan |
|
||||||
|
|`KC_INT5` |`KC_MHEN`|JIS Muhenkan |
|
||||||
|
|`KC_INT6` | |JIS Numpad `,` |
|
||||||
|
|`KC_INT7` | |International 7 |
|
||||||
|
|`KC_INT8` | |International 8 |
|
||||||
|
|`KC_INT9` | |International 9 |
|
||||||
|
|`KC_LANG1`|`KC_HAEN`|Hangul/English |
|
||||||
|
|`KC_LANG2`|`KC_HANJ`|Hanja |
|
||||||
|
|`KC_LANG3`| |JIS Katakana |
|
||||||
|
|`KC_LANG4`| |JIS Hiragana |
|
||||||
|
|`KC_LANG5`| |JIS Zenkaku/Hankaku |
|
||||||
|
|`KC_LANG6`| |Language 6 |
|
||||||
|
|`KC_LANG7`| |Language 7 |
|
||||||
|
|`KC_LANG8`| |Language 8 |
|
||||||
|
|`KC_LANG9`| |Language 9 |
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|------------------|---------|------------------------------|
|
|------------------|-------------------|------------------------------|
|
||||||
|`KC_PSCREEN` |`KC_PSCR`|Print Screen |
|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|
||||||
|`KC_SCROLLLOCK` |`KC_SLCK`|Scroll Lock |
|
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`|Pause |
|
||||||
|`KC_PAUSE` |`KC_PAUS`|Pause |
|
|`KC_INSERT` |`KC_INS` |Insert |
|
||||||
|`KC_INSERT` |`KC_INS` |Insert |
|
|`KC_HOME` | |Home |
|
||||||
|`KC_HOME` | |Home |
|
|`KC_PGUP` | |Page Up |
|
||||||
|`KC_PGUP` | |Page Up |
|
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|
||||||
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|
|`KC_END` | |End |
|
||||||
|`KC_END` | |End |
|
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|
||||||
|`KC_PGDOWN` |`KC_PGDN`|Page Down |
|
|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|
||||||
|`KC_RIGHT` |`KC_RGHT`|Right Arrow |
|
|`KC_LEFT` | |Left Arrow |
|
||||||
|`KC_LEFT` | |Left Arrow |
|
|`KC_DOWN` | |Down Arrow |
|
||||||
|`KC_DOWN` | |Down Arrow |
|
|`KC_UP` | |Up Arrow |
|
||||||
|`KC_UP` | |Up Arrow |
|
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
|
||||||
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
|
|`KC_POWER` | |System Power (macOS/Linux) |
|
||||||
|`KC_POWER` | |Power |
|
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|
||||||
|`KC_EXECUTE` | |Execute |
|
|`KC_HELP` | |Help |
|
||||||
|`KC_HELP` | |Help |
|
|`KC_MENU` | |Menu |
|
||||||
|`KC_MENU` | |Menu |
|
|`KC_SELECT` |`KC_SLCT` |Select |
|
||||||
|`KC_SELECT` | |Select |
|
|`KC_STOP` | |Stop |
|
||||||
|`KC_AGAIN` | |Again |
|
|`KC_AGAIN` |`KC_AGIN` |Again |
|
||||||
|`KC_UNDO` | |Undo |
|
|`KC_UNDO` | |Undo |
|
||||||
|`KC_CUT` | |Cut |
|
|`KC_CUT` | |Cut |
|
||||||
|`KC_COPY` | |Copy |
|
|`KC_COPY` | |Copy |
|
||||||
|`KC_PASTE` | |Paste |
|
|`KC_PASTE` |`KC_PSTE` |Paste |
|
||||||
|`KC_FIND` | |Find |
|
|`KC_FIND` | |Find |
|
||||||
|`KC_ALT_ERASE` | |Alternate Erase |
|
|`KC__MUTE` | |Mute (macOS) |
|
||||||
|`KC_SYSREQ` | |SysReq/Attention |
|
|`KC__VOLUP` | |Volume Up (macOS) |
|
||||||
|`KC_CANCEL` | |Cancel |
|
|`KC__VOLDOWN` | |Volume Down (macOS) |
|
||||||
|`KC_CLEAR` | |Clear |
|
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|
||||||
|`KC_PRIOR` | |Prior |
|
|`KC_SYSREQ` | |SysReq/Attention |
|
||||||
|`KC_RETURN` | |Return |
|
|`KC_CANCEL` | |Cancel |
|
||||||
|`KC_SEPARATOR` | |Separator |
|
|`KC_CLEAR` |`KC_CLR` |Clear |
|
||||||
|`KC_OUT` | |Out |
|
|`KC_PRIOR` | |Prior |
|
||||||
|`KC_OPER` | |Oper |
|
|`KC_RETURN` | |Return |
|
||||||
|`KC_CLEAR_AGAIN` | |Clear/Again |
|
|`KC_SEPARATOR` | |Separator |
|
||||||
|`KC_CRSEL` | |CrSel/Props |
|
|`KC_OUT` | |Out |
|
||||||
|`KC_EXSEL` | |ExSel |
|
|`KC_OPER` | |Oper |
|
||||||
|
|`KC_CLEAR_AGAIN` | |Clear/Again |
|
||||||
|
|`KC_CRSEL` | |CrSel/Props |
|
||||||
|
|`KC_EXSEL` | |ExSel |
|
||||||
|
|
||||||
## Media Keys
|
## Media Keys
|
||||||
|
|
||||||
@@ -165,42 +193,37 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
|
|||||||
|
|
||||||
Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS.
|
Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS.
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-----------------------|---------|---------------------------------|
|
|-----------------------|---------|-----------------------------|
|
||||||
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|
||||||
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|
||||||
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|
||||||
|`KC_MAIL` |`KC_MAIL`| |
|
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|
||||||
|`KC_CALCULATOR` |`KC_CALC`| |
|
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|
||||||
|`KC_MY_COMPUTER` |`KC_MYCM`| |
|
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|
||||||
|`KC_WWW_SEARCH` |`KC_WSCH`| |
|
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) |
|
||||||
|`KC_WWW_HOME` |`KC_WHOM`| |
|
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) |
|
||||||
|`KC_WWW_BACK` |`KC_WBAK`| |
|
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track (Windows) |
|
||||||
|`KC_WWW_FORWARD` |`KC_WFWD`| |
|
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|
||||||
|`KC_WWW_STOP` |`KC_WSTP`| |
|
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player (Windows)|
|
||||||
|`KC_WWW_REFRESH` |`KC_WREF`| |
|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
|
||||||
|`KC_STOP` | |Stop |
|
|`KC_MAIL` | |Launch Mail (Windows) |
|
||||||
|`KC_WWW_FAVORITES` |`KC_WFAV`| |
|
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator (Windows) |
|
||||||
|`KC__MUTE` | |Mute (macOS) |
|
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer (Windows) |
|
||||||
|`KC__VOLUP` | |Volume Up (macOS) |
|
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search (Windows) |
|
||||||
|`KC__VOLDOWN` | |Volume Down (macOS) |
|
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home (Windows) |
|
||||||
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute (Windows/macOS/Linux) |
|
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back (Windows) |
|
||||||
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up (Windows/macOS/Linux) |
|
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward (Windows) |
|
||||||
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down (Windows/macOS/Linux)|
|
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop (Windows) |
|
||||||
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) |
|
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh (Windows) |
|
||||||
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) |
|
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites (Windows) |
|
||||||
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|
||||||
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|
||||||
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|
|
||||||
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|
|
||||||
|`KC_MEDIA_SELECT` |`KC_MSEL`| |
|
|
||||||
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
|
|
||||||
|
|
||||||
## Number Pad
|
## Number Pad
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-------------------|---------|------------------------------|
|
|-------------------|---------|------------------------------|
|
||||||
|`KC_NUMLOCK` |`KC_NLCK`|Keypad Num Lock and Clear |
|
|
||||||
|`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` |
|
|`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` |
|
||||||
|`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` |
|
|`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` |
|
||||||
|`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` |
|
|`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` |
|
||||||
@@ -225,7 +248,7 @@ Windows and macOS use different keycodes for "next track" and "previous track".
|
|||||||
|
|
||||||
In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
|
In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|----------------|---------|---------------------------------------|
|
|----------------|--------------------|---------------------------------------|
|
||||||
|`KC_NO` | |Ignore this key (NOOP) |
|
|`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) |
|
||||||
|`KC_TRANSPARENT`|`KC_TRNS`|Use the next lowest non-transparent key|
|
|`KC_TRANSPARENT`|`KC_TRNS`, `_______`|Use the next lowest non-transparent key|
|
||||||
@@ -6,26 +6,26 @@ It's important to remember that all of these keycodes send a left shift - this m
|
|||||||
|
|
||||||
## US ANSI Shifted Keycodes
|
## US ANSI Shifted Keycodes
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|------------------------|------------------|-------------------|
|
|------------------------|-------------------|-------------------|
|
||||||
|`KC_TILDE` |`KC_TILD` |`~` |
|
|`KC_TILDE` |`KC_TILD` |`~` |
|
||||||
|`KC_EXCLAIM` |`KC_EXLM` |`!` |
|
|`KC_EXCLAIM` |`KC_EXLM` |`!` |
|
||||||
|`KC_AT` | |`@` |
|
|`KC_AT` | |`@` |
|
||||||
|`KC_HASH` | |`#` |
|
|`KC_HASH` | |`#` |
|
||||||
|`KC_DOLLAR` |`KC_DLR` |`$` |
|
|`KC_DOLLAR` |`KC_DLR` |`$` |
|
||||||
|`KC_PERCENT` |`KC_PERC` |`%` |
|
|`KC_PERCENT` |`KC_PERC` |`%` |
|
||||||
|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|
|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|
||||||
|`KC_AMPERSAND` |`KC_AMPR` |`&` |
|
|`KC_AMPERSAND` |`KC_AMPR` |`&` |
|
||||||
|`KC_ASTERISK` |`KC_ASTR` |`*` |
|
|`KC_ASTERISK` |`KC_ASTR` |`*` |
|
||||||
|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|
|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|
||||||
|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|
|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|
||||||
|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|
|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|
||||||
|`KC_PLUS` | |`+` |
|
|`KC_PLUS` | |`+` |
|
||||||
|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|
|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|
||||||
|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|
|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|
||||||
|`KC_PIPE` | |<code>|</code>|
|
|`KC_PIPE` | |<code>|</code>|
|
||||||
|`KC_COLON` |`KC_COLN` |`:` |
|
|`KC_COLON` |`KC_COLN` |`:` |
|
||||||
|`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
|
|`KC_DOUBLE_QUOTE` |`KC_DQUO`, `KC_DQT`|`"` |
|
||||||
|`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
|
|`KC_LEFT_ANGLE_BRACKET` |`KC_LABK`, `KC_LT` |`<` |
|
||||||
|`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
|
|`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>` |
|
||||||
|`KC_QUESTION` |`KC_QUES` |`?` |
|
|`KC_QUESTION` |`KC_QUES` |`?` |
|
||||||
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
/* ,-----------------------------------------------------------------------------------------.
|
/* ,-----------------------------------------------------------------------------------------.
|
||||||
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | | | | | | | | UP | | | | | Reset |
|
* | | | | | | | | | UP | | | | | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | | | | | | | Left| Down|Right| | | |
|
* | | | | | | | | Left| Down|Right| | | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
@@ -44,15 +44,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = LAYOUT(
|
||||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ______, KC_DEL,
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ______, KC_DEL,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, RESET,
|
______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RIGHT, ______, ______, ______,
|
______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RIGHT, ______, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
|
||||||
|
|
||||||
/* ,-----------------------------------------------------------------------------------------.
|
/* ,-----------------------------------------------------------------------------------------.
|
||||||
* | | BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Eject |
|
* |Eject| BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | | Reset |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
@@ -62,8 +62,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-----------------------------------------------------------------------------------------'
|
* `-----------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ML] = LAYOUT(
|
[_ML] = LAYOUT(
|
||||||
______, BR_DOWN, BR_UP, ______, ______, KC_F5, KC_F6, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, ______, KC_MEDIA_EJECT,
|
KC_MEDIA_EJECT, BR_DOWN, BR_UP, ______, ______, KC_F5, KC_F6, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
|
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ My build used the following components:
|
|||||||
,-----------------------------------------------------------------------------------------.
|
,-----------------------------------------------------------------------------------------.
|
||||||
| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
| | | | | | | | | UP | | | | | Reset |
|
| | | | | | | | | UP | | | | | |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
| | | | | | | | Left| Down|Right| | | |
|
| | | | | | | | Left| Down|Right| | | |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
@@ -55,7 +55,7 @@ The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` k
|
|||||||
,-----------------------------------------------------------------------------------------.
|
,-----------------------------------------------------------------------------------------.
|
||||||
| | BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Eject |
|
| | BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Eject |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
| | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | Reset |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
| | | | | | | | | | | | | |
|
| | | | | | | | | | | | | |
|
||||||
|-----------------------------------------------------------------------------------------+
|
|-----------------------------------------------------------------------------------------+
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
BACKLIGHT_ENABLE = no
|
||||||
|
RGBLIGHT_ENABLE = no
|
||||||
@@ -299,58 +299,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// getting the LEDs working...
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
DDRF |= (1<<0); // Keypad LED
|
|
||||||
if (usb_led & (1<<USB_LED_COMPOSE)) {
|
|
||||||
PORTF |= (1<<0);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<0);
|
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<1); // ScrLock LED
|
|
||||||
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
|
|
||||||
PORTF |= (1<<1);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<1);
|
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<2); // NumLock LED
|
|
||||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
|
||||||
PORTF |= (1<<2);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<2);
|
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<3); // CapsLock LED
|
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
|
||||||
PORTF |= (1<<3);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<3);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Runs just one time when the keyboard initializes.
|
// Runs just one time when the keyboard initializes.
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
|
||||||
PORTF |= (1<<2);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<2);
|
|
||||||
}
|
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
|
||||||
PORTF |= (1<<3);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<3);
|
|
||||||
}
|
|
||||||
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
|
|
||||||
PORTF |= (1<<1);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -10,9 +10,11 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout.
|
|||||||
|
|
||||||
I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
|
I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
|
||||||
|
|
||||||
|
As of August 4 2018, I've got the LEDs working ... mostly. Caps Lock and Num Lock LEDs work for me. The Scroll Lock LED does work on my keyboard, but I can't get it to work when I use the Scroll Lock key on my keyboard. I also have no idea how to get the Num Pad LED working when I switch to the Numpad layer.
|
||||||
|
|
||||||
## Still to do:
|
## Still to do:
|
||||||
|
|
||||||
* Implement the CapsLock, NumLock, and ScrLck LEDs on the off-chance that I decide to actually solder some to the keyboard.
|
* Figure out how to make the Numpad and ScrLck LEDs work properly.
|
||||||
|
|
||||||
### Function Keys on All Layers (keypad toggles):
|
### Function Keys on All Layers (keypad toggles):
|
||||||
,-----------------------------------------------------------------.
|
,-----------------------------------------------------------------.
|
||||||
|
|||||||
@@ -27,65 +27,35 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void led_init_ports() {
|
void led_init_ports() {
|
||||||
// * Set our LED pins as output
|
// * Set our LED pins as output
|
||||||
DDRF |= (1<<0); // Keypad LED
|
DDRF |= (1<<0); // Keypad LED
|
||||||
DDRF |= (1<<1); // ScrLock LED
|
DDRF |= (1<<1); // ScrLock LED
|
||||||
DDRF |= (1<<2); // NumLock LED
|
DDRF |= (1<<2); // NumLock LED
|
||||||
DDRF |= (1<<3); // CapsLock LED
|
DDRF |= (1<<3); // CapsLock LED
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
void led_set_kb(uint8_t usb_led) {
|
||||||
DDRF |= (1<<0); // Keypad LED
|
if (usb_led & (1<<USB_LED_COMPOSE)) {
|
||||||
if (usb_led & (1<<USB_LED_COMPOSE)) {
|
PORTF &= ~(1<<0);
|
||||||
PORTF |= (1<<0);
|
} else {
|
||||||
} else {
|
PORTF |= (1<<0);
|
||||||
PORTF &= ~(1<<0);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<1); // ScrLock LED
|
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
|
||||||
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
|
PORTF &= ~(1<<1);
|
||||||
PORTF |= (1<<1);
|
} else {
|
||||||
} else {
|
PORTF |= (1<<1);
|
||||||
PORTF &= ~(1<<1);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<2); // NumLock LED
|
|
||||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
|
||||||
PORTF |= (1<<2);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<2);
|
|
||||||
}
|
|
||||||
|
|
||||||
DDRF |= (1<<3); // CapsLock LED
|
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
|
||||||
PORTF |= (1<<3);
|
|
||||||
} else {
|
|
||||||
PORTF &= ~(1<<3);
|
|
||||||
}
|
|
||||||
|
|
||||||
led_set_user(usb_led);
|
|
||||||
|
|
||||||
inline void kinesis_keypad_led_on(void) { DDRF |= (1<<0); PORTF |= (1<<0); }
|
|
||||||
inline void kinesis_scroll_led_on(void) { DDRF |= (1<<1); PORTF |= (1<<1); }
|
|
||||||
inline void kinesis_num_led_on(void) { DDRF |= (1<<2); PORTF |= (1<<2); }
|
|
||||||
inline void kinesis_caps_led_on(void) { DDRF |= (1<<3); PORTF |= (1<<3); }
|
|
||||||
|
|
||||||
inline void kinesis_keypad_led_off(void) { DDRF &= ~(1<<0); PORTF &= ~(1<<0); }
|
|
||||||
inline void kinesis_scroll_led_off(void) { DDRF &= ~(1<<1); PORTF &= ~(1<<1); }
|
|
||||||
inline void kinesis_num_led_off(void) { DDRF &= ~(1<<2); PORTF &= ~(1<<2); }
|
|
||||||
inline void kinesis_caps_led_off(void) { DDRF &= ~(1<<3); PORTF &= ~(1<<3); }
|
|
||||||
|
|
||||||
|
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
||||||
|
PORTF &= ~(1<<2);
|
||||||
|
} else {
|
||||||
|
PORTF |= (1<<2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||||
|
PORTF &= ~(1<<3);
|
||||||
|
} else {
|
||||||
|
PORTF |= (1<<3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the old code that has the port information in it.
|
|
||||||
inline void kinesis_keypad_led_on(void) { DDRF |= (1<<0); PORTF |= (1<<0); }
|
|
||||||
inline void kinesis_scroll_led_on(void) { DDRF |= (1<<1); PORTF |= (1<<1); }
|
|
||||||
inline void kinesis_num_led_on(void) { DDRF |= (1<<2); PORTF |= (1<<2); }
|
|
||||||
inline void kinesis_caps_led_on(void) { DDRF |= (1<<3); PORTF |= (1<<3); }
|
|
||||||
|
|
||||||
inline void kinesis_keypad_led_off(void) { DDRF &= ~(1<<0); PORTF &= ~(1<<0); }
|
|
||||||
inline void kinesis_scroll_led_off(void) { DDRF &= ~(1<<1); PORTF &= ~(1<<1); }
|
|
||||||
inline void kinesis_num_led_off(void) { DDRF &= ~(1<<2); PORTF &= ~(1<<2); }
|
|
||||||
inline void kinesis_caps_led_off(void) { DDRF &= ~(1<<3); PORTF &= ~(1<<3); }
|
|
||||||
*/
|
|
||||||
@@ -159,10 +159,12 @@ void matrix_scan_kb(void)
|
|||||||
void suspend_power_down_kb(void)
|
void suspend_power_down_kb(void)
|
||||||
{
|
{
|
||||||
rgb_matrix_set_suspend_state(true);
|
rgb_matrix_set_suspend_state(true);
|
||||||
|
suspend_power_down_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
void suspend_wakeup_init_kb(void)
|
void suspend_wakeup_init_kb(void)
|
||||||
{
|
{
|
||||||
rgb_matrix_set_suspend_state(false);
|
rgb_matrix_set_suspend_state(false);
|
||||||
|
suspend_wakeup_init_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -15,12 +15,11 @@
|
|||||||
#define RGBLED_NUM 12
|
#define RGBLED_NUM 12
|
||||||
#elif defined(KEYBOARD_lets_split_rev2)
|
#elif defined(KEYBOARD_lets_split_rev2)
|
||||||
#define RGBLED_NUM 8
|
#define RGBLED_NUM 8
|
||||||
|
#elif defined(KEYBOARD_jj40)
|
||||||
|
#define RGBLED_NUM 5
|
||||||
#else
|
#else
|
||||||
#define RGBLED_NUM 1
|
#define RGBLED_NUM 1
|
||||||
#endif
|
#endif
|
||||||
#ifdef KEYBOARD_jj40
|
|
||||||
#define RGBLED_NUM 5
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_ANIMATIONS
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
|||||||
@@ -175,6 +175,16 @@ void persistent_default_layer_set(uint16_t default_layer) {
|
|||||||
default_layer_set(default_layer);
|
default_layer_set(default_layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void matrix_init_user(void) {
|
||||||
|
#ifdef BOOTLOADER_CATERINA
|
||||||
|
// This will disable the red LEDs on the ProMicros
|
||||||
|
DDRD &= ~(1<<5);
|
||||||
|
PORTD &= ~(1<<5);
|
||||||
|
DDRB &= ~(1<<0);
|
||||||
|
PORTB &= ~(1<<0);
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case QWERTY:
|
case QWERTY:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Build Options
|
# Build Options
|
||||||
# change to "no" to disable the options, or define them in the Makefile in
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
# the appropriate keymap folder that will get included automatically
|
# the appropriate keymap folder that will get included automatically
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
@@ -7,12 +7,18 @@ MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
|||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
||||||
MIDI_ENABLE = no # MIDI controls
|
MIDI_ENABLE = no # MIDI controls
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
|
||||||
|
ifneq ("$(KEYBOARD)","nyquist")
|
||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
|
BACKLIGHT_ENABLE = yes
|
||||||
|
else
|
||||||
|
RGBLIGHT_ENABLE = no
|
||||||
|
BACKLIGHT_ENABLE = no
|
||||||
|
endif
|
||||||
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
|||||||
+6
-3
@@ -147,8 +147,10 @@ void reset_keyboard(void) {
|
|||||||
#if defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
#if defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
||||||
process_midi_all_notes_off();
|
process_midi_all_notes_off();
|
||||||
#endif
|
#endif
|
||||||
#if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE)
|
#ifdef AUDIO_ENABLE
|
||||||
music_all_notes_off();
|
#ifndef NO_MUSIC_MODE
|
||||||
|
music_all_notes_off();
|
||||||
|
#endif
|
||||||
uint16_t timer_start = timer_read();
|
uint16_t timer_start = timer_read();
|
||||||
PLAY_SONG(goodbye_song);
|
PLAY_SONG(goodbye_song);
|
||||||
shutdown_user();
|
shutdown_user();
|
||||||
@@ -156,6 +158,7 @@ void reset_keyboard(void) {
|
|||||||
wait_ms(1);
|
wait_ms(1);
|
||||||
stop_all_notes();
|
stop_all_notes();
|
||||||
#else
|
#else
|
||||||
|
shutdown_user();
|
||||||
wait_ms(250);
|
wait_ms(250);
|
||||||
#endif
|
#endif
|
||||||
// this is also done later in bootloader.c - not sure if it's neccesary here
|
// this is also done later in bootloader.c - not sure if it's neccesary here
|
||||||
@@ -931,7 +934,7 @@ uint8_t rgb_matrix_task_counter = 0;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void matrix_scan_quantum() {
|
void matrix_scan_quantum() {
|
||||||
#if defined(AUDIO_ENABLE)
|
#if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE)
|
||||||
matrix_scan_music();
|
matrix_scan_music();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
#include "send_string_keycodes.h"
|
#include "send_string_keycodes.h"
|
||||||
|
#include "suspend.h"
|
||||||
|
|
||||||
extern uint32_t default_layer_state;
|
extern uint32_t default_layer_state;
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
// #define BACKLIGHT_BREATHING
|
// #define BACKLIGHT_BREATHING
|
||||||
// #define BACKLIGHT_LEVELS 3
|
// #define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
// #define RGB_DI_PIN E2
|
||||||
|
// #ifdef RGB_DI_PIN
|
||||||
|
// #define RGBLIGHT_ANIMATIONS
|
||||||
|
// #define RGBLED_NUM 16
|
||||||
|
// #define RGBLIGHT_HUE_STEP 8
|
||||||
|
// #define RGBLIGHT_SAT_STEP 8
|
||||||
|
// #define RGBLIGHT_VAL_STEP 8
|
||||||
|
// #endif
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
#define DEBOUNCING_DELAY 5
|
#define DEBOUNCING_DELAY 5
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
NKRO_ENABLE = no # USB Nkey Rollover
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
|||||||
@@ -20,15 +20,17 @@
|
|||||||
|
|
||||||
// This a shortcut to help you visually see your layout.
|
// This a shortcut to help you visually see your layout.
|
||||||
// The following is an example using the Planck MIT layout
|
// The following is an example using the Planck MIT layout
|
||||||
// The first section contains all of the arguments
|
// The first section contains all of the arguments representing the physical
|
||||||
// The second converts the arguments into a two-dimensional array
|
// layout of the board and position of the keys
|
||||||
|
// The second converts the arguments into a two-dimensional array which
|
||||||
|
// represents the switch matrix.
|
||||||
#define LAYOUT( \
|
#define LAYOUT( \
|
||||||
k00, k01, k02, \
|
K00, K01, K02, \
|
||||||
k10, k11 \
|
K10, K11 \
|
||||||
) \
|
) \
|
||||||
{ \
|
{ \
|
||||||
{ k00, k01, k02 }, \
|
{ K00, K01, K02 }, \
|
||||||
{ k10, KC_NO, k11 }, \
|
{ K10, KC_NO, K11 }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -0,0 +1,362 @@
|
|||||||
|
:10000000BDC00000E3C00000E1C00000DFC0000090
|
||||||
|
:10001000DDC00000DBC00000D9C00000D7C0000078
|
||||||
|
:10002000D5C00000D3C000003AC70000B1C700002F
|
||||||
|
:10003000CDC00000CBC00000C9C00000C7C0000098
|
||||||
|
:10004000C5C00000C3C00000C1C00000BFC00000A8
|
||||||
|
:10005000BDC00000BBC00000B9C000007FC60000EA
|
||||||
|
:10006000B5C00000B3C00000B1C00000AFC00000C8
|
||||||
|
:10007000ADC00000ABC00000A9C00000A7C00000D8
|
||||||
|
:10008000A5C00000A3C00000A1C000009FC00000E8
|
||||||
|
:100090009DC000009BC0000099C0000097C00000F8
|
||||||
|
:1000A00095C0000093C0000091C000000001000056
|
||||||
|
:1000B0005D0112000200001A014300030000160156
|
||||||
|
:1000C0000401030904FC001802030904E4001603F8
|
||||||
|
:1000D000030904D6000C0C03310032003300340055
|
||||||
|
:1000E0003500000016035500530042002000530065
|
||||||
|
:1000F00065007200690061006C0000001803540084
|
||||||
|
:10010000650065006E007300790064007500690089
|
||||||
|
:100110006E006F000000040309040902430002019D
|
||||||
|
:1001200000C0320904000001020201000524001091
|
||||||
|
:10013000010524010001042402060524060001072C
|
||||||
|
:1001400005820308004009040100020A00000007BC
|
||||||
|
:100150000503024000000705840240000012010070
|
||||||
|
:100160000202000020C01683040001010203010006
|
||||||
|
:1001700001C10201803601813600110B11241FBE1E
|
||||||
|
:10018000CFEFDAE0DEBFCDBF11E0A0E0B1E0EAE5FD
|
||||||
|
:10019000F6E102C005900D92A232B107D9F722E034
|
||||||
|
:1001A000A2E2B1E001C01D92A935B207E1F710E06B
|
||||||
|
:1001B000CEEBD0E004C02197FE010E94250BCD3B81
|
||||||
|
:1001C000D107C9F70E942D090C942B0B19CFDC0124
|
||||||
|
:1001D000ED91FC910190F081E02D09948EBD00001D
|
||||||
|
:1001E0000DB407FEFDCF8EB508950F931F930FB684
|
||||||
|
:1001F000F8948091440290914502A0914602B091FA
|
||||||
|
:1002000047020FBE409122015091230160912401C9
|
||||||
|
:10021000709125018C019D01041B150B260B370BDA
|
||||||
|
:100220000832110521053105F0F0809322019093E9
|
||||||
|
:100230002301A0932401B09325012091010180EEB8
|
||||||
|
:10024000820F813A28F090910001919590930001DE
|
||||||
|
:1002500080910001820F80930101529A803810F43E
|
||||||
|
:100260005A9801C05A9A1F910F91089590912601B2
|
||||||
|
:10027000882319F0911103C004C0911102C02E9A75
|
||||||
|
:1002800001C02E98809180008F7D8093800008951A
|
||||||
|
:100290000F931F93CF93DF938B01EC01DD27FE01BA
|
||||||
|
:1002A0009ED46EE170E080E090E098D5FE019DD490
|
||||||
|
:1002B0006EE170E080E090E091D50150110978F78F
|
||||||
|
:1002C000DF91CF911F910F91089540E05BE460E0D2
|
||||||
|
:1002D00070E08FE492E00E94AA0A509A62E070E017
|
||||||
|
:1002E00085E090E0D5DF519A62E070E086E090E032
|
||||||
|
:1002F000CFDF529A62E070E087E090E0C9CF8823B8
|
||||||
|
:1003000011F0589A01C0589884B58F7D84BD089526
|
||||||
|
:10031000CF93DF9300D01F92CDB7DEB72B834A83F4
|
||||||
|
:1003200069835CDF6981862F59DF4A81842F56DF1C
|
||||||
|
:100330002B81822F0F900F900F90DF91CF914ECF96
|
||||||
|
:1003400020913A012093270180913B01809328015D
|
||||||
|
:1003500080913C018093290180913D0180932A0185
|
||||||
|
:1003600080913E0180932B0180913F0180932C016D
|
||||||
|
:100370008091400180932D018091410180932E0155
|
||||||
|
:100380008091420180932F018091440190E0982F49
|
||||||
|
:10039000882730914501830F911D909331018093FF
|
||||||
|
:1003A00030018091460190E0982F882730914701D5
|
||||||
|
:1003B000830F911D90933301809332018091480106
|
||||||
|
:1003C00090E0982F882730914901830F911D9093D9
|
||||||
|
:1003D00035018093340180914A0190E0A0E0B0E0C3
|
||||||
|
:1003E000BA2FA92F982F882730914B01830F911D89
|
||||||
|
:1003F000A11DB11DDC019927882740914C0150E0D7
|
||||||
|
:10040000542F4427052E000C660B770B840F951F85
|
||||||
|
:10041000A61FB71F30914D01830F911DA11DB11D66
|
||||||
|
:100420008093360190933701A0933801B09339013E
|
||||||
|
:1004300081E0203E08F480E080932601089581E069
|
||||||
|
:1004400015DF269A6DD380914202882381F0813096
|
||||||
|
:1004500051F48DB3809340029DB380914102809509
|
||||||
|
:1004600089238DBB04C08FB7F8948093400283E545
|
||||||
|
:100470008CBD1DBC299864E170E080E090E0AED4B2
|
||||||
|
:1004800080E0F4DE80E991E00197F1F781E0EEDEB3
|
||||||
|
:1004900062E370E080E090E0A1D420E040E063E51A
|
||||||
|
:1004A0008CEA36DF81E090E090933D0280933C023D
|
||||||
|
:1004B000089541D322982A982198299880E0D6DE81
|
||||||
|
:1004C00026982E98EDE7F0E080818F7D8083109252
|
||||||
|
:1004D0003D0210923C020895242F880F880F880F48
|
||||||
|
:1004E000462F672F805C14CFCF93DF9300D0CDB71A
|
||||||
|
:1004F000DEB7482F692F80E090E049836A83FFDEF2
|
||||||
|
:1005000020E049816A818CE403DF6EE170E080E0E5
|
||||||
|
:1005100090E064D481E090E00F900F90DF91CF9154
|
||||||
|
:10052000EECE209132013091330180913A029091C8
|
||||||
|
:100530003B022032310511F4807F089520343105CB
|
||||||
|
:1005400011F4807E08952038310511F4807C0895DF
|
||||||
|
:100550002115314009F480780895CF92DF92EF920F
|
||||||
|
:10056000FF920F931F93CF93DF936C01DADF8C011F
|
||||||
|
:10057000C0E0D0E0CC15DD0554F5D3DF7C010817D1
|
||||||
|
:10058000190721F0C801B0DFCCDF7C01FE01E65C79
|
||||||
|
:10059000FE4F60913A0270913B02408180E09CDF07
|
||||||
|
:1005A0002296FE01E75CFE4F60913A0270913B0299
|
||||||
|
:1005B000408181E091DF20913A0230913B022F5F30
|
||||||
|
:1005C0003F4F30933B0220933A028701D3CFC801BB
|
||||||
|
:1005D0008BDF80E1DF91CF911F910F91FF90EF9022
|
||||||
|
:1005E000DF90CF900895462F880F880F880F20E066
|
||||||
|
:1005F000672F805E8DCE0F931F93CF93DF938C0177
|
||||||
|
:10060000C0E0D0E0C017D10704F560913A027091C4
|
||||||
|
:100610003B0280E0E8DF682F8FE492E0D8DD609154
|
||||||
|
:100620003A0270913B0281E0DEDF682F8FE492E0B6
|
||||||
|
:10063000CEDD20913A0230913B022F5F3F4F309345
|
||||||
|
:100640003B0220933A022296DDCF80E1DF91CF91E9
|
||||||
|
:100650001F910F910895EF92FF920F931F93CF93E5
|
||||||
|
:10066000DF937C0100913A0210913B02000F111FB1
|
||||||
|
:10067000E801CE01801B910B8E159F055CF42FEFD6
|
||||||
|
:100680004C2F6D2F80EA44DE682F8FE492E09FDDCF
|
||||||
|
:100690002196EFCF80E1DF91CF911F910F91FF90D5
|
||||||
|
:1006A000EF9008958FE492E0F2D5892BD9F38FE48F
|
||||||
|
:1006B00092E026C608950F931F93CF93DF938C018A
|
||||||
|
:1006C000CAE3D1E0CE018A539140801791071CF410
|
||||||
|
:1006D000E9DF8993F7CFDF91CF911F910F910895B3
|
||||||
|
:1006E000EF92FF920F931F93CF93DF93EC018B0157
|
||||||
|
:1006F000CB01E1DF80E090E002DE8AE3E82E81E0DA
|
||||||
|
:10070000F82E0C0F1D1FC017D10771F0F7012191B2
|
||||||
|
:100710007F014C2F6D2F80ECFBDD6DE270E080E0FF
|
||||||
|
:1007200090E05CD32196EFCF81E090E0E8DD80E1BE
|
||||||
|
:10073000DF91CF911F910F91FF90EF9008950F934C
|
||||||
|
:100740001F93CF93DF938C01C0913A02D0913B026B
|
||||||
|
:1007500080913401909135018017910718F0CC0FEA
|
||||||
|
:10076000DD1F0BC080913E0290913F020196909355
|
||||||
|
:100770003F0280933E0281E10FC00132110540F03B
|
||||||
|
:1007800060E270E0CE01ACDFA09600521109F5CF17
|
||||||
|
:10079000B801CE01A5DF80E1DF91CF911F910F91CC
|
||||||
|
:1007A000089580DF803231F464E18FE492E00FDD60
|
||||||
|
:1007B00060E10AC080913E0290913F0201969093C1
|
||||||
|
:1007C0003F0280933E0265E18FE492E000CDCF933B
|
||||||
|
:1007D000C82F68DF803251F464E18FE492E0F7DCE7
|
||||||
|
:1007E0006C2F8FE492E0F3DC60E10AC080913E025E
|
||||||
|
:1007F00090913F02019690933F0280933E0265E103
|
||||||
|
:100800008FE492E0CF91E3CC813859F020F4803826
|
||||||
|
:1008100061F482E00BC0823831F0833931F483E532
|
||||||
|
:1008200005C081E003C082E101C080E0D0CF84E058
|
||||||
|
:1008300090E041DFEAE3F1E0238142816181808140
|
||||||
|
:1008400067DDC5CFCF93DF93EC0135DF2BDF80323F
|
||||||
|
:1008500041F464E18FE492E0BADCCE017EDE682FE1
|
||||||
|
:100860000AC080913E0290913F02019690933F0210
|
||||||
|
:1008700080933E0265E18FE492E0DF91CF91A7CCB7
|
||||||
|
:10088000CF93DF930FDFC82FD0E0DC2FCC270ADF18
|
||||||
|
:10089000C80FD11D07DF863421F4CE01DF91CF913F
|
||||||
|
:1008A000D1CF8534B9F4CE014ADFC82FFBDE8032C8
|
||||||
|
:1008B00031F464E18FE492E08ADC6C2F0CC080910B
|
||||||
|
:1008C0003E0290913F02019690933F0280933E0238
|
||||||
|
:1008D00065E101C061E18FE492E0DF91CF9177CCD7
|
||||||
|
:1008E0000F931F93CF93DF93DDDEC82FDBDE082F3E
|
||||||
|
:1008F000D9DE182FD7DE803259F080913E029091D8
|
||||||
|
:100900003F02019690933F0280933E0265E115C03D
|
||||||
|
:10091000D0E0DC2FCC27C00FD11D64E18FE492E042
|
||||||
|
:1009200056DC163419F4CE0166DE06C0153419F40F
|
||||||
|
:10093000CE0191DE01C081E1682F8FE492E0DF916A
|
||||||
|
:10094000CF911F910F9143CCADDE803259F0809151
|
||||||
|
:100950003E0290913F02019690933F0280933E02A7
|
||||||
|
:1009600065E120C064E18FE492E031DC20E040E00A
|
||||||
|
:1009700060E080E3CDDC682F8FE492E028DC20E0AB
|
||||||
|
:1009800041E060E080E3C4DC682F8FE492E01FDC8C
|
||||||
|
:1009900020E042E060E080E3BBDC682F8FE492E07F
|
||||||
|
:1009A00016DC60E18FE492E012CC7CDE813509F444
|
||||||
|
:1009B00077C0E0F4813409F460C050F4803309F466
|
||||||
|
:1009C00040C0813309F442C0803209F07AC06FC060
|
||||||
|
:1009D000853409F454C0803509F455C0823409F0D7
|
||||||
|
:1009E00070C084E190E067DEABDC4CC0813609F476
|
||||||
|
:1009F00053C0F0F4863509F452C0803609F44BC078
|
||||||
|
:100A0000853509F05EC04EDE90E090933B02809306
|
||||||
|
:100A10003A0248DE90E0982F882720913A023091E0
|
||||||
|
:100A20003B02820F931F90933B0280933A022AC0AD
|
||||||
|
:100A30008437A1F1853709F439C0843609F041C003
|
||||||
|
:100A40001FCF10923F0210923E021CC02BDE80325C
|
||||||
|
:100A500071F564E18FE492E0BADBE0914F02F0912E
|
||||||
|
:100A600050020280F381E02D47E050E069E071E040
|
||||||
|
:100A70008FE492E0099560E133C014DEC5CE85E0D5
|
||||||
|
:100A800090E019DE8ECE80913C0290913D02892B40
|
||||||
|
:100A9000C9F7D5DCF7CF06DE05DEF4CF21CFC7CE10
|
||||||
|
:100AA00010923F0210923E0204DDECCF4DCF8091B8
|
||||||
|
:100AB0003E0290913F02019690933F0280933E0246
|
||||||
|
:100AC0000EC080913E0290913F02019690933F02AA
|
||||||
|
:100AD00080933E02E7DD803211F462E101C065E1FE
|
||||||
|
:100AE0008FE492E074CB80913C0290913D02892B7F
|
||||||
|
:100AF00011F0589A01C0589884B58F7D84BD8091BB
|
||||||
|
:100B00003E0290913F02892B11F0599A01C05998E9
|
||||||
|
:100B10006CDB8FE492E0BBD3892B09F046CF0895BC
|
||||||
|
:100B2000289A209A8CB580618CBD8CB580648CBD70
|
||||||
|
:100B3000219A229A08958CB58F7B8CBD08951DBA99
|
||||||
|
:100B4000109268001CBC10BE1FBA10927A0010925E
|
||||||
|
:100B50006E0010926F00109271001092720010924D
|
||||||
|
:100B6000C900ECEBF0E0108214B817B81AB81DB841
|
||||||
|
:100B700010BA108215B818B81BB81EB811BA08956B
|
||||||
|
:100B8000F894E1E6F0E020E82083108283E084BD61
|
||||||
|
:100B900085BDEEE6F0E080818160808381E0809316
|
||||||
|
:100BA000800092E090938100809390009093910058
|
||||||
|
:100BB0009093C00094E09093C1008093C200809312
|
||||||
|
:100BC000C3001092C40086E880937A0020937B00D3
|
||||||
|
:100BD00010927E0010927D0040D178940895E93102
|
||||||
|
:100BE00050F4EE0FE450FA4F0994E93120F4EE0F7F
|
||||||
|
:100BF000E25DF94F09940895289A0895299A089575
|
||||||
|
:100C00002A9A08952B9A08952F9A6AC0589A58C024
|
||||||
|
:100C1000599A08955A9A08955B9A0895469A66C01B
|
||||||
|
:100C2000479A6AC05E9A08955F9A6CC02C9A08959C
|
||||||
|
:100C30002D9A4AC02E9A4EC08F9A08958E9A089582
|
||||||
|
:100C40008D9A08958C9A0895899A0895889A08959E
|
||||||
|
:100C50005C9A08955D9A0895769A08952898089563
|
||||||
|
:100C6000299808952A9808952B9808952F9838C0A8
|
||||||
|
:100C7000589826C0599808955A9808955B980895F1
|
||||||
|
:100C8000469834C0479838C05E9808955F983AC037
|
||||||
|
:100C90002C9808952D9818C02E981CC08F980895F0
|
||||||
|
:100CA0008E9808958D9808958C9808958998089540
|
||||||
|
:100CB000889808955C9808955D98089576980895A9
|
||||||
|
:100CC000E4B5EF7DE4BD0895E0918000EF77E09317
|
||||||
|
:100CD00080000895E0918000EF7DE093800008950A
|
||||||
|
:100CE000E0918000E77FE09380000895E09190001C
|
||||||
|
:100CF000EF77E09390000895E091C000EF77E093E4
|
||||||
|
:100D0000C0000895E091C200E77FE093C20008951B
|
||||||
|
:100D1000F89484B7877F84BF80916000806180935E
|
||||||
|
:100D200060001092600080E29EE40197F1F781E09C
|
||||||
|
:100D30008093E00080E28093D80080E69AEE0197ED
|
||||||
|
:100D4000F1F7FDDE0C94003FFFCFF894F8DE80E66B
|
||||||
|
:100D50009AEE0197F1F70C940000FFCF8F938FB7B5
|
||||||
|
:100D60008F93809143028D5F8D37D0F4809343023F
|
||||||
|
:100D7000809144028F5F80934402D8F080914502B5
|
||||||
|
:100D80008F4F80934502A8F0809146028F4F809349
|
||||||
|
:100D9000460278F0809147028F4F8093470209C046
|
||||||
|
:100DA0008D5780934302809144028E5F809344026A
|
||||||
|
:100DB00028F7809148028C5F8093480258F0809118
|
||||||
|
:100DC00049028F4F8093490228F080914A028F4F49
|
||||||
|
:100DD00080934A028F918FBF8F911895CF92DF92A7
|
||||||
|
:100DE000EF92FF926B017C0119D09B01C114D104D9
|
||||||
|
:100DF000E104F10471F012D0621B730B683E734082
|
||||||
|
:100E0000A8F381E0C81AD108E108F10828513C4F45
|
||||||
|
:100E1000EDCFFF90EF90DF90CF9008950FB6F8944C
|
||||||
|
:100E200066B515B2709148028091490290914A02CC
|
||||||
|
:100E30000FBE10FE05C06F3F19F07C5F8F4F9F4FB4
|
||||||
|
:100E400011240024660F001C660F001C70290895F1
|
||||||
|
:100E50008091E80080FFFCCF08958091D80087FF43
|
||||||
|
:100E600002C085FF1BC081E08093D70080EA809399
|
||||||
|
:100E7000D80082E189BD09B400FEFDCF80E98093EE
|
||||||
|
:100E8000D8001092E00010925B0210925A02109269
|
||||||
|
:100E900059021092E1008DE08093E20008951F92C4
|
||||||
|
:100EA0000F920FB60F9211242F933F934F935F939E
|
||||||
|
:100EB0006F937F938F939F93AF93BF93EF93FF9322
|
||||||
|
:100EC0009091E1001092E10093FF11C01092E900AF
|
||||||
|
:100ED00081E08093EB001092EC0082E28093ED00C1
|
||||||
|
:100EE00088E08093F00010925B021092590292FF0A
|
||||||
|
:100EF0001DC080915B028823C9F080914E02882337
|
||||||
|
:100F000059F0815080934E02811106C084E0809395
|
||||||
|
:100F1000E9008AE38093E80080914D02882331F054
|
||||||
|
:100F2000815080934D02811101C0F2DE90FF0CC010
|
||||||
|
:100F300080E18093E20010925B0281E080935A028C
|
||||||
|
:100F400080EA8093D80019BC80915A02882379F0F6
|
||||||
|
:100F500094FF0DC082E189BD09B400FEFDCF80E998
|
||||||
|
:100F60008093D8008DE08093E20010925A02FF91A6
|
||||||
|
:100F7000EF91BF91AF919F918F917F916F915F9111
|
||||||
|
:100F80004F913F912F910F900FBE0F901F9018958A
|
||||||
|
:100F90001F920F920FB60F921124EF92FF920F93B0
|
||||||
|
:100FA0001F932F933F934F935F936F937F938F93F1
|
||||||
|
:100FB0009F93AF93BF93CF93EF93FF931092E9006A
|
||||||
|
:100FC0008091E80083FF30C1C091F1008091F10071
|
||||||
|
:100FD000E090F100F090F1000091F1001091F1002B
|
||||||
|
:100FE0002091F1003091F10092EF9093E80086306B
|
||||||
|
:100FF00009F03FC086E0ECEAF0E0459155914E15CE
|
||||||
|
:101000005F0511F0359615C0459155914017510770
|
||||||
|
:1010100011F033960EC04591559184912F3F3105C3
|
||||||
|
:1010200019F010F02FEF30E0281708F4822F3EEF70
|
||||||
|
:1010300008C0815011F7F8C0891B3093E80088235D
|
||||||
|
:10104000A9F09091E800292F2570D9F392FDEFC007
|
||||||
|
:10105000982F813208F090E2292F222369F3FA01B8
|
||||||
|
:1010600045914093F100AF012150F7CF903249F301
|
||||||
|
:10107000DEC0853049F48EEF8093E800E9DE8E2DE6
|
||||||
|
:1010800080688093E300D3C0893001F5C111CCC0E2
|
||||||
|
:10109000E0925B021092590210924E028EEF809302
|
||||||
|
:1010A000E80081E0EFE6F1E08093E900959190930C
|
||||||
|
:1010B000EB00992331F095919093EC0095919093EA
|
||||||
|
:1010C000ED008F5F853081F78EE1A9C0883049F44B
|
||||||
|
:1010D000C03809F0A9C0BCDE80915B028093F100AA
|
||||||
|
:1010E0007DC0813279F4C13A09F09EC0B1DEE2E000
|
||||||
|
:1010F000F1E087E08E0F90819093F10031968E138E
|
||||||
|
:10110000FACF6CC0803209F047C0C13209F08CC000
|
||||||
|
:101110008091E80082FFFCCFE2E0F1E087E08E0FF3
|
||||||
|
:101120009091F100908331968E13FACF8BEF8093DC
|
||||||
|
:10113000E8008EEF8093E8003091020140910301B6
|
||||||
|
:10114000809104012091050190E0A0E0B0E0DC0175
|
||||||
|
:1011500099278827942B832BB22B86389105A105DC
|
||||||
|
:10116000B10521F48FE080934D0261C0863991056D
|
||||||
|
:10117000A105B10509F05BC084E08093E9009FEF11
|
||||||
|
:101180008091EE00837039F09093E8008091E80040
|
||||||
|
:1011900082FDFCCFF5CFD9DD823231F4C13209F0C6
|
||||||
|
:1011A00043C0E092590204C0833221F4C132E1F518
|
||||||
|
:1011B0004FDE14C0811116C04BDEC23851F40093CB
|
||||||
|
:1011C000E9008091EB0085FB882780F91092E90007
|
||||||
|
:1011D00001C080E08093F1001092F1008EEF8093C7
|
||||||
|
:1011E000E80025C0982F9D7F9130F1F4C230E1F4E2
|
||||||
|
:1011F000EF28D1F40F779FEF900F9630A8F49EEF71
|
||||||
|
:101200009093E8000093E900833071F089E18093C6
|
||||||
|
:10121000EB0081E090E001C0880F0A95EAF7809327
|
||||||
|
:10122000EA001092EA0003C081E28093EB00FF9194
|
||||||
|
:10123000EF91CF91BF91AF919F918F917F916F91DE
|
||||||
|
:101240005F914F913F912F911F910F91FF90EF90E0
|
||||||
|
:101250000F900FBE0F901F90189592DC36D843DC8C
|
||||||
|
:10126000FECFCF93DF931F92CDB7DEB76983DC014A
|
||||||
|
:10127000ED91FC910280F381E02D41E050E0BE0150
|
||||||
|
:101280006F5F7F4F09950F90DF91CF910895FC011B
|
||||||
|
:101290008FB7F89490915B02911102C090E010C05A
|
||||||
|
:1012A00093E09093E9009091F200911109C0209190
|
||||||
|
:1012B000E80022FFF3CF25FDF1CF2BE62093E800D5
|
||||||
|
:1012C0008FBF2085318537FD03C09F3F09F09F5FA9
|
||||||
|
:1012D000892F90E00895CF93DF93EC01888599855D
|
||||||
|
:1012E00097FF09C0E881F9810680F781E02DCE01E2
|
||||||
|
:1012F00009959987888788859985DF91CF91089589
|
||||||
|
:10130000FC012085318537FD07C04FEF5FEF518726
|
||||||
|
:101310004087C901992708959FB7F89480915B028F
|
||||||
|
:10132000882369F083E08093E9002BE68091E80050
|
||||||
|
:1013300085FD09C082FF03C02093E800F7CF9FBF5F
|
||||||
|
:101340008FEF9FEF08958091F1002091E80025FD37
|
||||||
|
:1013500003C02BE62093E8009FBF90E00895DF9242
|
||||||
|
:10136000EF92FF920F931F93CF93DF938C01EB01CA
|
||||||
|
:1013700080915B02882371F07FB7F89484E08093BA
|
||||||
|
:10138000E90080914C02882369F08091E80085FD96
|
||||||
|
:1013900007C07FBF81E0F801828320E030E0D1C048
|
||||||
|
:1013A00010924C0220E030E064E080E4F82EA1EFDF
|
||||||
|
:1013B000B0E09AE3E92EE3E0DE2E4115510509F491
|
||||||
|
:1013C000BFC08091E400815F9091E80095FD16C058
|
||||||
|
:1013D0007FBF9091E400981304C081E080934C0299
|
||||||
|
:1013E00005C090915B02911104C081E0F8018283F5
|
||||||
|
:1013F000A8C07FB7F8946093E900E6CF8091F2002F
|
||||||
|
:101400009F2D981BE92FF0E04E175F0708F4942FEB
|
||||||
|
:10141000E92FF0E04E1B5F0B2E0F3F1FE0E4E91BAE
|
||||||
|
:10142000E03428F4EE0FFF27E85EF54F099480C002
|
||||||
|
:1014300099919C9399919C9399919C9399919C9348
|
||||||
|
:1014400099919C9399919C9399919C9399919C9338
|
||||||
|
:1014500099919C9399919C9399919C9399919C9328
|
||||||
|
:1014600099919C9399919C9399919C9399919C9318
|
||||||
|
:1014700099919C9399919C9399919C9399919C9308
|
||||||
|
:1014800099919C9399919C9399919C9399919C93F8
|
||||||
|
:1014900099919C9399919C9399919C9399919C93E8
|
||||||
|
:1014A00099919C9399919C9399919C9399919C93D8
|
||||||
|
:1014B00099919C9399919C9399919C9399919C93C8
|
||||||
|
:1014C00099919C9399919C9399919C9399919C93B8
|
||||||
|
:1014D00099919C9399919C9399919C9399919C93A8
|
||||||
|
:1014E00099919C9399919C9399919C9399919C9398
|
||||||
|
:1014F00099919C9399919C9399919C9399919C9388
|
||||||
|
:1015000099919C9399919C9399919C9399919C9377
|
||||||
|
:1015100099919C9399919C9399919C9399919C9367
|
||||||
|
:1015200099919C9399919C9399919C9399919C9357
|
||||||
|
:101530008091E80085FFE092E800D0924E023DCF16
|
||||||
|
:101540007FBFC901DF91CF911F910F91FF90EF9065
|
||||||
|
:10155000DF9008952FEF3FEFFC01318720877DDC7E
|
||||||
|
:101560000FB6F8948091440290914502A0914602F2
|
||||||
|
:10157000B09147020FBE9C0180915B02882329F045
|
||||||
|
:1015800068EC70E080E090E029CC80915A028823DA
|
||||||
|
:1015900001F10FB6F8948091440290914502A09118
|
||||||
|
:1015A0004602B09147020FBE40915A02442389F08F
|
||||||
|
:1015B0000FB6F89440914402509145026091460262
|
||||||
|
:1015C000709147020FBE481B590B4B3F510560F30A
|
||||||
|
:1015D00011C00FB6F8948091440290914502A091F9
|
||||||
|
:1015E0004602B09147020FBE821B930B853C994087
|
||||||
|
:1015F00008F4C2CF08959FB7F89480915B028823C6
|
||||||
|
:1016000021F080914E02811102C09FBF089584E0B5
|
||||||
|
:101610008093E9008AE38093E80010924E02F5CFB0
|
||||||
|
:10162000EACFEFE4F2E08AE0DF011D928A95E9F764
|
||||||
|
:1016300088EE93E0A0E0B0E083839483A583B68333
|
||||||
|
:1016400085E191E0918380830895EE0FFF1F05905F
|
||||||
|
:0A165000F491E02D0994F894FFCF07
|
||||||
|
:10165A00088000E10000000008415652204953501A
|
||||||
|
:10166A0000000000003109AF09470980096B091021
|
||||||
|
:02167A000B0063
|
||||||
|
:00000001FF
|
||||||
Reference in new issue
Block a user