Compare commits

...

226 Commits

Author SHA1 Message Date
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
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
2c9ffd4739 CLI: update subcommands to use return instead of exit() (#10323) 2020-10-06 16:46:10 -07:00
2013f63134 Fixes small typo in docs (#10515) 2020-10-05 19:21:39 +11:00
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
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
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
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
2bcac45650 Fix for MIDI sustain effect issue (#10361) 2020-10-04 14:32:24 -07:00
c8cff1489a format code according to conventions [skip ci] 2020-10-04 20:54:31 +00:00
c4f910b1b3 Merge pull request #10404 from cmdremily/opendeck-core
Allow the use of only one IS31FL3731 LED driver
2020-10-04 13:05:26 -07:00
edebe56f6b [Keyboard] Add Yugo-M Controller (#10389)
* Created folder structure and blank files

* Update the yugo_m initial blank files

* Add yugo_m default keymap

* Update yugo_m info.json

* Fix yugo_m keymap.c

* keymap.c update

* Changed subfolder name

* File names

* Fixed lock LEDs problem

* Returned old subfolder name; LEDs fix

* Activated anti-ghosting feature in config.h

* Update readme.md

* Changed LAYOUT to LAYOUT_all

* Updated keymap.c

* corrected LAYOUT to LAYOUT_all in info.json

* Rewritten readme.md according to the template

* Removed backslashes from keymap.c

* Fixed readme.md

* Fixed readme.md again

* Tidying up readme.md

* Tidying up comments and readme.md

* Removed a line from rules.mk

* Update keyboards/yugo_m/model_m_101/model_m_101.h

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

* Removed chconf, halconf, mcuconf

* Updated LED control

* Update keyboards/yugo_m/model_m_101/rules.mk

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

* Update keyboards/yugo_m/model_m_101/config.h

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

* Update keyboards/yugo_m/model_m_101/config.h

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

* Update keyboards/yugo_m/model_m_101/config.h

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

* Update keyboards/yugo_m/model_m_101/model_m_101.c

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

* Update keyboards/yugo_m/readme.md

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

* Updated readme.md, there was an outdated info

* Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c

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

* Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c

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

* Update keyboards/yugo_m/model_m_101/model_m_101.c

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

* Update keyboards/yugo_m/model_m_101/model_m_101.c

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

Co-authored-by: Nidzo Tomic <tomicn8@hotmail.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-04 12:50:03 -07:00
3a8e13a74a [Keymap] Add onekey keymap for OLED testing (#10380)
* Add onekey keymap for OLED testing

* Add license header
2020-10-04 12:41:03 -07:00
1afb394d59 [Keymap] Add winterNebs keymaps (#10328)
* Add kyria keymap

* Add planck keymap

* Add nyquist keymap

* Add vim movement instead of regular movement layer

* Use partial home row mods :)

* Update keyboards/keebio/nyquist/keymaps/winterNebs/config.h

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

* Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c

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

* Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c

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

* Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c

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

* Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c

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

* Update keyboards/kyria/keymaps/winterNebs/keymap.c

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

* Update keyboards/kyria/keymaps/winterNebs/rules.mk

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

* Update keyboards/planck/keymaps/winterNebs/keymap.c

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

* Update keyboards/planck/keymaps/winterNebs/keymap.c

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

* Update keyboards/planck/keymaps/winterNebs/keymap.c

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

* Fix outdated function call

* Apply suggestions from code review

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/kyria/keymaps/winterNebs/keymap.c

somehow this wasn't added to the batch?

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

* remove deprecated function

* Rename to lowercase

* Update keyboards/planck/keymaps/winterNebs/keymap.c

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

* fix oled path

* rebase and add back nyquist that was lost by rename

* Add licenses

* License in the wrong file

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-10-04 12:35:03 -07:00
1aacbc44d1 [Keymap] Added 333fred 5x6_5 keymap (#10272)
* First pass at manuform layout.

* Updates from actual usage on my board. Fixed a couple of bugs, added a stormlight quote randomizer.

* Use a 32-bit timer that can actually hit 5 minutes.

* Some updates after a day of usage:

* Turn off WPM. It's too inaccurate and takes up a decent amount of space that can be devoted to quotes.
* Turn off the OLEDs after 5 minutes
* Move the keys around a bit.
* Add many more quotes.

* Adjust the quotes to make room for missing and misswritten WoT quote. Adjusted the keymap slightly. Adjust the mods display to include one_shots.

* Revert osm on lgui as it makes start menu search impossible to use.

* Use LTO_ENABLE flag.

* License all of my (333fred's) keymaps as MIT.

* Update users/333fred/rgb.c

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-04 12:24:35 -07:00
793de76bb4 [Keyboard] Add hannah60rgb rev.2 PCB (#10287)
* add hannah60rgb_rev2

* add

* Update rev2.c

* fixed rgb matrix

* Update rev2.c

* update rules.mk

* update readme

* update

* Update config.h

* Update rules.mk
2020-10-04 12:23:35 -07:00
f176daa1ca Adding VIA support to katana60 rev2 (#10442)
Co-authored-by: swampmonster <>
2020-10-04 13:55:54 +01:00
459ccb681f OLED driver fixes (#10377)
* Fix dirtying in oled_write_pixel()

Set the dirty bit for the block only if oled_write_pixel() actually
changed the buffer state.  Without this check oled_write_pixel() could
not be used inside the oled_task_user() code using the “redraw always”
style, because the blocks touched by oled_write_pixel() would always
appear dirty, and oled_render() would not proceed beyond the first such
dirty block.

* Fix oled_write_pixel() with 90/270 degree rotation

Use oled_rotation_width instead of OLED_DISPLAY_WIDTH, so that a rotated
display would be handled correctly.

* Fix compilation with custom OLED_BLOCK_COUNT and OLED_BLOCK_SIZE

Some OLED sizes (e.g., 64×48) may require a nonstandard value of
OLED_BLOCK_COUNT.  The documentation says that this value may be
redefined in config.h, but actually trying to redefine it caused a
compile error, because the macro was redefined in oled_driver.c.
Make the OLED_BLOCK_COUNT definition in oled_driver.c respect any
user override, and do the same for OLED_BLOCK_SIZE just in case.

* Fix handling of out-of-range bits in oled_dirty

If a custom OLED_BLOCK_COUNT value is specified, some bits in oled_dirty
may not correspond to existing blocks; however, if those bits are set
somewhere (e.g., by code with sets oled_dirty to ~0 or even -1),
oled_render() would try to handle them and could access memory beyond
oled_buffer and perform hardware operations with out of range values.
Prevent this by masking off unused bits in oled_render(), and also avoid
setting those bits in other functions.

* Fix potentially wrong dirtying in oled_write_char()

oled_write_char() tried to mark the position just beyond the written
character as dirty; use (OLED_FONT_WIDTH - 1) to dirty the last position
still belonging to the character instead.

* Fix `#define OLED_BLOCK_TYPE uint32_t` on AVR

Using uint32_t as OLED_BLOCK_TYPE did not work properly on AVR, because
some bit shifts were performed using 16-bit int.  Add explicit casts to
OLED_BLOCK_TYPE to those shifts.
2020-10-04 05:44:19 +11:00
1fe7743af8 IS31FL3741 driver fixup (#10519)
* Fix issue with data transfer of CS1_SW7 to CS18_SW7.

* Fix issue with handling of scaling register buffer's dirty flag.

* Remove unused extern declaration.

* Compaction of struct is31_led utilizing bit fields.
2020-10-04 05:15:44 +11:00
a0467fda38 add info.json for XD75 keyboard (#10523)
Currently the XD75 is missing a info.json
attributing to non standardised use of QMK
2020-10-03 15:43:36 +01:00
9e9b604234 Mark 'key_count' as optional within info.json docs (#10513)
* Update reference_info_json.md

key_count is now an optional field because it is better to get the keycount by counting the elements in the layout array.

* Updated Japanese documentation as well
2020-10-03 00:42:11 +01:00
eb4cf713bc Update info.json for Slice RGB (#10514)
- add data for LAYOUT_all macro
- correct some rounding errors
- make the indentation consistent
- remove trailing whitespace
2020-10-02 21:20:00 +01:00
9395a8700c Add Slice RGB VIA Support (#10407)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-10-02 17:27:16 +01:00
4bbef61d60 Add joestrong keymap for quefrency rev 2 (#10503) 2020-10-02 17:26:05 +01:00
266ff3339a [Keyboard] FightPad! macropad by Clawsome (#10507)
* 1 Oct 20

* Update keyboards/clawsome/fightpad/config.h

* Update keyboards/clawsome/fightpad/rules.mk

* Update keyboards/clawsome/fightpad/info.json

* Update keyboards/clawsome/fightpad/readme.md

* Update keyboards/clawsome/fightpad/readme.md

* Update keyboards/clawsome/fightpad/info.json

* Update keyboards/clawsome/fightpad/config.h
2020-10-01 22:53:37 -07:00
c01eb55109 [Keymap] VIA keymap for the Sofle (#10446)
* Added via support

* Now uses LTO_ENABLE

* Deactivated console to save space

* Update keyboards/sofle/keymaps/via/readme.md

* Added GPL license

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

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

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

* Update keyboards/sofle/keymaps/via/keymap.c
2020-10-01 22:52:30 -07:00
6e9b4a8309 [Keymap] niclake keymap for Boardwalk (#10488)
* Initializing Boardwalk layout

* rules.mk newline

* config.h newline

* qwerty num toggle -> tap-toggle

* errant K, and _LOWER momentary toggles

* Lack of autosave sucks

* Converting to HHKB layout

* TT(_NUM) added to num layer

* Final updates for Boardwalk initialization

* Final refinements

* newline

* Removal of extra includes

* Update keyboards/boardwalk/keymaps/niclake/config.h

#pragma once

* Removing comment block from rules

* Updates to my layout
2020-10-01 22:42:23 -07:00
1e5df7117d [keyboard] add BM60Poker support (#10475)
* WIP working on new keymap

* tweaking keymap

* updated keymap

* cleaned up a little bit

* New preonic keymap

* my preonic keymap

* added mac layout

* preonic map update

* cleaning up old repo

* cleaning up to match upstream

* more cleanup

* removing old keymaps

* Added BM60 Poker

* Apply suggestions from code review

* Added license

* updated license

* updated license

* Fixed remaining licenses and added layout to rules
2020-10-01 17:13:34 -07:00
6888165b48 Fixed some small things and replaced deprecated definitions (#10414)
* Fixed some small things and replaced deprecated definitions

* Improvements

* Reverted kemyap change
2020-10-02 00:17:57 +01:00
8070b1ba88 Added replacement pcb for the matrix cain keyboard (#10436)
* added replacement pcb for the matrix cain keyboard

* update usb descriptor

* fixed led polarity

* Update keyboards/matrix/cain/cain.c

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

* Update keyboards/matrix/cain/rules.mk

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

* Apply suggestions from code review

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

* rename from cain to cain_re

* Update keyboards/matrix/cain_re/readme.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-10-02 00:07:14 +01:00
726499553c New keyboard: wsk/g4m3ralpha (#10431)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

adding additional layouts for new PCB version, and correecting incorrect image in info file

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Add new keyboard: wsk/g4m3ralpha

* Added license attribution to .{c,h} files

* Update keyboards/wsk/g4m3ralpha/config.h

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

* Update keyboards/wsk/g4m3ralpha/rules.mk

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

* Update keyboards/wsk/g4m3ralpha/g4m3ralpha.c

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

* Update keyboards/wsk/g4m3ralpha/keymaps/default/keymap.c

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

* Update keyboards/wsk/g4m3ralpha/config.h

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

* Update keyboards/wsk/g4m3ralpha/info.json

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

* Update keyboards/wsk/g4m3ralpha/rules.mk

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

Co-authored-by: worldspawn00 <mcmancuso@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-01 23:58:13 +01:00
1d7e57ab85 BM60RGB ISO: update default keymap and layout macro (#10494)
* BM60RGB ISO: fix and extend default keymap

- correctly assigns the Non-US Backslash and Hash keys
- adds Function and Navigation keys
- use KC_GESC instead of KC_ESC to make Grave accent available

* Update layout macro

The layout is the ISO equivalent of QMK's `LAYOUT_60_ansi_arrow`.
2020-10-01 23:00:03 +01:00
0cb7133e0d Doc followup 9942 (#10473)
* Update feature_advanced_keycodes.md

* Update mod_tap.md
2020-10-01 22:19:57 +01:00
f63a60a72a Port mechmini v2 for VIA support (#10497)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-10-01 22:19:01 +01:00
f68bb0cc3d Add ddeklerk split_3x6_3 layout (#10470) 2020-10-01 22:14:46 +01:00
2f01c6ee18 Update make rules for community/ortho_4x12/junonum (#10467) 2020-10-01 22:13:13 +01:00
10f5767010 Add 64_ansi and 64_iso Community Layouts (#10463)
* Add 64_ansi Community Layout

* Add 64_iso Community Layout

* Add readme.md with layout drawings

* Edit readme.md - fix layout drawings

Fix 65_ansi_blocker_split_bs and 65_ansi_blocker_tsangan drawings.

* Edit readme.md - suggestions per fauxpark

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-01 21:57:56 +01:00
b5d6f287d9 Southpaw Fullsize: Add VIA support (#10469)
* Add via configurator support

* Remove layers to fix via

* Re-add extra via layers since it seems to work now

* Replace tabs with spaces

* Update readme.md
2020-10-01 13:44:29 -07:00
a13e918d47 [Keymap] Adding 2x2u default layout for Boardwalk (#10486)
* Adding 2x2u default layout for Boardwalk

* Defining the _RAISE layer
2020-10-01 12:39:36 -07:00
b31df1af94 KBDFans KBD19x: VIA Support & LAYOUT macro fixing (#10401)
* first pass at fixing the key labeling

* second pass of fixing key labeling

* third pass of this key naming

* another pass of changing key naming

* another pass

* another pass

* another pass

* renamed it all

* give a good vid and pid

* add via keymap

* add on to the comments

* update readme and comments

* one more small change
2020-10-01 12:36:52 -07:00
7a2124db6b Crkbd implementing return value for matrix_scan() (#10422) 2020-10-02 04:41:21 +10:00
45f044907c xd75re Multi-layer keymap (#10499)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-10-01 19:25:30 +01:00
sol
01d2a03258 Fix SPLIT_KEYBOARD compilation for ATMega*U2, which doesn't have VBUS/OTG control (#10460)
Co-authored-by: s-ol <s-ol@users.noreply.github.com>
2020-10-02 04:17:03 +10:00
1960e25048 Enable Mediakeys for yiancar's 328p keyboards (#10476) 2020-10-01 19:05:47 +01:00
8fbea13a8f resolve extra param issue in boardsource/5x12 via keymap (#10501)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Danny <nooges@users.noreply.github.com>
Co-authored-by: Adam Gwilliam <agwilliam@yaharasoftware.com>
2020-10-01 18:38:12 +01:00
d78a2b8145 [Keymap] VIA Support for Nein Macropad (#10496)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-01 18:33:18 +01:00
76e35e02cc Rename nebula65 -> nebula68 (#10490)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-01 17:27:18 +10:00
272b3309dd [Keymap] samae keymap for RGBKB Zen rev1 (#10350)
* Add samae's keymap to zen rev1

* Docs update

* Less animations

* A few cleanups

* Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c

* Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c

* Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c

* Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c

* Review fix: add copyright statement
2020-09-30 21:14:05 -07:00
11c308d436 [Keyboard] Convert ErgoDox EZ to Matrix Lite (#10189)
* Convert ErgoDox EZ to lite matrix

* Add initial config from Dactyl config

Based on ErinCall's work to generalize the mcp i/o expander matrix code

* formatting

* Fix number of pins

* Remove unused defines
2020-09-30 16:52:47 -07:00
482c9fbbf2 MSYS2: Switch to arm-none-eabi-gcc package (#10421) 2020-10-01 04:10:02 +10:00
5ecb1b2d39 Wazowski 23-19 VIA Support (#9730)
* fixed keymap placement

- online configurator keys were in the wrong location and needed to be fixed
- fixed a key being to high on the y position

* Create rules.mk

* Create keymap.c

* Update rules.mk

added VIA support

* Changed wazowski via keymap to include skipped switch

* changed the vendor ID

* Update keyboards/keebzdotnet/wazowski/config.h

* Removed VIA enable from keyboard rules.mk

* Update keyboards/keebzdotnet/wazowski/rules.mk

* Fixed wazowski via keymap build errors

* Added multi-layer support for Wazowski via keymap
2020-09-30 01:50:55 -07:00
8b90822f6e add tester keymaps for yushakobo/quick7 (#10282)
* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add tester keymaps for yushakobo/quick7

* update license headers in keymaps/tester/config.h

Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
2020-09-30 06:46:49 +09:00
9f36aa640e [Keyboard] Add astro65 handwired (#10449)
* Add pandemic keyboard

* Fix default keymap

* Add via keymap

* Fix via keymap

* Fix keymaps and pandamic.h

* add info.json

* update info.json

* Apply suggestions from code review

* Update keyboards/handwired/swiftrax/pandamic/info.json

* make suggested changes

* Add astro65

* fix info.json

* Apply suggestions from code review

* add more layers for via

* Apply suggestions from code review

* halp

* add other layout

* fix astro65.h

* commit suggestions

* Update keyboards/handwired/swiftrax/astro65/info.json
2020-09-29 04:30:14 -07:00
284a5267d5 Add Unicode modes for handwired/riblee_f401:riblee (#10461)
* Add unicode modes

* Update keyboards/handwired/riblee_f401/keymaps/riblee/config.h
2020-09-28 21:48:35 -07:00
d844f5af70 Update mrsendyyk Community Layouts (#10338)
* Add layouts/community/numpad_5x4/mrsendyyk

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Rename my community layouts

* Rename

* Rename

* Cleanup my code

* Update readme.md

* Cleanup

* Update keymap.c

* Delete unnecessary files
2020-09-28 21:32:38 -07:00
2eeb30cd5a [Keyboard] Add SiCK-PAD handwired keyboard (#10429)
* Add sick_pad

* Adjust setup for Proton C

* Add readme

* Add info.json

* Make requested changes

* Resolve PR issues
2020-09-28 21:25:53 -07:00
c7599bf49f Swapparoo of bottom row keys (#10277) 2020-09-28 11:46:24 +10:00
45c2a05e3a Merge pull request #10457 from 2Moons-JP/trifecta_keymap 2020-09-28 11:41:24 +10:00
fbdc65e2e9 [Keyboard] Add PloopyCo devices (#7935)
* Initial Commit for Ploopyco Trackball

This is a WIP at this point.  Most of it compiles, but the SPI commands are non-functioning as they come from Arduino, so don't exist in LUFA

* Convert SPI commands from arduino to LUFA

But I have no idea if this is actually correct or not

* Update keyboard readme

* Clean up ploopyco trackball

* Update readme

* Update mouse key stuff

* last minutue cleanup

* Add caveat about scroll wheel

* Fixup to code

* Additional fixup

* Add movement multiplier

* Rename folders

* mid changes

* temp

* Got it working!!!!!

* Additional cleanup of code

* Make unused pin calls more compact

* Rotation info

* Add debouncing checks

* Make everything replaceable

* Add info.json

* Include ISP flashing info

* Better handling for user customization

* Reconfigure CPI stuff

* fix issues with debug printing

* Fix tiny scroll issue

* Add and update scroll code from ploopy mouse

* Update licensing

* Add PloopyCo Mouse

* Cleanup and layout stuff

* Move common files to main folder for reuse

* Increase polling rate

* Update image for mouse

* Apply changes from code review

* Add VIA support
2020-09-27 15:11:41 -07:00
34b9c51d9c Keyboard update: SL40 (#10445)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

adding additional layouts for new PCB version, and correecting incorrect image in info file

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Keyboard addenda: Production version of sl40

Co-authored-by: worldspawn00 <mcmancuso@gmail.com>
2020-09-27 23:04:24 +01:00
50835bb138 [keyboard] Add SP-111 support (#10193)
* Initial sp111 support

* Align with template
2020-09-27 13:04:27 +01:00
e7acd39b78 Consolidate udev rules into a single file (#9693)
* Consolidate udev rules into a single file

* Update rules in doctor.py

* Simplify doctor rule checking

* Fix errors

* Add TMK "FEED" VID to list of deprecated udev rules

* A comma would be nice

* Split rules back up into bootloaders

* Link to docs page in "missing" case

* Add Pololu VID

* Be more specific about Caterina devices, and add LilyPad PID
2020-09-27 20:36:33 +10:00
70fce6564f Add logic for AT90USBxx7 where needed (#10203) 2020-09-27 20:33:03 +10:00
323c6dfe72 Trifecta Keymap 2020-09-27 13:19:49 +09:00
28ff51175b [Docs] Wording & formatting changes in the Tapping Force Hold section of the Tap Hold page + removed trailing whitespaces (#10391)
* Wording & formatting changes in Tapping Force Hold

The Permissive Hold and the Ignore Mod Tap Interrupt sections were also modified to remove the quotes
around "tapping".

* Removed all trailing whitespaces from tap hold doc

* "it's simply really:" → "it's simple really:"

* "This allows to keep the ability" → "This allows keeping the ability"

Used the gerund form of "to keep" in the Tapping Force Hold section of the Tap Hold docs.

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

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
2020-09-26 19:11:40 -04:00
c16ee22784 setrgb(): Use arrow operator (#10451) 2020-09-26 19:42:40 +01:00
1b7101f065 [Keyboard] add Percent Canoe Gen2 (#10344)
* Add Canoe Gen2

* Fix info.json

* Update info.json

* Changes

* Move canoegen2 to canoe_gen2

* Update canoe_gen2.h
2020-09-25 22:39:14 -07:00
c4cc697aef [Keyboard] add hannah65 by Team Mechlovin (#10284)
* add hannah65

* add iso layout, ansi layout

* Update readme.md

* add mechlovin9

* update

* update

* update

* Update keyboards/mechlovin/hannah65/mechlovin9/info.json

* Update keyboards/mechlovin/hannah65/mechlovin9/info.json

* Update keyboards/mechlovin/hannah65/mechlovin9/readme.md

* Update keyboards/mechlovin/hannah65/readme.md

* Update keyboards/mechlovin/hannah65/rev1/info.json

* Update keyboards/mechlovin/hannah65/rev1/info.json

* Update keyboards/mechlovin/hannah65/rev1/rev1.h

* Update keyboards/mechlovin/hannah65/rev1/rev1.h

* Update keyboards/mechlovin/hannah65/mechlovin9/info.json

* update

* Update keyboards/mechlovin/hannah65/mechlovin9/info.json

* Update keyboards/mechlovin/hannah65/mechlovin9/info.json
2020-09-25 22:33:49 -07:00
b6f9ca3b09 Fix Belgian sendstring properly (#10444) 2020-09-26 14:14:34 +10:00
603c8d1f06 Add VIA support for lazydesigners/the30 (#10374)
* Create rules.mk

* Add files via upload

* Update keyboards/lazydesigners/the30/keymaps/via/keymap.c
2020-09-25 18:45:36 -07:00
4a83021fe0 [Keyboard] add duckboard by doodboard (#10318)
* Adding duckboard to QMK

Adding duckboard support to QMK

* added duckboard under doodboard

* changed debouncing delay to debounce

* Update keyboards/doodboard/duckboard/config.h

* Update keyboards/doodboard/duckboard/config.h

* Update keyboards/doodboard/duckboard/kb.h

* Update keyboards/doodboard/duckboard/keymaps/default/keymap.c

* Update keyboards/doodboard/duckboard/rules.mk

* Update keyboards/doodboard/duckboard/kb.h

* Update keyboards/doodboard/duckboard/kb.c

* Update code per review

Update code per review

* folder name errod

folder name errod

* Update keyboards/doodboard/duckboard/config.h

* Update keyboards/doodboard/duckboard/rules.mk

* Update keyboards/doodboard/duckboard/rules.mk

* Update keyboards/doodboard/duckboard/config.h

* Create info.json

* Update keyboards/doodboard/duckboard/duckboard.h

* Update keyboards/doodboard/duckboard/info.json

* Update keyboards/doodboard/duckboard/info.json

* Update keyboards/doodboard/duckboard/duckboard.h

* Update keyboards/doodboard/duckboard/readme.md
2020-09-25 14:30:52 -07:00
9570b1bbb4 Fix Belgian sendstring file (#10443)
Specifically, the `BE_CIRC` is an alt-ed keycode, which means it 
doesn't fit into the 8 bit keycode range...  It should be `BE_SECT`,
as it is already alt-ed by the alt lut.

Confirmed that this change fixes compilation warnings and works 
correctly, on reddit. 
https://www.reddit.com/r/olkb/comments/iywin1/unsigned_conversion_from_int_to_unsigned_char/g6jvfgl/
2020-09-26 05:34:38 +10:00
4511201d80 [Keyboard] added Bolsa65 keyboard by FJLabs (#10394)
* Modifed for BKS65

* Added test board

* attempts

* Working compile

* updated rules for processor frequency and documented

* Disabed some deprecated features

* Removed extraneous code

* remove test code

* Renamed board

* LED and layer code

* Added via support

* Update keyboards/fjlabs/bolsa65/bolsa65.c

Fixed indentation as suggested.

* Update keyboards/fjlabs/bolsa65/config.h

Removed extraneous defaults

* Update keyboards/fjlabs/bolsa65/keymaps/default/keymap.c

Different layer enumeration method

* Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c

New layer enumeration method.

* Update keyboards/fjlabs/bolsa65/config.h

Removed extraneous description.

* Update keyboards/fjlabs/bolsa65/keymaps/via/rules.mk

Removed extraneous bootmagic

* Update keyboards/fjlabs/bolsa65/rules.mk

Updated rules

* Update keyboards/fjlabs/bolsa65/readme.md

Markdown list formatting

* Update keyboards/fjlabs/bolsa65/bolsa65.h

Changed layout name

* Update keyboards/fjlabs/bolsa65/info.json

Changed layout name

* Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c

Changed Layout name

* Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c

Change layout name

* Changed layout names

* Updated readme to reflect new keyboard name

* Update keyboards/fjlabs/bolsa65/config.h

Removed extraneous code

* Added license file header

* Removed VSCode folder

* Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c

* Update keyboards/fjlabs/bolsa65/info.json

* Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c
2020-09-23 23:55:59 -07:00
5f23f21216 CLI/Doctor: Print QMK_HOME (#10398) 2020-09-24 15:16:00 +10:00
086c9c714e Add Wyvern Keyboard (#10378)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-24 15:15:18 +10:00
9c596c1c5b Adding Bear 65 Ergo Keyboard To QMK (#10384)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-24 14:10:40 +10:00
cd64425fdd VIA Support: Gray Studio HB85 (#10329)
* edit vid and pid

* add VIA keymap

* add my name to the readme

* Update keyboards/gray_studio/hb85/keymaps/via/config.h

* we have a third endpoint, no need to disable mousekeys

* Update keyboards/gray_studio/hb85/keymaps/via/keymap.c

* add license header
2020-09-23 20:53:08 -07:00
860deb774e format code according to conventions [skip ci] 2020-09-24 02:35:14 +00:00
ec7ce15c11 Add ai03/soyuz VIA Support (#10336)
* Add ai03/soyuz:via

* Update config.h

* Update keymap.c

* Revert "Update keymap.c"

This reverts commit e3766b3b60.

* Update keymap.c

* Update keymap.c

* Update keyboards/ai03/soyuz/config.h
2020-09-23 19:34:22 -07:00
30ffae2317 [Keyboard] add 3dp660 handwired (#10296)
* Create keymap.c

* Add files via upload

* Added files for handwired 3d printed clueboard 660

* create via layout files

* added layout files for via

* updated product ID to fix id conflicts

* change product ID to fix ID conflicts.

* fixed capitalization error that was causing issues

* fixed capitalization issues.

* fix syntax errors

* Fixed syntax errors (stray punctuation)

* Compatibility fixes

* Compatibility fixes

* Compatibility fixes

* Compatibility fixes

* capitalization fixes

* Compatibility fixes

* Compatibility fixes

* Compatibility Fixes

* Compatibility fixes

* Compatibility fixes

* Compatibility changes

* upkeep, fixing typos

* Update keyboards/handwired/3dp660/config.h

Removed Description line

* Update keyboards/handwired/3dp660/rules.mk

correct bootloader

* Update keyboards/handwired/3dp660/3dp660.h

fix case sensitive typos

* Update keyboards/handwired/3dp660/keymaps/default/keymap.c

change tab indentation to space indentations.

* Update keyboards/handwired/3dp660/keymaps/via/keymap.c

change tab indentations to space indentations

* Delete 3dp660.json

This file was for VIA, and shouldn't be in this repo. I placed it here so I wouldn't misplace it in my filesystem. My apologies.

* Update info.json

change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi".

* Update keymap.c

change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi".

* Update keymap.c

more capitalization fixes

* Update keyboards/handwired/3dp660/readme.md

shortened imgur url

* Update keyboards/handwired/3dp660/rules.mk

remove extraneous comments

* Delete config.h

* Update keyboards/handwired/3dp660/rules.mk

* Update 3dp660.c

add license headers to all .c and .h files

* Update 3dp660.h

added license header to all .c and .h files.

* Update keymap.c

added license header to all .c and .h files.

* Update keymap.c

added license header to all .c and .h files.

* Update keyboards/handwired/3dp660/readme.md

Add maintainer URL

* Update keyboards/handwired/3dp660/keymaps/default/keymap.c

remove extraneous default keymap layers

* Update keyboards/handwired/3dp660/keymaps/default/rules.mk

* Update rules.mk

Moved LTO to keyboard level.

* Update rules.mk

Moved LTO to keyboard level.

* Delete rules.mk

Made obsolete by LTO move to keyboard level.

* Update keyboards/handwired/3dp660/rules.mk

capitalization errors.

* Apply suggestions from code review

Housekeeping, changing code for readability.
2020-09-23 19:32:33 -07:00
940280c435 VIA Support for flehrad Big Switch (#10325)
* add VIA keymap

* Update keyboards/flehrad/bigswitch/keymaps/via/keymap.c
2020-09-23 18:52:04 -07:00
940c294d26 [Keyboard] add Basekeys Trifecta (#10375)
* Trifecta 09-20

* Update keyboards/basekeys/trifecta/config.h

* Update keyboards/basekeys/trifecta/config.h

* Update keyboards/basekeys/trifecta/config.h

* Update keyboards/basekeys/trifecta/keymaps/default/keymap.c

* Update keyboards/basekeys/trifecta/keymaps/via/keymap.c

* Update keyboards/basekeys/trifecta/rules.mk

* Update rules.mk

Suggested Changes

* Update keyboards/basekeys/trifecta/readme.md

* Update keyboards/basekeys/trifecta/readme.md

* Tap Dance Removal

* Update keyboards/basekeys/trifecta/keymaps/default/keymap.c

* Update keyboards/basekeys/trifecta/keymaps/default/keymap.c

* Update keyboards/basekeys/trifecta/keymaps/via/keymap.c
2020-09-23 18:47:27 -07:00
f2dec4d3cf [Keyboard] add MelGeek MJ61 (#10341)
* [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard

* Update keyboards/melgeek/mj61/mj61.c

* Update keyboards/melgeek/mj61/mj61.c

* [Keyboard] MJ61 Add license header for files and the link for readme

* Update keyboards/melgeek/mj61/readme.md

* Update keyboards/melgeek/mj61/rev1/config.h

* Update keyboards/melgeek/mj61/rev1/rules.mk

* Update keyboards/melgeek/mj61/mj61.c

* Update keyboards/melgeek/mj61/mj61.c
2020-09-23 18:45:43 -07:00
ef7c79b781 Fix issues with unused variables and functions preventing a clean compile. 2020-09-23 14:15:25 +02:00
8711dda0d3 Allow the use of a single IS31FL3731 LED driver 2020-09-23 14:15:25 +02:00
8b9617f93d [Keyboard] Add Spider Island split 78 key ps2avrGB based keyboard (#9900) 2020-09-22 21:17:36 -07:00
96101adea9 Minor updates ai03/soyuz:mrsendyyk (#10333)
* Minor updates ai03/soyuz:mrsendyyk

* Update keymap.c

* Update readme.md

* Update keymap.c

* Update readme.md
2020-09-23 02:31:05 +01:00
d828e991a9 [Keymap] update to king keymaps by kingwangwong (#10299)
Adding my kbd67mkii keymap and some changes to kumo

Keymaps for kbdfans/kbd67/mkii_soldered and thevankeyboards/minivan

* Changes to minivan layout

* KBD67 keymap

* commiting my files
2020-09-22 17:58:45 -07:00
afb9179b65 Add swap hands config for kyria (#10397)
* add swap hands config

* move to rev1
2020-09-23 01:35:04 +01:00
5faf5383ad add handwired/swiftrax/retropad (#10331)
* add retropad

* fix indicator leds

* fix bootmagic

* fix led indicators

* fix keymap

* fix keymap

* fix keymap

* fix keymap

* fix license headers

* Apply suggestions from code review

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

* Apply suggestions from code review

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

Co-authored-by: Swiftrax <swiftrax@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-22 23:39:09 +01:00
umi
4bf5f9424e [Docs] Japanese translation of docs/understanding_qmk.md (#10136)
* add understanding_qmk.md translation

* update based on comment

* update based on comment

* update based on comment

* update based on comment

* update based on comment
2020-09-22 14:54:33 -07:00
2fbf68f2d2 [Keymap] Adding drasbeck keymaps for lily58pro and preonic (#10013)
* added danskish keymap

* Added readme.md

* Clean up in keymap.c

* Added license

* Changed name of keymap

* adjusting tapping term

* added encoder functionality

* housekeeping

* layouts resemble the layout now

* implemented suggestions from drashna

* added keymap for preonic rev3

* added default layer to readme.md

* removed backslashes

* Update keyboards/lily58/keymaps/drasbeck/keymap.c

* Update keyboards/preonic/keymaps/drasbeck/readme.md

* Update keyboards/lily58/keymaps/drasbeck/rules.mk

* Update keyboards/preonic/keymaps/drasbeck/keymap.c

* Update keyboards/preonic/keymaps/drasbeck/keymap.c

* Update keyboards/preonic/keymaps/drasbeck/keymap.c

* Update keyboards/preonic/keymaps/drasbeck/keymap.c

* Update keyboards/lily58/keymaps/drasbeck/rules.mk

* Update keyboards/lily58/keymaps/drasbeck/rules.mk

* Update keyboards/lily58/keymaps/drasbeck/rules.mk

* Update keyboards/preonic/keymaps/drasbeck/rules.mk
2020-09-22 14:42:55 -07:00
9c31a7adba [Keymap] Add pezhore preonic keymap (#10269)
* Squashing commits - adding preonic keymap

This adds a custom keymap, including numpad layer, emoji, and kamoji
key mappings.

* Removing unnecessary trailing backslash characters

* removing the unnecessary json keymap

* removing unnecessary trailing slashes from the default keymap

* switching to tap_code

* Apply suggestions from code review

This should enable a toggleable numpad

* adding license

* Stripping out FN keycodes in favor of a momentary layer
2020-09-22 13:02:01 -07:00
1ff51579ec Add VIA support for YD60MQ (#10321)
* add via support for yd60mq

* switch to bootmagic lite, to decrease firmware size

* Update PRODUCT_ID comment

* add license header
2020-09-22 12:39:50 -07:00
e52fc935b0 Add VIA Support for Basekeys Slice rev1 (#10385)
* Slice Via

* Keymap Update

* Update keyboards/basekeys/slice/rev1/keymaps/via/keymap.c
2020-09-22 12:28:54 -07:00
539cc45fba [Keyboard] Fujitsu T111 keyboard (#10262)
* Fujitsu T111 keyboard

* info.json: fixed missing key on top row

* info.json: fixed name and maintaner fields

* Update keyboards/handwired/t111/keymaps/oleg/keymap.c

* Update keyboards/handwired/t111/config.h

* Update keyboards/handwired/t111/keymaps/oleg/keymap.c

* Update keyboards/handwired/t111/keymaps/oleg/keymap.c

* Apply suggestions from code review

* Update keyboards/handwired/t111/readme.md
2020-09-22 12:26:19 -07:00
57dd756507 [Keymap] Add ethan605 keymap for kbd75 (#10343)
* Add my KBD75 keymaps

* Acknowledge PR reviews

* Acknowledge PR reviews
2020-09-22 11:47:03 -07:00
e3395beda0 [Keyboard] Add Longnald Corin Keyboard (#10280)
* [Keyboard] Add Longnald Corin

* feat: optimized firmware

* feat: optimized firmware

* fix: keyboards/longnald/corin/rules.mk

* feat: rename layout macros

* feat: rename layout macros

* feat: rename layout macros

* feat: rename layout macros

* feat: rename layout macros

* feat: rename layout macros

* feat: rename layout macros
2020-09-22 11:44:51 -07:00
7a3a57e457 Updates to handwired/riblee_f401 keymaps (#10376)
* Add new keymap with Hungarian accent support
Add flashing support

* Remove unnecessary mcu config

* Use bootmagic instead of custom macros
2020-09-22 11:39:07 -07:00
0fbb1e550a Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
0976db7e5e [Keyboard] add Bella soldered keyboard (#10381)
* Add bella soldered keyboard

* Create info.json

* Update keyboards/kbdfans/bella/soldered/rules.mk

* Update keyboards/kbdfans/bella/soldered/rules.mk

* Update keyboards/kbdfans/bella/soldered/rules.mk

* Update keyboards/kbdfans/bella/soldered/rules.mk

* Update keyboards/kbdfans/bella/soldered/info.json
2020-09-22 00:48:55 -07:00
207f0b00fa [Keyboard] add Handwired/Curiosity (#10369)
* Add curiosity

* Add default keymap

* Update config.h

* Apply suggestions from code review

* Update keyboards/handwired/curiosity/rules.mk

* Update keymap.c

* Apply suggestions from code review
2020-09-22 00:33:39 -07:00
4a37af79e9 [Keyboard] Budget96 info cleanup and updates (#10268)
* Cleanup/updates to Budget96 info

* Add personal keymap

* Requested config.h update

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

* Requested rules.mk update

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

* Requested keymap.c update

* Requested config.h update

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-21 23:44:23 -07:00
e4a4ed3b0c moved encoder code to timberwolf.c (#10317)
* moved encoder code to timberwolf.c

* Update keyboards/metamechs/timberwolf/timberwolf.c

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-21 22:54:55 -07:00
7ddae97c89 Fix backlight for F401/F411 blackpill onekey examples (#10320)
Fix configs to make the `handwired/onekey/blackpill_f401:backlight` and
`handwired/onekey/blackpill_f411:backlight` examples actually compile
and work:

 - Use `PWMD5` instead of `PWMD2` for backlight, which matches the
   default value of `BACKLIGHT_PAL_MODE` (AF02 for pin A0 is `TIM5_CH1`)
   and does not conflict with the default value of `STM32_ST_USE_TIMER`.

 - Enable `HAL_USE_PWM` in halconf.h and `STM32_PWM_USE_TIM5` in
   mcuconf.h, so that `PWMD5` could be used.
2020-09-21 22:50:39 -07:00
ea0cf42eef [Keymap] Add stamm layout for ergodox_ez (#10365)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-21 22:12:29 -07:00
bfbcfbc83e [Keyboard] Add miniMACRO5 Macropad (#10392)
* add miniMACRO5

add all nessecary files for the miniMACRO5

I have rewritten the readme, and changed the keymaps to be more simple. I have tested compiling, and everything works perfectly.

* update miniMACRO5 readme

add the make example into the readme file

* Update keyboards/minimacro5/config.h

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

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

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

* Update keyboards/minimacro5/keymaps/media/keymap.c

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

* Update keyboards/minimacro5/keymaps/media/keymap.c

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

* Update keyboards/minimacro5/minimacro5.c

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

* Update keyboards/minimacro5/info.json

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

* Apply suggestions from code review

applied all suggestions.

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

* drashna suggestions - enum rather than define

committed enum update by drashna

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

* update keymap.c

incorrect brackets

Co-authored-by: dezli <m@dez.li>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-21 22:03:03 -07:00
967ed19d77 [keyboard] xd60: add split layout for ansi and iso (#10337) 2020-09-21 20:35:51 -07:00
342ab6ab80 Update bcat keymaps for crkbd and lily58(#10298)
* Swap ergo lower layer shortcuts for zoom keys
2020-09-21 20:32:56 -07:00
0b2eae7686 Fixed info.json file for treadstone48/rev2 (#10290)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Fixed info.json file.
2020-09-21 19:16:43 -07:00
924823cfb4 update jotix ortho_4x12 keymap: add some missing keycodes (#10289) 2020-09-21 18:54:09 -07:00
ccab502241 [Keymap] add codecoffeecode keymap for Preonic (#10364)
* Adding preonic layout

* deleting unnecessary files

* Fixing spacing

* I need to not commit things while I'm not sober

* Update keyboards/preonic/keymaps/codecoffeecode/keymap.c

* Update keyboards/preonic/keymaps/codecoffeecode/keymap.c

* Update keyboards/preonic/keymaps/codecoffeecode/keymap.c

* Adding license header
2020-09-21 18:41:36 -07:00
c23667608c Add OLED driver function to determine if the screen is currently on (#10382) 2020-09-21 18:39:50 -07:00
dc037f1391 update vendor id of 4x12 to match 3x4 and 5x12 for boardsource (#10306) 2020-09-21 17:57:00 -07:00
b86fa3daf3 Copyright Updates for basekeys/slice (#10383)
* Copyright Updates

* Copyright Updates
2020-09-21 17:33:17 -07:00
bc8fe91fd1 massdrop/alt: Remove unused user functions and config in default keymaps (#10313)
The default keymaps don't make use of the global `keymap_config` 
variable nor the `matrix_*_user()` functions.  Therefore, remove them to
avoid confusion for future keymap authors.
2020-09-21 17:29:04 -07:00
e3f9569acd bm60rgb_iso: add underglow support (#10307)
* add underglow definition
2020-09-21 17:25:29 -07:00
Dan
ebbcb83998 Add Amethyst keybindings for some dcompact implementations (#10345)
* Fix missing VAI

* Add amethyst keybindings

* Add amethyst bindings for planck
2020-09-21 14:47:46 -07:00
6bebb1233d Enable Extrakey in VIA for CFTKB keyboards (#10308) 2020-09-21 14:44:18 -07:00
Dan
e4cf0a40a5 [Keymap] Add delivrance's keymap for 40percentclub/mf68 (#10294) 2020-09-21 14:06:51 -07:00
b3508271f8 add VIA support for Quick7 (#10281)
* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add VIA keymaps

* add 2 layers to VIA keymaps

Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
2020-09-21 13:40:53 -07:00
c4eb0df428 Minor updates dz60:mrsendyyk (#10334)
* Minor updates dz60:mrsendyyk

* Update keymap.c

* Update keymap.c

* Update readme.md
2020-09-21 13:34:57 -07:00
becaf325a3 Minor updates 60_ansi_arrow (#10332)
* Minor updates 60_ansi_arrow

* Update keymap.c

* Update keymap.c

* Minnor updates

* Minnor updates

* Update readme.md
2020-09-21 13:34:06 -07:00
2f637e4ea1 [Docs] Clarify functionality of update_tri_layer_state (#10370)
* Add information to docs
- If layer z is not a higher layer than both x and y, the layer change code
does not function correctly.

* Update docs/ref_functions.md

* Update docs/ref_functions.md

* Update docs/ref_functions.md
2020-09-21 11:35:26 -07:00
0384237544 [Keyboard] knife66 added (#9877)
* feat: keyboard knife66 added

* fix: requested changes applied

* docs: updated readme

* feat: added support for ws2812

* fix: adjusted headers and readme

* fix: moved to LAYOUT_all
2020-09-21 11:12:22 -07:00
bc7a745227 Fix typo in via.c (#10000) 2020-09-21 04:21:19 -07:00
7f34a6b635 [Keyboard] adding V2 support (#10309)
updating image for V2 options
2020-09-20 20:39:02 -07:00
9f0a2a78a0 Fix media keys in via keymap for 2% milk (#10357)
* Allow media keys in milk via

* Update rules.mk

* Update rules.mk

* Update rules.mk
2020-09-20 20:54:16 +01:00
fee953c4f8 Disable the command feature for onekeys (#10366)
There is no way to invoke the command feature while having just a single
physical key, and disabling that feature fixes build for keymaps like
`handwired/onekey/promicro:rgb` without resorting to LTO (the command
feature consumes more than 4900 bytes with avr-gcc 8.4.0).
2020-09-20 20:50:52 +01:00
fb4a6ad30e KBD67 MkII Soldered: ISO layout patches (#10367)
* KBD67 MkII Soldered: Fix ISO blocker layout

Matrix data was wrong; KC_NUHS key did not work.

* KBD67 MkII Soldered: Add ISO blocker with Split Backspace layout
2020-09-19 23:37:31 -07:00
a2ff3c4d14 [Keyboard] add iso compatibility for mysterium rev1.1 pcb (#10348) 2020-09-19 19:40:15 -07:00
ed2ba645c0 [Keymap] Add lily58/muuko keymap (#10355)
* lily58 layout with working bongo cat timeout

* lily58 layout with working bongo cat timeout

* spacing

* spacing

* spacing

* spacing

* spacing

* layout

* spacing

* keymap

* keymap

* spacing

* keymap

* spacing

* Update keyboards/lily58/keymaps/muuko/config.h

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

* Update keyboards/lily58/keymaps/muuko/rules.mk

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

* review

* spacing

* remove unnecessary func

* changed proximity of layer button

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-19 19:07:50 -07:00
e1437c1859 [Keyboard] Add Torn keyboard (#10207)
* Add Torn keyboard

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Remove via json file

* Add mcp23081_pin_t

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

Co-authored-by: Richard Titmuss <richardt@spotify.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-19 17:48:43 -07:00
741856dd57 [Keyboard] add P40 Ortho, P42, and P20 ver2 by pabile (#9980)
* Add files via upload

* removed

* Add files via upload

* Rename pabile40.c to p40.c

* Rename pabile40.h to p40.h

* Add files via upload

* Update p40.c

* Update p40.h

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Updated readme file

* Updated readme file

* Add files via upload

* modified:   keyboards/pabile/p18/config.h
	modified:   keyboards/pabile/p18/keymaps/default/keymap.c
	modified:   keyboards/pabile/p18/p18.h
	modified:   keyboards/pabile/p18/rules.mk
	modified:   keyboards/pabile/p40/config.h
	modified:   keyboards/pabile/p40/keymaps/default/keymap.c

* config update

* Delete README.md.save

* Delete keymap.c.save

* Delete keymaps.c

* modified:   keyboards/pabile/p18/keymaps/default/keymap.c

* Update p18.h

* testing layout config

* Create info.json

* Create info.json

* Create readme.md

* Update readme.md

* Updated description

* Updated description

* Update config.h

updated vendor ID to 0000

* Update keymap.c

removed unnecessary comments

* Update keyboards/pabile/p18/p18.h

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p18/p18.h

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update p18.h

removed unnecessary comments

* Update keyboards/pabile/p18/rules.mk

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p18/rules.mk

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update config.h

updated vendor id and removed unnecessary comments

* Update keyboards/pabile/p40/info.json

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/keymaps/default/keymap.c

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/p40.h

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/p40.h

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/p40.h

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/rules.mk

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/pabile/p40/rules.mk

Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>

* Added p20 macropad

* Update README.md

* Updated VID and PID

* Updated VID and PID

* Update rules.mk

* Update config.h

* Update config.h

* Update config.h

* Update keymap.c

* Replaced blank keys with KC_NO

* Update keyboards/pabile/p18/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/pabile/p18/p18.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/pabile/p18/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/pabile/p20/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keymap.c

* Update keymap.c

* Update keyboards/pabile/p20/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/pabile/p40/info.json

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/pabile/p20/p20.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Updated product ID

* Updated product ID

* Update keyboards/pabile/p20/config.h

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

* Update keyboards/pabile/p20/p20.h

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

* Update keyboards/pabile/p20/p20.h

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

* Update keyboards/pabile/p20/keymaps/default/keymap.c

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

* Update keyboards/pabile/p18/readme.md

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

* Update keyboards/pabile/p20/README.md

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

* Update keyboards/pabile/p20/rules.mk

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

* Update keyboards/pabile/p20/rules.mk

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

* Update keyboards/pabile/p20/rules.mk

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

* Update keyboards/pabile/p20/rules.mk

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

* Update keyboards/pabile/p40/README.md

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

* Update keyboards/pabile/p40/rules.mk

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

* Update keyboards/pabile/p40/rules.mk

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

* Update keyboards/pabile/p18/rules.mk

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

* Update keyboards/pabile/p18/rules.mk

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

* Update keyboards/pabile/p40/config.h

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

* Update keyboards/pabile/p40/config.h

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

* Update keyboards/pabile/p18/readme.md

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

* Changed to lowercase filename

* Rename README.md to readme.md

* Update keyboards/pabile/p18/rules.mk

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

* Add files via upload

* typo

* New keyboard

* Updated image link

* Updated default ortho keymap

* Update keymap.c

* Update readme.md

* Update keymap.c

* Update keymap.c

* default firmware

* Delete pabile_p40_ortho.hex

* Update keymap.c

added KC_SPC to make keymap compatible with both grid and MIT. keymap is designed for MIT.

* Update keymap.c

* Update info.json

added MIT layout

* Update p40.h

added MIT layout option

* Added support for version 2 PCB

New/corrected pin locations. (Backlight) LED pin now on B6. Up to 3 rotary encoder support.

* Update readme.md

update for PCB v2

* Update readme.md

updated link

* Update readme.md

* Update readme.md

* Update readme.md

* Update config.h

removed backlight pins

* Update keymap.c

added encoder. simplified layout.

* Update keymap.c

* Update p42.h

* Update keymap.c

simplified

* Update keymap.c

* Update readme.md

replaced photo

* Added new keyboard

Initially placed under p40. separated as a new keyboard following an advise from gh.

* start rename

* removed old folder

* reverted to last merge

* revert to last merge

* Update p40.h

reverted to last merge

* Update keymap.c

* Update keymap.c

removed encoder support

* Update config.h

removed encoder support

* Update config.h

removed encoder support

* Update keymap.c

removed encoder support

* Update readme.md

removed encoder support

* Update info.json

* Update keymap.c

* Update keymap.c

* Update keyboards/pabile/p20/rules.mk

added numpad option

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

* added numpad option

* Update keyboards/pabile/p40/keymaps/ortho/config.h

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

* Update keyboards/pabile/p18/config.h

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

* Update keyboards/pabile/p20/config.h

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

* moved to p40_ortho keyboard rather than a keymap

* moved to p40_ortho keyboard rather than a keymap

* moved to p40_ortho keyboard rather than a keymap

* Update config.h

Added copyright details.

* Update keyboards/pabile/p20/p20.h

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

* Update keyboards/pabile/p20/p20.h

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

* Update keymap.c

alignment

* Update keyboards/pabile/p42/rules.mk

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

* Update keyboards/pabile/p42/rules.mk

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

* Update keyboards/pabile/p40_ortho/config.h

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

* Update keyboards/pabile/p40_ortho/info.json

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

* Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/p42.h

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

* Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c

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

* Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c

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

* Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c

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

* Update keyboards/pabile/p40_ortho/p40_ortho.h

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

* Update keyboards/pabile/p40_ortho/p40_ortho.h

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/info.json

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

* Update keyboards/pabile/p42/config.h

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

* Update keyboards/pabile/p40_ortho/rules.mk

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

* Update keyboards/pabile/p40_ortho/rules.mk

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

* Update keyboards/pabile/p40_ortho/rules.mk

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

* Update keyboards/pabile/p20/keymaps/ver2/config.h

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

* Update config.h

Added copyright statement

* Update config.h

Added copyright statement

* Update config.h

Added license header

* Update keymap.c

Added license header

* Update p20.h

Added license header

* Update p40_ortho.c

Added license header

* Update p40_ortho.h

Added license header

* Update keymap.c

Added license header

* Update keyboards/pabile/p42/rules.mk

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

* Update keymap.c

Updated LAYOUT to LAYOUT_default in response to Run failed: PR Lint keyboards - master (0f278a2)

* Update p42.h

Updated LAYOUT to LAYOUT_default in response to Run failed: PR Lint keyboards - master (0f278a2)

* Update p42.h

Added license header

* Update keyboards/pabile/p42/p42.h

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* Update keyboards/pabile/p42/keymaps/default/keymap.c

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

* add pabile/p20/ver2

* add missing license header

* Update keyboards/pabile/p20/ver2/keymaps/default/keymap.c

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

* Update keyboards/pabile/p20/ver1/ver1.c

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

Co-authored-by: root <root@HP8200.localdomain>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-19 17:42:56 -07:00
3abb609348 Add stephen-huan keymap and fix LED problem in the default Plaid keymap (#9306)
* change layers, add pinmode to fix LEDs

* fix LEDs by setting the pin mode

* edit README

* edit GPIO documentation, edit keymap

* add markov chain

* simplify LED logic

* undo documentation changes

* keymap changes, fix LED enum logic
2020-09-19 17:30:46 -07:00
6eab8a0b61 [Keyboard] Make WPM sync between halves on Ergodox Infinity (#9526)
* Make WPM able to sync between keyboard halves on Ergodox Infinity.

* Fix mixed indentation in ergodox_infinity.c.
2020-09-19 16:25:20 -07:00
08ef4b4a96 [Keymap] Adds pagondel layout for dz65rgb v2 (#9914)
* Adds pagondel layout for dz65rgb v2

* Adds license information

* replaces define by enums

* Update license year

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-19 16:00:45 -07:00
12fe78ee57 Align RoMac+ vendor and product info (#10349)
* Update config.h

adding vendor and product info so VIA will recognize it.

* Update keyboards/kingly_keys/romac_plus/config.h

thank you for this. commiting suggestion.

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-19 21:02:35 +01:00
bdb1b10e99 Update Xyverz ortho_5x12 keymap (#10346)
* Fixing my 5x12 Ortho layout

Minor fixes.
2020-09-19 12:59:45 -07:00
a0efe93239 Refactored the Katana60 folders under a rominronin parent folder (#10255)
* refactored the Katana60 folders under a rominronin parent folder

* Update keyboards/rominronin/katana60/info.json

removed 'keyboard_folder' line

* Update keyboards/rominronin/katana60/info.json

removed 'key_count' line

* Update keyboards/rominronin/katana60_rev2/config.h

removed '#define DESCRIPTION' line

* Update keyboards/rominronin/katana60_rev2/rules.mk

Removed more attributes

* Update keyboards/rominronin/katana60_rev2/rules.mk

removed 'FAUXCLICKY_ENABLE' line

* Update keyboards/rominronin/katana60_rev2/rules.mk

Updated some comments

* Update keyboards/rominronin/katana60_rev2/config.h

Removed redundant comments

* Update keyboards/rominronin/katana60_rev2/config.h

removed redundant comments

* Update keyboards/rominronin/katana60_rev2/config.h

removed redundant comments

* Update keyboards/rominronin/katana60/keymaps/default/keymap.c

Fixed a non-standard keycode

* Update keyboards/rominronin/katana60/keymaps/rominronin/keymap.c

Removed deprecated code

* Update keyboards/rominronin/katana60/rules.mk

removed redundant comments

* Update keyboards/rominronin/katana60_rev2/katana60_rev2.c

removed redundant code

* Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c

removed redundant code

* Update keyboards/rominronin/katana60_rev2/rules.mk

removed redundant comments

* Update keyboards/rominronin/katana60_rev2/rules.mk

updated some comments

* Update keyboards/rominronin/katana60_rev2/rules.mk

removed redundant code

* Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c

optimised the layers definition

* Update keyboards/rominronin/katana60/rules.mk

removed redundant code

* added the info.json file for every Tsuka60 layout

* updated the info.json file details

* removed broken keymap file, updated other files

* updated the Katana60 rev2 info.json file

* split katana60 into revisions

* assign unique Vendor/Product ID pairings

* modernize codebase

#pragma once on included files; rules.mk templating

* fix rev2 layout macros

* updated the keymaps for correct automated building.

* updated the default layout file

* updated default rominronin 7u layout file

* Update keyboards/rominronin/katana60/rev1/readme.md

resized an image

* Update keyboards/rominronin/katana60/rev2/readme.md

resized an image

* remove dead space from rev2 info.json file
2020-09-18 20:54:08 -07:00
bbfb709a6a Add STM32F401/F411 to ARM_PROCESSORS (#10362) 2020-09-18 20:48:02 -07:00
0140baf7e0 Add STM32F401/F411 to mcu_selection.mk (#10278)
* Reorder STM32 MCUs

* Add STM32F4xx to mcu_selection.mk

* Set MCU for phoenix and tkw/stoutgat/v2/f411
2020-09-18 20:00:18 -07:00
b0024470ed [Keyboard] 4pplet keyboards (#10251)
* added 4pplet keyboards

added 4pplet keyboards

* Update keyboards/4pplet/aekiso60_rev_a/aekiso60_rev_a.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/aekiso60_rev_a/config.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/aekiso60_rev_a/config.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/waffling60_rev_a/config.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/waffling60_rev_a/rules.mk

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/waffling60_rev_a/rules.mk

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update keyboards/4pplet/steezy60_rev_a/config.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Delete info.json

* Delete info.json

* Delete info.json

* removed VIA_ENABLE

* Update config.h

* Update rules.mk

* Update steezy60_rev_a.h

* Update config.h

* Removed VIA_ENABLE

* Update keyboards/4pplet/steezy60_rev_a/rules.mk

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Removed VIA_ENABLE

* Update config.h

* Update config.h

* Update config.h

* adding fauxpark suggestion

* Update keyboards/4pplet/aekiso60_rev_a/config.h

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* some updates recommended by noroadsleft, still work in progress 

some updates recommended by noroadsleft, still work in progress

* made directorys for revisions per noroadsleft  suggestion

made directorys for revisions per noroadsleft  suggestion

* renamed keyboard_pre_init_user to keyboard_pre_init_kb

* Update keyboards/4pplet/aekiso60/rev_a/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/waffling60/rev_a/rev_a.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/waffling60/rev_a/rev_a.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* started working on refactoring led function for waffling60

* removed LED functionality

* Update keyboards/wilba_tech/zeal60/rules.mk

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

* Update keyboards/wilba_tech/zeal60/rules.mk

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

* Update keyboards/4pplet/waffling60/rev_a/rules.mk

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

* Update keyboards/4pplet/steezy60/rev_a/rules.mk

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

* Update keyboards/4pplet/aekiso60/keymaps/via/keymap.c

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

* Update keyboards/4pplet/aekiso60/rev_a/rules.mk

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

* Update config.h

added debounce to prevent stuttering with some switches

* Update README.md

* Adding masterwork classy_tkl

* Update keyboards/masterwork/classy_tkl/rev_a/rev_a.c

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

* Update keyboards/masterwork/classy_tkl/rev_a/rules.mk

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

* Update keyboards/masterwork/classy_tkl/rev_a/rules.mk

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

* Update rev_a.c

* Update rev_a.c

* updated name from masterwork to masterworks

* Update keyboards/masterworks/classy_tkl/info.json

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

* Update keyboards/masterworks/classy_tkl/info.json

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

* Update keyboards/masterworks/classy_tkl/info.json

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

* added license header to keymap

* Update keyboards/masterworks/classy_tkl/info.json

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

* Update keyboards/masterworks/classy_tkl/rev_a/config.h

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

* Update keyboards/masterworks/classy_tkl/rev_a/rev_a.c

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

* Update keyboards/masterworks/classy_tkl/rev_a/rules.mk

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

* Update keyboards/masterworks/classy_tkl/rev_a/rules.mk

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

* Update keyboards/masterworks/classy_tkl/readme.md

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

* Update keyboards/masterworks/classy_tkl/rev_a/rev_a.h

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

* Update keyboards/masterworks/classy_tkl/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-18 19:31:44 -07:00
ccbbf16389 Matrix Noah 6.25U bottom row plus personal keymap using it (#10134)
* 6.25U bottom row ISO layout for Matrix Noah

* Personal map for Matrix Noah using new 6.25U bottom row ISO

* Switch to 65_iso_blocker and add that to info.json

* Switch to 65_iso_blocker for the new layout

* Fix whitespace issues
2020-09-18 17:56:38 -07:00
a0305f5e7e Be more specific about Caterina devices, and add LilyPad PID 2020-09-19 05:40:25 +10:00
c2a0cebf8b Add Pololu VID 2020-09-19 05:21:33 +10:00
ef1b050b32 Link to docs page in "missing" case 2020-09-19 05:21:32 +10:00
4bee445c2f Split rules back up into bootloaders 2020-09-19 05:21:32 +10:00
7921c5d9b8 A comma would be nice 2020-09-19 05:21:31 +10:00
72b1ff5899 Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
eee6dd3544 Fix errors 2020-09-19 05:21:31 +10:00
510138f525 Simplify doctor rule checking 2020-09-19 05:21:30 +10:00
07e37c857c Update rules in doctor.py 2020-09-19 05:21:30 +10:00
a21e487fbc Consolidate udev rules into a single file 2020-09-19 05:21:29 +10:00
9eeb6048ff [Keyboard] Add maJIStic keyboard (#10258)
* add maJIStic

* fix for format

* fix directory name

* rm old directory of maJIStic

* fix for comment

* ISO/JIS Enter move to the home row.
2020-09-18 12:01:43 -07:00
f079dd90ed Meridian initial commit (#10196)
* Meridian initial commit

* requested changes

* Update keyboards/primekb/meridian/config.h

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

* Update keyboards/primekb/meridian/rules.mk

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

* made requested changes

* Update meridian.c

* Update keyboards/primekb/meridian/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-17 20:17:22 -07:00
b846480d5a Output an error message if LINK_TIME_OPTIMIZATION_ENABLE is set but LTO_ENABLE is not (#10217)
* Output an error message if LINK_TIME_OPTIMIZATION_ENABLE is set but LTO_ENABLE is not.

* Update common.mk

Specify that LINK_TIME_OPTIMZATION_ENABLE has been renamed, not deprecated.
2020-09-17 15:14:39 -07:00
abec529e62 [Keymap] coppertop and spotpuff keymaps for DZ60 (#10216)
* initial keymap commit

* Keymap for coppertop commit

* removed define for layers/kc_no/kc_trns

* Modified keymap to remove definitions and add layer enum

* initial keymap commit

* Keymap for coppertop commit

* removed define for layers/kc_no/kc_trns

* Modified keymap to remove definitions and add layer enum

* Changed KC_NO and KC_TRNS to 7X and 7_

* Fixed spacing on keymaps

* TMO50: use layer_state_set_kb at keyboard level (#10150)

* Change TMO to use layer_state_set_kb as is customary at the keyboard level.

This also factors out `process_indicator_led` to a separate method.

* [Keymap] update dz60:mrsendyyk (#10160)

Update DZ60 Personal readme.md and keymap.c

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Update keymap.c

* Update readme.md

* Update

* Update readme.md

* Update keymap.c

* Update readme.md

* [Keyboard] YMDK NP21 refactor (#10181)

* [Keyboard] 1upkeyboards/1up60rgb: fix broken Enter (#10188)

The recent change to unnest macros put the enter on the wrong matrix key. On the 1uprgb, the ANSI and ISO enters share the same cell as does the ANSI and ISO backslash.

* no idea what this is

* Update keyboards/dz60/keymaps/coppertop/keymap.c

* Update keyboards/dz60/keymaps/coppertop/keymap.c

* Update keyboards/dz60/keymaps/coppertop/keymap.c

* Update keyboards/dz60/keymaps/spotpuff/keymap.c

* Update keyboards/dz60/keymaps/spotpuff/keymap.c

* Update keyboards/dz60/keymaps/spotpuff/keymap.c

* Added Trns labels to keymap comments.

* Revert "no idea what this is"

This reverts commit dd950f9eb3.

* Reverted dd950f9eb3

* fix vusb submodule

* Update keyboards/dz60/keymaps/coppertop/rules.mk

* Update keyboards/dz60/keymaps/spotpuff/rules.mk

* Update users/spotpuff/rules.mk

* Added GNU copyright license text
2020-09-17 14:55:19 -07:00
umi
bc010d62ca [Docs] Japanese translation of docs/tap_hold.md (#10017)
* add tap_hold.md translation

* update based on comment

* update based on comment

* update based on comment
2020-09-17 12:04:07 -07:00
TJ
bc15c4f4ab Update led_conf_t example (#10327) 2020-09-17 18:45:42 +01:00
f37a134f71 [Keyboard] Convert Corne Keyboard to Split Common (#6001)
* [Keyboard] Convert Corne Keyboard to Split Common

* Add VIA Support

* Makes sure that ol(e)d and new OLED implementation can't coexist

* Add licensing header to files

* Add changes based on feedback from foostan

* Fixes
2020-09-17 00:41:55 -07:00
f650b03fb7 [Keymap] Badger keymaps/userspace (#10239)
* Badger keymaps

* bug fix - linter

* code review feedback and ortholinear bugs

* cleanup

* backing out suspect bug after doing additional research

* code review feedback

* code review feedback

* changing default badger keymap and small bugfix
2020-09-16 21:03:28 -07:00
410d09675a Fix TWIlib compilation on avr-gcc 10 (#9273) 2020-09-17 10:45:07 +10:00
e9b3a12c6e Fix ssd1306 compilation on avr-gcc 10 (#9267) 2020-09-17 10:42:24 +10:00
424eeb8af7 add VIA support for boardsource/5x12 (#10236)
* add via support for boardsource/5x12

* make product id for 5x12 unique (there is already an 0x0512) by setting it to 0x5012

* un-swap the readme's for 3x4 and 5x12

* Update keyboards/boardsource/5x12/config.h

update vendor id

* Update keyboards/boardsource/5x12/keymaps/via/keymap.c

use correct number of layers for VIA

* update product id to use same pattern as others

* Update keyboards/boardsource/5x12/keymaps/via/readme.md

* Update keyboards/boardsource/5x12/keymaps/via/readme.md
2020-09-16 16:57:09 -07:00
97122d203b [Core] DYNAMIC_KEYMAP_EEPROM_MAX_ADDR check (#10315)
* add error check

* remove quotes

* update error message

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-16 16:16:01 +10:00
06d4c0a396 [Keyboard] add Stoutgat v2; move Stoutgat v1 (#10233)
* initial add

* stoutgat working

* Ready for release

* Ready for release

* Ready for release

* Ready for release

* Ready for release

* fix typos

* update flash instructions in readme

* update copyright

* Update keyboards/tkw/stoutgatv2/keymaps/default/keymap.c

* Apply suggestions from code review

* Fix typo

* Update lib/vusb

* Update keyboards/tkw/stoutgatv2/rules.mk

* Update desc add v2

* Add ANSI

* Move to v1 and v2 folders

* fix typo

* fix v1 readme

* Fix copypasta from v1 keymap

* fix missing trailing slash

* Delete keymap.json

* Apply suggestions from code review

Fixed layout and removed erroneous keymap.json
2020-09-15 00:57:55 -07:00
0050033aca Add ISO layouts for YMD75 (#10244)
* Update rev2.h

* Update info.json

* Create keymap.c

* Add ISO layout to rev1

* Removed redundant keycount

* Add fix for rev1 board + additional key

* Updated default iso keymap

* Add layout with 1.5u keys to the right of spacebar

* Fixed rev2 rwkl and added default layout
2020-09-14 18:41:30 -07:00
b58f9ef1e2 [Keymap] Hub16 AutoHotKey Companion (#10159)
* Hub16 AutoHotKey Companion

* Revised after PR comments by Drashna

* Update keyboards/hub16/keymaps/ahk_companion/readme.md

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

* Update keyboards/hub16/keymaps/ahk_companion/readme.md

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

* Update keyboards/hub16/keymaps/ahk_companion/readme.md

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

* Update keyboards/hub16/keymaps/ahk_companion/readme.md

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

* Update keyboards/hub16/keymaps/ahk_companion/readme.md

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

* Update keyboards/hub16/keymaps/ahk_companion/keymap.c

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-14 18:15:25 -07:00
02551ae499 [Keyboard] add Phoenix keyboard (#10256)
* setup keyboard

* fit v1 board setting

* remove unused def and add ergodox_pretty

* add user hooks

* add ergodox_pretty to info

* apply suggestions

* use default split usb timeout
2020-09-14 03:33:43 -07:00
6499eb6a3c Fixed typo in vscode docs (#10303)
.vscode/c_cpp_properies.json -> .vscode/c_cpp_properties.json
2020-09-13 14:28:30 +01:00
2b9f200a2a [fix] dfu-programmer <0.7 doesn't support --force flag (#10292)
Fixes <https://github.com/qmk/qmk_firmware/issues/10286>.
2020-09-13 02:17:47 +01:00
9e99a9b98c Remove use of sudo in lily58 make docs (#10301) 2020-09-12 20:40:31 +01:00
e4d46a1c00 [Keyboard] add binepad/bn003 (#10276)
* ADD BINEPAD/BN003

* Update keyboards/binepad/bn003/config.h

* Update keyboards/binepad/bn003/config.h

* Update keyboards/binepad/bn003/rules.mk

* Update keyboards/binepad/bn003/keymaps/via/keymap.c

* Update readme.md

added macro pad info

* Update keyboards/binepad/bn003/readme.md

* Update keyboards/binepad/bn003/bn003.c

* Update keyboards/binepad/bn003/config.h

* Update keyboards/binepad/bn003/config.h

* Update keyboards/binepad/bn003/info.json

* Update keyboards/binepad/bn003/rules.mk

* Update keyboards/binepad/bn003/rules.mk

* Update keyboards/binepad/bn003/rules.mk

* Update bn003.c

* Update keyboards/binepad/bn003/readme.md

* Update keyboards/binepad/bn003/rules.mk

* Update keyboards/binepad/bn003/config.h

* Update keyboards/binepad/bn003/keymaps/via/rules.mk

* Update keyboards/binepad/bn003/rules.mk
2020-09-12 03:11:30 -07:00
7141de19d9 added VIA keymap for Keebio Viterbi (#10168)
* added via keymap

* replaced PRODUCT_ID 0x1157 with PRODUCT_ID 0x2157

replaced product id to distinguish rev2 from rev1.
bakingpy gave me permission through discord chat.

* Update keyboards/keebio/viterbi/keymaps/via/keymap.c

* Update keyboards/keebio/viterbi/keymaps/via/rules.mk

* made a simplier keymap.c for via folder

Based from the default keymap, removed unnecessary codes.
2020-09-12 00:55:52 -07:00
Ben
c82865efab Add VIA keymap for Plaid-Pad (#10057)
* Add via keymap for Plaid-Pad

- Add VIA support for the Plaid-Pad
- Changes Vendor ID and Product ID (to follow VIA's guidelines)

* Add extra encoder pads for rev1.1

* Change Product Id from pp to PP (hex value)

* improved readme

- detailed informations about rotary encoder, bootloader and firmware

* Improved encoder informations in via keymap

* Improved encoder infos and code in default keymap

* add revision folder for rev1 and rev1.1

* change encoder assignment for defaul a via keymap

* Update keyboards/keycapsss/plaid_pad/config.h

* change revision number

* Update keyboards/keycapsss/plaid_pad/rules.mk

* Update keyboards/keycapsss/plaid_pad/rules.mk

* Update keyboards/keycapsss/plaid_pad/rules.mk

* Update keyboards/keycapsss/plaid_pad/rules.mk

* Update keyboards/keycapsss/plaid_pad/readme.md

* add license to header of *.h and *.c files

* remove the list of alternate bootloaders

- due to the pr checklist

* Update keyboards/keycapsss/plaid_pad/rules.mk
2020-09-11 18:19:05 -07:00
d8d65bbf5f [Docs] Update Japanese translation of feature_split_keyboard.md (#10283)
Apply #10242 changes to ja/feature_split_keyboard.md
2020-09-11 13:10:30 -07:00
58d7e9fa0e [Keymap] Added ToyoshimaHidenori's keymap for Ergodash mini (#10228)
* Add ToyoshimaHidenori's keymap

* Remove some dead code and characters

* Change the folder name from uppercase to lowercase

* Remove uppercase folder
2020-09-11 13:06:38 -07:00
6de4a53c7c [Keyboard] added SQUARE.X by iNETT Studio (#10066)
* added SQUARE.X keyboard from the iNETT Studio

* split to two sub directories

* Apply suggestions from code review

* Update keyboards/inett_studio/sqx/universal/universal.h

* Apply suggestions from code review

* update the matrix control keycodes settings

* use the offical macro to the rgb matrix control

* fixed led position issue

* Apply suggestions from code review

* removed the redundant #endif

* update default keymap

* Apply suggestions from code review

* add license header
2020-09-11 02:28:23 -07:00
3d3c2e1d3f Add VIA support for JJ40 (#10263)
* via support

* Removing backspaces from jj40 keymap.c

* Updating jj40/via/rules.mk
2020-09-11 00:03:49 -07:00
3d4f0028d6 [Keymap] major keymap overhaul (#10185)
* experiment with userspace

* reorganise

* readme

* missing oneshot shift from ignored keys

* recombine hands in layout macro
2020-09-09 15:37:34 -07:00
6e948feb6a Use the force when flashing with dfu-programmer (#10070) 2020-09-10 00:00:27 +10:00
076b9d482f [Keymap] Added nchristus userspace (#10261)
* userspace: added nchristus

* userspace: updates per PR review
2020-09-08 22:33:38 -07:00
08f6e64137 [Keyboard] Add Squishy65 keyboard (#10266)
* Add Squishy65 keyboard

* Edit info.json

* Fix incorrect ISO layout

* Add missing license in files

* Update keyboards/ramonimbao/squishy65/config.h

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

* Update keyboards/ramonimbao/squishy65/keymaps/via/rules.mk

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

* Update keyboards/ramonimbao/squishy65/rules.mk

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-08 22:32:47 -07:00
4b9c3dc2e5 add keyboard: bemeier/bmek (revisited) (#10144)
* bmek keyboard support

* Update keyboards/bemeier/bmek/bmek.h

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

* Update keyboards/bemeier/bmek/rules.mk

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

* moved shutdown behavior to shutdown hook

* removed dynamic macro option statement

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* change layout name in via

* move/copy root rules to revs

* Apply suggestions from code review

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

* Apply suggestions from code review

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-08 22:25:13 -07:00
ba3ec0f081 [Keymap] Romac Keymap with VIA and OLED Support (#10249)
* Add Personal Keymap with VIA and OLED

* Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c

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

* Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c

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

* Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c

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

* Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c

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

* Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-08 21:24:23 -07:00
d3cea9ed93 [Keyboard] Added the proper RGB settings to allow via control (#10223) 2020-09-08 21:10:30 -07:00
umi
5f00df0c4c [Docs] Japanese translation of docs/reference_keymap_extras.md (#10138)
* add reference_keymap_extras.md translation

* update based on comment

* update based on comment

* update based on comment
2020-09-08 14:44:36 -07:00
cd73949682 updated readme.md of yushakobo/quick7 keyboard (#10243)
* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"
2020-09-07 23:20:16 -07:00
4e3a96ff3e Update treadstone48/rev2 info.json (#10241)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Updated treadstone48 info.json file

* remove kc define

* Nested layout macro 1/2

* Nested layout macro 2/2
2020-09-07 23:00:19 -07:00
ae7a076964 Update marksard/leftover30 info.json (#10240)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Updated leftover30 info.json file
2020-09-07 22:37:15 -07:00
78d5224a1d Remove HD44780 References, Part 3 (#10238)
* remove HD44780_ENABLE rules: G-H

* remove HD44780_ENABLE config: G-H
2020-09-07 22:28:18 -07:00
088888937a Replace figures in docs/feature_split_keyboard.md (#10242)
* Replace figures in feature_split_keyboard.md

* fig update

* Update docs/feature_split_keyboard.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-06 21:15:55 -07:00
9fe3fc4c04 Add Bakeneko 65 (#10234)
* Add Bakeneko 65

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-06 21:03:58 -07:00
6b1c58629f [Keyboard] Fix adb_usb/aek layout keypad equal key (#10248) 2020-09-06 21:03:16 -07:00
3b1abe0dee format code according to conventions [skip ci] 2020-09-07 03:50:14 +00:00
3b14c032e0 [Keymap] Added Finnish SFS 5966 keymap for planck. (#10200)
* Added Finnish SFS 5966 keymap for planck.

* Modified comments and added copyright header.
2020-09-06 20:49:20 -07:00
fb66f0a3fb [Keyboard] Add VIA support for lazydesigners\bolt (#10218)
* Add VIA support for lazydesigners\bolt

Add VIA support for lazydesigners\bolt

* Update keyboards/lazydesigners/bolt/via/rules.mk

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-06 20:47:52 -07:00
1d8b0ccc81 [Keyboard] add via support for boardsource/4x12 (#10220)
Co-authored-by: Adam Gwilliam <agwilliam@yaharasoftware.com>
2020-09-06 18:10:18 -07:00
92e5361fc5 [Keymap] Personal Keymap (nathanvercaemert) Update (#10107)
* updates to incorporate combined mouse key acceleration functionality

* tab switching in chrome works, updated readme

* updated keymap image

* updated keymap image

Co-authored-by: Nathan Vercaemert <nathan.vercaemert@gmail.com>
2020-09-06 17:55:39 -07:00
8ea8a80c5b [Keyboard] add Maja soldered keyboard (#10152)
* add maja_soldered keyboard

add maja_soldered keyboard

* Update info.json

* update keymap

* Update keyboards/kbdfans/maja_soldered/config.h

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

* Update keymap.c

* Update keyboards/kbdfans/maja_soldered/rules.mk

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

* Update keyboards/kbdfans/maja_soldered/rules.mk

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

* Update keymap.c

* Update keymap.c

* Update keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-06 17:55:06 -07:00
788cbcf828 [Keyboard] Update JJ40 VID and PID (#10215)
Co-authored-by: Alvaro <afmuente@outlook.com>
2020-09-06 17:52:57 -07:00
28e10eedda Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-07 09:33:12 +09:00
6c3e404839 [Keymap] Add indicator light bootup fanfare (#10158)
* Add indicator light bootup fanfare

* move fanfare code to new file

* fanfare code in new file and remove unused boards

* new startup fanfare code

* add lock/unlock indicator animation

* input key presses before changing lights

* remove old code
2020-09-06 15:04:29 -07:00
f7ccbfcea8 quantum/debounce: rename debouncing algorithms (#9564)
* quantum/debounce: rename debouncing algorithms according to Issue 8763

This is the second attempt at implementation, with no ts_ and cy_ prefixes, since those will be implemented with macros.

* Debouncing documentation: Refactor, add some generic info, and merge into a single document
2020-09-06 13:13:49 -07:00
8ac9940a76 [Keymap] danielo515/redox-1 (#9935)
* chore: pulled the latest from master

Bring my redox layout from my latest redox branch
Bring my latest user stuff from my redox branch

* Update users/danielo515/config.h

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

* chore: small cleanup

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-09-06 13:13:18 -07:00
ac24f203cc Docs/PR_checklist: Reorder, unify and pet-peeves (#10253)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-06 13:06:12 +01:00
d0eabd083e [Keyboard] add Plume Keyboards Plume65 (#10176)
* Add Plume65

* Changes
2020-09-06 00:33:43 -07:00
e0b7c70743 [Keyboard] add Solheim68 by Maartenwut (#10190)
* Add Solheim68

* Update info.json

* Layout rename and config cleanup
2020-09-05 23:07:34 -07:00
9bca381b98 Unflip < and > for canadian mutlilingual (#10222)
Co-authored-by: Olivier Li <olivierli@google.com>
2020-09-06 09:51:38 +10:00
d612d617ee [Keyboard] add Pandamic handwired (#10227)
* Add pandemic keyboard

* Fix default keymap

* Add via keymap

* Fix via keymap

* Fix keymaps and pandamic.h

* add info.json

* update info.json

* Apply suggestions from code review

* Update keyboards/handwired/swiftrax/pandamic/info.json

* make suggested changes
2020-09-05 11:37:05 -07:00
687d05dfb1 Update file changes action (#10245) 2020-09-05 14:37:25 +01:00
umi
a8a714c46e [Docs] Japanese translation of docs/reference_configurator_support.md (#9879)
* add reference_configurator_support.md translation

* update based on comment

* update based on comment

* update based on comment

* update based on comment
2020-09-05 13:53:19 +09:00
6e32dd123f [Keyboard] add rhymestone by marksard (#9708)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add keyboard the Rhymestone

* fixed by PR review

* fixed by review

* Update keyboards/rhymestone/readme.md

fixed

* Fixed possible changes to oled_write_P

* Change the name of the layout definition

* Update keyboards/rhymestone/info.json

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

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

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

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

* Update keyboards/rhymestone/keymaps/switch_tester/keymap.c

* Update keyboards/rhymestone/keymaps/switch_tester/keymap.c

* Update keyboards/rhymestone/rev1/rev1.h

* add empty rules.mk in rev1

* Update from other review

* Update keyboards/rhymestone/rules.mk

* fixed other review

* move rhymestone to marksard directory

* move rhymestone to marksard directory (Commit the necessary modifications)

* remove
2020-09-04 04:14:34 -07:00
82a830196f fix link in docs/ja/*.md (#10232)
* fix link in docs/ja/feature_split_keyboard.md

* fix link in docs/ja/faq_build.md

* fix link in docs/ja/faq_general.md

* fix link in  docs/ja/faq_keymap.md

* fix link in docs/ja/how_a_matrix_works.md

* fix link in docs/ja/reference_glossary.md
2020-09-04 04:12:43 -07:00
6a79d99ea2 [Keyboard] add leftover30 by marksard (#10140)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add keyboard leftover30

* update keymap

* Update keyboards/marksard/leftover30/config.h

I guess I was mistaken. Thank you.

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/leftover30.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* Update keyboards/marksard/leftover30/keymaps/default/keymap.c

* changed user led custom method

* Update keyboards/marksard/leftover30/config.h

* Update keyboards/marksard/leftover30/config.h

* Update keyboards/marksard/leftover30/keymaps/default/rules.mk

* Update keyboards/marksard/leftover30/rules.mk

* Update from other review

* Update keyboards/marksard/leftover30/readme.md

* fixed kanji key procedure

* Update keyboards/marksard/leftover30/config.h

* Update keyboards/marksard/leftover30/config.h

* Update keyboards/marksard/leftover30/config.h

* fixed by review
2020-09-04 03:31:36 -07:00
umi
2e4a75e2bc [Docs] Japanese translation of docs/serial_driver.md (#10014)
* add serial_drive.md translation

* update table style

* update based on comment

* update based on comment
2020-09-03 19:58:03 -07:00
umi
c3f3b34d7c [Docs] Japanese translation of api_*.md (#9992)
* add api related translation

* update based on comment

* update based on comment

* update based on comment
2020-09-03 19:54:23 -07:00
umi
98278968b7 [Docs] Japanese translation of docs/reference_glossary.md (#9880)
* add reference_glossary.md translation

* update based on comment

* update based on comment

* update based on comment
2020-09-03 19:44:39 -07:00
umi
361003934e [Docs] Japanese translation of docs/quantum_keycodes.md (#10137)
* add quantum_keycodes.md translation

* update based on comment
2020-09-03 19:01:37 -07:00
umi
c10b011828 [Docs] Japanese translation of docs/syllabus.md (#10016)
* add syllabus.md translation

* update based on comment

* update based on comment
2020-09-03 18:56:04 -07:00
umi
6eefc20c2a [Docs] Japanese translation of docs/support.md (#10015)
* add support.md translation

* update based on comment
2020-09-03 18:50:53 -07:00
umi
2282104526 [Docs] Japanese translation of docs/translating.md (#10018)
* add translating.md translation

* update based on comment

* update based on comment
2020-09-04 03:28:53 +09:00
umi
9b9587527f [Docs] Japanese translation of docs/reference_info_json.md (#9881)
* add reference_info_json.md translation

* update based on comment

* update based on comment
2020-09-04 03:25:21 +09:00
461153150b Add Bakeneko 65 2020-09-04 02:02:40 +09:00
c1a6b5f430 [Keyboard] add Bakeneko 60 (#10212)
* Add Bakeneko 60 keyboard

* Apply suggestions from code review
2020-09-03 09:09:36 -07:00
1233 changed files with 52561 additions and 4440 deletions

View File

@ -16,7 +16,7 @@ jobs:
with:
fetch-depth: 0
- uses: trilom/file-changes-action@v1.2.3
- uses: trilom/file-changes-action@v1.2.4
id: file_changes
with:
output: '\n'

View File

@ -16,7 +16,8 @@
"*.hpp": "cpp",
"xstddef": "c",
"type_traits": "c",
"utility": "c"
"utility": "c",
"ranges": "c"
},
"[markdown]": {
"editor.trimAutoWhitespace": false,

View File

@ -35,30 +35,30 @@
ifeq ($(strip $(BOOTLOADER)), atmel-dfu)
OPT_DEFS += -DBOOTLOADER_ATMEL_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
OPT_DEFS += -DBOOTLOADER_QMK_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif

View File

@ -397,9 +397,20 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes)
endif
endif
# Support for translating old names to new names:
ifeq ($(strip $(DEBOUNCE_TYPE)),sym_g)
DEBOUNCE_TYPE:=sym_defer_g
else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pk)
DEBOUNCE_TYPE:=sym_eager_pk
else ifeq ($(strip $(DEBOUNCE_TYPE)),sym_pk)
DEBOUNCE_TYPE:=sym_defer_pk
else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pr)
DEBOUNCE_TYPE:=sym_eager_pr
endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
DEBOUNCE_TYPE?= sym_g
DEBOUNCE_TYPE?= sym_defer_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
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

@ -13,65 +13,76 @@ An example of using `sudo`, when your controller is ATMega32u4:
or just:
$ sudo make <keyboard>:<keymap>:dfu
$ sudo make <keyboard>:<keymap>:flash
Note that running `make` with `sudo` is generally ***not*** a good idea, and you should use one of the former methods, if possible.
### Linux `udev` Rules
On Linux, you'll need proper privileges to access the MCU. You can either use
`sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`. Once added run the following:
```console
On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware, or place this file in `/etc/udev/rules.d/`:
**/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
# 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
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
```
Once added, run the following:
```
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:**
**Note:** With older versions of ModemManager (< 1.12), filtering only works when not in strict mode. The following commands can update that setting:
```
# 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"
```
**Note:** With older (before 1.12) ModemManager, filtering only works when not in strict mode, the following commands can update that settings:
```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"
```
### Serial device is not detected in bootloader mode on Linux
Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as
Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options.
@ -96,46 +107,6 @@ You can buy a really unique VID:PID here. I don't think you need this for person
- 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
## BOOTLOADER_SIZE for AVR
Note that Teensy2.0++ bootloader size is 2048byte. Some Makefiles may have wrong comment.
```
# 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
```
## `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)` on MacOS
This is an issue with updating on brew, causing symlinks that avr-gcc depend on getting mangled.
The solution is to remove and reinstall all affected modules.
```
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` and LUFA
If you updated your `avr-gcc` and you see errors involving LUFA, for example:
`lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h:380:5: error: 'const' attribute on function returning 'void'`
For now, you need to rollback `avr-gcc` to 8 in Homebrew.
```
brew uninstall --force avr-gcc
brew install avr-gcc@8
brew link --force avr-gcc@8
```
### I just flashed my keyboard and it does nothing/keypresses don't register - it's also ARM (rev6 planck, clueboard 60, hs60v2, etc...) (Feb 2019)
Due to how EEPROM works on ARM based chips, saved settings may no longer be valid. This affects the default layers, and *may*, under certain circumstances we are still figuring out, make the keyboard unusable. Resetting the EEPROM will correct this.

View File

@ -31,20 +31,6 @@ Check:
- try using 'print' function instead of debug print. See **common/print.h**.
- disconnect other devices with console function. See [Issue #97](https://github.com/tmk/tmk_keyboard/issues/97).
## Linux or UNIX Like System Requires Super User Privilege
Just use 'sudo' to execute *hid_listen* with privilege.
```
$ sudo hid_listen
```
Or add an *udev rule* for TMK devices with placing a file in rules directory. The directory may vary on each system.
File: /etc/udev/rules.d/52-tmk-keyboard.rules(in case of Ubuntu)
```
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
***
# Miscellaneous

View File

@ -2,21 +2,24 @@
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|Key |Aliases |Description |
|----------|-------------------------------|----------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|Key |Aliases |Description |
|----------|-------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.

View File

@ -26,7 +26,10 @@ A Bluefruit UART friend can be converted to an SPI friend, however this [require
<!-- FIXME: Document bluetooth support more completely. -->
## Bluetooth Rules.mk Options
Use only one of these
The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](reference_glossary.md#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.
Use only one of these to enable Bluetooth:
* BLUETOOTH_ENABLE = yes (Legacy Option)
* BLUETOOTH = RN42
* BLUETOOTH = AdafruitBLE

View File

@ -1,43 +1,151 @@
# Debounce algorithm
# Contact bounce / contact chatter
Mechanical switches often don't have a clean single transition between pressed and unpressed states.
In an ideal world, when you press a switch, you would expect the digital pin to see something like this:
(X axis showing time
```
voltage +----------------------
^ |
| |
| ------------------+
----> time
```
However in the real world you will actually see contact bounce, which will look like multiple 1->0 and 0->1 transitions,
until the value finally settles.
```
+-+ +--+ +-------------
| | | | |
| | | | |
+-----------------+ +-+ +-+
```
The time it takes for the switch to settle might vary with switch type, age, and even pressing technique.
If the device chooses not to mitigate contact bounce, then often actions that happen when the switch is pressed are repeated
multiple times.
There are many ways to handle contact bounce ("Debouncing"). Some include employing additional hardware, for example an RC filter,
while there are various ways to do debouncing in software too, often called debounce algorithms. This page discusses software
debouncing methods available in QMK.
While technically not considered contact bounce/contact chatter, some switch technologies are susceptible to noise, meaning,
while the key is not changing state, sometimes short random 0->1 or 1->0 transitions might be read by the digital circuit, for example:
```
+-+
| |
| |
+-----------------+ +--------------------
```
Many debounce methods (but not all) will also make the device resistant to noise. If you are working with a technology that is
susceptible to noise, you must choose a debounce method that will also mitigate noise for you.
## Types of debounce algorithms
1) Unit of time: Timestamp (milliseconds) vs Cycles (scans)
* Debounce algorithms often have a 'debounce time' parameter, that specifies the maximum settling time of the switch contacts.
This time might be measured in various units:
* Cycles-based debouncing waits n cycles (scans), decreasing count by one each matrix_scan
* Timestamp-based debouncing stores the millisecond timestamp a change occurred, and does substraction to figure out time elapsed.
* Timestamp-based debouncing is usually superior, especially in the case of noise-resistant devices because settling times of physical
switches is specified in units of time, and should not depend on the matrix scan-rate of the keyboard.
* Cycles-based debouncing is sometimes considered inferior, because the settling time that it is able to compensate for depends on the
performance of the matrix scanning code. If you use cycles-based debouncing, and you significantly improve the performance of your scanning
code, you might end up with less effective debouncing. A situation in which cycles-based debouncing might be preferable is when
noise is present, and the scanning algorithm is slow, or variable speed. Even if your debounce algorithm is fundamentally noise-resistant,
if the scanning is slow, and you are using a timestamp-based algorithm, you might end up making a debouncing decision based on only two
sampled values, which will limit the noise-resistance of the algorithm.
* Currently all built-in debounce algorithms support timestamp-based debouncing only. In the future we might
implement cycles-based debouncing, and it will be selectable via a ```config.h``` macro.
2) Symmetric vs Asymmetric
* Symmetric - apply the same debouncing algorithm, to both key-up and key-down events.
* Recommended naming convention: ```sym_*```
* Asymmetric - apply different debouncing algorithms to key-down and key-up events. E.g. Eager key-down, Defer key-up.
* Recommended naming convention: ```asym_*``` followed by details of the type of algorithm in use, in order, for key-down and then key-up
3) Eager vs Defer
* Eager - any key change is reported immediately. All further inputs for DEBOUNCE ms are ignored.
* Eager algorithms are not noise-resistant.
* Recommended naming conventions:
* ```sym_eager_*```
* ```asym_eager_*_*```: key-down is using eager algorithm
* ```asym_*_eager_*```: key-up is using eager algorithm
* Defer - wait for no changes for DEBOUNCE ms before reporting change.
* Defer algorithms are noise-resistant
* Recommended naming conventions:
* ```sym_defer_*```
* ```asym_defer_*_*```: key-down is using eager algorithm
* ```asym_*_defer_*```: key-up is using eager algorithm
4) Global vs Per-Key vs Per-Row
* Global - one timer for all keys. Any key change state affects global timer
* Recommended naming convention: ```*_g```
* Per-key - one timer per key
* Recommended naming convention: ```*_pk```
* Per-row - one timer per row
* Recommended naming convention: ```*_pr```
* Per-key and per-row algorithms consume more resources (in terms of performance,
and ram usage), but fast typists might prefer them over global.
## Debounce algorithms supported by QMK
QMK supports multiple debounce algorithms through its debounce API.
The logic for which debounce method called is below. It checks various defines that you have set in rules.mk
The logic for which debounce method called is below. It checks various defines that you have set in ```rules.mk```
```
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
DEBOUNCE_TYPE?= sym_g
DEBOUNCE_TYPE?= sym_defer_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
```
# Debounce selection
### Debounce selection
| DEBOUNCE_TYPE | Description | What else is needed |
| ------------- | --------------------------------------------------- | ----------------------------- |
| Not defined | Use the default algorithm, currently sym_g | Nothing |
| Not defined | Use the default algorithm, currently sym_defer_g | Nothing |
| custom | Use your own debounce code | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
| anything_else | Use another algorithm from quantum/debounce/* | Nothing |
| Anything Else | Use another algorithm from quantum/debounce/* | Nothing |
**Regarding split keyboards**:
The debounce code is compatible with split keyboards.
# Use your own debouncing code
* Set ```DEBOUNCE_TYPE = custom```.
* Add ```SRC += debounce.c```
### Selecting an included debouncing method
Keyboards may select one of the already implemented debounce methods, by adding to ```rules.mk``` the following line:
```
DEBOUNCE_TYPE = <name of algorithm>
```
Where name of algorithm is one of:
* ```sym_defer_g``` - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occurred, all input changes are pushed.
* This is the current default algorithm. This is the highest performance algorithm with lowest memory usage, and it's also noise-resistant.
* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
* ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key
* ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed.
### A couple algorithms that could be implemented in the future:
* ```sym_defer_pr```
* ```sym_eager_g```
* ```asym_eager_defer_pk```
### Use your own debouncing code
You have the option to implement you own debouncing algorithm. To do this:
* Set ```DEBOUNCE_TYPE = custom``` in ```rules.mk```.
* Add ```SRC += debounce.c``` in ```rules.mk```
* Add your own ```debounce.c```. Look at current implementations in ```quantum/debounce``` for examples.
* Debouncing occurs after every raw matrix scan.
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
* If the algorithm might be applicable to other keyboards, please consider adding it to ```quantum/debounce```
# Changing between included debouncing methods
You can either use your own code, by including your own debounce.c, or switch to another included one.
Included debounce methods are:
* eager_pr - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
* eager_pk - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key
* sym_g - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occured, all input changes are pushed.
* sym_pk - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occured on that key, the key status change is pushed.
### Old names
The following old names for existing algorithms will continue to be supported, however it is recommended to use the new names instead.
* sym_g - old name for sym_defer_g
* eager_pk - old name for sym_eager_pk
* sym_pk - old name for sym_defer_pk
* eager_pr - old name for sym_eager_pr

View File

@ -300,6 +300,10 @@ bool oled_on(void);
// Returns true if the screen was off or turns off
bool oled_off(void);
// Returns true if the oled is currently on, false if it is
// not
bool is_oled_on(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void);

View File

@ -129,7 +129,7 @@ Configure the hardware via your `config.h`:
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c
const led_config_t g_led_config = { {
led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 5, NO_LED, NO_LED, 0 },
{ NO_LED, NO_LED, NO_LED, NO_LED },

View File

@ -48,11 +48,12 @@ However, USB cables, SATA cables, and even just 4 wires have been known to be us
### Serial Wiring
The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0 (aka PDO or pin 3) between the two Pro Micros.
The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka PD0/PD1/PD2/PD3) between the two Pro Micros.
?> Note that the pin used here is actually set by `SOFT_SERIAL_PIN` below.
![serial wiring](https://i.imgur.com/C3D1GAQ.png)
<img alt="sk-pd0-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296488-28e9ad80-ef70-11ea-98be-c40cb48a0319.JPG" width="48%"/>
<img alt="sk-pd2-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296490-2d15cb00-ef70-11ea-801f-5ace313013e6.JPG" width="48%"/>
### I<sup>2</sup>C Wiring
@ -60,7 +61,7 @@ The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0
The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves.
![I2C wiring](https://i.imgur.com/Hbzhc6E.png)
<img alt="sk-i2c-connection-mono" src="https://user-images.githubusercontent.com/2170248/92297182-92b98580-ef77-11ea-9d7d-d6033914af43.JPG" width="50%"/>
## Firmware Configuration

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

@ -0,0 +1,8 @@
# 開発環境のセットアップ
<!---
original document: 0.9.50:docs/api_development_environment.md
git diff 0.9.50 HEAD -- docs/api_development_environment.md | cat
-->
開発環境をセットアップするには、[qmk_web_stack](https://github.com/qmk/qmk_web_stack) に行ってください。

View File

@ -0,0 +1,49 @@
# QMK コンパイラ開発ガイド
<!---
original document: 0.9.50:docs/api_development_overview.md
git diff 0.9.50 HEAD -- docs/api_development_overview.md | cat
-->
このページでは、開発者に QMK コンパイラを紹介しようと思います。コードを読まなければならないような核心となる詳細に立ち入って調べることはしません。ここで得られるものは、コードを読んで理解を深めるためのフレームワークです。
# 概要
QMK Compile API は、いくつかの可動部分からできています:
![構造図](https://raw.githubusercontent.com/qmk/qmk_api/master/docs/architecture.svg)
API クライアントは API サービスと排他的にやりとりをします。ここでジョブをサブミットし、状態を調べ、結果をダウンロードします。API サービスはコンパイルジョブを [Redis Queue](https://python-rq.org) に挿入し、それらのジョブの結果について RQ と S3 の両方を調べます。
ワーカーは RQ から新しいコンパイルジョブを取り出し、ソースとバイナリを S3 互換のストレージエンジンにアップロードします。
# ワーカー
QMK コンパイラワーカーは実際のビルド作業に責任を持ちます。ワーカーは RQ からジョブを取り出し、ジョブを完了するためにいくつかの事を行います:
* 新しい qmk_firmware のチェックアウトを作成する
* 指定されたレイヤーとキーボードメタデータを使って `keymap.c` をビルドする
* ファームウェアをビルドする
* ソースのコピーを zip 形式で圧縮する
* ファームウェア、ソースの zip ファイル、メタデータファイルを S3 にアップロードする
* ジョブの状態を RQ に送信する
# API サービス
API サービスは比較的単純な Flask アプリケーションです。理解しておくべきことが幾つかあります。
## @app.route('/v1/compile', methods=['POST'])
これは API の主なエントリーポイントです。クライアントとのやりとりはここから開始されます。クライアントはキーボードを表す JSON ドキュメントを POST し、API はコンパイルジョブをサブミットする前にいくらかの(とても)基本的な検証を行います。
## @app.route('/v1/compile/&lt;string:job_id&gt;', methods=['GET'])
これは最もよく呼ばれるエンドポイントです。ジョブの詳細が redis から利用可能であればそれを取り出し、そうでなければ S3 からキャッシュされたジョブの詳細を取り出します。
## @app.route('/v1/compile/&lt;string:job_id&gt;/download', methods=['GET'])
このメソッドによりユーザはコンパイルされたファームウェアファイルをダウンロードすることができます。
## @app.route('/v1/compile/&lt;string:job_id&gt;/source', methods=['GET'])
このメソッドによりユーザはファームウェアのソースをダウンロードすることができます。

73
docs/ja/api_docs.md Normal file
View File

@ -0,0 +1,73 @@
# QMK API
<!---
original document: 0.9.50:docs/api_docs.md
git diff 0.9.50 HEAD -- docs/api_docs.md | cat
-->
このページは QMK API の使い方を説明します。もしあなたがアプリケーション開発者であれば、全ての [QMK](https://qmk.fm) キーボードのファームウェアをコンパイルするために、この API を使うことができます。
## 概要
このサービスは、カスタムキーマップをコンパイルするための非同期 API です。API に 何らかの JSON を POST し、定期的に状態をチェックし、ファームウェアのコンパイルが完了していれば、結果のファームウェアと(もし希望すれば)そのファームウェアのソースコードをダウンロードすることができます。
#### JSON ペイロードの例:
```json
{
"keyboard": "clueboard/66/rev2",
"keymap": "my_awesome_keymap",
"layout": "LAYOUT_all",
"layers": [
["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_GRV","KC_BSPC","KC_PGUP","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGDN","KC_CAPS","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_NUHS","KC_ENT","KC_LSFT","KC_NUBS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RO","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_MHEN","KC_SPC","KC_SPC","KC_HENK","KC_RALT","KC_RCTL","MO(1)","KC_LEFT","KC_DOWN","KC_RIGHT"],
["KC_ESC","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_TRNS","KC_DEL","BL_STEP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","_______","KC_TRNS","KC_PSCR","KC_SLCK","KC_PAUS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_LEFT","KC_PGDN","KC_RGHT"],
["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","RESET","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_TRNS","KC_TRNS","KC_TRNS"]
]
}
```
ご覧のとおり、ペイロードにはファームウェアを作成および生成するために必要なキーボードの全ての側面を記述します。各レイヤーは QMK キーコードの1つのリストで、キーボードの `LAYOUT` マクロと同じ長さです。もしキーボードが複数の `LAYOUT` マクロをサポートする場合、どのマクロを使うかを指定することができます。
## コンパイルジョブのサブミット
キーマップをファームウェアにコンパイルするには、単純に JSON を `/v1/compile` エンドポイントに POST します。以下の例では、JSON ペイロードを `json_data` という名前のファイルに配置しています。
```
$ curl -H "Content-Type: application/json" -X POST -d "$(< json_data)" http://api.qmk.fm/v1/compile
{
"enqueued": true,
"job_id": "ea1514b3-bdfc-4a7b-9b5c-08752684f7f6"
}
```
## 状態のチェック
キーマップをサブミットした後で、簡単な HTTP GET 呼び出しを使って状態をチェックすることができます:
```
$ curl http://api.qmk.fm/v1/compile/ea1514b3-bdfc-4a7b-9b5c-08752684f7f6
{
"created_at": "Sat, 19 Aug 2017 21:39:12 GMT",
"enqueued_at": "Sat, 19 Aug 2017 21:39:12 GMT",
"id": "f5f9b992-73b4-479b-8236-df1deb37c163",
"status": "running",
"result": null
}
```
これは、ジョブをキューに入れることに成功し、現在実行中であることを示しています。5つの状態がありえます:
* **failed**: なんらかの理由でコンパイルサービスが失敗しました。
* **finished**: コンパイルが完了し、結果を見るには `result` をチェックする必要があります。
* **queued**: キーマップはコンパイルサーバが利用可能になるのを待っています。
* **running**: コンパイルが進行中で、まもなく完了するはずです。
* **unknown**: 深刻なエラーが発生し、[バグを報告](https://github.com/qmk/qmk_compiler/issues)する必要があります。
## 完了した結果を検証
コンパイルジョブが完了したら、`result` キーをチェックします。このキーの値は幾つかの情報を含むハッシュです:
* `firmware_binary_url`: 書き込み可能なファームウェアの URL のリスト
* `firmware_keymap_url`: `keymap.c` の URL のリスト
* `firmware_source_url`: ファームウェアの完全なソースコードの URL のリスト
* `output`: このコンパイルジョブの stdout と stderr。エラーはここで見つけることができます。

20
docs/ja/api_overview.md Normal file
View File

@ -0,0 +1,20 @@
# QMK API
<!---
original document: 0.9.50:docs/api_overview.md
git diff 0.9.50 HEAD -- docs/api_overview.md | cat
-->
QMK API は、Web と GUI ツールが [QMK](http://qmk.fm/) によってサポートされるキーボード用の任意のキーマップをコンパイルするために使うことができる、非同期 API を提供します。標準のキーマップテンプレートは、C コードのサポートを必要としない全ての QMK キーコードをサポートします。キーボードのメンテナは独自のカスタムテンプレートを提供して、より多くの機能を実現することができます。
## アプリケーション開発者
もしあなたがアプリケーションでこの API を使うことに興味があるアプリケーション開発者であれば、[API の使用](ja/api_docs.md) に行くべきです。
## キーボードのメンテナ
もし QMK Compiler API でのあなたのキーボードのサポートを強化したい場合は、[キーボードサポート](ja/reference_configurator_support.md) の節に行くべきです。
## バックエンド開発者
もし API 自体に取り組むことに興味がある場合は、[開発環境](ja/api_development_environment.md)のセットアップから始め、それから [API のハッキング](ja/api_development_overview.md) を調べるべきです。

View File

@ -145,4 +145,4 @@ ARM ベースのチップ上での EEPROM の動作によって、保存され
[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) を使って eeprom のリセットを強制することができます。このイメージを書き込んだ後で、通常のファームウェアを書き込むと、キーボードが_通常_ の動作順序に復元されます。
[Preonic rev3 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/537849497313738762/preonic_rev3_default.bin)
いずれかの形式でブートマジックが有効になっている場合は、これも実行できるはずです (実行方法の詳細については、[ブートマジックドキュメント](feature_bootmagic.md)とキーボード情報を見てください)。
いずれかの形式でブートマジックが有効になっている場合は、これも実行できるはずです (実行方法の詳細については、[ブートマジックドキュメント](ja/feature_bootmagic.md)とキーボード情報を見てください)。

View File

@ -51,7 +51,7 @@ OK、問題ありません。[GitHub で issue を開く](https://github.com/qmk
TMK は [Jun Wako](https://github.com/tmk) によって設計され実装されました。QMK は [Jack Humbert](https://github.com/jackhumbert) の Planck 用 TMK のフォークとして始まりました。しばらくして、Jack のフォークは TMK からかなり分岐し、2015年に Jack はフォークを QMK に名前を変えることにしました。
技術的な観点から、QMK は幾つかの新しい機能を追加した TMK に基づいています。最も注目すべきことは、QMK は利用可能なキーコードの数を増やし、`S()``LCTL()` および `MO()` などの高度な機能を実装するためにこれらを使っています。[キーコード](keycodes.md)でこれらのキーコードの完全なリストを見ることができます。
技術的な観点から、QMK は幾つかの新しい機能を追加した TMK に基づいています。最も注目すべきことは、QMK は利用可能なキーコードの数を増やし、`S()``LCTL()` および `MO()` などの高度な機能を実装するためにこれらを使っています。[キーコード](ja/keycodes.md)でこれらのキーコードの完全なリストを見ることができます。
プロジェクトとコミュニティの管理の観点から、TMK は公式にサポートされている全てのキーボードを自分で管理しており、コミュニティのサポートも少し受けています。他のキーボード用に別個のコミュニティが維持するフォークが存在するか、作成できます。デフォルトでは少数のキーマップのみが提供されるため、ユーザは一般的にお互いにキーマップを共有しません。QMK は集中管理されたリポジトリを介して、キーボードとキーマップの両方を共有することを奨励しており、品質基準に準拠する全てのプルリクエストを受け付けます。これらはほとんどコミュニティで管理されますが、必要な場合は QMK チームも支援します。

View File

@ -128,7 +128,7 @@ https://github.com/tekezo/Karabiner/issues/403
## 単一のキーでの Esc と<code>&#96;</code>
[Grave Escape](feature_grave_esc.md) 機能を見てください。
[Grave Escape](ja/feature_grave_esc.md) 機能を見てください。
## Mac OSX での Eject
`KC_EJCT` キーコードは OSX で動作します。https://github.com/tmk/tmk_keyboard/issues/250

View File

@ -1,8 +1,8 @@
# 分割キーボード
<!---
original document:0.9.43:docs/feature_split_keyboard.md
git diff 0.9.43 HEAD -- docs/feature_split_keyboard.md | cat
original document:0.10.8:docs/feature_split_keyboard.md
git diff 0.10.8 HEAD -- docs/feature_split_keyboard.md | cat
-->
QMK ファームウェアリポジトリの多くのキーボードは、"分割"キーボードです。それらは2つのコントローラを使います — 1つは USB に接続し、もう1つは TRRS または同様のケーブルを介してシリアルまたは I<sup>2</sup>C 接続で接続します。
@ -20,12 +20,12 @@ QMK ファームウェアには、任意のキーボードで使用可能な一
| Transport | AVR | ARM |
|------------------------------|--------------------|--------------------|
| ['serial'](serial_driver.md) | :heavy_check_mark: | :white_check_mark: <sup>1</sup> |
| ['serial'](ja/serial_driver.md) | :heavy_check_mark: | :white_check_mark: <sup>1</sup> |
| I2C | :heavy_check_mark: | |
注意:
1. ハードウェアとソフトウェアの両方の制限は、[ドライバーのドキュメント](serial_driver.md)の中で説明されます。
1. ハードウェアとソフトウェアの両方の制限は、[ドライバーのドキュメント](ja/serial_driver.md)の中で説明されます。
## ハードウェア設定
@ -53,11 +53,12 @@ QMK ファームウェアには、任意のキーボードで使用可能な一
### シリアル配線
2つの Pro Micro 間で GND、Vcc、D0 (別名 PDO あるいは pin 3) を TRS/TRRS ケーブルの3本のワイヤで接続します。
2つの Pro Micro 間で GND、Vcc、D0/D1/D2/D3 (別名 PD0/PD1/PD2/PD3) を TRS/TRRS ケーブルの3本のワイヤで接続します。
?> ここで使われるピンは実際には以下の `SOFT_SERIAL_PIN` によって設定されることに注意してください。
![シリアル配線](https://i.imgur.com/C3D1GAQ.png)
<img alt="sk-pd0-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296488-28e9ad80-ef70-11ea-98be-c40cb48a0319.JPG" width="48%"/>
<img alt="sk-pd2-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296490-2d15cb00-ef70-11ea-801f-5ace313013e6.JPG" width="48%"/>
### I<sup>2</sup>C 配線
@ -65,7 +66,7 @@ QMK ファームウェアには、任意のキーボードで使用可能な一
プルアップ抵抗はキーボードの左右どちら側にも配置することができます。もし各側を単独で使いたい場合は、4つの抵抗を使い、両側にプルアップ抵抗を配置することもできます。
![I2C 配線](https://i.imgur.com/Hbzhc6E.png)
<img alt="sk-i2c-connection-mono" src="https://user-images.githubusercontent.com/2170248/92297182-92b98580-ef77-11ea-9d7d-d6033914af43.JPG" width="50%"/>
## ファームウェア設定

View File

@ -101,4 +101,4 @@
- [Deskthority の記事](https://deskthority.net/wiki/Keyboard_matrix)
- [Dave Dribin による Keyboard Matrix Help (2000)](https://www.dribin.org/dave/keyboard/one_html/)
- [PCBheaven による How Key Matrices Works](http://pcbheaven.com/wikipages/How_Key_Matrices_Works/) (アニメーションの例)
- [キーボードの仕組み - QMK ドキュメント](how_keyboards_work.md)
- [キーボードの仕組み - QMK ドキュメント](ja/how_keyboards_work.md)

View File

@ -0,0 +1,20 @@
# Quantum キーコード
<!---
original document: 0.9.55:docs/quantum_keycodes.md
git diff 0.9.55 HEAD -- docs/quantum_keycodes.md | cat
-->
Quantum キーコードにより、カスタムアクションを定義することなく、基本的なものが提供するものより簡単にキーマップをカスタマイズすることができます。
quantum 内の全てのキーコードは `0x0000``0xFFFF` の間の数値です。`keymap.c` の中では、関数やその他の特別な場合があるように見えますが、最終的には C プリプロセッサによってそれらは単一の4バイト整数に変換されます。QMK は標準的なキーコードのために `0x0000` から `0x00FF` を予約しています。これらは、`KC_A``KC_1` および `KC_LCTL` のようなキーコードで、USB HID 仕様で定義された基本的なキーです。
このページでは、高度な quantum 機能を実装するために使われる `0x00FF``0xFFFF` の間のキーコードを説明します。独自のカスタムキーコードを定義する場合は、それらもこの範囲に配置されます。
## QMK キーコード :id=qmk-keycodes
| キー | エイリアス | 説明 |
|----------------|------------|--------------------------------------------------------|
| `RESET` | | 書き込みのために、キーボードを bootloader モードにする |
| `DEBUG` | | デバッグモードの切り替え |
| `EEPROM_RESET` | `EEP_RST` | キーボードの EEPROM (永続化メモリ) を再初期化する |

View File

@ -0,0 +1,202 @@
# QMK Configurator でのキーボードのサポート
<!---
original document: 0.9.46:docs/reference_configurator_support.md
git diff 0.9.46 HEAD -- docs/reference_configurator_support.md | cat
-->
このページは [QMK Configurator](https://config.qmk.fm/) でキーボードを適切にサポートする方法について説明します。
## Configurator がキーボードを理解する方法
Configurator がキーボードをどのように理解するかを理解するには、最初にレイアウトマクロを理解する必要があります。この演習では、17キーのテンキー PCB を想定します。これを `numpad` と呼びます。
```
|---------------|
|NLk| / | * | - |
|---+---+---+---|
|7 |8 |9 | + |
|---+---+---| |
|4 |5 |6 | |
|---+---+---+---|
|1 |2 |3 |Ent|
|-------+---| |
|0 | . | |
|---------------|
```
?> レイアウトマクロの詳細については、[QMK の理解: マトリックススキャン](ja/understanding_qmk.md?id=matrix-scanning) と [QMK の理解: マトリックスから物理レイアウトへのマップ](ja/understanding_qmk.md?id=matrix-to-physical-layout-map) を見てください。
Configurator の API はキーボードの `.h` ファイルを `qmk_firmware/keyboards/<keyboard>/<keyboard>.h` から読み取ります。numpad の場合、このファイルは `qmk_firmware/keyboards/numpad/numpad.h` です:
```c
#pragma once
#define LAYOUT( \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k33, \
k40, k42 \
) { \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 }, \
{ k20, k21, k22, KC_NO }, \
{ k30, k31, k32, k33 }, \
{ k40, KC_NO, k42, KC_NO } \
}
```
QMK は `KC_NO` を使って、スイッチマトリックス内のスイッチがない場所を指定します。デバッグが必要な場合に、このセクションを読みやすくするために、`XXX``___``____` を略記として使うこともあります。通常は `.h` ファイルの先頭近くで定義されます:
```c
#pragma once
#define XXX KC_NO
#define LAYOUT( \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k33, \
k40, k42 \
) { \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 }, \
{ k20, k21, k22, XXX }, \
{ k30, k31, k32, k33 }, \
{ k40, XXX, k42, XXX } \
}
```
!> この使用方法はキーマップマクロと異なります。キーマップマクロはほとんど常に`KC_NO`については`XXXXXXX` (7つの大文字の X) を、`KC_TRNS` については `_______` (7つのアンダースコア)を使います。
!> ユーザの混乱を防ぐために、`KC_NO` を使うことをお勧めします。
レイアウトマクロは、キーボードに17個のキーがあり、4列それぞれが5行に配置されていることを Configurator に伝えます。スイッチの位置は、0から始まる `k<row><column>` という名前が付けられています。キーマップからキーコードを受け取る上部セクションと、マトリックス内の各キーの位置を指定する下部セクションとが一致する限り、名前自体は実際には問題ではありません。
物理的なキーボードに似た形でキーボードを表示するには、それぞれのキーの物理的な位置とサイズをスイッチマトリックスに結びつけることを Configurator に伝える JSON ファイルを作成する必要があります。
## JSON ファイルのビルド
JSON ファイルをビルドする最も簡単な方法は、[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/) ("KLE") でレイアウトを作成することです。この Raw Data を QMK tool に入れて、Configurator が読み出して使用する JSON ファイルに変換します。KLE は numpad レイアウトをデフォルトで開くため、Getting Started の説明を削除し、残りを使います。
レイアウトが望み通りのものになったら、KLE の Raw Data タブに移動し、内容をコピーします:
```
["Num Lock","/","*","-"],
["7\nHome","8\n↑","9\nPgUp",{h:2},"+"],
["4\n←","5","6\n→"],
["1\nEnd","2\n↓","3\nPgDn",{h:2},"Enter"],
[{w:2},"0\nIns",".\nDel"]
```
このデータを JSON に変換するには、[QMK KLE-JSON Converter](https://qmk.fm/converter/) に移動し、Raw Data を Input フィールド に貼り付け、Convert ボタンをクリックします。しばらくすると、JSON データが Output フィールドに表示されます。内容を新しいテキストドキュメントにコピーし、ドキュメントに `info.json` という名前を付け、`numpad.h` を含む同じフォルダに保存します。
`keyboard_name` オブジェクトを使ってキーボードの名前を設定します。説明のために、各キーのオブジェクトを各行に配置します。これはファイルを人間が読みやすいものにするためのもので、Configurator の機能には影響しません。
```json
{
"keyboard_name": "Numpad",
"url": "",
"maintainer": "qmk",
"tags": {
"form_factor": "numpad"
},
"width": 4,
"height": 5,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"Num Lock", "x":0, "y":0},
{"label":"/", "x":1, "y":0},
{"label":"*", "x":2, "y":0},
{"label":"-", "x":3, "y":0},
{"label":"7", "x":0, "y":1},
{"label":"8", "x":1, "y":1},
{"label":"9", "x":2, "y":1},
{"label":"+", "x":3, "y":1, "h":2},
{"label":"4", "x":0, "y":2},
{"label":"5", "x":1, "y":2},
{"label":"6", "x":2, "y":2},
{"label":"1", "x":0, "y":3},
{"label":"2", "x":1, "y":3},
{"label":"3", "x":2, "y":3},
{"label":"Enter", "x":3, "y":3, "h":2},
{"label":"0", "x":0, "y":4, "w":2},
{"label":".", "x":2, "y":4}
]
}
}
}
```
`layouts` オブジェクトにはキーボードの物理レイアウトを表すデータが含まれます。このオブジェクトには `LAYOUT` という名前のオブジェクトがあり、このオブジェクト名は `numpad.h` のレイアウトマクロの名前と一致する必要があります。`LAYOUT` オブジェクト自体には `layout` という名前のオブジェクトがあります。このオブジェクトにはキーボードの物理キーごとに 1つの JSON オブジェクトが以下の形式で含まれています:
```
キーの名前。Configurator では表示されません。
|
| キーボードの左端からのキー単位での
| | キーの X 軸の位置。
| |
| | キーボードの上端(奥側)からのキー単位での
| | | キーの Y 軸位置。
↓ ↓ ↓
{"label":"Num Lock", "x":0, "y":0},
```
一部のオブジェクトには、それぞれキーの幅と高さを表す `"w"` 属性キーと `"h"` 属性キーがあります。
?> `info.json` ファイルの詳細については、[`info.json` 形式](ja/reference_info_json.md) を参照してください。
## Configurator がキーをプログラムする方法
Configurator の API は、指定されたレイアウトマクロと JSON ファイルを使って、特定のキーに関連付けられた各ビジュアルオブジェクトを順番に持つキーボードのビジュアル表現を作成します:
| レイアウトマクロのキー | 使用される JSON オブジェクト |
:---: | :----
| k00 | {"label":"Num Lock", "x":0, "y":0} |
| k01 | {"label":"/", "x":1, "y":0} |
| k02 | {"label":"*", "x":2, "y":0} |
| k03 | {"label":"-", "x":3, "y":0} |
| k10 | {"label":"7", "x":0, "y":1} |
| k11 | {"label":"8", "x":1, "y":1} |
| k12 | {"label":"9", "x":2, "y":1} |
| k13 | {"label":"+", "x":3, "y":1, "h":2} |
| k20 | {"label":"4", "x":0, "y":2} |
| k21 | {"label":"5", "x":1, "y":2} |
| k22 | {"label":"6", "x":2, "y":2} |
| k30 | {"label":"1", "x":0, "y":3} |
| k31 | {"label":"2", "x":1, "y":3} |
| k32 | {"label":"3", "x":2, "y":3} |
| k33 | {"label":"Enter", "x":3, "y":3, "h":2} |
| k40 | {"label":"0", "x":0, "y":4, "w":2} |
| k42 | {"label":".", "x":2, "y":4} |
ユーザが Configurator で左上のキーを選択し、Num Lock を割り当てると、Configurator は最初のキーとして `KC_NLCK` を持つキーマップを作成し、同様にキーマップが作成されます。`label` キーは使われません; それらは `info.json` ファイルをデバッグする時に特定のキーを識別するためのユーザの参照のためだけのものです。
## 問題と危険
現在のところ、Configurator はキーの回転または ISO Enter などの長方形ではないキーをサポートしません。さらに、"行"から垂直方向にずれているキー、&mdash; 顕著な例として [TKC1800](https://github.com/qmk/qmk_firmware/tree/4ac48a61a66206beaf2fdd5f2939d8bbedd0004c/keyboards/tkc1800/) のような1800レイアウト上の矢印キー &mdash; は、 `info.json` ファイルの提供者によって調整されていない場合は、KLE-to-JSON コンバータを混乱させます。
### 回避策
#### 長方形ではないキー
ISO Enter キーについては、QMK custom は幅 1.25u、高さ 2u の長方形のキーとして表示し、右端が英数字キーブロックの右端に揃うように配置されます。
![](https://i.imgur.com/JKngtTw.png)
*QMK Configurator によって描画される標準 ISO レイアウトの60%キーボード。*
#### 垂直方向にずれたキー
垂直方向にずれたキーについては、ずれていないかのように KLE で配置し、変換された JSON ファイルで必要に応じて Y 値を編集します。
![](https://i.imgur.com/fmDvDzR.png)
*矢印キーに適用される垂直方向のずれのない、Keyboard Layout Editor で描画された1800レイアウトのキーボード。*
![](https://i.imgur.com/8beYMBR.png)
*キーボードの JSON ファイルで矢印キーを垂直方向にずらすために必要な変更を示す、Unix の diff ファイル。*

View File

@ -0,0 +1,173 @@
# QMK 用語集
<!---
original document: 0.9.46:docs/reference_glossary.md
git diff 0.9.46 HEAD -- docs/reference_glossary.md | cat
-->
## ARM
Atmel、Cypress、Kinetis、NXP、ST、TI など多くの企業が生産する 32 ビット MCU のライン。
## AVR
[Atmel](http://www.microchip.com/) が生産する 8 ビット MCU のライン。AVR は TMK がサポートしていた元のプラットフォームでした。
## AZERTY
標準的な Français (フランス) キーボードレイアウト。キーボードの最初の6つのキーから命名されました。
## バックライト
キーボードのライトの総称。バックライトが一般的ですが、それだけではなく、キーキャップあるいはスイッチを通して光る LED の配列。
## Bluetooth
短距離のピアツーピア無線プロトコル。キーボード用のもっとも一般的なワイヤレスプロトコル。
## ブートローダ
MCU の保護領域に書き込まれる特別なプログラムで、MCU が独自のファームウェアを通常は USB 経由でアップグレードできるようにします。
## ブートマジック
よくあるキーの交換あるいは無効化など、様々なキーボードの挙動の変更をその場で実行できる機能。
## C
システムコードに適した低レベルプログラミング言語。QMK のほとんどのコードは C で書かれています。
## Colemak
人気が出始めている代替キーボードレイアウト。
## コンパイル
人間が読めるコードを MCU が実行できるマシンコードに変換するプロセス。
## Dvorak
1930年代に Dr. August Dvorak によって開発された代替キーボードレイアウト。Dvorak Simplified Keyboard の短縮形。
## 動的マクロ
キーボードに記録されたマクロで、キーボードのプラグを抜くか、コンピュータを再起動すると失われます。
* [動的マクロドキュメント](ja/feature_dynamic_macros.md)
## Eclipse
多くの C 開発者に人気のある IDE。
* [Eclipse セットアップ手順](ja/other_eclipse.md)
## ファームウェア
MCU を制御するソフトウェア
## git
コマンドラインで使用されるバージョン管理ソフトウェア
## GitHub
QMK プロジェクトのほとんどをホストする Web サイト。git、課題管理、および QMK の実行に役立つその他の機能を統合して提供します。
## ISP
インシステムプログラミング。外部ハードウェアと JTAG ピンを使って AVR チップをプログラミングする方法。
## hid_listen
キーボードからデバッグメッセージを受信するためのインタフェース。[QMK Flasher](https://github.com/qmk/qmk_flasher) あるいは [PJRC の hid_listen](https://www.pjrc.com/teensy/hid_listen.html) を使ってこれらのメッセージを見ることができます。
## キーコード
特定のキーを表す2バイトの数値。`0x00`-`0xFF` は[基本キーコード](ja/keycodes_basic.md)に使われ、`0x100`-`0xFFFF` は [Quantum キーコード](ja/quantum_keycodes.md) に使われます。
## キーダウン
キーが押された時に発生し、キーが放される前に完了するイベント。
## キーアップ
キーが放された時に発生するイベント。
## キーマップ
物理的なキーボードレイアウトにマップされたキーコードの配列。キーの押下およびリリース時に処理されます。
## レイヤー
1つのキーが複数の目的を果たすために使われる抽象化。最上位のアクティブなレイヤーが優先されます。
## リーダーキー
リーダーキーに続けて1, 2 あるいは3つのキーをタップすることで、キーの押下あるいは他の quantum 機能をアクティブにする機能。
* [リーダーキードキュメント](ja/feature_leader_key.md)
## LED
発光ダイオード。キーボードの表示に使われる最も一般的なデバイス。
## Make
全てのソースファイルをコンパイルするために使われるソフトウェアパッケージ。キーボードファームウェアをコンパイルするために、様々なオプションを指定して `make` を実行します。
## マトリックス
MCU がより少ないピン数でキー押下を検出できるようにする列と行の配線パターン。マトリックスには多くの場合、NKRO を可能にするためのダイオードが組み込まれています。
## マクロ
単一のキーのみを押した後で、複数のキー押下イベント (HID レポート) を送信できる機能。
* [マクロドキュメント](ja/feature_macros.md)
## MCU
マイクロコントロールユニット。キーボードを動かすプロセッサ。
## モディファイア
別のキーを入力する間押したままにして、そのキーのアクションを変更するキー。例として、Ctrl、Alt および Shift があります。
(訳注:モディファイヤ、モディファイヤキー、修飾キーなど、訳語が統一されていませんが同じものです)
## マウスキー
キーボードからマウスカーソルを制御し、クリックできる機能。
* [マウスキードキュメント](ja/feature_mouse_keys.md)
## N キーロールオーバー (NKRO)
一度に任意の数のキーの押下を送信できるキーボードに当てはまる用語。
## ワンショットモディファイア
別のキーが放されるまで押されているかのように機能するモディファイア。キーを押している間に mod を押し続けるのではなく、mod を押してからキーを押すことができます。スティッキーキーまたはデッドキーとも呼びます。
## ProMicro
低コストの AVR 開発ボード。このデバイスのクローンは ebay で非常に安価(5ドル未満)に見つかることがありますが、多くの場合 pro micro の書き込みに苦労します。
## プルリクエスト
QMK にコードを送信するリクエスト。全てのユーザが個人のキーマップのプルリクエストを送信することを推奨します。
## QWERTY
標準の英語キーボードレイアウト。多くの場合、他の言語の標準レイアウトへのショートカット。キーボードの最初の6文字から命名されました。
## QWERTZ
標準的な Deutsche (ドイツ語) キーボードレイアウト。キーボードの最初の6文字から命名されました。
## ロールオーバー
キーが既に押されている間にキーを押すことを指す用語。似たものに 2KRO、6KRO、NKRO が含まれます。
## スキャンコード
単一のキーを表す USB 経由の HID レポートの一部として送信される1バイトの数値。これらの値は、[USB-IF](http://www.usb.org/) が発行する [HID Usage Tables](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) に記載されています。
## スペースカデットシフト
左または右 shift を1回以上タップすることで、様々なタイプの括弧を入力できる特別な shift キーのセット。
* [スペースカデットシフトドキュメント](ja/feature_space_cadet_shift.md)
## タップ
キーを押して放す。状況によってはキーダウンイベントとキーアップイベントを区別する必要がありますが、タップは常に両方を一度に指します。
## タップダンス
押す回数に基づいて、同じキーに複数のキーコードを割り当てることができる機能。
* [タップダンスドキュメント](ja/feature_tap_dance.md)
## Teensy
手配線での組み立てによく用いられる低コストの AVR 開発ボード。halfkay ブートローダによって書き込みが非常に簡単になるために、数ドル高いにもかかわらず teensy がしばしば選択されます。
## アンダーライト
キーボードの下側を照らす LED の総称。これらの LED は通常 PCB の底面からキーボードが置かれている表面に向けて照らします。
## ユニコード
大規模なコンピュータの世界では、ユニコードは任意の言語で文字を表現するためのエンコード方式のセットです。QMK に関しては、様々な OS スキームを使ってスキャンコードの代わりにユニコードコードポイントを送信することを意味します。
* [ユニコードドキュメント](ja/feature_unicode.md)
## 単体テスト
QMK に対して自動テストを実行するためのフレームワーク。単体テストは、変更が何も壊さないことを確信するのに役立ちます。
* [単体テストドキュメント](ja/unit_testing.md)
## USB
ユニバーサルシリアルバス。キーボード用の最も一般的な有線インタフェース。
## USB ホスト (あるいは単にホスト)
USB ホストは、あなたのコンピュータ、またはキーボードが差し込まれているデバイスのことです。
# 探している用語が見つかりませんでしたか?
質問についての [issue を開いて](https://github.com/qmk/qmk_firmware/issues) 、質問した用語についてここに追加することができます。さらに良いのは、定義についてのプルリクエストを開くことです。:)

View File

@ -0,0 +1,78 @@
# `info.json`
<!---
original document: 0.9.46:docs/reference_info_json.md
git diff 0.9.46 HEAD -- docs/reference_info_json.md | cat
-->
このファイルは [QMK API](https://github.com/qmk/qmk_api) によって使われます。このファイルは [QMK Configurator](https://config.qmk.fm/) がキーボードの画像を表示するために必要な情報を含んでいます。ここにメタデータを設定することもできます。
このメタデータを指定するために、`qmk_firmware/keyboards/<name>` の下の全てのレベルで `info.json` を作成することができます。これらのファイルは結合され、より具体的なファイルがそうではないファイルのキーを上書きします。つまり、メタデータ情報を複製する必要はありません。例えば、`qmk_firmware/keyboards/clueboard/info.json``manufacturer` および `maintainer` を指定し、`qmk_firmware/keyboards/clueboard/66/info.json` は Clueboard 66% についてのより具体的な情報を指定します。
## `info.json` の形式
`info.json` ファイルは設定可能な以下のキーを持つ JSON 形式の辞書です。全てを設定する必要はなく、キーボードに適用するキーだけを設定します。
* `keyboard_name`
* キーボードを説明する自由形式のテキスト文字列。
* 例: `Clueboard 66%`
* `url`
* キーボードの製品ページ、[QMK.fm/keyboards](https://qmk.fm/keyboards) のページ、あるいはキーボードに関する情報を説明する他のページの URL。
* `maintainer`
* メンテナの GitHub のユーザ名、あるいはコミュニティが管理するキーボードの場合は `qmk`
* `width`
* キー単位でのキーボードの幅
* `height`
* キー単位でのキーボードの高さ
* `layouts`
* 物理的なレイアウト表現。詳細は以下のセクションを見てください。
### レイアウトの形式
`info.json` ファイル内の辞書の `layouts` 部分は、幾つかの入れ子になった辞書を含みます。外側のレイヤーは QMK レイアウトマクロで構成されます。例えば、`LAYOUT_ansi` あるいは `LAYOUT_iso`。各レイアウトマクロ内には、`width``height``key_count` のキーがあります。これらは自明でなければなりません。
* `width`
* オプション: キー単位でのレイアウトの幅
* `height`
* オプション: キー単位でのレイアウトの高さ
* `key_count`
* オプション: このレイアウトのキーの数
* `layout`
* 物理レイアウトを説明するキー辞書のリスト。詳細は次のセクションを見てください。
### キー辞書形式
レイアウトの各キー辞書は、キーの物理プロパティを記述します。<http://keyboard-layout-editor.com> の Raw Code に精通している場合、多くの概念が同じであることが分かります。可能な限り同じキー名とレイアウトの選択を再利用しますが、keyboard-layout-editor とは異なって各キーはステートレスで、前のキーからプロパティを継承しません。
全てのキーの位置と回転は、キーボードの左上と、各キーの左上を基準にして指定されます。
* `x`
* **必須**: 水平軸でのキーの絶対位置(キー単位)。
* `y`
* **必須**: 垂直軸でのキーの絶対位置(キー単位)。
* `w`
* キー単位でのキーの幅。`ks` が指定された場合は無視されます。デフォルト: `1`
* `h`
* キー単位でのキーの高さ。`ks` が指定された場合は無視されます。デフォルト: `1`
* `r`
* キーを回転させる時計回りの角度。
* `rx`
* キーを回転させる点の水平軸における絶対位置。デフォルト: `x`
* `ry`
* キーを回転させる点の垂直軸における絶対位置。デフォルト: `y`
* `ks`
* キー形状: キー単位で頂点を列挙することでポリゴンを定義します。
* **重要**: これらはキーの左上からの相対位置で、絶対位置ではありません。
* ISO Enter の例: `[ [0,0], [1.5,0], [1.5,2], [0.25,2], [0.25,1], [0,1], [0,0] ]`
* `label`
* マトリックス内のこの位置につける名前。
* これは通常 PCB 上でこの位置にシルクスクリーン印刷されるものと同じ名前でなければなりません。
## メタデータはどのように公開されますか?
このメタデータは主に2つの方法で使われます:
* Web ベースの configurator が動的に UI を生成できるようにする。
* 新しい `make keyboard:keymap:qmk` ターゲットをサポートする。これは、このメタデータをファームウェアにバンドルして QMK Toolbox をよりスマートにします。
Configurator の作成者は、JSON API の使用に関する詳細について、[QMK Compiler](https://docs.api.qmk.fm/using-the-api) ドキュメントを参照することができます。

View File

@ -0,0 +1,88 @@
# 言語固有のキーコード
<!---
original document: 0.9.55:docs/reference_keymap_extras.md
git diff 0.9.55 HEAD -- docs/reference_keymap_extras.md | cat
-->
キーボードは多くの言語をサポートすることができます。ただし、それらはキーを押したことで生成される実際の文字を送信しません - 代わりに数字のコードを送信します。USB HID の仕様ではそれらは "usages" と呼ばれますが、キーボードの文脈では「スキャンコード」あるいは「キーコード」と呼ばれることが多いです。
HID Keyboard/Keypad usage ページでは 256 未満の usage が定義されており、それらの一部は現在のオペレーティングシステムでは機能しません。では、この言語のサポートはどのようにして実現されるのでしょうか?
簡単に言うと、オペレーティングシステムはユーザが設定したキーボードレイアウトに基づいて受け取った usage を適切な文字にマップします。例えば、スウェーデン人がキーボードの `å` という文字が刻印されたキーを押すと、キーボードは *実際には* `[` のキーコードを送信します。
明らかにこれは混乱する可能性があるため、QMK は多くのキーボードレイアウトのために言語固有のキーコードのエイリアスを提供します。これらはそれだけでは何もしません - さらに OS の設定で対応するキーボードレイアウトを設定する必要があります。それらをキーマップのキーキャップラベルと考えてください。
これらを使うには、`keymap.c` で対応する [ヘッダファイル](https://github.com/qmk/qmk_firmware/tree/master/quantum/keymap_extras) を `#include` し、それらで定義されているキーコードを `KC_` プリフィクスの代わりに追加します:
| レイアウト | ヘッダファイル |
|-----------------------------|----------------------------------|
| Canadian Multilingual (CSA) | `keymap_canadian_multilingual.h` |
| Croatian | `keymap_croatian.h` |
| Czech | `keymap_czech.h` |
| Danish | `keymap_danish.h` |
| Dutch (Belgium) | `keymap_belgian.h` |
| English (Ireland) | `keymap_irish.h` |
| English (UK) | `keymap_uk.h` |
| English (US International) | `keymap_us_international.h` |
| Estonian | `keymap_estonian.h` |
| Finnish | `keymap_finnish.h` |
| French | `keymap_french.h` |
| French (AFNOR) | `keymap_french_afnor.h` |
| French (BÉPO) | `keymap_bepo.h` |
| French (Belgium) | `keymap_belgian.h` |
| French (Switzerland) | `keymap_fr_ch.h` |
| French (macOS, ISO) | `keymap_french_osx.h` |
| German | `keymap_german.h` |
| German (Switzerland) | `keymap_german_ch.h` |
| German (macOS) | `keymap_german_osx.h` |
| German (Neo2)* | `keymap_neo2.h` |
| Greek* | `keymap_greek.h` |
| Hebrew* | `keymap_hebrew.h` |
| Hungarian | `keymap_hungarian.h` |
| Icelandic | `keymap_icelandic.h` |
| Italian | `keymap_italian.h` |
| Italian (macOS, ANSI) | `keymap_italian_osx_ansi.h` |
| Italian (macOS, ISO) | `keymap_italian_osx_iso.h` |
| Japanese | `keymap_jp.h` |
| Korean | `keymap_korean.h` |
| Latvian | `keymap_latvian.h` |
| Lithuanian (ĄŽERTY) | `keymap_lithuanian_azerty.h` |
| Lithuanian (QWERTY) | `keymap_lithuanian_qwerty.h` |
| Norwegian | `keymap_norwegian.h` |
| Polish | `keymap_polish.h` |
| Portuguese | `keymap_portuguese.h` |
| Portuguese (Brazil) | `keymap_br_abnt2.h` |
| Romanian | `keymap_romanian.h` |
| Russian* | `keymap_russian.h` |
| Serbian* | `keymap_serbian.h` |
| Serbian (Latin) | `keymap_serbian_latin.h` |
| Slovak | `keymap_slovak.h` |
| Slovenian | `keymap_slovenian.h` |
| Spanish | `keymap_spanish.h` |
| Spanish (Dvorak) | `keymap_spanish_dvorak.h` |
| Swedish | `keymap_swedish.h` |
| Turkish (F) | `keymap_turkish_f.h` |
| Turkish (Q) | `keymap_turkish_q.h` |
言語固有でないものもありますが、QWERTY レイアウトを使っていない場合に役立ちます:
| レイアウト | ヘッダファイル |
|---------------------|--------------------------|
| Colemak | `keymap_colemak.h` |
| Dvorak | `keymap_dvorak.h` |
| Dvorak (French) | `keymap_dvorak_fr.h` |
| Dvorak (Programmer) | `keymap_dvp.h` |
| Norman | `keymap_norman.h` |
| Plover* | `keymap_plover.h` |
| Plover (Dvorak)* | `keymap_plover_dvorak.h` |
| Steno* | `keymap_steno.h` |
| Workman | `keymap_workman.h` |
| Workman (ZXCVM) | `keymap_workman_zxcvm.h` |
## Sendstring サポート
デフォルトでは、`SEND_STRING()` は US ANSI キーボードレイアウトが設定されたと見なします。別のレイアウトを使っている場合は、キーマップで(上記のように)`#include "sendstring_*.h"` して、ASCII 文字をキーコードにマッピングするために使われるルックアップテーブルを上書きすることができます。
ここで注意すべき重要な点は、`SEND_STRING()` は [ASCII 文字](https://en.wikipedia.org/wiki/ASCII#Character_set) でのみ機能するということです。これは、ユニコード文字を含む文字列を渡すことができないことを意味します - 残念ながら、これには希望のレイアウトに存在する可能性のあるアクセント付き文字が含まれています。
多くのレイアウトでは、Grave または Tilde などの特定の文字を[デッドキー](https://en.wikipedia.org/wiki/Dead_key)としてのみ使えるようにしています。そのため、デッドキーが次の文字と潜在的に結合されることを防ぐためには、送信したい文字列の中のデッドキーのすぐ後にスペースを追加する必要があります。
ラテン語由来のアルファベットを使わない(例えば、ギリシャ語やロシア語のような)他のレイアウトには、Sendstring ヘッダーがありません。従って ASCII 文字セットのほとんどを入力する方法がありません。これらは上記で `*` でマークされています。

75
docs/ja/serial_driver.md Normal file
View File

@ -0,0 +1,75 @@
# 'シリアル' ドライバ
<!---
original document: 0.9.51:docs/serial_drive.md
git diff 0.9.51 HEAD -- docs/serial_drive.md | cat
-->
このドライバは[分割キーボード](ja/feature_split_keyboard.md) 機能に使います。
?> この文章でのシリアルは、UART/USART/RS485/RS232 規格の実装ではなく、**一度に1ビットの情報を送信するもの**として読まれるべきです。
このカテゴリの全てのドライバには以下の特徴があります:
* 1本の線上でデータと信号を提供
* シングルマスタ、シングルスレーブに限定
## サポートされるドライバの種類
| | AVR | ARM |
|-------------------|--------------------|--------------------|
| bit bang | :heavy_check_mark: | :heavy_check_mark: |
| USART Half-duplex | | :heavy_check_mark: |
## ドライバ設定
### Bitbang
デフォルトのドライバ。設定がない場合はこのドライバが想定されます。設定するには、以下を rules.mk に追加します:
```make
SERIAL_DRIVER = bitbang
```
config.h を介してドライバを設定します:
```c
#define SOFT_SERIAL_PIN D0 // または D1, D2, D3, E6
#define SELECT_SOFT_SERIAL_SPEED 1 // または 0, 2, 3, 4, 5
// 0: 約 189kbps (実験目的のみ)
// 1: 約 137kbps (デフォルト)
// 2: 約 75kbps
// 3: 約 39kbps
// 4: 約 26kbps
// 5: 約 20kbps
```
#### ARM
!> bitbang ドライバは bitbang WS2812 ドライバと接続の問題があります
上記の一般的なオプションに加えて、halconf.h で `PAL_USE_CALLBACKS` 機能もオンにする必要があります。
### USART Half-duplex
通信が USART ハードウェアデバイスに送信される STM32 ボードが対象です。これにより高速で正確なタイミングを提供できることが利点です。このドライバの `SOFT_SERIAL_PIN` は、設定された USART TX ピンです。**TX ピンに適切なプルアップ抵抗が必要です**。設定するには、以下を rules.mk に追加します:
```make
SERIAL_DRIVER = usart
```
config.h を介してハードウェアを設定します:
```c
#define SOFT_SERIAL_PIN B6 // USART TX ピン
#define SELECT_SOFT_SERIAL_SPEED 1 // または 0, 2, 3, 4, 5
// 0: 約 460800 ボー
// 1: 約 230400 ボー (デフォルト)
// 2: 約 115200 ボー
// 3: 約 57600 ボー
// 4: 約 38400 ボー
// 5: 約 19200 ボー
#define SERIAL_USART_DRIVER SD1 // TX ピンの USART ドライバ。デフォルトは SD1
#define SERIAL_USART_TX_PAL_MODE 7 // 「代替機能」 ピン。MCU の適切な値については、それぞれのデータシートを見てください。デフォルトは 7
```
また、ChibiOS `SERIAL` 機能を有効にする必要があります:
* キーボードの halconf.h: `#define HAL_USE_SERIAL TRUE`
* キーボードの mcuconf.h: `#define STM32_SERIAL_USE_USARTn TRUE` (ここで、'n' は MCU で選択した USART のペリフェラル番号と一致)
必要な構成は、`UART` 周辺機器ではなく、`SERIAL` 周辺機器であることに注意してください。

22
docs/ja/support.md Normal file
View File

@ -0,0 +1,22 @@
# 助けを得る
<!---
original document: 0.9.51:docs/support.md
git diff 0.9.51 HEAD -- docs/support.md | cat
-->
QMK に関して助けを得るための多くのリソースがあります。
コミュニティスペースに参加する前に[行動規範](https://qmk.fm/coc/)を読んでください。
## リアルタイムチャット
何かについて助けが必要な場合は、迅速なサポートを受けるための最良の場所は、[Discord Server](https://discord.gg/Uq7gcHh) です。通常は誰かがオンラインで、非常に助けになる多くの人がいます。
## OLKB Subreddit
公式の QMK フォーラムは [reddit.com](https://reddit.com) の [/r/olkb](https://reddit.com/r/olkb) です。
## GitHub Issues
[GitHub で issue](https://github.com/qmk/qmk_firmware/issues) を開くことができます。issue は長期的な議論あるいはデバッグを必要とする場合は、特に便利です。

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