Compare commits

..

127 Commits

Author SHA1 Message Date
Drashna Jaelre
66d4734371 Improve and streamline MSYS2 installation (#7232)
* Make MSYS force install

* Cleanup msys script

* Update to gcc 8.3 for arm and avr

And cleanup install scripts for both

* Fix path and scripts

* Fix links

* No confirmation for msys

* Tweak arm function since file structure changed

* Fix spacing and wording

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

* Only use MSYS2's make binary

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

* Some wordsmithing

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Add "disable download timeout" for download issues in MSYS

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Clean up URL for arm gcc download

Co-Authored-By: Joel Challis <git@zvecr.com>

* add pip

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-22 18:09:02 +11:00
Drashna Jaelre
6cf574396a [Keyboard] Update default keymaps to use layer_state_t (#7444)
* Update default keymaps to use `layer_state_t`

* Convert binon32 as get_highest_layer in default keymaps
2019-11-21 22:40:29 -08:00
dsanchezseco
f0a9c10b6d [Keymap] added rgblight controls to planck keymap (#7439) 2019-11-21 22:15:40 -08:00
fauxpark
78954a0d3e [Keyboard] Add three missing layouts (#7441)
* Add three missing default layouts

* Add layout support to tragicforce68

* Not really 68%

* Fix dumb mistake

* Update info.json too

* Apply suggestions from code review
2019-11-21 20:25:19 -08:00
fauxpark
02412156d5 Add 4-character aliases for sendstring keycodes (#7409)
* Add 4-character aliases for sendstring keycodes

* Remove pointless mail keycode redefinition

* Forgot brightness keycodes
2019-11-22 14:11:28 +11:00
Thomas Baart
e70fef03c1 Updated Kyria readme.md with relocated build guide (#7438) 2019-11-21 21:03:47 +00:00
Erovia
7e7eb69edf MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands

Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.

* Hide those hidden submodules, for real now

* Rebase on latest MILC
2019-11-21 12:52:00 -08:00
Drashna Jaelre
f0790a722d Change label for stale bot (#7429)
* Change label for stale bot

* Reword things to be more concise and clear

* git add .  -- that's how this works, right?

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

* Remove Discussion label from issue templates
2019-11-21 11:02:39 -08:00
fauxpark
57815dbc3b [Keymap] Clean up & improve default layouts (#7428)
* Clean up & improve default layouts

* Add newline at EOF in readmes

* Oops
2019-11-21 03:50:23 -08:00
moyi4681
5d76b5f655 [Keyboard] dztech rgb pcb v2 support (#7423)
* dztech rgb pcb v2 support

dztech rgb pcb v2 support

* Update config.h

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update keyboards/dztech/dz60rgb/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-21 03:19:10 -08:00
Tim Schumacher
84065e1d74 [Keymap] Add DZ60, Levinson keymaps, twschum user files (#7358)
* Adds layout for DZ60rev2 plate B, options 4 and 10

* Use KC_TRANS for layer keys

* Format layer0 with visual key size layout

* Add RGB controls; add start description; add KC_LOCK

* Update comments on rules.mk for DZ60

* Gets keymap compiling

* Fix wiring for shift on row 3

* Hold a with other key to send Ctrl-A before other key

* Adds compile-time defined mac-compatability media keycodes

* Adds logic in place for capturing taps (w/ timeout)

* Add send_keys(...) which can send up to 64 nested keycodes

* Implement send_keys callable with n repeats

* Tweaks some of the keymap

* Add reset keycode; add disable to custom shortcuts

* Adds a special "off" layer where bonus mod goes to layer 0, every other key KC_NO

* Adjust timeout; mousekey settings

* Changes layout of Home,End,PgUp/Dn on the dedicated arrow keys L1/L2

* PoC on rgb lighted layer indication

* Refactors color table defines

* Adds logic for controlling layer lights

* Only change state on one side of the event lol

* Switch back to Tapping Toggle for layer 4

* Add custom config file for keyboard; TT and mousekey settings

* Code cleanup; starting to refactor special ctrl tapping keys functions

* Move defines and reak out functions

* Remove debugging light

* Adjust keymaps; add enter

* Adds a couple custom macros

* Add simplified version of keymap to help debug issues

* Adds basi numpad configuration for levinson keyboard half

* Use ANSI ctrl key as layer 1 for better one hand (`)

* Adapt to new 8bit hue from #5547; layer enum use everywhere

* Move custom code out to users/ space

* Flip col pins, move key assignments to "left hand"

* Update readme

* Implement placeholder macros

* Notes

* Reduce tapping time for SFT_T(/)

* Adds vim features; refactors things

* Adds fork of the vim features written by xton

* Use correct backspace keycode

* Add VIM_ESC

* Add "OFF" to the RGB/HSV definitions

* Clean up rules, use new "OFF" definition

* Add windows KC_CALCULATOR key to numpad

* Reformat layers with better guide; change layer names

* Add sleep key

* Change timeout delay

* Add a "code paste" which surrounds a ^V with ```

* Try removing shift tap on rshift /

* Update macros

* Update the "code paste" macro

* Update keymap with reset, calc, equals

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

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

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

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

* Update users/twschum/twschum.c

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

* Update users/twschum/twschum.c

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

* Revert quantum/rgblight_list.h

* Better name for split space layout; rename KEYMAP->LAYOUT

* Rename KEYMAP->LAYOUT

* Use simpler :flash command

* Clean up layout files

* Use qmk's MOD_MASK_CTRL

* Sync lufa submodule

* Cleanup from noroadsleft's PR comments

* Modernize vim layer code
2019-11-21 03:07:33 -08:00
Takeshi ISHII
90bb7db48e [Docs] Update japanese translation of newbs.md and related documents. (#7431)
* Update japanese translation of newbs.md and related documents.

* document link id change
* add `ja/` in each link
  `[xxx](yyy.md)` --> `[xxx](ja/yyy.md)`

* copy docs/ja/_summary.md from umi-umi's #7248 and fix it
2019-11-21 02:36:38 -08:00
Takeshi ISHII
e54aadf24a [Docs] fix broken link in docs/newbs_best_practices.md (#7430) 2019-11-21 01:02:15 -08:00
x1
8416a94ad2 [Keyboard] Add pico as a new keyboard (#7419)
* Add keyboards/ pico as a new keyboad.

* Add keyboards/pico rev1.

* Add keyboards/pico keymaps/default.

* Add keyboards/pico keymaps/jis.

* Remove unneeded code of rules.mk.

* Revert rules.mk and remove some comments.
2019-11-20 21:48:30 -08:00
Manna Harbour
ecc7355321 [Keymap] Add ALGR and kle image, expand and correct documentation (#7426) 2019-11-20 17:25:55 -08:00
moyi4681
baf6715a7e [Keyboard] knight malposition fix (#7422)
knight malposition fix
2019-11-20 17:22:27 -08:00
fauxpark
f7c8e7ff70 Add info.json files for all default layouts (#7425)
* Add info.json files for all default layouts

* Update layouts/default/60_hhkb/layout.json

* Fix layout.json spacing and info.json dimensions
2019-11-20 17:21:23 -08:00
Yan-Fa Li
6776703d8f Postage Board MCU (#7424)
* Postage Board MCU

* Fix keymap

* Postage mini

* Update readme

* R2

* Update readme

* flip

* better image of r1

* Add a DEFAULT_FOLDER to keep zed and ci happy

* Update keyboards/handwired/postageboard/readme.md

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

* Update keyboards/handwired/postageboard/readme.md

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

* Fix keyboard name
2019-11-20 16:38:51 -08:00
skullydazed
f7bdc54c69 Add flake8 to our test suite and fix all errors (#7379)
* Add flake8 to our test suite and fix all errors

* Add some documentation
2019-11-20 14:54:18 -08:00
Joel Challis
d2115f7d1c Allow 'make all:<user>' to not build EVERYTHING (#7402) 2019-11-20 22:32:16 +00:00
Drashna Jaelre
e6b9980bd4 Remove keymap_config extern from default keymaps (#7399)
* Remove keymap_config extern from default keymaps

* Revert unicode

Apparently VSCode does not like unicode, I didn't actually edit these lines, so it must have been automatic... :(

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-20 22:31:36 +00:00
kakunpc
46606e1ea5 [Keyboard] Add "thedogkeyboard" (#7401)
* add the dog keyboard

* set rgbled

* fix info.json and readme.md

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* update thedogkeyboard
2019-11-20 13:16:38 -08:00
trinity1561
0a5125a535 [Keyboard] Update e65.c to fix Caps Lock indicator (#7405)
* Update e65.c

Fixing Caps Lock LED indicator

* Update e65.c

Using new LED functions (led_update_kb)
2019-11-20 13:10:59 -08:00
Drashna Jaelre
eb91c96288 [Keymap] All about (ARM) RGB and OLEDs (drashna keymaps) (#7354)
* Add Kyria Keymap

* Enable all RGBLIGHT Animations for ARM and high capacity AVR

* Reduce GNUC version for __has_include

* Cleanup Ortho 4x12 Community layout

* Update Collide 39 keymap

* Cleanup Keymaps

* Enable full 30 LEDs for Ergodox

* Change EEPROM Load timing

* Use RGB Matrix on Planck Rev6

* Use correct keymap swap

* Enable everything for ARM

* Only enable rgb sleep on avr until crash is fixed

* Add additional Kyria keymap config

* Overhaul Kyria OLED display

* Improve kyria keymap based on usage

* Minor tweaks to rules

* Update OLED code to truncate properly

* Fix RGB Light layer indication

* Switch all of biton32 to get_highest_layer function

* Fix OLED Keylogger display

* Run qmk cformat over all of my user files

* Slight tweak to kyria based on usage

* Move around LALT_T config

* Add comments about base wrappers to keymaps

* Another cformat pass

* Temp fix for VUSB boards and NKRO

* Convert tabs to spaces in rules.mk files

* Only enable RGBLight if it's enabled

* Add Encoder Flip setting

* Update OLED font file
2019-11-20 12:37:24 -08:00
Drashna Jaelre
8e8986b250 Add auto-handling of stale PRs/Issues (#7197)
* Add auto-handling of stale PRs/Issues

This adds the configuration for probot-stale, so that PRs and Issues can be automatically pruned without intervention by collaborators.

This marks PRs with `awaiting changes` label after 45 days, and then closes any PR with "Awaiting changes" after 30 days.  Unless they have `awaiting review`, `breaking_changes`, `in progress` or `on hold` labels.

This marks issues as `solved` after 90 days, and then closes them 30 days afterwards. Unless they have `bug`, `discussion, `to do`, `in progress` or `on hold` labels.

* Cleanup the text some

* Update .github/stale.yml

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-20 12:17:52 -08:00
kuchosauronad0
b90edb75a3 [Docs] Start of German translation of documentation (#6909)
* Initial commit

* Fix links so that they point to the german translation

* minor changes to the wording of some sentences
* correctly capitalize second person pronouns

* Fix links so that they point to the german translation

* minor changes to the wording of some sentences
* correctly capitalize second person pronouns

* Translate newbs_learn_more_resources.md

* Clear up some phrases

* Add newbs_building_firmware.md, fix spelling

* Add newbs_building_firmware.md, fix spelling

* Update docs/de/_summary.md

Danke

* Update docs/de/README.md

* Update docs/de/_summary.md

Ich wollte es kuerzer halten damit die Navigationsleiste nicht zu breit wird, aber das ist halt die deutsche Sprache :)

* Update docs/de/newbs.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs.md

* Update docs/de/newbs.md

* Update docs/de/newbs.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Apply suggestions from code review

* Add translation of newbs_flashing.md

* Apply suggestions from code review

Danke

* Add translation of Zadig-guide

* Translate newbs_testing_debugging.md to german

Co-Authored-By: Max Rumpf <max.rumpf1998@gmail.com>
Co-Authored-By: geisterfurz007 <geisterfurz007@users.noreply.github.com>
2019-11-20 12:02:56 -08:00
Takeshi ISHII
3b9a139c07 fix feature_advanced_keycodes.md's link (#7421)
docs/feature_advanced_keycodes.md has:
```
[Tap Dance](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)
```

change to:
```
[Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)
```
2019-11-20 13:48:05 +00:00
ashpil
acd02e4469 [Keyboard] Add support for Model M USB C Controller (#7393)
* added usb c model m

* added readme

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* cleaned up code

* removed combo from keymap

* added reset to default

* Update keyboards/ashpil/modelm_usbc/rules.mk

* bootmagic and simplifying default

* Update rules.mk

* removed duplicates

* updated readme

* Update keyboards/ashpil/modelm_usbc/README.md

* Update modelm_usbc.h

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* full support for either ANSI or ISO

* Update keyboards/ashpil/modelm_usbc/info.json

* Update keyboards/ashpil/modelm_usbc/info.json

* Update keyboards/ashpil/modelm_usbc/info.json

* Resize the ISO Enter key

* ANSI Enter and Left Shift keys resize
2019-11-19 22:06:16 -08:00
Campbell Barton
8725f37de7 [Keymap] Update to qwerty_code_friendly (#7416)
- Move space to thumb cluster.
- Make L1 and L2 symmetrical.
- Add App & Menu keys.
2019-11-19 21:17:08 -08:00
moyi4681
831696611a [Keyboard] dz60rgb_wkl malposition fix (#7418)
fix malposition combile in config.qmk.fm
2019-11-19 18:02:23 -08:00
angelbirth
03e50e6dc9 ASH-1800 (#7031)
* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* Add handwired2x2 project, define pins for atmega328p in config_common.h

* Add USB IDs

* my custom KBD75 layout

* renaldi danang's numpad

* my redox keymap

* reynaldi danang's numpad

* asdasd

* ASH-1800

* added description and layer 1

* added requested changes from fauxpark

* forgot to include this

* USB descriptor parameter:
- assign product id
- assign description

edit formatting on readme.md

* update USB descriptor: change manufacturer

* review from fauxpark and noroadsleft

* remove extra files

* removed unnecessary comment

* minor cleanup
2019-11-20 11:21:19 +11:00
Erovia
25e9853efe [Core] Fix ps2avrgb template (#7412) 2019-11-19 13:00:45 -08:00
Erovia
c1c27b83aa [Keyboard] Add support for the THE30 keyboard (#7390) 2019-11-19 12:56:01 -08:00
くまお工房
bb87bdec82 [Keyboard] Add Kudox column-staggered layout. (#7400)
* Add Kudox columner layout.

* Remove an extra comma from info.json.
2019-11-19 12:51:47 -08:00
Mihai Olteanu
687a24f298 Fix typo and code indentation (#7410) 2019-11-19 13:41:35 +00:00
shela
23f828a2f3 [Docs] Fix Japanese country flag (#7407) 2019-11-19 00:38:50 -08:00
skullydazed
9c58da6b12 Improve a number of things about how MILC operates (#7344)
* Pull in updates for MILC

* Remove the shadow argparser
* Make it easier to reason about arguments and how they're translated into the config tree
* Populate self.config during init to support setting user.qmk_home for the global CLI
* Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing
* Remove the --save-config option as it's a little confusing anyway
* Use Pathlib for path manipulation

* Fix commands with no arguments
2019-11-18 14:54:50 -08:00
moyi4681
b608bddc5e knight Indicator light fix (#7398)
* knight Indicator light fix

* Update knight.c

* Update knight.c

* Update knight.c

* Update knight.c
2019-11-18 19:25:35 +11:00
Takeshi ISHII
cee8df3edf [Docs] Modified the description about setting debug_enable in docs/faq_debug.md. (#7394) 2019-11-17 17:09:57 -08:00
Luiz Correia
e58dd1a09a [Keyboard] Add abnt2 layout to gh60 (#7371)
* [keymap] Add abnt2 format to gh60

* Fix typing errors

* Change key names to capitals

* Fix layout define

* Apply suggestions from code review

* Fix layout define again I used a k

* Remove layer variable

* Update keyboards/dz60/keymaps/default_abnt2/readme.md

* Make changes from noroadsleft
2019-11-17 16:10:16 -08:00
zvecr
a91c0c4765 Run clang-format manually to fix recently changed files 2019-11-17 08:25:58 -08:00
James Young
6b18ca2875 Add Community Layout: 60_abnt2 (#7381)
* Add Community Layout: 60_abnt2

Add a 60% version of the standard keyboard layout used in Brazil.

* Enable 60_abnt2 support for DZ60

* fix the indenting in the Community Layout keymap
2019-11-17 08:12:57 -08:00
Erovia
7b6c8e89ca Doc fix to conform with #7221 (#7392) 2019-11-17 16:04:44 +00:00
James Young
46d0fe44f3 [Keyboard] Cutie Club Wraith: Configurator Bugfix for LAYOUT_iso (#7376)
* debug lint info.json

Because I need to debug this file.

* move ISO Enter to the proper location in sequence

* add key counts because I like having them
2019-11-16 12:46:34 -08:00
Robert Akhmerov
634b277b07 [Docs] Explain Tap Dance interruption (#5520) 2019-11-16 09:20:49 -08:00
QMK Bot
7891de7f6d format code according to conventions [skip ci] 2019-11-16 07:10:19 +00:00
jorgemanzo
897888db41 Add CLI command for flashing a keyboard
A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename].

A -kb <keyboard> and -km <keymap> is expected, or a configurator export JSON filename. A bootloader can be specified using -bl <target>, and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders.

If -km <keymap> is provided, but no -kb <keyboard>, then a message is printed suggesting the user to run qmk list_keyboards.
2019-11-15 23:06:07 -08:00
jotix
4f5b34af56 [Keymap] add_mouse_keys (#7372) 2019-11-15 17:22:48 -08:00
Joel Challis
b94f6cb116 Port SPLIT_USB_DETECT to crkbd (#7195) 2019-11-16 00:07:21 +00:00
XScorpion2
0f0c73f14a Updated slave encoder sync to reduce dropped pulses (#7325)
* Updated slave encoder sync to reduce dropped pulses

* Fixing encoder direction

* Encoder behavior fixes, tested

* Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk

To make fauxpark happy

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

* Update custom_encoder.c

* Update rules.mk
2019-11-15 15:01:50 -08:00
Drashna Jaelre
f6b5f6db76 Improvements to Solenoid feature (#7369)
* Error out when Solenid pin is not defined

Instead of defaulting to a (literally) random pin, error out instead.  Because this pin may be used, or because that pin may not be exposed, or may not exist.

* Remove 'SOLENOID_ACTIVE' setting since it's not used

* Update documentation
2019-11-15 22:27:46 +00:00
Richard Baptist
381b73fcac Fix the RGB_MATRIX_RAINBOW_PINWHEELS animation (#7365)
The internal naming was `PINWHEELS` instead of `RAINBOW_PINWHEELS`
causing a mismatch between animation definition and the function.
2019-11-15 13:12:34 -08:00
Salicylic-acid3
ad36bb37dd [Keyboard] Add keyboard Nafuda (#7367)
* [Keyboard] Add keyboard Nafuda

Add Nafuda keyboard.

A 7 keys keyboard.
Salicylic-acid3

* Update keyboards/nafuda/info.json

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/nafuda.h

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* info.json Update

* Update keyboards/nafuda/rules.mk
2019-11-15 10:20:57 -08:00
moyi4681
1c9e450218 [Keyboard] kbdfans keyboards NKRO enable (#7364) 2019-11-15 00:01:51 -08:00
James Young
700bea41f8 [Keyboard] fix DZ60RGB info.json (#7362)
* fix DZ60RGB info.json

JSON was invalid.

* correct metadata per moyi4681
2019-11-14 22:10:54 -08:00
Sid Carter
43889326fc Adding new pcb with default keymap and personal keymap (#7314)
* adding new pcb with default keymap and personal keymap

* Update keyboards/leeku/finger65/readme.md

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

* Change to newer DEBOUNCE format

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

* switch to pragma

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

* remove unused define keyboards/leeku/finger65/config.h

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

* some cleanup after debounce and other changes

* Remove no_suspend_power_down from keyboards/leeku/finger65/rules.mk

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

* move to newer format and remove unused stuff

* ensure default has no leds for now

* change default layout name

* clean up the keymap a bit

* want grave not tilde

* a minor change and cleanup

* more stuff removed cause I don't care for LEDs

* remove some remaining stuff

* add RGBLED stuff

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* update USB information

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/keymaps/default/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/default/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c

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

* cleanup and conform to existing standard

* Update keyboards/leeku/finger65/rules.mk

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

* remove stuff that doesn't work

* add a JSON for the QMK configurator

* list the layouts only available

* let's just make it the 65 ansi layout with split backspace, eh?

* remove extra space

* Update keyboards/leeku/finger65/readme.md

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

* Update keyboards/leeku/finger65/readme.md

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

* update readme

* remove redundant title

* Monica Bellucci ruined my life

* I'm having a RELIGIOUS EXPERIENCE ... and I don't take any DRUGS

* Update keyboards/leeku/finger65/rules.mk

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

* add a URL to the username

* fix readme and make it simpler with links this time

* Update keyboards/leeku/finger65/readme.md

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

* Update keyboards/leeku/finger65/readme.md

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

* incorporate suggested changes

* update usb stuff for some stuff coming in the future

* update layout for LAYOUT_ALL

* USB power changes
2019-11-15 13:30:29 +11:00
fauxpark
f98750de6e [Core] Cleanup rules.mk for F303 keyboards (#7306)
* Cleanup rules.mk for F303 keyboards

* Fix small typo
2019-11-14 18:25:40 -08:00
Takeshi ISHII
c19e4da8af [Docs] Japanese translation of docs/ja/newbs_best_practices.md (#7337)
* Mark same as in new document #7231

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* comment out the same marks

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs.md, docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/*.md's comment

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

Co-Authored-By: shela <shelaf@users.noreply.github.com>
2019-11-14 18:22:55 -08:00
fauxpark
519df78cdb Set device version from config.h for V-USB boards (#7316) 2019-11-15 10:21:53 +11:00
fauxpark
3047335729 Add support for configurable polling interval and power usage o… (#7336)
* Add support for custom polling interval and power usage on V-USB boards

* Use 1ms as default for now
2019-11-15 10:21:22 +11:00
jotix
a2eb962704 capslock_led (#7359) 2019-11-15 09:46:53 +11:00
Drashna Jaelre
1cf63a193b Move Ergodox EZ RGB Light code to custom driver (#7309)
* Move Ergodox EZ RGB code to custom driver

Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs
Co-authored-by: Seebs <seebs@seebs.net>

* Make Clipping range accessible for custom drivers

* Remove RGBW_BB_TWI from driver and docs

* Revert changes to clipping range support

* Use just rgblight_set instead of full custom driver

* Convert to i2c_master commands

* Rename rgblight driver and clean up includes
2019-11-14 12:00:51 -08:00
Jake Waksbaum
8dc9764f31 Fix shell.nix by pinning nixpkgs (#6213) 2019-11-14 12:00:36 -08:00
moyi4681
426c03eda0 [Keyboard] add kbdmini; dztech, kbdfans keyboards cleanup (#7223)
* add kbdmini, dztech and kbdfans keyboards small fix

* Caps lock indicator moved from keymap

* Update dz65rgb.c

* fix error

* fix matthewrobo keymap error

* Update keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c

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

* Update keyboards/dztech/dz60rgb/dz60rgb.c

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

* Update keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c

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

* Update keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c

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

* Update keyboards/dztech/dz65rgb/dz65rgb.c

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

* wrap all of the g_led_config stuff and rgb matrix functions in ifdefs

wrap all of the g_led_config stuff and rgb matrix functions in ifdefs
2019-11-14 11:55:46 -08:00
fauxpark
5edd4b99fe [Docs] Encourage newbs to not download the repo as a zip (#7353)
* Encourage newbs to not download the repo as a zip

* Tweak wording and remove Russian translation of deprecated Vista+ instructions
2019-11-14 11:37:18 -08:00
Drashna Jaelre
872744f5ab Update debounce docs (#7355) 2019-11-14 18:54:34 +00:00
MechMerlin
44df08746a [Keyboard] Add TG4x (#7351)
* initial commit

* add pins and matrix

* add an appropriate keymap

* set bootloader to caterina

* add QMK Configurator support

* turn on RGB and link time optimization

* add rgb pin

* update readme on rgb underglow info

* Update keyboards/tg4x/readme.md

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

* Update keyboards/tg4x/readme.md

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

* Update keyboards/tg4x/readme.md

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

* setting product id to 1 to match original code
2019-11-14 10:52:55 -08:00
MechMerlin
661462218b [Keyboard] Add FLX Virgo (#7352)
* help flex get his board into QMK

* Put my name everywhere it matters

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/rules.mk

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

* Update keyboards/flx/virgo/readme.md

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

* Update keyboards/flx/virgo/readme.md

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

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/readme.md

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

* add product and vendor id

* update readme with better description and img

* use fauxpark suggestion for led update
2019-11-14 03:12:50 -08:00
QMK Bot
1f332968a5 format code according to conventions [skip ci] 2019-11-14 08:08:07 +00:00
alittlepeace
d50d6f678f Adding verd layout to RSII (#7296)
* verd

verd

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keymap.c

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update rules.mk

* Update rules.mk

* Delete tests.txt

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update config.h

* Update verd.h

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update matrix.c

* Update readme.md

* Update verd.h

* Update verd.c

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/config.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/config.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update verd.h

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keymap.c

* Update verd.c

* Update config.h

* Update verd.h

added regular non split 0

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/rules.mk

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/matrix.c

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

* Update info.json

* Update info.json

* Update info.json

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-14 19:04:57 +11:00
Daniel Barber
28d3f03e43 Add my custom layouts for GH60, DZ60 and Minivan (#7278)
Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-14 14:26:40 +11:00
Luiz Correia
1b2e666490 [Keyboard] Added abnt2 layout to dz60 (#7340)
* [keymap] Added abnt2 format to dz60

* [layout] added LAYOUT_60_iso_abnt2 to dz60

* Fix error: macro  passed 63 arguments & takes 62

* Change BR_QUOTE to KC_GRV

* Clean dz60.h

* Apply suggestions from code review

Accepted suggested from noroadsleft

* Applied suggested changes

* Update info.js with abnt2 layout

* Update keyboards/dz60/info.json

* Update keyboards/dz60/info.json

* Rename the keymap to default_abnt2
2019-11-13 13:48:32 -08:00
Simon Aronsson
f2346be13d [Keyboard] add Little Keyboards as a seller of helix pcbs outside of japan (#7249)
* add lkb as a seller of helix pcbs outside of japan

* Update keyboards/helix/readme.md
2019-11-13 13:46:36 -08:00
fauxpark
fc867422a3 Update ARM GCC on macOS to 8.3 (#7318) 2019-11-13 10:13:27 -08:00
fauxpark
9dc5432a3e [Keyboard] XT converter: add config_common.h include and fix E0 collision (#7341) 2019-11-13 00:38:37 -08:00
Joel Challis
7e8f239c2e [CI] Revert to previous logic for branch name and changes (#7343) 2019-11-12 23:53:05 -08:00
Calvin Moody
6449bd2551 [Keymap] update calbatr0ss layout (#7342) 2019-11-12 23:10:54 -08:00
XScorpion2
1cd7afaff1 [Keymap] Added Xulkal ALT Keymap (#7332)
* Added Xulkal ALT Keymap

* Hadron compile fix

* Keymap fix
2019-11-12 23:02:58 -08:00
Salicylic-acid3
12ea2e3649 [Keyboard] Add keyboard Setta21 (#7320)
* [Keyboard] Add keyboard Setta21

Add Setta21 keyboard.

A 21 keys Tenkey.
Salicylic-acid3

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

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

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

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

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

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

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

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

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

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

* Update keyboards/setta21/info.json

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Keymap Update

Removed the keymap matrix_init_user.
Changed the declaration of DRIVER_LED_TOTAL.

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rev1/rev1.c

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update Keymap

Removed OLED sleep timer in keymap.

* Update keyboards/setta21/rev1/rev1.h

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-11-12 23:01:14 -08:00
QMK Bot
a4c2a9b083 format code according to conventions [skip ci] 2019-11-13 05:24:56 +00:00
Cody Bender
7329c2d02d Add cli convert subcommand, from raw KLE to JSON (#6898)
* Add initial pass at KLE convert

* Add cli log on convert

* Move kle2xy, add absolute filepath arg support

* Add overwrite flag, and context sensitive conversion

* Update docs/cli.md

* Fix converter.py typo

* Add convert unit test

* Rename to kle2qmk

* Rename subcommand

* Rename subcommand to kle2json

* Change tests to cover rename

* Rename in __init__.py

* Update CLI docs with new subcommand name

* Fix from suggestions in PR #6898

* Help with cases of case sensitivity

* Update cli.md

* Use angle brackets to indicate required option

* Make the output text more accurate
2019-11-12 20:55:41 -08:00
skullY
00fb1bd1f0 Make generating keymap.c from JSON more reliable 2019-11-12 20:37:28 -08:00
skullY
79edb7c594 Small CLI cleanups
* yapf changes
* Fix the cformat test
* Make the normpath test work when run from /
* `qmk config`: Mark `--read-only` as arg_only
2019-11-12 18:41:38 -08:00
skullY
d1b6c11b7f When checking program returncodes treat both 0 and 1 as installed 2019-11-12 18:40:24 -08:00
skullY
5421ba11de Add support for newer versions of clang-format, if installed 2019-11-12 18:39:42 -08:00
marhalloweenvt
b252cce18f [Keyboard] Add new keyboard Symmetry60 (#7327)
* [Keyboard] Add new keyboard Symmetry60

* Add new keyboard Symmetry60

* Fix Typo

* Update keyboards/handwired/symmetry60/config.h

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/rules.mk

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update symmetry60.c

* Update keyboards/handwired/symmetry60/rules.mk

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-11-11 21:04:35 -08:00
Stephen Hogsten
3f6426ff5f disable deprecated actions (#7211)
* disable deprecated actions

* wrap no action with link time optimization test

* fix link time optimization check
2019-11-12 13:27:20 +11:00
stanrc85
e75919960f [Keymap] minor config changes (#7334) 2019-11-11 17:32:09 -08:00
Xyverz
af683fc2ca [Keymap] Added macro (#7331)
Added MACLOCK macro, which sends CMD+CTRL+Q to perform a screen
lock on macs running Mojave or newer.
2019-11-11 15:11:56 -08:00
Takeshi ISHII
80713a8a58 Japanese translation of newbs.md and related documents. (#7300)
* add docs/ja/newbs.md

* Update docs/ja/newbs.md

* Updated newbs.md

* Updated newbs.md

* add docs/ja/newbs_learn_more_resources.md

* Update docs/ja/newbs.md

* update link info

他人まかせ :-)

* add docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_testing_debugging.md

* add docs/ja/newbs_building_firmware.md

* update docs/ja/newbs_building_firmware.md

* Update docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_building_firmware.md

* Update docs/ja/newbs_building_firmware.md

* Japanese translation of docs/newbs_getting_started.md

* renamed: docs/QMK入門.md -> docs/ja/newbs_getting_started.md

* update docs/ja/newbs_getting_started.md

* add ja/newbs_best_practices.md

There are no plans to translate this file.
With the completion of #7231, I will open a new PR.

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* add docs/ja/newbs_flashing.md

* add docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* update docs/ja/newbs_flashing.md

* change original log format

* update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* copy docs/_langs.md and docs/index.html from #7248

Co-Authored-By: shela <shelaf@users.noreply.github.com>
Co-Authored-By: takashiski <takashiskibb@gmail.com>
Co-Authored-By: Takuya Urakawa <urkwtky@gmail.com>
2019-11-11 14:27:48 -08:00
Joel Challis
f48986dda2 Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) 2019-11-11 21:06:14 +00:00
Josh Hinnebusch
543e612003 [Keyboard] add sm68 (#7279)
* add sm68

* update rules.mk to decrease final size (hopefully)

* update rules.mk

* update json

* update per PR comments

* remove custom keycodes from keymap

* update layout names in keymap

* change layout names

* Update keyboards/hineybush/sm68/info.json

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

* Update keyboards/hineybush/sm68/info.json

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

* Update keyboards/hineybush/sm68/info.json

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

* update readme
2019-11-11 09:27:57 -08:00
Jonathan Cameron
1d550552ca [Keyboard] Added French layer to handwired/2x5keypad (#7313)
* Added new 2x5 Keypad with 3 LEDs to indicate the selected layer.  By Jonathan Cameron.

* Minor refactor from suggestions from qmk team

* Added

* Moved to 'handwired' directory

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/handwired/2x5keypad/readme.md

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

* Switch to image offsite

* Moved image offsite

* Update keyboards/handwired/2x5keypad/keymaps/default/keymap.h

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

* Update keyboards/handwired/2x5keypad/2x5keypad.h

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

* Moved functions into .c file per suggestions

* Cosmetic

* Fixed function called, per suggestions.

* Update keyboards/handwired/2x5keypad/2x5keypad.h

Ok

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

* Moved LED functions to the top level since they can be used it various flavors

* Declare those moved LED functions!

* Update keyboards/handwired/2x5keypad/config.h

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

* First cut at French support

* Added French layer (green) for accented and special French characters

* Added french layer

* Fixed typo

* Updated to get more reasonable tap function
2019-11-11 09:26:14 -08:00
Xyverz
b2b947f815 [Keymap] Sol rework (#7317)
* Added WOW layer

* Initial commit for this branch. Still a work in progress.

* Added Rorschach keyboard layout.

* Simplified keymap

Removed the media layer to help simplify things. Also corrected some
keymap mistakes in the Qwerty and Colemak layers.

* Added ErgoTravel keymap.

* reverted to previous layout.

* Added Sol keyboard layout.

* Minor changes to keymap.

* more changes

* Added sol graphic by Kagerufu and Cardiactuna

* Added colemak layer because I can.

* more changes to sol layout

* Streamlined Sol layout

* minor tweaks to sol layout

* further revisions to sol keymap.

* Removing deprecated #include statements from my keymaps

* Standardizing keymap `include` lines.

* Minor change to keymap.

Swapped ESC with GRV on all alpha layers.

* Tweaks to Atreus62 Keymap

Added a layer for FPS RPG Loot Shooters.

* Fixed readme.md for Atreus keymap.

Replaced "Keymap" with "Layer" in illustrations for continuity's sake

* More readme.md clean-up

More clarification in the Atreus readme file.

* Next verse, same as the first.

* Changes to Sol layout

Bringing my Sol layout more in line with my other Orthos.

* Fixed keymap GUI.

Replaced left-hand "RGUI" with "LGUI" on all layers as it should be.

* Added ALPS64 keymap

* Formatting corrections

* fixes to config.h and keymap.c

* Fixed errors

This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h
and removes an stupid comma at the end of each LAYOUT stanza in
keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me.

* Fixed orthodox keymap config.h file

I hope this one fixes the problem. *sigh*

* Making suggested changes for PR#6192

Thanks to noroadsleft, fauxpark, and drashna. Still have
more work to do, but at least these suggestions have been applied.

* Fixing build errors

Travis has shown me the error of my ways...

* More fixes and corrections

Those pesky semicolons...

* More Fixes.

* Removing unneeded code snippet.

* fixed omitted semicolons

* Code updates to my keymaps

Updating the code for my Iris, Atreus62, and Atreus keymaps.

* Fixed Atreus62 Keymap

I forgot to add in the aliases for LOWER, RAISE, and ADJUST.

* Added userspace

Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro

* Fixing code that disables LEDs on ProMicros
Also tidied up my ErgoTravel keymap.

* Moving userspace to new branch

Moving my userspace to a new branch for the sake of keeping things
clean on the master branch.

* Added F13-F15 to Atreus62 Layout.

* Update readme.md.

* Updated Phantom keymap to current keymap standards

* Phantom keymap updates

Further updates - tidying and removing cruft.
Thank you zvecr on Discord for the help!

* Standards Updates

Bringing my Kinesis keymap up to current code standards

* Adding a readme

* Bring GH60 code to standard

* Utilizing layouts for 60_ansi and tkl_ansi

Moving my GH60 and Phantom keymaps into layouts/community/

* Alps64 layout removal

Removing my Alps64 keymap now that I've setup my 60_ansi layout.

* Moved Clueboard layout to community/66_ansi.

* Additions to 66_ansi config.h

* Bringing keymaps up to standard.

* More updates to keymaps.

* Syntax updates

* Revert "Syntax updates"

This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183.

* Moved WIP keymaps

Moved my WIP keymaps to my wip_keymaps branch to keep my master clean

* Updates requested by noroadsleft

* more changes per noroadsleft

More fixes as requested by noroadsleft. Further tidy-up and
standardization of my keymap code.

* Reworked Sol Keymap

Reworking the Sol keymap to bring it more or less up to current
standards and to accurately depict the correct layer on the OLED
display.

* Final tweaks to sol keymap

... for now.
2019-11-11 00:02:01 -08:00
tarnjotsingh
54d8251f6f [Keymap] UK ISO keymap for DZ60 (#7322)
* New custom ISO keymap for DZ60

* New custom ISO keymap for DZ60

* Adding relative path for keymap image

* Removed reference to PNG and updated the README accordingly.

* Improving on the README some more after reading up on the guidelines for
keymaps
2019-11-11 08:45:03 +11:00
T.Shinohara
e87434aa32 [Keymap] Shino3/shiro Add Mac Keymaps (#7319)
* add keyboard new macro pad "Kuro"

* change main readme.md

* remove not used code from default/keymap.c

* Remove unnecessary code

* Supports info.json

* removed back slash and not used functions.

* update at product link. add japanese messages.

* Merge All

* [Shiro]Add MacKeymap
2019-11-10 09:15:38 -08:00
Joel Challis
1d4287cb95 Fix chibios when mouse and nkro disabled (#7312) 2019-11-10 09:02:46 -08:00
Drashna Jaelre
60e4921378 Unify RGB and RGBW commands (#7297)
* Fix unicode in comments

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

* Remove separate RGBW implementation for a unified function

* Set White to 0 in RGBW LEDs

This is just to get this working, later, proper brightness can be handled elsewhere.

* Use us instead of nanoseconds(?) since it renders correctly on web

* Remove RGBW function from arm/ws2812.h

* Remove RGBW function from arm/ws2812.c

* Formatting changes

* Add doc info
2019-11-09 15:51:39 +00:00
fauxpark
78205e64a7 [Keyboard] Fix readme make examples for some Kingly Keys boards (#7308) 2019-11-08 20:17:36 -08:00
codecoffeecode
f3f1bb166a [Keymap] Adding keymaps for Niu Mini and BDN9 (#7299)
* niu-mini

* fix

* media controls were off by one

* Adding some function keys

* bdn9 and some other stuff

* Fixed mouse functions on bdn9 -- the acceleration related macros are NOT optional

* ported over foo to codecoffeecode niu_mini keymap

* removing foobar

* removing foobar, moving config changes to my folder only

* limiting rule changes to my folder

* Simplifying config.h and rules.mk

* not really sure why this didn't commit the first time but...

* Fixed up the Niu Mini

* Update keyboards/keebio/bdn9/keymaps/codecoffeecode/config.h

Adding missed #pragma once to the top of my config.h for bdn9

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

* Switching from SEND_STRING() to tap_code16

* Simplifying -> didn't need macros for Ctrl+(Home|End)
2019-11-08 20:15:16 -08:00
Drashna Jaelre
63d899d1ad [GitHub] Update issue templates (#7303)
* Update issue templates

* Create config.yml

* Update bug_report.md

* Update other_issues.md

* Update feature_request.md

* Wordsmithing and type fixes
2019-11-08 20:09:54 -08:00
Ivan Smirnov
2b30776dd0 [Keymap] Add issmirnov {user, ergodox, levinson} files. (#7239)
* Add issmirnov {user, ergodox, levinson} files.

There are enough interesting QMK tricks in these layouts that it seems
worth it to share with the broader community. Big thanks to Drashna for
inspiration, as well as all the wonderful creators of QMK documentation.

Some highlights:
- Common layout shared between levinson and ergodox_ez
- TAP_TOG macro for fast layer switching
- Autogenerated keymaps ascii art with git hooks

I will do my best to do periodic rolls here, but the source of truth
will always be https://github.com/issmirnov/qmk-keebs

* Incorporate review feedback.

- Remove CLEAR_EEPROM in favor of built in EEP_RST
- Remove custom handlers for audio on bootup and shutdown
- Remove plethora of unneeded includes
- Remove deprecated and dupliated config options

HUGE thanks to drashna for the review!

* Apply suggestions from code review

Huge thanks to drashna@ for a very thorough review and the very useful suggestions.

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

* Remove unclear optimization

This was an artifact from some other keymap I saw.
2019-11-08 19:17:21 -08:00
fauxpark
5414ff709f [Doc] Tidy up compatible MCUs docs (#7295)
* Tidy up compatible MCUs docs

* ARM chips should have USB

* 32KB soft lower limit applies to ARM as well

* NXP is the manufacturer name, not Kinetis

* Units
2019-11-08 18:34:25 -08:00
Rys Sommefeldt
26ce66e306 [Keyboard] Update COD67 support to complete it and add a personal map (#7291)
* Update docs for default keymap

* Update COD67 docs with fixes and macOS details

* Add a personal COD67 2-layer map with RGB control

* Enable RGB, NKRO and change firmware format to bin

* Swap k0D and k48 to fix backspace on the top row

* Add RGB config and tidy up a bit

* Finish default map because merlin was full of bbq

* Whoops, rogue tabs

* Typo fix in the main COD67 readme

* Remove empty function defs in keymap

* Swap how the backspace key relocation happens

* Fix PRODUCT_ID and add a link to software PWM docs

* Disable NKRO and bootmagic and enable mouse keys

* Better header guard

* Whoops, forgot to remote the #endif
2019-11-08 18:30:44 -08:00
Joel Challis
c1970e284d Fix LAYER_STATE_8BIT compile issues (#7304) 2019-11-08 18:23:26 -08:00
Gregory Gubarev
2075370633 [Docs] Create RU ver of getting_started_github (#7225)
* Create RU ver of getting_started_github

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update

* Updated first frase

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Updated

Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
Co-Authored-By: nabokovas <bbkv@bk.ru>
2019-11-08 16:30:20 -08:00
Joel Challis
31eee6b05d Initial firmware for Retro75 (#7294)
* Initial firmware for Retro75

* Update readme to match new template guidelines
2019-11-08 21:43:30 +00:00
Jonathan Rascher
680d401faf Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)
Copypasta from the AVR suspend implementation with a Teensy-specific
hack removed
2019-11-08 21:43:02 +00:00
Daniel Shields
6fd88c1556 [Keymap] Remove dynamic macro customization now it's a core feature. (#7301) 2019-11-08 10:31:36 -08:00
tw1t611
0483327fa6 [Keymap] Tw1t611 (#7282)
* Add tw1t611 keymap.

* Add underglow
2019-11-07 20:49:45 -08:00
Drashna Jaelre
cec391df70 [Keyboard] Enable RGB Light on ARM OLKB Keyboards (#7293)
* Enable RGBLight on Planck Rev6

* Enable RGBLight on Preonic Rev3

All hail zvecr!
2019-11-07 15:49:51 -08:00
Yan-Fa Li
d96f0584a2 [Keyboard] Hadron v3 Enable RGB (#7292)
- bitbang age is upon us. All hail zvecr
2019-11-07 15:48:41 -08:00
Derek
0f249990a9 [Keyboard] Add UA62 keyboard (#7290)
* Added UA62

Added UA62 Keyboard

* Update readme.md

* Made changes based on code review

Updated files.

* Rename UA62.c to ua62.c

* Rename UA62.h to ua62.h

* Rename keyboards/UA62/readme.md to keyboards/ua62/readme.md

* Rename keyboards/UA62/keymaps/default/keymap.c to keyboards/ua62/keymaps/default/keymap.c

* Rename keyboards/UA62/config.h to keyboards/ua62/config.h

* Update and rename keyboards/UA62/info.json to keyboards/ua62/info.json

* Rename keyboards/UA62/rules.mk to keyboards/ua62/rules.mk

* Rename keyboards/UA62/ua62.c to keyboards/ua62/ua62.c

* Rename keyboards/UA62/ua62.h to keyboards/ua62/ua62.h

* Update keyboards/ua62/readme.md
2019-11-07 07:51:06 -08:00
Joel Challis
1ea0cac998 ARM - ws2812 bitbang (#7173)
* Initial ARM bitbang ws2812 driver

* Unify chibios platform to run rgblight_task

* Remove 'avr only' comments from ws2812 docs

* Remove 'avr only' comments from ws2812 docs

* Unify chibios platform to run rgblight_task - review comments

* Remove debug flags from keymap

* Add comments from review

* Add defines for STM32L0XX

* Attempt to get arm ws2812 working on multiple gcc versions
2019-11-07 13:10:29 +00:00
fauxpark
b9610091f5 [Keyboard] Fix led_init_ports() for Wasdat (#7288) 2019-11-07 00:36:31 -08:00
Josh Hinnebusch
002adadf58 [Keyboard] update hbcp keymaps (#7275)
* update hbcp keymaps

* update hbcp info.json file

* update readme

* update hbcp "hiney" keymap
2019-11-05 22:30:13 -08:00
James Young
95309e9af5 [Keymap] Updates to noroadsleft keymap for KC60 (2019-11-05) (#7265)
* Rename layers_keymap to layer_names

* Update Escape and Left Control keys

- change KC_GESC to KC_ESC
- change KC_LCTL to MT(MOD_LCTL, KC_GRV)

* Disable features I don't use

Makes the firmware lean. Why? Because I can. :D

* Update the readme files

* Add KC_F13 through KC_F24 emulation

... and update the readme files accordingly.

* Update rules/config

- Swap EXTRAFLAGS for LINK_TIME_OPTIMIZATION_ENABLE
  - remove NO_ACTION_MACRO and NO_ACTION_FUNCTION
- Re-enable COMMAND

* concatenate full-length and short layer names

* enable dynamic macros

* update readme files
2019-11-05 22:12:21 -08:00
fauxpark
dfb78d2a08 New and improved lock LED callbacks (#7215)
* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
2019-11-06 00:42:16 +00:00
buztard
ed0575fc8a [Keyboard] Remove RGB_MATRIX_SPLIT_RIGHT from crkbd (#7267)
The need for this was dropped in 947e61eaebf168c0c60be34914141cff9a69e599
2019-11-05 12:05:42 -08:00
fauxpark
7c0edbe800 Set git submodule update depth to 50 (#7269) 2019-11-05 11:50:18 -08:00
fauxpark
fc51a4a107 Fix typo in ARM I2C copyright header (#7264) 2019-11-04 23:19:21 -08:00
Tsan-Kuang Lee
8b832c494c [Keyboard] add keymap beautifier for Ergodox EZ (#4393)
* add beautifier

* add example

* Update keyboards/ergodox_ez/util/keymap_beautifier.py

Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com>

* Update keyboards/ergodox_ez/util/keymap_beautifier.py

Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com>

* works for regular layout

* all planned features implemented

* add justification switch

* docker support

* doc and starting script

* clean up the container after done
2019-11-04 23:14:15 -08:00
x1
dcb2d63302 [Keyboard] Add Kudox Rev2 (#7253)
* Add a directory as rev2 in keybords/kudox.

* Modified default keymap of Kudox.

* Modified JIS keymap of Kudox.

* Changed kudox default from rev1 to rev2.

* Modified a keymap of kudox/x1.

* Move keyboards/kudox/keymaps to keyboards/kudox/rev1/.

* Remove keyboards/kudox/info.json.

* Modified kudox's READMEs.

* Remove unnecessary codes.
2019-11-04 23:07:31 -08:00
James Young
dc1137129d [Keyboard] Add LAYOUT_60_iso to XD60 (#7263)
* refactor iso keymap

- remove redundant action_layer.h include
- use enum for layer management
- QMK coding conventions (four-space indent)

* add LAYOUT_60_iso macro

* enable 60_iso community layout for both revisions

* swap KC_HOME to KC_RSFT

* update ISO keymap readme

* update default keymap readme

`make` command no longer valid.

* refactor keyboard readme

Update to reflect current QMK template.

* add LAYOUT_60_iso data to info.json

* use #pragma once in header files
2019-11-04 23:05:51 -08:00
fauxpark
1244d0e266 Un-clang-format usb_descriptor.h (#7216)
Preserves readability of the file, making it easier to understand and modify.
2019-11-04 23:04:58 -08:00
Drashna Jaelre
542cb0a8ce [Core] Convert Dynamic Macro to a Core Feature (#5948)
* Convert Dynamic Macro to a Core Feature

This imports the code from Dynamic Macro into the core code, and handles it, as such.

This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched.

Additionally, this reorganizes the documentation to better reflect the changes.

Also, it adds user hooks to the feature so users can customize the existing functionality.

Based heavily on and closes #2976

* Apply suggestions from code review

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

* Cleanup based on feedback

* Add short-form keycodes and document them

- add short-form keycodes to quantum/quantum_keycodes.h
- document the new aliases in docs/feature_dynamic_macros.md

* Add Dynamic Macros section and keycodes to docs/keycodes.md

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

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

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type
2019-11-04 22:59:13 -08:00
Jonathan Rascher
0e664f92c4 Switch Quefrency to serial for independent halves (#7262) 2019-11-05 17:37:54 +11:00
987 changed files with 33681 additions and 10024 deletions

View File

@ -1,5 +1,11 @@
---
name: Blank issue
about: If you're 100% sure that you don't need one of the other issue templates, use this one instead.
about: If you're 100% sure that you don't need one of the other issue templates, use
this one instead.
title: ''
labels: help wanted, question
assignees: ''
---

View File

@ -1,7 +1,12 @@
---
name: Bug report
about: Create a report to help us improve the QMK Firmware
about: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: bug, help wanted
assignees: ''
---
<!-- Provide a general summary of the bug in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: QMK Discord
url: https://discord.gg/Uq7gcHh
about: Ask questions, discuss issues and features. Chill.
- name: OLKB Subreddit
url: https://www.reddit.com/r/olkb
about: All things OLKB and QMK.

View File

@ -1,7 +1,12 @@
---
name: Feature request
about: Suggest a new feature or changes to existing features
about: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: enhancement, help wanted
assignees: ''
---
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->

View File

@ -1,7 +1,12 @@
---
name: Other issues
about: Anything else that doesn't fall into the above categories.
about: Anything else that doesn't fall into the above categories.
title: ''
labels: help wanted, question
assignees: ''
---
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->

58
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,58 @@
# Configuration for probot-stale - https://github.com/probot/stale
# General configuration
# Pull request specific configuration
pulls:
staleLabel: awaiting changes
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 45
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 30
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress, or `on hold` to prevent
the issue from being re-flagged.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Thank you for your contribution!
This pull request has been automatically closed because it has not had activity in the last 30 days.
Please feel free to give a status update now, ping for review, or re-open when it's ready.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
exemptLabels:
- awaiting review
- breaking_change
- in progress
- on hold
# Issue specific configuration
issues:
staleLabel: stale
limitPerRun: 10
daysUntilStale: 90
daysUntilClose: 30
markComment: >
This issue has been automatically marked as stale because it has not had activity in the
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
occurs.
For maintainers: Please label with `bug`, `in progress`, `on hold`, discussion` or `to do` to prevent
the issue from being re-flagged.
closeComment: >
This issue has been automatically closed because it has not had activity in the last 30 days.
If this issue is still valid, re-open the issue and let us know.
exemptLabels:
- bug
- in progress
- on hold
- discussion
- to do

View File

@ -272,12 +272,14 @@ define PARSE_RULE
# If the rule starts with all, then continue the parsing from
# PARSE_ALL_KEYBOARDS
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
KEYBOARD_RULE=all
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
$$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue
# the parsing from PARSE_KEYBOARD
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
KEYBOARD_RULE=$$(MATCHED_ITEM)
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
# Otherwise use the KEYBOARD variable, which is determined either by
# the current directory you run make from, or passed in as an argument
@ -380,6 +382,9 @@ define PARSE_KEYBOARD
# Otherwise try to match the keymap from the current folder, or arguments to the make command
else ifneq ($$(KEYMAP),)
$$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
# Otherwise if we are running make all:<user> just skip
else ifeq ($$(KEYBOARD_RULE),all)
# $$(info Skipping: No user keymap for $$(CURRENT_KB))
# Otherwise, make all keymaps, again this is consistent with how it works without
# any arguments
else
@ -558,10 +563,10 @@ endef
if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 1 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 1 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 1 --init lib/ugfx; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 1 --init lib/lufa; fi
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 50 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 50 --init lib/ugfx; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 50 --init lib/lufa; fi
git submodule status --recursive 2>/dev/null | \
while IFS= read -r x; do \
case "$$x" in \

View File

@ -41,7 +41,7 @@ else:
os.environ['QMK_VERSION'] = 'nogit-' + strftime('%Y-%m-%d-%H:%M:%S') + '-dirty'
# Setup the CLI
import milc
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@ -61,7 +61,7 @@ def main():
os.chdir(qmk_dir)
# Import the subcommands
import qmk.cli
import qmk.cli # noqa
# Execute
return_code = milc.cli()

View File

@ -22,6 +22,5 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
endif
# Generate the keymap.c
ifneq ("$(KEYMAP_JSON)","")
_ = $(shell test -e $(KEYMAP_C) || bin/qmk json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C))
endif
$(KEYBOARD_OUTPUT)/src/keymap.c:
bin/qmk json-keymap --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)

View File

@ -407,8 +407,12 @@ ifeq ($(strip $(SPACE_CADET_ENABLE)), yes)
OPT_DEFS += -DSPACE_CADET_ENABLE
endif
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c
OPT_DEFS += -DDIP_SWITCH_ENABLE
endif
ifeq ($(strip $(DYNAMIC_MACRO_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_dynamic_macro.c
OPT_DEFS += -DDYNAMIC_MACRO_ENABLE
endif

View File

@ -15,7 +15,7 @@ QMK (*Quantum Mechanical Keyboard*) is an open source community that maintains Q
If you plan on contributing a keymap, keyboard, or features to QMK, the easiest thing to do is [fork the repo through Github](https://github.com/qmk/qmk_firmware#fork-destination-box), and clone your repo locally to make your changes, push them, then open a [Pull Request](https://github.com/qmk/qmk_firmware/pulls) from your fork.
Otherwise, you can either download it directly ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), or clone it via git (`git@github.com:qmk/qmk_firmware.git`), or https (`https://github.com/qmk/qmk_firmware.git`).
Otherwise, you can clone it directly with `git clone https://github.com/qmk/qmk_firmware`. Do not download the zip or tar files; a git repository is required to download the submodules in order to compile.
## How to Compile

View File

@ -5,3 +5,4 @@
- [:fr: Français](/fr-fr/)
- [:he: עברית](/he-il/)
- [:ru: Русский](/ru-ru/)
- [:jp: 日本語](/ja/)

View File

@ -33,6 +33,7 @@
* [Keymap Overview](keymap.md)
* [Hardware](hardware.md)
* [Compatible Microcontrollers](compatible_microcontrollers.md)
* [AVR Processors](hardware_avr.md)
* [Drivers](hardware_drivers.md)

View File

@ -95,6 +95,30 @@ qmk compile <configuratorExport.json>
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk flash`
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default.
To specify a different bootloader, use `-bl <bootloader>`. Visit <https://docs.qmk.fm/#/flashing>
for more details of the available bootloaders.
**Usage for Configurator Exports**:
```
qmk flash <configuratorExport.json> -bl <bootloader>
```
**Usage for Keymaps**:
```
qmk flash -kb <keyboard_name> -km <keymap_name> -bl <bootloader>
```
**Listing the Bootloaders**
```
qmk flash -b
```
## `qmk config`
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
@ -135,6 +159,28 @@ Creates a keymap.c from a QMK Configurator export.
qmk json-keymap [-o OUTPUT] filename
```
## `qmk kle2json`
This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite.
**Usage**:
```
qmk kle2json [-f] <filename>
```
**Examples**:
```
$ qmk kle2json kle.txt
☒ File info.json already exists, use -f or --force to overwrite.
```
```
$ qmk kle2json -f kle.txt -f
Ψ Wrote out to info.json
```
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`

View File

@ -173,3 +173,35 @@ You will only be able to access these arguments using `cli.args`. For example:
```
cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.output)
```
# Testing, and Linting, and Formatting (oh my!)
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `pyformat` subcommands to run these tests:
### Testing and Linting
qmk pytest
### Formatting
qmk pyformat
## Formatting Details
We use [yapf](https://github.com/google/yapf) to automatically format code. Our configuration is in the `[yapf]` section of `setup.cfg`.
?> Tip- Many editors can use yapf as a plugin to automatically format code as you type.
## Testing Details
Our tests can be found in `lib/python/qmk/tests/`. You will find both unit and integration tests in this directory. We hope you will write both unit and integration tests for your code, but if you do not please favor integration tests.
If your PR does not include a comprehensive set of tests please add comments like this to your code so that other people know where they can help:
# TODO(unassigned/<yourGithubUsername>): Write <unit|integration> tests
We use [nose2](https://nose2.readthedocs.io/en/latest/getting_started.html) to run our tests. You can refer to the nose2 documentation for more details on what you can do in your test functions.
## Linting Details
We use flake8 to lint our code. Your code should pass flake8 before you open a PR. This will be checked when you run `qmk pytest` and by CI when you submit a PR.

View File

@ -1,25 +1,36 @@
# Atmel AVR
# Compatible Microcontrollers
QMK should run on any Atmel AVR processor with enough Flash. It has been tested on the following:
QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB or more, though it will *just* squeeze into 16kB with most features disabled.
* ATmega32U4 ([PJRC Teensy 2.0](http://www.pjrc.com/teensy/))
* AT90USB1286 ([PJRC Teensy++ 2.0](http://www.pjrc.com/teensy/))
* AT90USB1287 ([Atmel USBKEY](http://www.atmel.com/tools/AT90USBKEY.aspx))
* ATmega168P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega328P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega32U2
* AT90USB1286, 646, 647 should work
* AT90USB162 testing...
## Atmel AVR
NOTE: To enable full features of firmware you'll need 32KB flash size.
The following use [LUFA](https://www.fourwalledcubicle.com/LUFA.php) as the USB stack:
Please add any tested microcontrollers to this list.
* [ATmega16U2](https://www.microchip.com/wwwproducts/en/ATmega16U2) / [ATmega32U2](https://www.microchip.com/wwwproducts/en/ATmega32U2)
* [ATmega16U4](https://www.microchip.com/wwwproducts/en/ATmega16U4) / [ATmega32U4](https://www.microchip.com/wwwproducts/en/ATmega32U4)
* [AT90USB64](https://www.microchip.com/wwwproducts/en/AT90USB646) / [AT90USB128](https://www.microchip.com/wwwproducts/en/AT90USB1286)
# ARM
Certain MCUs which do not have native USB will use [V-USB](https://www.obdev.at/products/vusb/index.html) instead:
You can also use any ARM processor that [ChibiOS](http://www.chibios.org) supports. The following processors have been tested:
* [ATmega32A](https://www.microchip.com/wwwproducts/en/ATmega32A)
* [ATmega328P](https://www.microchip.com/wwwproducts/en/ATmega328P)
* [Kinetis MKL26Z64](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/l-series-ultra-low-power-m0-plus/kinetis-kl2x-48-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX256](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/k-series-performance-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72)
## ARM
You can also use any ARM chip with USB that [ChibiOS](http://www.chibios.org) supports. Most have plenty of flash. Known to work are:
### STMicroelectronics (STM32)
* [STM32F0x2](https://www.st.com/en/microcontrollers-microprocessors/stm32f0x2.html)
* [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html)
* [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html)
### NXP (Kinetis)
* [MKL26Z64](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/kl-series-cortex-m0-plus/kinetis-kl2x-72-96-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
* [MK20DX128](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-50-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-based-on-arm-cortex-m4-core:K20_50)
* [MK20DX256](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72)
## Atmel ATSAM
There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop).

View File

@ -196,8 +196,8 @@ If you define these options you will enable the associated feature, which may in
* units to step when in/decreasing saturation
* `#define RGBLIGHT_VAL_STEP 12`
* units to step when in/decreasing value (brightness)
* `#define RGBW_BB_TWI`
* bit-bangs TWI to EZ RGBW LEDs (only required for Ergodox EZ)
* `#define RGBW`
* Enables RGBW LED support
## Mouse Key Options

View File

@ -90,68 +90,110 @@ keyrecord_t record {
# LED Control
QMK provides methods to read the 5 LEDs defined as part of the HID spec:
QMK provides methods to read 5 of the LEDs defined in the HID spec:
* `USB_LED_NUM_LOCK`
* `USB_LED_CAPS_LOCK`
* `USB_LED_SCROLL_LOCK`
* `USB_LED_COMPOSE`
* `USB_LED_KANA`
* Num Lock
* Caps Lock
* Scroll Lock
* Compose
* Kana
These five constants correspond to the positional bits of the host LED state.
There are two ways to get the host LED state:
There are two ways to get the lock LED state:
* by implementing `led_set_user()`
* by calling `host_keyboard_leds()`
* by implementing `bool led_update_kb(led_t led_state)` or `_user(led_t led_state)`; or
* by calling `led_t host_keyboard_led_state()`
## `led_set_user()`
!> `host_keyboard_led_state()` may already reflect a new value before `led_update_user()` is called.
This function will be called when the state of one of those 5 LEDs changes. It receives the LED state as a parameter.
Use the `IS_LED_ON(usb_led, led_name)` and `IS_LED_OFF(usb_led, led_name)` macros to check the LED status.
Two more deprecated functions exist that provide the LED state as a `uint8_t`:
!> `host_keyboard_leds()` may already reflect a new value before `led_set_user()` is called.
* `uint8_t led_set_kb(uint8_t usb_led)` and `_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
### Example `led_set_user()` Implementation
## `led_update_user()`
This function will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter.
You must return either `true` or `false` from this function, depending on whether you want to override the keyboard-level implementation.
?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead.
### Example `led_update_kb()` Implementation
```c
void led_set_user(uint8_t usb_led) {
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (IS_LED_ON(usb_led, USB_LED_COMPOSE)) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (IS_LED_ON(usb_led, USB_LED_KANA)) {
writePinLow(B4);
} else {
writePinHigh(B4);
bool led_update_kb(led_t led_state) {
if(led_update_user(led_state)) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
return true;
}
}
```
### `led_set_*` Function Documentation
### Example `led_update_user()` Implementation
* Keyboard/Revision: `void led_set_kb(uint8_t usb_led)`
* Keymap: `void led_set_user(uint8_t usb_led)`
```c
bool led_update_user(led_t led_state) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
return true;
}
```
## `host_keyboard_leds()`
### `led_update_*` Function Documentation
Call this function to get the last received LED state. This is useful for reading the LED state outside `led_set_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code).
For convenience, you can use the `IS_HOST_LED_ON(led_name)` and `IS_HOST_LED_OFF(led_name)` macros instead of calling and checking `host_keyboard_leds()` directly.
* Keyboard/Revision: `bool led_update_kb(led_t led_state)`
* Keymap: `bool led_update_user(led_t led_state)`
## `host_keyboard_led_state()`
Call this function to get the last received LED state as a `led_t`. This is useful for reading the LED state outside `led_update_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code).
## Setting Physical LED State

33
docs/de/README.md Normal file
View File

@ -0,0 +1,33 @@
# Quantum Mechanical Keyboard Firmware
[![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## Was ist QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) ist eine Open-Source-Community, welche die QMK-Firmware, die QMK-Toolbox, [qmk.fm](https://qmk.fm) und diese Dokumententation betreut. QMK-Firmware ist eine Weiterentwicklung der [tmk\_keyboard](http://github.com/tmk/tmk_keyboard)-Tastatur-Firmware mit vielen nützlichen Zusatzfunktionen für Atmel AVR-Prozessoren. Ursprünglich wurde sie für Produkte von [OLKB](http://olkb.com), das [ErgoDox EZ](http://www.ergodox-ez.com) und das [Clueboard](http://clueboard.co/) entwickelt. Im Laufe der Zeit wurde sie mit Hilfe von [ChibiOS](http://chibios.org) auch für die ARM-Architektur angepasst. Außerdem ist es inzwischen möglich, auch handverdrahtete Tastaturen und selbst geätzte PCBs mit QMK zu verwenden.
## Bezugsquelle für QMK
Wenn Du vorhast, deine Tastatur, Tastaturbelegung oder Features zu QMK beizusteuern, geht das am einfachsten, indem Du das [Repository auf Github](https://github.com/qmk/qmk_firmware#fork-destination-box) forkst, die Änderungen in deinem lokalen Repo vornimmst und anschließend einen [Pull Request](https://github.com/qmk/qmk_firmware/pulls) einreichst.
Ansonsten kannst Du es als [zip](https://github.com/qmk/qmk_firmware/zipball/master) oder [tar](https://github.com/qmk/qmk_firmware/tarball/master) herunterladen, oder es direkt via git klonen (`git clone git@github.com:qmk/qmk_firmware.git` bzw. `git clone https://github.com/qmk/qmk_firmware.git`).
## Anleitung fürs Kompilieren
Bevor Du in der Lage bist, die Firmware zu kompilieren, musst Du eine [Entwicklungsumgebung](de/getting_started_build_tools.md) für AVR und/oder ARM aufsetzen. Danach kannst Du mit dem `make` Befehl eine Keymap für deine Tastatur erzeugen. Die Notation dafür ist:
make planck/rev4:default
Dies generiert die Revision `rev4` für eine Tastatur vom Type `planck` mit der `default` Tastaturbelegung. Nicht alle Tastaturen haben Revisionen (auch bekannt als Subprojekt oder Unterordner) weswegen dies auch ausgelassen werden kann:
make preonic:default
## Möglichkeiten der Anpassung
QMK hat viele [Features](de/features.md), die es zu entdecken gibt. In der [Dokumentation](https://docs.qmk.fmk) kannst Du Dir einen Überblick verschaffen. Die meisten Features basieren darauf, die [Tastaturbelegung](de/keymap.md) anzupassen und das Verhalten der [Keycodes](de/keycodes.md) zu verändern.

121
docs/de/_summary.md Normal file
View File

@ -0,0 +1,121 @@
* [Anleitung für Anfänger](de/newbs.md)
* [Erste Schritte](de/newbs_getting_started.md)
* [Die erste Firmware](de/newbs_building_firmware.md)
* [Firmware flashen](de/newbs_flashing.md)
* [Testen und Debuggen](de/newbs_testing_debugging.md)
* [Git Tips und Tricks](de/newbs_best_practices.md)
* [Hilfreiche Ressourcen](de/newbs_learn_more_resources.md)
* [QMK Basics](de/README.md)
* [QMK Einführung](de/getting_started_introduction.md)
* [QMK CLI](de/cli.md)
* [QMK CLI Konfiguration](de/cli_configuration.md)
* [Zu QMK beitragen](de/contributing.md)
* [Anleitung für Github](de/getting_started_github.md)
* [Nach Hilfe fragen](de/getting_started_getting_help.md)
* [Breaking Changes](de/breaking_changes.md)
* [2019 Aug 30](de/ChangeLog/20190830.md)
* [FAQ](de/faq.md)
* [Häufige Fragen](de/faq_general.md)
* [Build/Kompilieren](de/faq_build.md)
* [Debugging/Troubleshooting](de/faq_debug.md)
* [Keymap](de/faq_keymap.md)
* [Treiber Installation mit Zadig](de/driver_installation_zadig.md)
* Detailierte Guides
* [Build Tools installieren](de/getting_started_build_tools.md)
* [Vagrant Guide](de/getting_started_vagrant.md)
* [Build/Compile Anleitung](de/getting_started_make_guide.md)
* [Firmware flashen](de/flashing.md)
* [Funktionalität anpassen](de/custom_quantum_functions.md)
* [Keymap Überblick](de/keymap.md)
* [Hardware](de/hardware.md)
* [AVR Prozessoren](de/hardware_avr.md)
* [Treiber](de/hardware_drivers.md)
* Referenz
* [Tastatur Richtlinien](de/hardware_keyboard_guidelines.md)
* [Konfigurations Optionen](de/config_options.md)
* [Keycodes](de/keycodes.md)
* [Coding Konventionen - C](de/coding_conventions_c.md)
* [Coding Konventionen - Python](de/coding_conventions_python.md)
* [Dokumentations Best Practices](de/documentation_best_practices.md)
* [Dokumentations Templates](de/documentation_templates.md)
* [Glossar](de/reference_glossary.md)
* [Unit Testing](de/unit_testing.md)
* [Nützliche Funktionen](de/ref_functions.md)
* [Configurator Support](de/reference_configurator_support.md)
* [info.json Format](de/reference_info_json.md)
* [Python CLI Development](de/cli_development.md)
* [Features](de/features.md)
* [Basic Keycodes](de/keycodes_basic.md)
* [US ANSI Shifted Keys](de/keycodes_us_ansi_shifted.md)
* [Quantum Keycodes](de/quantum_keycodes.md)
* [Advanced Keycodes](de/feature_advanced_keycodes.md)
* [Audio](de/feature_audio.md)
* [Auto Shift](de/feature_auto_shift.md)
* [Backlight](de/feature_backlight.md)
* [Bluetooth](de/feature_bluetooth.md)
* [Bootmagic](de/feature_bootmagic.md)
* [Combos](de/feature_combo.md)
* [Command](de/feature_command.md)
* [Debounce API](de/feature_debounce_type.md)
* [DIP Switch](de/feature_dip_switch.md)
* [Dynamic Macros](de/feature_dynamic_macros.md)
* [Encoders](de/feature_encoders.md)
* [Grave Escape](de/feature_grave_esc.md)
* [Haptic Feedback](de/feature_haptic_feedback.md)
* [HD44780 LCD Controller](de/feature_hd44780.md)
* [Key Lock](de/feature_key_lock.md)
* [Layouts](de/feature_layouts.md)
* [Leader Key](de/feature_leader_key.md)
* [LED Matrix](de/feature_led_matrix.md)
* [Macros](de/feature_macros.md)
* [Mouse Keys](de/feature_mouse_keys.md)
* [OLED Driver](de/feature_oled_driver.md)
* [One Shot Keys](de/feature_advanced_keycodes.md#one-shot-keys)
* [Pointing Device](de/feature_pointing_device.md)
* [PS/2 Mouse](de/feature_ps2_mouse.md)
* [RGB Lighting](de/feature_rgblight.md)
* [RGB Matrix](de/feature_rgb_matrix.md)
* [Space Cadet](de/feature_space_cadet.md)
* [Split Keyboard](de/feature_split_keyboard.md)
* [Stenography](de/feature_stenography.md)
* [Swap Hands](de/feature_swap_hands.md)
* [Tap Dance](de/feature_tap_dance.md)
* [Terminal](de/feature_terminal.md)
* [Thermal Printer](de/feature_thermal_printer.md)
* [Unicode](de/feature_unicode.md)
* [Userspace](de/feature_userspace.md)
* [Velocikey](de/feature_velocikey.md)
* Für Maker und Modder
* [Hand Wiring Guide](de/hand_wire.md)
* [ISP Flashing Guide](de/isp_flashing_guide.md)
* [ARM Debugging Guide](de/arm_debugging.md)
* [I2C Driver](de/i2c_driver.md)
* [GPIO Controls](de/internals_gpio_control.md)
* [Proton C Conversion](de/proton_c_conversion.md)
* Für ein tieferes Verständnis
* [Wie Tastaturen funktionieren](de/how_keyboards_work.md)
* [QMK verstehen](de/understanding_qmk.md)
* Andere Themen
* [Eclipse mit QMK](de/other_eclipse.md)
* [VSCode mit QMK](de/other_vscode.md)
* [Support](de/support.md)
* [Übersetzungen](de/translating.md)
* QMK Internals (de/In Progress)
* [Defines](de/internals_defines.md)
* [Input Callback Reg](de/internals_input_callback_reg.md)
* [Midi Device](de/internals_midi_device.md)
* [Midi Device Setup Process](de/internals_midi_device_setup_process.md)
* [Midi Util](de/internals_midi_util.md)
* [Send Functions](de/internals_send_functions.md)
* [Sysex Tools](de/internals_sysex_tools.md)

View File

@ -0,0 +1,47 @@
# Bootloader Treiber Installation mit Zadig
QMK erscheint für den Host als normales HID Eingabegerät und benötigt deshalb keine zusätzlichen Treiber. Der Bootloader, den Du für das Flashen der Firmware benötigst, jedoch meistens schon.
Hierzu gibt es zwei Ausnahmen: den Caterina Bootloader, meistens auf Pro Micros, sowie den HalfKay Bootloader auf PJRC Teensys. Diese erscheinen als serieller Port und als generisches HID Gerät und benötigen keine Treiber.
Wir empfehlen deshalb [Zadig](https://zadig.akeo.ie/). Wenn Du die Entwicklungsumgebung mit MSYS2 oder WSL installiert hast, wird dich dass `qmk_install.sh` Skript gefragt haben, ob es die Treiber für dich installieren sollte.
## Installation
Versetze deine Tastatur in den Bootloader-Modus, entweder durch Betätigung des physischen `RESET` Schalters - meist auf der Unterseite der Platine - oder durch das Auslösen des Key-Codes `RESET` bzw. `KC_RESET` (sollte in der zur Tastatur gehörigen `keycode.c` zu entnehmen sein). Sollte deine Tastatur weder noch besitzen, versuche es damit die `Escape`-Taste oder `Leertaste + B` zu halten während Du die Tastatur mit dem PC verbindest (Siehe auch [Bootmagic](de/feature_bootmagic.md) für weitere Details). Ein paar Tastaturen benutzen das [Command](de/feature_command.md)-Feature an Stelle von Bootmagic; in diesem Fall kannst du mit den Tastenkombinationen `linkes Shift + rechtes Shift + B` oder `linkes Shift + rechtes Shift + Escape` zu jeder Zeit in den Bootloader wechseln solange die Tastatur verbunden ist.
Eingie Tastaturen haben u.U. spezielle Anweisungen um in den Bootloader-Modus zu gelangen. Zum Beispiel kann die [Bootmagic-Lite](de/feature_bootmagic.md#bootmagic-lite)-Taste (default: Escape) auf eine andere Taste gemappt sein; oder die magische Kombination (default: linkes Shift+rechtes Shift) verwendet anstatt Shift die STRG-Tasten. Die zur Tastatur gehörige README sollte dir Aufschluss darüber geben wie der Bootloader-Modus ausgelöst werden kann wenn Du unsicher bist.
Um ein Gerät mit USBaspLoader in den Bootloader-Modus zu versetzen, halte `BOOT` gedrückt während Du den `RESET`-Knopf drückst.
Alternativ, halte `BOOT` gedrückt während Du das USB-Kabel einsteckst.
Zadig sollte das Bootloader-Gerät automatisch erkennen. Manchmal musst Du zusätzlich noch **Options → List All Devices** auswählen.
- Tastaturen mit Atmel AVR MCUs sollten als `ATm32U4DFU` (oder ähnlich) angezeigt werden, mit der Vendor ID `03EB`.
- USBasp werden als `USBasp` angezeigt, mit VID/PID `16C0:05DC`.
- Tastaturen AVR controller und dem QMK-DFU Bootloader haben den namen `<Tastatur Name> Bootloader` und die VID `03EB`.
- Die meisten ARM Tastaturen werden als `STM32 BOOTLOADER` angezeigt, mit VID/PID `0483:DF11`.
!> Sollte Zadig ein oder mehrere Geräte mit `HidUsb`-Treiber anzeigen, dann ist deine Tastatur wahrscheinlich nicht im Bootloader-Modus. Der Pfeil wird orange eingefärbt sein und Du wirst nach einer Bestätigung gefragt um Veränderungen am System vorzunehmen. In diesem Fall **fahre nicht fort**!
Wenn der Pfeil grün angezeigt wird, wähle den Treiber aus und klicke auf **Treiber installieren**. Der `libusb-win32`-Treiber sollte gewöhnlich für AVR verwendet werden und `WinUSB` für ARM. Sollte es danach noch nicht möglich sein die Tastatur zu flashen, versuche es mit einem anderen Treiber. Für USBaspLoader Geräte, die über die Befehlszeile mit MSYS2 geflasht werden, wird der `libusbk`-Treiber empfohlen. Ansonsten sollte `libusb-win32` funktionieren wenn die QMK Toolbox verwendet wird.
![Zadig mit Bootloader-Treiber korrekt installiert](https://i.imgur.com/b8VgXzx.png)
Entferne nun deine Tastatur und verbinde sie erneut um sicherzugehen dass der neue Treiber erfolgreich installiert wurde. Wenn Du QMK Toolbox benutzt, starte die Anwendung zur Sicherheit einmal neu, da Veränderungen am Treiber manchmal nicht richtig erkannt werden. Wenn dies immer noch nicht erfolgreich war hilft es an dieser Stelle manchmal ein Neustart des Computers.
## Wiederherstellung einer Installation für ein falsches Gerät
Wenn Du feststellst dass Du anschließend auf deiner Tastatur nicht mehr tippen kannst, ist etwas bei der Installation schief gelaufen. Ein häufiger Fehler ist es dass die Tastatur nicht im Bootloader-Modus war und stattdessen der Treiber für das HID-Gerät ersetzt wurde. Dies kannst Du einfach mit Zadig überprüfen, eine funktionierende Tastatur verwendet als Treiber `HidUsb` auf allen Interfaces .
![Eine funktionierende Tastatur aus Zadigs Sicht](https://i.imgur.com/Hx0E5kC.png)
Öffne den Geräte-Manager und suche nach einem Gerät das wie deine Tastatur aussieht.
![Die Tastatur mit dem falschen Treiber installiert, im Geräte-Manager](https://i.imgur.com/L3wvX8f.png)
Rechtsklick und **Gerät deinstallieren** anklicken. Bitte gehe sicher dass in diesem Schritt auch **Treibersoftware für dieses Gerät löschen** markiert ist.
![Der "Gerät deinstallieren"-Dialog, mit "Treibersoftware für dieses Gerät entfernen" markiert](https://i.imgur.com/aEs2RuA.png)
Klick **Aktion → Suche nach veränderter Hardware**. Nun solltest Du wieder in der Lage sein normal zu tippen. Vergewissere dich mit Hilfe von Zadig dass die Tastatur nun `HidUsb` als Treiber verwendet. Wenn dies der Fall ist sollte wieder alles funktionieren.

22
docs/de/newbs.md Normal file
View File

@ -0,0 +1,22 @@
# Anleitung für absolute Beginner
QMK ist eine mächtige Open Source Firmware für mechanische Tastaturen. Mit QMK kannst Du deine Tastatur sowohl sehr einfach als auch sehr umfangreich anpassen. Menschen unterschiedlichen Wissensstandes - vom kompletten Anfänger bis zum erfahrenen Programmierer - haben ihre Tastaturen mit QMK erfolgreich auf ihre persönlichen Bedürfnisse angepasst. Diese Anleitung soll Dir unabhängig von deinen Vorkenntnissen dabei helfen dies ebenfalls zu bewältigen.
Bist Du unsicher ob deine Tastatur QMK unterstützt? Wenn es eine mechanische Tastatur ist, die Du selbst gebaut hast, stehen deine Chancen gut. Wir unterstützen eine [Vielzahl](https://qmk.fm/keyboards/) selbst gebauter Tastaturen, sodass selbst wenn deine jetzige Tastatur nicht unterstützt wird Du keine Probleme haben solltest eine für deine Anforderungen zu finden.
## Übersicht
Diese Anleitung ist in 7 Abschnitte unterteilt:
* [Die ersten Schritte](newbs_getting_started.md)
* [Die erste Firmware auf der Kommandozeile erzeugen](newbs_building_firmware.md)
* [Die erste Firmware mit der Online GUI erzeugen](newbs_building_firmware_configurator.md)
* [Firmware flashen](newbs_flashing.md)
* [Testen und Debuggen](newbs_testing_debugging.md)
* [Git Leitfaden](newbs_best_practices.md)
* [Weitere hilfreiche Ressourcen für Anfänger](newbs_learn_more_resources.md)
Diese Anleitung richtet sich an Personen, die vorher noch nie Software kompiliert haben. Die Entscheidungen und Empfehlungen basieren auf dieser Grundannahme. Es gibt unterschiedliche Herangehensweisen für viele der Prozeduren und wir unterstützen die meisten Alternativen. Wenn Du mal nicht weiter weißt oder Dir nicht sicher bist, wie Du an ein Problem herangehen sollst, kannst Du uns gerne [um Hilfe bitten](getting_started_getting_help.md).
## Weitere Ressourcen
* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) Ein äußerst hilfreicher Blog eines Community-Mitglieds, der einige Grundlagen der QMK-Firmware aus der Sicht des Benutzers erklärt (auf Englisch).

View File

@ -0,0 +1,78 @@
# Eine eigene Firmware erstellen
Nachdem Du nun eine funktionierende Entwicklungsumgebung aufgesetzt hast, bist Du nun bereit, deine eigene Firmware zu erstellen. Dieses Sektion des Guides wird zwischen drei Programmen hin- und herwechseln: deinem Dateimanager, deinem Texteditor und der Befehlszeile. Lasse diese drei Fenster geöffnet, bis Du fertig und zufrieden mit deiner Tastatur-Firmware bist.
Solltest Du die Befehlszeile zwischenzeitlich geschlossen haben, vergiss nicht wieder in das richtige Verzeichnis zu navigieren, benutze dazu den Befehl `cd qmk_firmware`.
## Navigiere in deinen Keymap Ordner
Beginne damit, in das `keymaps` Verzeichnis für deine Tastatur zu navigieren.
Wenn Du macOS oder Windows benutzt, kannst Du einfach in das keymaps Verzeichnis wechseln.
?> macOS:<br>
open keyboards/<keyboard_folder>/keymaps
?> Windows:<br>
start .\\keyboards\\<keyboard_folder>\\keymaps
## Eine Kopie der `default` Tastaturbelegung erstellen
Wenn Du den `keymaps` Ordner geöffnet hast, solltest Du zuerst eine Kopie des `default` Verzeichnisses erstellen. Wir empfehlen dafür deinen GitHub Benutzernamen zu verweden, aber Du kannst auch jeden anderen Namen verwenden solange er nur aus Kleinbuchstaben, Zahlen und Unterstrichen besteht.
Um den Prozess zu automatisieren kannst Du dazu auch das Skript `new_keymap.sh` verwenden.
Navigiere dazu in das `qmk_firmware/util` Verzeichnis und gib folgenden Befehl ein:
```
./new_keymap.sh <keyboard path> <username>
```
Um zum Beispiel den Benutzernamen John für die Tastaturbelegung eines 1up60hse zu verwenden, würdest Du Folgendes eingeben:
```
./new_keymap.sh 1upkeyboards/1up60hse john
```
## Öffne `keymap.c` in deinem bevorzugtem Text Editor
Öffne deine `keymap.c`. In dieser Datei findest Du die Strukturen, die das Verhalten deiner Tastatur bestimmen. Oben in der `keymap.c` befinden sich Definitionen (defines) und Aufzählungen (enums), die die Tastaturbelegung leserlicher machen sollen. Weiter unten wirst Du eine Zeile finden, die wie folgt aussieht:
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
Diese Zeile markiert den Anfang der Liste der Ebenen (Layers). Darunter befinden sich Zeilen die entweder `LAYOUT` oder `KEYMAP` enthalten, das deutet auf den Start einer Ebene hin. Danach folgt eine Liste von Tasten, die dieser Ebene zugewiesen sind.
!> Beim Bearbeiten einer Tastaturbelegung solltest Du darauf achten, keine Kommata hinzuzufügen oder zu entfernen. Ansonsten kann dies dazu führen, dass deine Firmware nicht mehr kompiliert und es ist nicht immer einfach festzustellen, wo genau ein Komma zuviel oder zu wenig ist. Die letzte Zeile hat am Ende kein Komma, die Zeilen davor jedoch schon.
## Personalisiere die Tastaturbelegung nach deinen Wünschen
Wie Du diesen Schritt abschließt ist vollkommen Dir überlassen. Ändere die eine Sache die Dich stört oder verändere alles von Grund auf. Du kannst Ebenen entfernen die Du nicht brauchst oder Neue hinzufügen, bis zu 32 Stück. Die folgende Dokumentation verrät Dir was Du hier alles definieren kannst:
* [Keycodes](de/keycodes.md)
* [Features](de/features.md)
* [FAQ](de/faq.md)
?> Während Du langsam ein Gefühl dafür kriegst wie Keymaps funktionieren, solltest Du darauf achten nicht zuviel auf einmal zu verändern. Größere Änderungen machen es schwieriger, Probleme zu debuggen.
## Deine Firmware erzeugen
Wenn Du damit fertig bist, deine Tastaturbelegung anzupassen, musst Du noch die Firmware erzeugen. Öffne dazu wieder die Befehlszeile und führe folgenden Befehl aus:
make <my_keyboard>:<my_keymap>
Wenn deine Tastaturbelegung z.B. "xyverz" heißt und Du die Belegung für ein rev5 planck erzeugen möchtest, lautet der Befehl:
make planck/rev5:xyverz
Während des Kompiliervorgangs wird viel Text auf dem Bildschirm ausgegeben. Es sollte am Ende mit etwas enden das ungefähr so aussieht:
```
Linking: .build/planck_rev5_xyverz.elf [OK]
Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
Checking file size of planck_rev5_xyverz.hex [OK]
* File size is fine - 18392/28672
```
## Deine Firmware flashen
Bitte fahre mit [Firmware flashen](de/newbs_flashing.md) fort, um zu erfahren, wie Du deine neue Firmware auf deine Tastatur flashen kannst.

369
docs/de/newbs_flashing.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,101 @@
# Einleitung
Genau wie in einem Computer befindet sich auch in einer Tastatur ein Prozessor.
Dieser Prozessor führt Software aus, die registriert wenn Tasten gedrückt bzw. wieder losgelassen werden und leitet die entsprechenden Signale an den Computer weiter.
QMK übernimmt die Rolle dieser Software und teilt dem Host-Computer den aktuellen Zustand der Tastatur mit. Wenn Du eine Tastaturbelegung definierst, ist dies äquivalent zu einem ausführbarem Programm, das auf deiner Tastatur läuft.
QMK möchte seine BenutzerInnen in die Lage versetzen, simple Aufgaben möglichst einfach zu gestalten und gleichzeitig komplexe Dinge zu ermöglichen, die mit normalen Tastaturen ohne zusätzliche Software undenkbar wären. Du musst nicht programmieren können, um abgefahrene Tastaturbelegungen zu gestalten - es reicht wenn Du eine Idee hast und ein paar einfache syntaktische Regeln verstehen kannst.
# Los geht's!
Bevor Du damit loslegen kannst, deine Tastaturbelegung zu erstellen, musst Du ein wenig Software installieren und Dir eine Entwicklungsumgebung aufsetzen. Die gute Nachricht ist, dass das nur einmal erledigt werden muss, egal für wie viele verschiedene Tastaturen Du hinterher Firmware entwickeln willst.
Wenn Du es vorziehst mit einer grafischen Oberfläche zu entwickeln kannst Du auch dazu gerne direkt mit dem online [QMK Konfigurator](https://config.qmk.fm) loslegen. Siehe auch: [Firmware mit der Online GUI erzeugen](de/newbs_building_firmware_configurator.md)
## Software herunterladen
### Text Editor
Du wirst ein Programm benötigen, mit dem Du **plain text** (= reiner Text) Dateien bearbeiten und speichern kannst. Wenn Du Windows benutzt, reicht dafür schon das normale `Notepad` und für Linux z.B. `gedit` oder `leafpad`. Beide sind sehr rudimentäre Editoren deren Funktionsumfang aber vollkommen ausreicht. Für macOS' standard `TextEdit` muss man ein bisschen vorsichtig sein und darauf achten, beim Speichern explizit unter _Format_ die Option _Reiner Text_ auszuwählen.
Ansonsten ist es empfehlenswert, einen Editor herunterzuladen der für die Programmierung und das Bearbeiten von Code ausgelegt ist wie z.b [Notepad++](http://notepad-plus-plus.org/), [Sublime Text](https://www.sublimetext.com/) oder [VS Code](https://code.visualstudio.com/).
?> Immer noch unsicher, welcher Text Editor der Richtige für Dich ist? Laurence Bradford hat eine hervorragende [Einleitung](https://learntocodewith.me/programming/basics/text-editors/) zu dem Thema geschrieben (auf Englisch).
### QMK Toolbox
QMK Toolbox ist ein optionales grafisches Programm für Windows und macOS, das es erleichtern soll, deine Tastatur zu programmieren und zu debuggen. Du wirst es höchstwahrscheinlich früher oder später als unverzichtbar ansehen, wenn es darum geht eine Tastatur einfach zu flashen oder zu debuggen, da es ermöglicht, sich debug-Nachrichten direkt anzeigen zu lassen.
[Hier kannst Du die aktuelle Version herunterladen.](https://github.com/qmk/qmk_toolbox/releases/latest)
* Für Windows: `qmk_toolbox.exe` (portable) oder `qmk_toolbox_install.exe` (installer)
* Für macOS: `QMK.Toolbox.app.zip` (portable) oder `QMK.Toolbox.pkg` (installer)
## Die Entwicklungsumgebung aufsetzen
Wir haben versucht, die Installation der Entwicklungsumgebung für QMK so einfach wie möglich zu gestalten. Alles, was Du tun musst, ist eine Linux oder Unix Umgebung aufzusetzen, danach macht QMK den Rest.
?> Wenn Du das erste Mal mit der Linux/Unix Befehlszeile arbeitest, schadet es nicht, sich mit ein paar Grundlagen und Befehlen vertraut zu machen. Diese Ressourcen sollten ausreichen, um sich das Nötigste anzueignen um mit QMK arbeiten zu können:<br>
[Erforderliche Linux Grundlagen](https://www.guru99.com/must-know-linux-commands.html)<br>
[Noch ein paar Linux Befehle](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### Windows
Du wirst MSYS2 (o.Ä.) und Git benötigen.
* Befolge die Installationsanleitung auf der [MSYS2 Homepage](http://www.msys2.org)
* Schließe alle offenen MSYS2 Fenster und öffne ein neues MSYS2 MinGW 64-bit Terminal
* Installiere Git mit dem Kommando: `pacman -S git`
### macOS
Du wirst Homebrew benötigen. Folge dafür den Anweisungen auf der [Homebrew homepage](https://brew.sh).
Nachdem Homebrew erfolgreich installiert ist, kannst Du mit _QMK aufsetzen_ fortfahren.
### Linux
Du benötigst Git, aber es ist ziemlich wahrscheinlich, dass es bereits installiert ist. Sollte dies nicht der Fall sein, kannst Du es mit dem folgenden Aufruf installieren:
* Debian / Ubuntu / Devuan: `apt-get install git`
* Fedora / Red Hat / CentOS: `yum install git`
* Arch Linux: `pacman -S git`
?> Docker ist ebenfalls eine Option für alle Plattformen. [Hier](de/getting_started_build_tools.md#docker) kannst Du dazu weitere Informationen finden.
## QMK aufsetzen
Wenn Du damit fertig bist, deine Linux/Unix Umgebung zu installieren, kannst Du damit fortfahren QMK herunterzuladen. Dafür werden wir mit Git das QMK Repository "klonen". Öffne ein Terminal oder ein MSYS2 MinGW Fenster, dies wirst Du für den Rest der Anleitung benötigen. In diesem Fenster rufst Du nun die beiden folgenden Kommandos auf:
```shell
git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
```
?> Wenn Du bereits weißt, [wie man GitHub benutzt](de/getting_started_github.md), empfehlen wir, dass Du Dir ein eigenen Fork erstellst. Wenn Du nicht weißt, was das bedeuten soll, kannst Du diesen Ratschlag getrost ignorieren.
QMK liefert ein Script mit, das helfen soll, Dir alles Weitere abzunehmen. Du kannst es mit dem folgenden Befehl aufrufen:
util/qmk_install.sh
## Die Build-Umgebung testen
Nun sollte hoffentlich alles Nötige für eine funktionierende QMK Build-Umgebung installiert sein und Du solltest in der Lage sein, die QMK-Firmware zu kompilieren. Um dies mit einer `default` Tastaturbelegung zu testen, kannst Du den folgenden Befehl ausprobieren:
make <keyboard>:default
Der Befehl um z.B. die Firmware für ein _Clueboard 66%_ zu erzeugen lautet:
make clueboard/66/rev3:default
Wenn es fertig ist, sollte der Output ungefähr so ähnlich wie das Folgende aussehen:
```
Linking: .build/clueboard_66_rev3_default.elf [OK]
Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]
Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK]
Checking file size of clueboard_66_rev3_default.hex [OK]
* The firmware size is fine - 26356/28672 (2316 bytes free)
```
# Eine eigene Tastaturbelegung erstellen
Du bist nun fertig mit dem Setup der Entwicklungsumgebung und solltest somit in der Lage sein, deine eigenen Tastaturbelegungen zu erstellen. Um fortzufahren, folge bitte der nächsten Anleitung unter [Die erste Firmware](de/newbs_building_firmware.md).

View File

@ -0,0 +1,14 @@
# Lernmaterial
Diese weiterführenden Ressourcen sind darauf ausgerichtet, Neulingen der QMK Commmunity mehr Informationen und ein besseres Verständnis zu einzelnen Themen zu bieten.
Git Ressourcen:
* [Gutes allgemeines Tutorial](https://www.codecademy.com/learn/learn-git) (auf Englisch)
* [Git spielerisch anhand von Beispielen lernen](https://learngitbranching.js.org/) (auf Englisch)
* [Mehr über den allgemeinen Umgang mit Github](getting_started_github.md)
* [Mehr über Git im Bezug zu QMK](contributing.md)
Mehr über die Arbeit mit der Befehlszeile:
* [Gutes allgemeines Tutorial über die Arbeit mit der Befehlszeile](https://www.codecademy.com/learn/learn-the-command-line) (auf Englisch)

View File

@ -0,0 +1,100 @@
# Testen und Debuggen
Nachdem Du deine Tastatur mit deiner angepassten Firmware geflasht hast, ist es nun an der Zeit sie auszuprobieren. Mit ein bisschen Glück sollte alles ohne Probleme funktionieren, wenn dies nicht der Fall ist, soll dieses Dokument dir dabei helfen, herauszufinden wo das Problem liegt.
## Testen
Die Tastatur zu testen ist relativ selbsterklärend. Drücke jede der Tasten um dich zu versichern, dass der gesendete Keyode der ist, den du erwarten würdest. Dafür gibt es sogar ein paar Programme die helfen sollen, dass keine Taste ausgelassen wurde.
Anmerkung: Diese Programme werden weder von QMK bereitgestellt oder gutgeheißen.
* [Switch Hitter](https://elitekeyboards.com/switchhitter.php) (Nur für Windows)
* [Keyboard Viewer](https://www.imore.com/how-use-keyboard-viewer-your-mac) (Nur für Mac)
* [Keyboard Tester](http://www.keyboardtester.com) (Web basiert)
* [Keyboard Checker](http://keyboardchecker.com) (Web basiert)
## Debuggen
Deine Tastatur wird Debug Informationen liefern wenn Du `CONSOLE_ENABLE = yes` in deiner `rules.mk` gesetzt hast. Die default-Ausgabe ist sehr beschränkt und kann wenn nötig durch die Aktivierung des Debug-Modes erhöht werden. Benutze dafür entweder den `DEBUG` Keycode in deiner Tastaturbelegung, das [Command](de/feature_command.md)-Feature oder füge den folgenden Code zu deiner Tastaturbelegung hinzu.
```c
void keyboard_post_init_user(void) {
// Customise these values to desired behaviour
debug_enable=true;
debug_matrix=true;
//debug_keyboard=true;
//debug_mouse=true;
}
```
### Debuggen mit der QMK Toolbox
Für kompatible Plattformen kann die [QMK Toolbox](https://github.com/qmk/qmk_toolbox) benutzt werden um Debug-Nachrichten deiner Tastatur anzuzeigen.
### Debuggen mit hid_listen
Bevorzugst Du es lieber auf der Befehlszeile zu debuggen? Dafür eignet sich das Programm [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) von PJRC. Binaries sind für Windows, Linux und MacOS verfügbar.
<!-- FIXME: Describe the debugging messages here. -->
## Eigene Debug-Nachrichten senden
Manchmal ist es hilfreich Debug-Nachrichten innerhalb deines eigenen [Custom Codes](de/custom_quantum_functions.md) zu drucken. Das ist ziemlich einfach. Beginne damit `print.h` am Anfang deiner Datei zu inkludieren:
#include <print.h>
Danach stehen dir verschiedene Druck-Funktionen zur Verfügung:
* `print("string")`: Druckt einen simplen String
* `uprintf("%s string", var)`: Druckt einen formatierten String
* `dprint("string")` Druckt einen simplen String, aber nur wenn der Debug-Mode aktiviert ist
* `dprintf("%s string", var)`: Druckt einen formatierten String, aber nur wenn der Debug-Mode aktiviert ist
## Debug Beispiele
Anbei findest Du eine Sammlung von hilfreichen Beispielen. Für weitere Informationen Informationen sei an dieser Stelle auf [Debugging/Troubleshooting QMK](de/faq_debug.md) verwiesen.
### Which matrix position is this keypress?
### Welche Matrix Position hat dieser Tastenanschlag
Beim Portieren, oder bei der Fehlerdiagnose von PCB Problemen, ist es nützlich sich anzeigen zu lassen ob ein Tastenanschlag richtig erkannt wurde. Um die Protokollierung für diesen Fall zu aktivieren, füge bitte folgenden Code zu deiner Tastaturbelegung `keymap.c` hinzu.
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Wenn 'console' aktiviert ist wird die Matrix-Position und der Status jedes Tastenanschlags ausgegeben
#ifdef CONSOLE_ENABLE
uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
#endif
return true;
}
```
Beispiel Ausgabe:
```text
Waiting for device:.......
Listening:
KL: kc: 169, col: 0, row: 0, pressed: 1
KL: kc: 169, col: 0, row: 0, pressed: 0
KL: kc: 174, col: 1, row: 0, pressed: 1
KL: kc: 174, col: 1, row: 0, pressed: 0
KL: kc: 172, col: 2, row: 0, pressed: 1
KL: kc: 172, col: 2, row: 0, pressed: 0
```
### Wieviel Zeit wurde benötigt um einen Tastenanschlag zu detektieren?
Wenn Performance-Probleme auftreten ist es hilfreich die Frequenz, mit der die Matrix gescannt wird, zu wissen. Um dies in diesem Fall zu aktiveren füge, den folgenden Code zu deiner Tastaturbelegung in `config.h` hinzu.
```c
#define DEBUG_MATRIX_SCAN_RATE
```
Beispiel Ausgabe
```text
> matrix scan frequency: 315
> matrix scan frequency: 313
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
```

View File

@ -28,9 +28,9 @@ the Ctrl, Alt, or GUI modifiers are held down.
A compact 40% (12x4) ortholinear keyboard kit made and sold by OLKB and Massdrop. [More info on qmk.fm](http://qmk.fm/planck/)
Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0
Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open)
* Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
* Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0
* Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open)
Make example for this keyboard (after setting up your build environment):
@ -38,5 +38,3 @@ Make example for this keyboard (after setting up your build environment):
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
```
There needs to be two spaces at the end of the `Keyboard Maintainer` and `Hardware Supported` lines for it to render correctly with Markdown.

View File

@ -27,7 +27,7 @@ You may need privilege to access the device on OS like Linux.
Check:
- *hid_listen* finds your device. See above.
- Enable debug with pressing **Magic**+d. See [Magic Commands](https://github.com/tmk/tmk_keyboard#magic-commands).
- set `debug_enable=true` usually in `matrix_init()` in **matrix.c**.
- set `debug_enable=true`. See [Testing and Debugging](newbs_testing_debugging.md#debugging)
- 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).

View File

@ -15,7 +15,7 @@ This will allow you to use `FN_CAPS` and `ALT_TAB` in your keymap, keeping it mo
## Caveats
Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Modifiers specified as part of a Layer Tap or Mod Tap's keycode will be ignored. If you need to apply modifiers to your tapped keycode, [Tap Dance](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.
Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Modifiers specified as part of a Layer Tap or Mod Tap's keycode will be ignored. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.
Additionally, if at least one right-handed modifier is specified in a Mod Tap or Layer Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two.

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