Compare commits

...

40 Commits

Author SHA1 Message Date
Ryan
d46b8ef67c Add STM32Duino to bootloader selection (#10558) 2020-10-13 03:19:50 +11:00
Ryan
adc06c5b3b Remove bootloader_defs.h for some F072 boards (#10582) 2020-10-13 03:18:21 +11:00
Ryan
6c78f80fa1 Partial fix for sendstring_french.h (#10623) 2020-10-13 03:17:11 +11:00
shela
3d9fff1d28 Update Japanese document (#10605) 2020-10-13 01:08:38 +09:00
shela
975c2422f3 Update Japanese document (#10601) 2020-10-13 01:07:59 +09:00
shela
a4efb55a39 Update Japanese document. (#10599) 2020-10-13 01:07:11 +09:00
shela
96ac448a0f Update feature_bluetooth.md of Japanese document. (#10594)
* Update Japanese document.

* Left justified.

* Update docs/ja/feature_bluetooth.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/feature_bluetooth.md

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

Co-authored-by: s-show <s1shimz@gmail.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2020-10-13 01:06:06 +09:00
shela
216f9ed2c1 Update Japanese document. (#10589) 2020-10-13 01:05:28 +09:00
shela
c66d65df58 Update Japanese document (#10603) 2020-10-13 01:02:52 +09:00
Takeshi ISHII
f7e5d712c2 [Docs] Japanese translation of docs/isp_flashing_guide.md (#9896)
* start translation docs/ja/isp_flashing_guide.md

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>
2020-10-13 01:01:07 +09:00
Jan-Frederick Musiol
49abff9071 changed type of process_combo_event argument in tutorial (#10621)
in tutorial for combos feature, changed type of compo_index argument of process_combo_event form uint8_t to uint16_t
2020-10-13 02:14:37 +11:00
MakotoKurauchi
2d4ae0fe7b Fix configurator layout helix/rev3_4rows (#10618)
Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
2020-10-13 00:30:55 +11:00
MakotoKurauchi
4f923b1673 [Keyboard] Add Helix rev3 (#10297)
* add Helix Type-R keyboard

* add default 4Rows keymaps

* cleanup 4row keymaps

* update about SPLIT_HAND_MATRIX_GRID and DIP_SWITCH_MATRIX_GRID

* change how to toggle mac/win

* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add dip-sw sections

* comment updated in function `encoder_update_user`

* revert how to toggle mac/win

* remove 4Rows variant build options

* rename helix_type_r to helix_5r

* add helix type-R 4Rows edition

* small modifications in keymap.c

* small modifications according to renaming

* change project root directory

* continuous work on ee2c39f1f9bffd97a2deb8f430746933a8d8684c

* cleanup unused files

* update info.json files

* cleanup 5rows' keymaps

* rename and update readme.md

* update config.h

* update helix's readme.md and rules.mk

* update keymaps' overviews

* split into each keyboard

* optimize firmware size for via keymaps

* fix LAYOUT to LAYOUT4 in 4rows/rev3.h

* remove LAYOUT_kc lines from both keymaps

* rename tyep-r to rev3

* enable to SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT

* remove image from readme

* clean up for PR

* delete unnecessary comments

* change keyboard directory

* rename LAYOUT4 to LAYOUT for rev3_4rows

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Cleanup ADJUST Layer code for VIA

* change SEND_STRING to tap_code

* update readme

* moved the oled code from the keymap to the keyboard

* moved the dip switch code from the keymap to the keyboard

* change layout name for info.json

* Update keyboards/helix/rev3_4rows/rev3_4rows.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/rev3_4rows.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/rev3_4rows.h

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/rev3_5rows.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/rev3_5rows.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/oled_display.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/rev3_5rows.h

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_5rows/info.json

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_5rows/oled_display.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/helix/rev3_4rows/config.h

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* deleted key_count in info.json

Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-12 11:37:31 +09:00
Joakim Tufvegren
cacf495c91 Ergodox Infinity: Add EE_HANDS support. (#9527)
Including a guide to set these EEPROM values (in the readme).
2020-10-11 01:48:52 +01:00
shela
a88cfa395b Update feature_backlight.md of Japanese document. (#10592)
* Update Japanese document.

* Update tag
2020-10-10 18:16:32 +09:00
shela
6e78655e17 Update Japanese document. (#10591) 2020-10-10 18:15:22 +09:00
shela
b0c8cbe462 Update Japanese document. (#10590) 2020-10-10 18:12:04 +09:00
shela
962adbea3a Update Japanese document. (#10588) 2020-10-10 18:00:11 +09:00
Dave Rowe
7c32fbf493 XD68 - Adjust the VIA keymap to more closely match vendor (#10566) 2020-10-10 15:41:19 +11:00
Erovia
459f672879 CLI: Fix stripping of ANY from Configurator exports (#10585)
058737f broke it ¯\_(ツ)_/¯
2020-10-09 18:46:49 +01:00
Evan Travers
cd0e32ff9e [Keyboard] Keyboardio Atreus (#10570)
* Initial support for the Keyboardio Atreus

Many thanks to noroadsleft for reviews & suggestions.

* Add QMK Configurator layout support

* Update the fn layer of the Keyboardio Atreus to the new layout.

Previously this was using the Classic Atreus layout.

* Implement noroadleft's changes from #8492

* Follow Erovia's recommendations

qmk/qmk_firmware#8492

* Correct braces

* Change correct rules.mk

* Remove comments

* Fix BOOTMAGIC_ENABLE

I had edited the wrong file earlier.

* Remove comment

* Updates rules.mk

Thank you noroadsleft.

Co-authored-by: Gergely Nagy <algernon@keyboard.io>
Co-authored-by: Phil Hagelberg <phil@hagelb.org>
2020-10-08 23:17:25 -07:00
Ryan
7229997e7d CLI: Fix MCU lists for qmk info (#10574) 2020-10-09 11:43:07 +11:00
moyi4681
5fbd55999b bella soldered small fix (#10544) 2020-10-08 23:37:20 +01:00
Joel Challis
ff1b625168 Add smk65/revf support (#10434)
* Move existing files out the way

* Convert to community layouts

* Add smk65/revf support

* Disable stuff by default

* Update IDs for via

* Align LAYOUT macros for community layouts

* Align LAYOUT macros for community layouts - Fix configurator ordering

* Update via keymap

* remove stub _kb function

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-08 21:58:08 +01:00
EMajesty
fe5bcae8b3 [Keyboard] New keyboard - eiri (#10529)
* eiri default keymap compiles

* pic, info.json

* Added picture for default layout, changed PRODUCT_ID

* Changes to default keymap

* Cleaned unused template remnants from files

* Update keyboards/emajesty/eiri/readme.md

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: EMajesty <deceit66@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-10-07 17:04:49 -07:00
Chus
cba4c1deb5 [Keymap] Add niu mini dye sub keymap (#10525)
* Add niu mini dye sub keymap

* Fix spacing

* Fix for blank spacing on layout

* Remove unused code

Co-authored-by: Joel Challis <git@zvecr.com>

* Remove audio and console settings

Co-authored-by: Joel Challis <git@zvecr.com>

* Updates rules and readme

* Add license GPL2 to keymap

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-07 16:56:22 -07:00
Reibl János Dániel
d79fe65291 Clean ChibiOS platform files (#10505)
* Clean ChibiOs platform files

* Remove I2C and timer definitions

* Remove unnecessary files and rename readme

Co-authored-by: Janos Daniel Reibl <janos.daniel.reibl@protonmail.com>
2020-10-08 10:20:23 +11:00
Tom Swartz
ee6c86d8e9 [Keyboard] LeftyNumpad Keyboard (#10500)
* Clean LeftyNumpad code

* Fix typo in recently renamed file

* Fix issues with keymap layout

* Initial PR Feedback fixes

* Update keyboards/handwired/leftynumpad/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/handwired/leftynumpad/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* Apply suggestions from code review

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>

* Add fixes based on PR feedback

* Update keyboards/handwired/leftynumpad/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-07 15:35:42 -07:00
moyi4681
0a69225637 [Keyboard] add maja capslock indicator (#10151)
* add  maja capslock indicator

add  maja capslock indicator

* Update keyboards/kbdfans/maja/maja.c

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-07 13:48:30 -07:00
a_p_u_r_o
bc79e51990 Fix issue introduced by PR#10404 (#10559) 2020-10-07 13:30:43 +11:00
Erovia
a67b32425b Docs: fix udev rules
Apparently, udev does not like inline comments.
Rules with them are ignored, oops.
2020-10-06 17:29:47 -07:00
Erovia
058737f116 [CLI] Add c2json (#8817)
* Basic keymap parsing finally works

* Add 'keymap.json' creation to the qmk.keymap module

* Add tests and fix formatting

* Fix/exclude flake8 errors

* Convert keymap.c to valid keymap.json

* Fix some errors

* Add tests

* Finalize keymap.json creation, add json template

* Add docs

* Move pygments to the standard requirements

* Add support for nameless layers, fix tests

* Fix things after rebase

* Add missing 'keymap' value.

* Fix missing layer numbers from advanced keycodes

Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!

* Apply suggestions from code review

* fixup tests

Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
2020-10-06 17:10:19 -07:00
Ryan
c9a06965c9 Improve LAYOUT macro searching (#9530)
* Improve LAYOUT macro searching

* Apply suggestions from code review

Co-authored-by: Zach White <skullydazed@users.noreply.github.com>

* Adjust signature

* Try to copy the makefile's handling of DEFAULT_FOLDER

* Move it further up, into `info_json()`

* Move it even further up so that keyboard_folder is correct

* Update lib/python/qmk/info.py

Co-authored-by: Zach White <skullydazed@drpepper.org>

* Update lib/python/qmk/info.py

Co-authored-by: Zach White <skullydazed@drpepper.org>

Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
Co-authored-by: Zach White <skullydazed@drpepper.org>
2020-10-06 16:57:40 -07:00
Ryan
2c9ffd4739 CLI: update subcommands to use return instead of exit() (#10323) 2020-10-06 16:46:10 -07:00
Joe Strong
2013f63134 Fixes small typo in docs (#10515) 2020-10-05 19:21:39 +11:00
Gergely Peidl
32661df8cd Update personal keymap for Let's Split keyboard. (#10536)
* Add Initial layout configuration.

* Set arduino pro micro's built in RX LED as Numlock

* Enable Autoshift feautre.

* Remove DVORAK layout.

* Add Numpad, update default layer.

* Update AutoShift timeout.

* Beautify ASCII Art.

* Update keymap.

* Add Initial verison of RGB lighting.

* Add Tap dance, hungarian letters.

.Xmodmap example: 09f058753d

* Update RGB to use only noeeprom functions.

* Change default rgb led color.

* Add `pragma once`.

* Emojis added.

* Add tap dance for hungarian letters, multimedia control, slash/backslash.

* Remove audio related code.

* Add Gaming layer.

* Remove unnecessary code, update copyright.

* Add readme.md

* Implement code review suggestions.

* Implement code review suggestions #2

* Remove Auto Shift feature.

* Remove Gaming layer.
2020-10-05 02:06:53 +01:00
Reibl János Dániel
661f4aaa8a [Keymap] Move my custom functions and keymaps to userspace (#10502)
* Move my custom functions and keymaps to userspace to be able to add the STM32F411 variant of my keyboard with mostly the same functionality

* Move keymaps to community layouts

* Remove keymaps from userspace readme.md

Co-authored-by: Janos Daniel Reibl <janos.daniel.reibl@protonmail.com>
2020-10-04 15:35:28 -07:00
Jakob
27f9f3196d [Keyboard] add support for ymd75 rev3 (#10483)
* add support for ymd75 rev3

* Update keyboards/ymd75/rev3/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/ymd75/rev3/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* remove DESCRIPTION

* only apply offset for rev3

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-04 15:19:34 -07:00
Thomas Holt-Ronczy
89446bafb8 [Keyboard] Add soy20 PCB (#10440)
* Add soy20 PCB

adds default and VIA Keymaps for soy20 pcb by DrewKeys

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/rules.mk

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/soy20.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Agreed. It was left over from the original file provided by the board makers original configurator file.

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/rules.mk

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/soy20/info.json

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/soy20.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/default/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/default/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/default/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/keymaps/via/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/info.json

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/soy20/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* Updating *.c & *.h files with GPL3 license

* Delete rules.mk

* Delete keymap.c

* Corrected Header Comments

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-04 14:48:13 -07:00
3araht
2bcac45650 Fix for MIDI sustain effect issue (#10361) 2020-10-04 14:32:24 -07:00
189 changed files with 5478 additions and 2548 deletions

View File

@ -28,6 +28,7 @@
# bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P)
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
#
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list
@ -106,3 +107,14 @@ ifeq ($(strip $(BOOTLOADER)), kiibohd)
DFU_ARGS = -d 1C11:B007
DFU_SUFFIX_ARGS = -v 1C11 -p B007
endif
ifeq ($(strip $(BOOTLOADER)), stm32duino)
OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT ?= STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
# STM32F103 does NOT have an USB bootloader in ROM (only serial), so setting anything here does not make much sense
STM32_BOOTLOADER_ADDRESS = 0x80000000
DFU_ARGS = -d 1EAF:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1EAF -p 0003
endif

View File

@ -167,6 +167,17 @@ Creates a keymap.c from a QMK Configurator export.
qmk json2c [-o OUTPUT] filename
```
## `qmk c2json`
Creates a keymap.json from a keymap.c.
**Note:** Parsing C source files is not easy, therefore this subcommand may not work your keymap. In some cases not using the C pre-processor helps.
**Usage**:
```
qmk c2json [--no-cpp] [-o OUTPUT] filename
```
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`

View File

@ -24,12 +24,18 @@ On Linux, you'll need proper privileges to communicate with the bootloader devic
**/etc/udev/rules.d/50-qmk.rules:**
```
# Atmel DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess" # AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess" # AT90USB128
### ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB128
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess"
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
@ -50,22 +56,33 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uacc
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
# Spark Fun Electronics
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # LilyPad 3V3/8MHz (and some Pro Micro clones)
# Pololu Electronics
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # A-Star 32U4
# Arduino SA
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Micro
# Adafruit Industries LLC
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # ItsyBitsy 32U4 5V/16MHz
# dog hunter AG
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Micro
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Arduino SA
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## dog hunter AG
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
Once added, run the following:

View File

@ -55,7 +55,7 @@ combo_t key_combos[COMBO_COUNT] = {
[XV_PASTE] = COMBO_ACTION(paste_combo),
};
void process_combo_event(uint8_t combo_index, bool pressed) {
void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) {
case ZC_COPY:
if (pressed) {

View File

@ -192,7 +192,7 @@ When developing your keyboard, keep in mind that all warnings will be treated as
## Copyright Blurb
If you're adapting your keyboard's setup from another project, but not using the same code, but sure to update the copyright header at the top of the files to show your name, in this format:
If you're adapting your keyboard's setup from another project, but not using the same code, be sure to update the copyright header at the top of the files to show your name, in this format:
Copyright 2017 Your Name <your@email.com>

View File

@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/breaking_changes.md
git diff 0.9.0 HEAD -- docs/breaking_changes.md | cat
original document: 0.10.33:docs/breaking_changes.md
git diff 0.10.33 HEAD -- docs/breaking_changes.md | cat
-->
このドキュメントは QMK の互換性を破る変更(Breaking change) のプロセスについて説明します。
@ -15,22 +15,23 @@ Breaking change ピリオドとは、危険な変更、または予想外の変
## 過去の Breaking change には何が含まれますか?
* [2020年8月29日](ja/ChangeLog/20200829.md)
* [2020年5月30日](ja/ChangeLog/20200530.md)
* [2020年2月29日](ja/ChangeLog/20200229.md)
* [2019年8月30日](ja/ChangeLog/20190830.md)
## 次の Breaking change はいつですか?
次の Breaking change は2020年8月29日に予定されています。
次の Breaking change は2020年11月28日に予定されています。
### 重要な日付
* [x] 2020年 5月30日 - `develop` が作成されました。毎週リベースされます。
* [ ] 2020年 8月 1日 - `develop` は新しいPRを取り込みません。
* [ ] 2020年 8月 1日 - テスターの募集。
* [ ] 2020年 8月27日 - `master`がロックされ、PR はマージされません。
* [ ] 2020年 8月29日 - `develop``master` にマージします。
* [ ] 2020年 8月29日 - `master` のロックが解除されます。PR を再びマージすることができます。
* [x] 2020年 8月29日 - `develop` が作成されました。毎週リベースされます。
* [ ] 2020年10月31日 - `develop` は新しいPRを取り込みません。
* [ ] 2020年10月31日 - テスターの募集。
* [ ] 2020年11月26日 - `master`がロックされ、PR はマージされません。
* [ ] 2020年11月28日 - `develop``master` にマージします。
* [ ] 2020年11月28日 - `master` のロックが解除されます。PR を再びマージすることができます。
## どのような変更が含まれますか?

View File

@ -1,8 +1,8 @@
# よくあるビルドの質問
<!---
original document: 0.9.43:docs/faq_build.md
git diff 0.9.43 HEAD -- docs/faq_build.md | cat
original document: 0.10.33:docs/faq_build.md
git diff 0.10.33 HEAD -- docs/faq_build.md | cat
-->
このページは QMK のビルドに関する質問を説明します。まだビルドをしていない場合は、[ビルド環境のセットアップ](ja/getting_started_build_tools.md) および [Make 手順](ja/getting_started_make_guide.md)ガイドを読むべきです。
@ -18,64 +18,93 @@
あるいは、単純に:
$ sudo make <keyboard>:<keymap>:dfu
$ sudo make <keyboard>:<keymap>:flash
`make``sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。
### Linux の `udev` ルール
Linux では、MCU にアクセスするには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこれらのファイルを配置することで、アクセスすることができます。権限の追加が完了したら、以下を実行します:
```console
Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこのファイルを配置することで、通信することができます。
**/etc/udev/rules.d/50-qmk.rules:**
```
# Atmel DFU
### ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB128
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess"
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32 DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess"
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess"
# USBAspLoader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess"
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Arduino SA
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## dog hunter AG
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
追加が完了したら、以下を実行します:
```
sudo udevadm control --reload-rules
sudo udevadm trigger
```
**/etc/udev/rules.d/50-atmel-dfu.rules:**
```
# Atmel ATMega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess", RUN{builtin}+="uaccess"
# Atmel USBKEY AT90USB1287
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess", RUN{builtin}+="uaccess"
# Atmel ATMega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/54-input-club-keyboard.rules:**
```
# Input Club keyboard bootloader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/55-caterina.rules:**
```
# ModemManager should ignore the following devices
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
**注意:** 古い(1.12以前の) ModemManager では、フィルタリングは厳密なモードではない場合にのみ動作し、以下のコマンドはその設定を更新することができます。
```console
```
printf '[Service]\nExecStart=\nExecStart=/usr/sbin/ModemManager --filter-policy=default' | sudo tee /etc/systemd/system/ModemManager.service.d/policy.conf
sudo systemctl daemon-reload
sudo systemctl restart ModemManager
```
**/etc/udev/rules.d/56-dfu-util.rules:**
```
# stm32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# Generic stm32
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/57-bootloadhid.rules:**
```
# bootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess", RUN{builtin}+="uaccess"
```
### Linux のブートローダモードで Serial デバイスが検知されない
カーネルがデバイスを適切にサポートしていることを確認してください。デバイスが、Pro Micro (Atmega32u4) のように USB ACM を使う場合、`CONFIG_USB_ACM=y` を含めるようにしてください。他のデバイスは `USB_SERIAL` およびそのサブオプションを必要とするかもしれません。
@ -99,46 +128,6 @@ https://github.com/tmk/tmk_keyboard/issues/150
- http://www.obdev.at/products/vusb/license.html
- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
## AVR のための BOOTLOADER_SIZE
Teensy2.0++ ブートローダのサイズは 2048 バイトであることに注意してください。一部の Makefile には間違ったコメントがあります。
```
# Boot Section Size in *bytes*
# Teensy halfKay 512
# Teensy++ halfKay 2048
# Atmel DFU loader 4096 (TMK Alt Controller)
# LUFA bootloader 4096
# USBaspLoader 2048
OPT_DEFS += -DBOOTLOADER_SIZE=2048
```
## MacOS での `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)`
これは brew での更新に関する問題で、avr-gcc が依存するシンボリックリンクを壊します。
解決法は全ての影響を受けたモジュールを削除し再インストールすることです。
```
brew rm avr-gcc avr-gcc@8 dfu-programmer dfu-util gcc-arm-none-eabi arm-gcc-bin@8 avrdude qmk
brew install qmk/qmk/qmk
brew link --force avr-gcc@8
brew link --force arm-gcc-bin@8
```
### `avr-gcc` と LUFA
`avr-gcc` を更新し、LUFA に関連するエラーが表示された場合、例えば:
`lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h:380:5: error: 'const' attribute on function returning 'void'`
今のところ、Homebrew で `avr-gcc` を 8 にロールバックする必要があります。
```
brew uninstall --force avr-gcc
brew install avr-gcc@8
brew link --force avr-gcc@8
```
### キーボードに書き込んだが何も起こらない、あるいはキーの押下が登録されない - ARM (rev6 planck、clueboard 60、hs60v2 など) でも同じ (Feb 2019)
ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなる*しれません*。EEPROM のリセットでこれが修正されます。

View File

@ -1,8 +1,8 @@
# デバッグの FAQ
<!---
original document: 0.9.10:docs/faq_debug.md
git diff 0.9.10 HEAD -- docs/faq_debug.md | cat
original document: 0.10.33:docs/faq_debug.md
git diff 0.10.33 HEAD -- docs/faq_debug.md | cat
-->
このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
@ -36,20 +36,6 @@ Linux のような OS でデバイスにアクセスするには、権限が必
- デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。
- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。
## Linux あるいは UNIX のようなシステムはスーパーユーザ権限を必要とします
権限付きで *hid_listen* を実行するために 'sudo' を使ってください。
```
$ sudo hid_listen
```
または rules ディレクトリにファイルを置いて、TMK デバイスのための *udev rule* を追加します。ディレクトリは各システムで異なるかもしれません。
File: /etc/udev/rules.d/52-tmk-keyboard.rules (Ubuntu の場合)
```
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
***
# 雑多なこと

View File

@ -1,8 +1,8 @@
# 自動シフト: なぜシフトキーが必要ですか?
<!---
original document: 0.9.0:docs/feature_auto_shift.md
git diff 0.9.0 HEAD -- docs/feature_auto_shift.md | cat
original document: 0.10.33:docs/feature_auto_shift.md
git diff 0.10.33 HEAD -- docs/feature_auto_shift.md | cat
-->
キーをタップすると、その文字を取得します。キーをタップするが、*わずかに*長く押し続けると、シフト状態になります。ほら!シフトキーは必要ありません!
@ -109,7 +109,7 @@ AからZを含むアルファベット文字を自動シフトしません。
5. タイムアウトを増やすことに決めた場合は、`KC_ASUP` にマップしたキーを押し、ステップ1に戻ります。
6. 結果に満足したら、`KC_ASRP` にマップしたキーを押します。キーボードは `AUTO_SHIFT_TIMEOUT` の値を自動的に入力します。
7. 報告された値で `config.h``AUTO_SHIFT_TIMEOUT` を更新します。
8. `config.h` から `AUTO_SHIFT_SETUP` を削除します。
8. `config.h` `AUTO_SHIFT_NO_SETUP` を追加します。
9. `KC_ASDN`、`KC_ASUP` および `KC_ASRP` のキーバインディングを削除します。
10. 新しいファームウェアをコンパイルしてアップロードします。

View File

@ -1,8 +1,8 @@
# バックライト :id=backlighting
<!---
original document: 0.9.44:docs/feature_backlight.md
git diff 0.9.44 HEAD -- docs/feature_backlight.md | cat
original document: 0.10.33:docs/feature_backlight.md
git diff 0.10.33 HEAD -- docs/feature_backlight.md | cat
-->
多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。
@ -165,8 +165,6 @@ BACKLIGHT_DRIVER = pwm
現在のところ、ハードウェア PWM のみがサポートされ、タイマー支援はなく、自動設定は提供されません。
?> STM32F072 のバックライトサポートのテストは制限されています。人によって違うかもしれません。不明な場合は、`rules.mk` で `BACKLIGHT_ENABLE = no` を設定します。
### ソフトウェア PWM ドライバ :id=software-pwm-driver
このモードでは、他のキーボードのタスクを実行中に PWM は「エミュレート」されます。追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、`rules.mk` に以下を追加します:

View File

@ -1,18 +1,18 @@
# Bluetooth
<!---
original document: 0.9.0:docs/feature_bluetooth.md
git diff 0.9.0 HEAD -- docs/feature_bluetooth.md | cat
original document: 0.10.33:docs/feature_bluetooth.md
git diff 0.10.33 HEAD -- docs/feature_bluetooth.md | cat
-->
## Bluetooth の既知のサポートハードウェア
現在のところ Bluetooth のサポートは AVR ベースのチップに限られます。Bluetooth 2.1 については、QMK は RN-42 モジュールをサポートします。より最近の BLE プロトコルについては、現在のところ Adafruit Bluefruit SPI Friend のみが直接サポートされています。iOS デバイスに接続するには、BLE が必要です。iOS はマウス入力をサポートしないことに注意してください。
| ボード | Bluetooth プロトコル | 接続タイプ | rules.mk | Bluetooth チップ |
|----------------------------------------------------------------|----------------------------|----------------|---------------------------|--------------|
| Roving Networks RN-42 (Sparkfun Bluesmirf) | Bluetooth Classic | UART | `BLUETOOTH = RN42` | RN-42 |
| [Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633) | Bluetooth Low Energy | SPI | `BLUETOOTH = AdafruitBLE` | nRF51822 |
| ボード | Bluetooth プロトコル | 接続タイプ | rules.mk | Bluetooth チップ |
| ---------------------------------------------------------------- | -------------------- | ---------- | ------------------------- | ---------------- |
| Roving Networks RN-42 (Sparkfun Bluesmirf) | Bluetooth Classic | UART | `BLUETOOTH = RN42` | RN-42 |
| [Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633) | Bluetooth Low Energy | SPI | `BLUETOOTH = AdafruitBLE` | nRF51822 |
まだサポートされていませんが、可能性のあるもの:
* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479)。[tmk 実装がおそらく見つかります](https://github.com/tmk/tmk_keyboard/issues/514)
@ -30,7 +30,10 @@ Bluefruit UART friend は SPI friend に変換することができますが、
<!-- FIXME: Document bluetooth support more completely. -->
## Bluetooth の Rules.mk オプション
これらのうちの1つだけを使ってください
現在サポートされている Bluetooth チップセットは [N-キーロールオーバー (NKRO)](ja/reference_glossary.md#n-key-rollover-nkro) をサポートしていません。そのため、`rules.mk` に `NKRO_ENABLE = no` を含めなければなりません。
Bluetooth を有効にするには、以下のうちの1つだけを使ってください:
* BLUETOOTH_ENABLE = yes (レガシーオプション)
* BLUETOOTH = RN42
* BLUETOOTH = AdafruitBLE
@ -39,8 +42,8 @@ Bluefruit UART friend は SPI friend に変換することができますが、
これは複数のキーボードの出力が選択できる場合に使われます。現在のところ、これは USB と Bluetooth の両方をサポートするキーボードで、それらの間の切り替えのみが可能です。
| 名前 | 説明 |
|----------|----------------------------------------------|
| 名前 | 説明 |
| ---------- | ------------------------------------- |
| `OUT_AUTO` | USB と Bluetooth を自動的に切り替える |
| `OUT_USB` | USB のみ |
| `OUT_BT` | Bluetooth のみ |
| `OUT_USB` | USB のみ |
| `OUT_BT` | Bluetooth のみ |

View File

@ -1,9 +1,9 @@
# タップダンス: 1つのキーが3つ、5つまたは100の異なる動作をします
<!---
original document: 0.9.44:docs/feature_tap_dance.md
git diff 0.9.44 HEAD -- docs/feature_tap_dance.md | cat
-->
original document: 0.10.33:docs/feature_tap_dance.md
git diff 0.10.33 HEAD -- docs/feature_tap_dance.md | cat
-->
## イントロダクション :id=introduction
@ -32,7 +32,9 @@
* `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: 1回タップすると `kc` キーコードが送信され、2回タップすると `layer` の状態をトグルします(これは `TG` レイヤーキーコードのように機能します)。
* `ACTION_TAP_DANCE_FN(fn)`: ユーザーキーマップに定義した指定の関数が呼び出されます。タップダンス実行の回数分タップすると、最後の時点で呼び出されます。
* `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: タップする度にユーザーキーマップに定義した最初の関数が呼び出されます。タップダンスの実行が終わった時点で2番目の関数が呼び出され、タップダンスの実行をリセットするときに最後の関数が呼び出されます。
* `ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`: これは `ACTION_TAP_DANCE_FN_ADVANCED` と同じように機能します。しかし、`TAPPING_TERM` で事前に定義した時間に代えて、カスタマイズしたタップ時間を使えます。
* ~~`ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`~~: これは `ACTION_TAP_DANCE_FN_ADVANCED` 関数と同じように機能します。しかし、`TAPPING_TERM` で事前に定義した時間の代わりに、カスタマイズしたタップ時間を使います。
* [ここ](ja/custom_quantum_functions.md#Custom_Tapping_Term)で概説するように、これはキーごとのタッピング時間機能を優先して非推奨になりました。この特定のタップダンス機能を使う代わりに、使いたい特定の `TD()` マクロ(`TD(TD_ESC_CAPS)` のような)を確認する必要があります。
最初のオプションで、1つのキーに2つの役割を持たせる大抵のケースには十分です。例えば、`ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` は、1回タップすると `Space` を送信し、2回タップすると `Enter` を送信します。
@ -55,7 +57,7 @@
異なる場合、まず、古いタップダンスを処理し、続いて新しいタップダンスを登録します。
同じ場合、カウンタの値を増やし、タイマーをリセットします。
このことは、あなたは再びキーをタップするまでの時間として `TAPPING_TERM` の時間を持っていることを意味します。そのため、あなたは1つの `TAPPING_TERM` の時間内に全てのタップを行う必要はありません。これにより、キーの反応への影響を最小限に抑えながら、より長いタップ回数を可能にします。
このことは、あなたは再びキーをタップするまでの時間として `TAPPING_TERM` の時間を持っていることを意味します。そのため、あなたは1つの `TAPPING_TERM` の時間内に全てのタップを行う必要はありません。これにより、キーの反応への影響を最小限に抑えながら、より長いタップ回数を可能にします。
次は `matrix_scan_tap_dance()` です。この関数はタップダンスキーのタイムアウトを制御します。

View File

@ -1,8 +1,8 @@
# 書き込みの手順とブートローダ情報
<!---
original document: 0.9.10:docs/flashing.md
git diff 0.9.10 HEAD -- docs/flashing.md | cat
original document: 0.10.33:docs/flashing.md
git diff 0.10.33 HEAD -- docs/flashing.md | cat
-->
キーボードが使用するブートローダにはかなり多くの種類があり、ほぼ全てが異なる書き込みの方法を使います。幸いなことに、[QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) のようなプロジェクトは、あまり深く考える必要無しに様々なタイプと互換性を持つことを目指していますが、この文章では様々なタイプのブートローダとそれらを書き込むために利用可能な方法について説明します。
@ -244,3 +244,4 @@ BOOTLOADER = bootloadHID
* `:dfu-util-split-left` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM の設定も行われます。
* `:dfu-util-split-right` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM の設定も行われます。
* `:st-link-cli` - dfu-util ではなく、ST-LINK の CLI ユーティリティを介してファームウェアを書き込めます。
* `:st-flash` - dfu-util ではなく、[STLink Tools](https://github.com/stlink-org/stlink) の `st-flash` ユーティリティを介してファームウェアを書き込めます。

View File

@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.8.62:docs/i2c_driver.md
git diff 0.8.62 HEAD -- docs/i2c_driver.md | cat
original document: 0.10.33:docs/i2c_driver.md
git diff 0.10.33 HEAD -- docs/i2c_driver.md | cat
-->
QMK で使われる I2C マスタドライバには、MCU 間のポータビリティを提供するための一連の関数が用意されています。
@ -83,8 +83,8 @@ STM32 MCU では、使用するハードウェアドライバにより、さま
|-----------------------|--------------------------------------------------------------------------------------------------|---------|
| `I2C1_SCL_BANK` | SCL に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` |
| `I2C1_SDA_BANK` | SDA に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` |
| `I2C1_SCL` | SCL のピン番号 (0-9) | `6` |
| `I2C1_SDA` | SDA のピン番号 (0-9) | `7` |
| `I2C1_SCL` | SCL のピン番号 (0-15) | `6` |
| `I2C1_SDA` | SDA のピン番号 (0-15) | `7` |
| `I2C1_BANK`(非推奨) | 使用するピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`)。後継は `I2C1_SCL_BANK`, `I2C1_SDA_BANK` です。 | `GPIOB` |
ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します。

View File

@ -0,0 +1,284 @@
# ISP 書き込みガイド
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.46:docs/isp_flashing_guide.md
git diff 0.9.46 HEAD -- docs/isp_flashing_guide.md | cat
-->
ISP 書き込み(ICSP 書き込みと呼ぶ場合もあります)とは、マイクロコントローラーを直接プログラミングするプロセスです。
これにより、ブートローダを交換したり、コントローラの「ヒューズ」を変更することができ、コントローラの速度や起動方法、その他のオプションなど、多くのハードウェアおよびソフトウェア関連の機能を制御します。
QMK の ISP 書き込みの主な用途は、AVRベースのコントローラPro Micro、または V-USB チップ)のブートローダの書き込みまたは交換です。
?> これは Pro Micro や他の ATmega コントローラなどの AVR ベースのボードをプログラミングするためだけのものです。 Proton C などの Arm コントローラには使用できません。
## 破損したブートローダーの取り扱い
ボードの書き込み/消去で問題が発生し、DFU ベースのコントローラで次のような不可解なエラーメッセージが表示される場合:
libusb: warning [darwin_transfer_status] transfer error: timed out
dfu.c:844: -ETIMEDOUT: Transfer timed out, NAK 0xffffffc4 (-60)
atmel.c:1627: atmel_flash: flash data dfu_download failed.
atmel.c:1629: Expected message length of 1072, got -60.
atmel.c:1434: Error flashing the block: err -2.
ERROR
Memory write error, use debug for more info.
commands.c:360: Error writing memory data. (err -4)
dfu.c:844: -EPIPE: a) Babble detect or b) Endpoint stalled 0xffffffe0 (-32)
Device is write protected.
dfu.c:252: dfu_clear_status( 0x7fff4fc2ea80 )
atmel.c:1434: Error flashing the block: err -2.
ERROR
Memory write error, use debug for more info.
commands.c:360: Error writing memory data. (err -4)
または、Pro Micro ベースのコントローラに対して次のようなメッセージが表示された場合:
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: verification error, first mismatch at byte 0x002a
0x2b != 0x75
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch
あなたのボード/デバイスを再び動作させるには、ISP 書き込みが必要になるかもしれません。
## 必要なハードウェア
実際に ISP の書き込みを行うには、以下のいずれか(その後に使用するプロトコルが続きます)が必要になります。
* [SparkFun PocketAVR](https://www.sparkfun.com/products/9825) - (USB Tiny)
* [USBtinyISP AVR Programmer Kit](https://www.adafruit.com/product/46) - (USB Tiny)
* [Teensy 2.0](https://www.pjrc.com/store/teensy.html) - (avrisp)
* [Pro Micro](https://www.sparkfun.com/products/12640) - (avrisp)
* [Bus Pirate](https://www.adafruit.com/product/237) - (buspirate)
ISP 書き込みに使用できるデバイスは他にもありますが、これらが主なものです。
また、すべての製品リンクは公式バージョンへのものです。他の場所で入手することもできます。
また、「ISP プログラマ」をプログラミングするデバイスに配線するためのものも必要になります。
PCB の中には直接使用できる ISP ヘッダがあるものもありますが、そうではない場合が多いので、コントローラ自体にハンダ付けするか、別のスイッチや他のコンポーネントにハンダ付けする必要があるでしょう。
### ISP ファームウェア
Teensy と Pro Micro のコントローラを ISP プログラマとして使用するには、コントローラに ISP ファームウェアを書き込む必要があります。
それ以外のハードウェアは、あらかじめプログラムされているはずです。
そのため、これらのコントローラの場合は、正しい hex ファイルをダウンロードしてから書き込んでください。
* 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_micro_ISP_B6_10.hex) (`10/B6`)
コントローラに書き込んだら、この hex ファイルはもう必要ありません。
## 必要なソフトウェア
QMK ツールボックスは、このほとんど(すべて)に使用することができます。
ただし、Teensy 2.0 ボードを使っている場合は、[Teensy Loader](https:/www.pjrc.comteensyloader.html) を使えば、Teensy 2.0 ボードに書き込むことができます。
あるいは、`avrdude` (`qmk_install.sh` の一部としてインストールされています) や、[AVRDUDESS](https:/blog.zakkemble.netavrdudess-a-gui-for-avrdude)(Windows 用) を使って、Pro Micro に書き込んだり、ISP を書き込んだりすることができます。
## 配線
これは非常に簡単です。次のようにして、相互に対応するものを接続します。
### SparkFun Pocket AVR
PocketAVR RST <-> Keyboard RESET
PocketAVR SCLK <-> Keyboard B1 (SCLK)
PocketAVR MOSI <-> Keyboard B2 (MOSI)
PocketAVR MISO <-> Keyboard B3 (MISO)
PocketAVR VCC <-> Keyboard VCC
PocketAVR GND <-> Keyboard GND
### Teensy 2.0
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
!> Teensy の B0 ピンはキーボードのコントローラの RESET/RST ピンと配線されています。 Teensy の RESET ピンをキーボードの RESET に配線しないでください。
### 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
!> Pro Micro の 10/B6 ピンはキーボードのコントローラの RESET/RST ピンに配線されています。 Pro Micro の RESET ピンをキーボードの RESET に配線 ***しないでください***。
## キーボードへの書き込み
ISP プログラマをセットアップして、キーボードに接続したら、キーボードに書き込みをします。
### ブートローダファイル
普通の状態に戻す一番簡単で手っ取り早い方法は、キーボードにブートローダだけ書き込むことです。
これが終れば、普通にキーボードを接続して、普通にキーボードに書き込みできるようになります。
標準のブートローダは[`util/` フォルダー](https://github.com/qmk/qmk_firmware/tree/master/util) にあります。
チップの正しいブートローダを書き込んでください:
* **Atmel DFU**
* [ATmega16U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega16u4_1.0.1.hex)
* [ATmega32U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1.0.0.hex)
* [AT90USB64](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb64_1.0.0.hex)
* [AT90USB128](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb128_1.0.1.hex)
* **Caterina**
* [Pro Micro (5V/16MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro16.hex)
* [Pro Micro (3.3V/8MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro8.hex)
* **BootloadHID (PS2AVRGB)**
* [ATmega32A](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_ps2avrgb_bootloadhid_1.0.1.hex)
お使いのボードが何を使っているかわからない場合は、QMK のキーボード用の `rules.mk` ファイルを見てください。
`MCU``BOOTLOADER` の行には必要な値が書かれています。これはボードのバージョンによって異なるかもしれません。
### 製造手法
ブートローダと通常のファームウェアを同時に書き込みたい場合、2つの方法があります。
手動で行うか、コンパイル時に `:production` ターゲットを使って行うかです。
手動で行うには:
1. オリジナルのファームウェアの .hex ファイルをテキストエディタで開きます
2. 最後の行を削除してください。(`:00000001FF`になっているはずです - これは EOF メッセージです)
3. ブートローダの内容全体を新しい行にコピーして(行間に空行を入れないように)、元のファイルの最後に貼り付けてください。
4. これを新しいファイルとして `<keyboard>_<keymap>_production.hex` という名前で保存します。
?> ここでは他のブートローダも同じように使うことができますが、__ブートローダが必要で__、そうしないとまた ISP を使ってキーボードに新しいファームウェアを書き込まなければならなくなります。
#### QMK DFU ブートローダとプロダクションイメージの作成
コンパイル時に `:production` ターゲットを使用して、ボード用のファームウェア、QMK DFU ブートローダ、プロダクションファームウェアイメージを作成することができます。
これが完了すると、3つのファイルが表示されます:
* `<keyboard>_<keymap>.hex`
* `<keyboard>_<keymap>_bootloader.hex`
* `<keyboard>_<keymap>_production.hex`
QMK DFU ブートローダは `atmega32u4` コントローラ (AVR ベースの Planck ボードや Pro Micro など) でしかテストされておらず、他のコントローラではテストされていません。
しかし、`atmega32a` や `atmega328p` のような V-USB コントローラでは間違いなく動作しません。
ブートローダかプロダクションファームウェアファイルのどちらかを書き込むことができます。
プロダクションファームウェアファイルの方が、より多くのデータを書き込むので、書き込みに時間がかかります。
?> 注意:同じブートローダを使用しつづけるべきです。すでに DFU を使用している場合は、QMK DFU に切り替えても問題ありません。しかし、例えば Pro Micro に QMK DFU を書き込むには、追加の手順が必要になります。
## ブートローダ/プロダクションファイルの書き込み
キーボードがどのデバイスにも接続されていないことを確認し、ISP プログラマを接続してください。
ブートローダの種類を変更したい場合は、コマンドラインを使用する必要があります。
### QMK Toolbox
1. 'AVRISP device connected' または `USB Tiny device connected` が黄色で表示されます。
2. `Open` ダイアログで正しいブートローダー/プロダクションの .hex ファイルを選択します(パスにスペースを含めることはできません)
3. 書きこもうとしているキーボードISP プログラマではなく)のための正しい `Microcontroller` オプションが選択されていることを確認してください。
4. `Flash` を押します
5. 特にプロダクションファイルの場合、しばらくは何も出力されませんが、待ちましょう。
検証とヒューズのチェックに問題がなければ、完了です。
ボードが自動的に再起動する場合があります。
それ以外の場合は、Teensy のプラグを抜いて、キーボードを接続します。
テスト中は、Teensy をキーボードに接続したままにすることができますが、すべてが正常に機能することを確認したら、はんだを外すか、配線を外すことをお勧めします。
### コマンドライン
ターミナルWindows の場合は `cmd`)を開いて、修正した .hex ファイルがある場所に移動します。
ここでは、このファイルを `main.hex` と呼び、Teensy 2.0 が `COM3` ポートに接続されていると仮定します。
よくわからない場合は、デバイスマネージャを開いて、`Ports > USB Serial Device` を探してください。ここにある COM ポートを使ってください。
あなたはそれが正しいポートであることを確認することができます:
avrdude -c avrisp -P COM3 -p atmega32u4
次のような出力が得られるはずです:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e9587
avrdude: safemode: Fuses OK
avrdude done. Thank you.
私たちのキーボードは `atmega32u4`(共通)を使用しているので、これが指定するチップです。
以下が完全なコマンドです:
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i
ボードが `atmega32a`jj40 など)を使用している場合、コマンドは次のとおりです(最後の追加コードによりヒューズが正しく設定されます)。
avrdude -c avrisp -P COM3 -p atmega32 -U flash:w:main.hex:i -U hfuse:w:0xD0:m -U lfuse:w:0x0F:m
プログレスバーが表示されてから、以下が表示されるはずです。
avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
これは全てうまく動作したことを示しています。
ボードが自動的に再起動する場合もありますが、そうでない場合は、Teensy のプラグを抜いてキーボードを接続してください。
テスト中は、Teensy をキーボードに接続したままにすることができますが、すべてが正常に機能することを確認したら、はんだを外すか、配線を外すことをお勧めします。
SparkFun PocketAVR Programmer や、他の USB Tiny ベースの ISP プログラマを使用している場合は、次のようなものを使用すると良いでしょう。
avrdude -c usbtiny -P usb -p atmega32u4
#### 上級者向け: ヒューズの変更
Pro Micro に QMK DFU を書き込むなど、ブートローダを切り替える場合は、ブートローダの hex ファイルの書き込みに加えて、ヒューズを変更する必要があります。
これは、`caterina` (Pro Micro ブートローダ) と `dfu` では起動ルーチンの扱いが異なり、その動作はヒューズによって制御されるからです。
!> これは、ヒューズを変更することは、永久にあなたのコントローラをレンガ化(訳注:日本では文鎮化と呼ぶことが多い、コントローラがまったく無反応になる状態)することができる方法の1つであるため、それは非常に注意が必要な1つの領域です。
以下は、`atmega32u4`の 5V 16MHz 版5V Pro Micro など)を想定しています。
`atmega32u4`の DFU の場合、必要なヒューズ設定は次のとおりです:
| ヒューズ | 設定 |
|----------|------------------|
| Low | `0x5E` |
| High | `0xD9` or `0x99` |
| Extended | `0xC3` |
High ヒューズは 0xD9 か 0x99 のどちらかになります。
違いは、0xD9 は QMK Firmware がソフトウェアでも無効化している JTAG を無効化しているのに対し、0x99 は JTAG を無効化していないことです。
これを設定するには、`-U lfuse:w:0x5E:m -U hfuse:w:0xD9:m -U efuse:w:0xC3:m` をコマンドに追加します。
そうすると、最終的なコマンドは次のようになります。
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i -U lfuse:w:0x5E:m -U hfuse:w:0xD9:m -U efuse:w:0xC3:m
`atmega32u4`の Caterina では、以下があなたに必要なヒューズの設定です。
| ヒューズ | 設定 |
|----------|--------|
| Low | `0xFF` |
| High | `0xD8` |
| Extended | `0xCB` |
これを設定するには、コマンドに `-U lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U efuse:w:0xCB:m` を追加します。
これで、最終的なコマンドは次のようになるはずです。
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U efuse:w:0xCB:m
別のコントローラーを使用している場合や、別の設定を希望する場合は、この[AVR ヒューズ計算機](http:/www.engbedded.comfusecalc)を使用して、より適切な値を見つけることができます。
## ヘルプ
ご質問・ご不明な点がありましたら、お気軽に[issue を開いてください](https://github.com/qmk/qmk_firmware/issues/new)

View File

@ -1,8 +1,8 @@
# キーボードをより良くするための便利なコア関数のリスト
<!---
original document: 0.9.47:docs/ref_functions.md
git diff 0.9.47 HEAD -- docs/ref_functions.md | cat
original document: 0.10.33:docs/ref_functions.md
git diff 0.10.33 HEAD -- docs/ref_functions.md | cat
-->
QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。
@ -48,7 +48,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
### `update_tri_layer_state(state, x, y, z)`
もう1つの関数は `update_tri_layer_state(state, x, y, z)` です。この関数は [`layer_state_set_*` 関数](ja/custom_quantum_functions.md#layer-change-code)から呼び出されることを意図しています。これは、キーコードを使ってレイヤーを変更するたびに、これがチェックされることを意味します。したがって、`LT(layer, kc)` を使ってレイヤーを変更すると、同じレイヤーチェックが引き起こされます。
このメソッドの注意点は、`x` および `y` レイヤーをオンにしないと、`z` レイヤーにアクセスできないことです。レイヤー `z` のみをアクティブにしようとすると、このコードが実行され、使用前にレイヤー `z` がオフになるからです。
このメソッドの注意点は2つあります:
1. `x` および `y` レイヤーをオンにしないと、`z` レイヤーにアクセスできません。これは、レイヤー `z` のみをアクティブにしようとすると、このコードが実行され、使用前にレイヤー `z` がオフになるからです。
2. レイヤーは最上位の番号から処理されるので、`z` は `x``y` よりも上位のレイヤーでなければなりません。そうでなければアクセスできない場合があります。
#### 例

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800

View File

@ -1,10 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
// STM32F103* does NOT have an USB bootloader in ROM (only serial),
// so setting anything here does not make much sense
#define STM32_BOOTLOADER_ADDRESS 0x80000000

View File

@ -1,12 +1,8 @@
# MCU name
MCU = STM32F103
# GENERIC STM32F103C8T6 board - stm32duino bootloader
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
DFU_ARGS = -d 1eaf:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1eaf -p 0003
# Bootloader selection
BOOTLOADER = stm32duino
# project specific files
VPATH += keyboards/cannonkeys/bluepill

View File

@ -1,10 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
// STM32F103* does NOT have an USB bootloader in ROM (only serial),
// so setting anything here does not make much sense
#define STM32_BOOTLOADER_ADDRESS 0x80000000

View File

@ -1,12 +1,8 @@
# MCU name
MCU = STM32F103
# GENERIC STM32F103C8T6 board - stm32duino bootloader
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
DFU_ARGS = -d 1eaf:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1eaf -p 0003
# Bootloader selection
BOOTLOADER = stm32duino
# project specific files
VPATH += keyboards/cannonkeys/bluepill

View File

@ -1,10 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
// STM32F103* does NOT have an USB bootloader in ROM (only serial),
// so setting anything here does not make much sense
#define STM32_BOOTLOADER_ADDRESS 0x80000000

View File

@ -1,12 +1,8 @@
# MCU name
MCU = STM32F103
# GENERIC STM32F103C8T6 board - stm32duino bootloader
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
DFU_ARGS = -d 1eaf:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1eaf -p 0003
# Bootloader selection
BOOTLOADER = stm32duino
# project specific files
VPATH += keyboards/cannonkeys/bluepill

View File

@ -1,10 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
// STM32F103* does NOT have an USB bootloader in ROM (only serial),
// so setting anything here does not make much sense
#define STM32_BOOTLOADER_ADDRESS 0x80000000

View File

@ -1,12 +1,8 @@
# MCU name
MCU = STM32F103
# GENERIC STM32F103C8T6 board - stm32duino bootloader
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
DFU_ARGS = -d 1eaf:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1eaf -p 0003
# Bootloader selection
BOOTLOADER = stm32duino
# project specific files
VPATH += keyboards/cannonkeys/bluepill

Some files were not shown because too many files have changed in this diff Show More