Compare commits

...

215 Commits

Author SHA1 Message Date
Keenan Brock
c3aaed8dfb [kle2info] Trim the code in kle2xy (#8955)
* [kle2jinfo] use min/max instead of if

This is a slight change.
Before, the key_skel would keep the invalid value for future keys.
I think this is what was actually intended.

* [kle2info] calculate x

x is the current_x * key_size + (key_size/2)
y is the current_y * key_size + (key_size/2)

no reason to track both
2020-05-15 12:09:22 -07:00
Jonathan Arnett
ebc274209e Update j3rn keymap (#9100) 2020-05-16 04:14:47 +10:00
dlgoodr
1bdfac8afc update dlg's tada68 keymap (#9098) 2020-05-16 04:13:55 +10:00
stanrc85
9b716b7ada stanrc85 userspace and keymap updates (#9103)
* Update flash command in userspace

* Switch to BackspaceFN on split spacebar
2020-05-15 18:59:25 +01:00
Wilba
b591c0c24a [Keyboard] Added wilba.tech WT80-BC (#9024)
* Added WT80-BC

* Update keyboards/wilba_tech/wt80_bc/info.json

* Update keyboards/wilba_tech/wt80_bc/info.json

* Update keyboards/wilba_tech/wt80_bc/rules.mk

* Update keyboards/wilba_tech/wt80_bc/rules.mk

* Update keyboards/wilba_tech/wt80_bc/rules.mk

* Update keyboards/wilba_tech/wt80_bc/wt80_bc.h
2020-05-15 04:21:44 -07:00
Adrian
6ba014a572 Fixed Murciélago info.json to work with qmk configurator -> wrong assignments (#9095)
* fixed json to work with qmk configurator
updates to readme

* Change spacing of keys

* changed overall size of keymap
2020-05-15 03:36:40 -07:00
Joel Challis
2dd47a3bf4 avoid 'Entering|Leaving directory' messages (#9061) 2020-05-14 23:17:17 +01:00
Conor Fischer
887c1c4e0e Fix bad key labels in ascii art (#9094) 2020-05-14 15:56:52 +10:00
Ryan
f66850bfd0 Improve stock bootloader list (#9067)
* Improve stock bootloader list

* Switch version numbers on USB64/128 bootloaders

* Unix line endings for PS2AVRGB bootloader

* Update PS2AVRGB bootloader to 1.0.1

* Also mention bootloader rule

* Didn't need to change the links
2020-05-13 19:32:43 -07:00
yiancar
632285c982 V-USB Interface reorder (#9090) 2020-05-14 10:24:18 +10:00
Zsolt Parragi
805f5cb72b One shot support for swap hands (#8590)
This commits add the SH_OS keycode, which works similarly to one shot
layers:
* while pressed, the keyboard is swapped
* if no keys were pressed while it was pressed, the next key press is
swapped

SH_OS also supports chaining with one shot layers:
OSL(x) + SH_OS + key interprets the key press on the oneshot layer.

The ONESHOT_TIMEOUT setting used by one shot keys and layers is also
used by oneshot swap hands. In the above chaining scenario the timeout
of the oneshot layer is reset when swap hands is activated.

Resolves #2682
2020-05-14 07:36:55 +10:00
Joshua Diamond
a8a8bf0ff3 Allow expanding from 8 to 32 RGB Lighting Layers (#8941)
* Allow 16 lighting layers

* Require #define RGBLIGHT_LAYERS_16 to enable 16 layers

* Override RGBLIGHT_MAX_LAYERS to set maximum number of lighting layers

* Enforce lower bound on RGBLIGHT_MAX_LAYERS

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

* Fix an error in the check for valid RGBLIGHT_MAX_LAYERS

* Don't use bitfield / PACKED, as it causes bloat

* Update documentation re: up to 32 lighting layers

* Run cformat

* Add note about increasing FW size in docs/config_options.md

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

* Remove no-longer-valid comment

* Add doc note that split sync will be slower

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-05-13 21:39:05 +01:00
Adrian
fadd3cb461 added murcielago keyboard (#8920)
* Squashed pull request for murcielago

* removed rotation prior to creating info.json
2020-05-13 21:29:11 +01:00
bottilabo
a41f973f75 optimize source code for size. reduce compiled binary size 292 bytes (#8428)
* optimize source code for size. reduce compiled binary size 292 bytes

* more size optimization
2020-05-14 06:22:27 +10:00
James Young
7abbc95cd6 Fix incorrect key sizes in Configurator (#9073)
* fix key size: exclusive/e6v2/le_bmc

* fix key size: exclusive/e6v2/oe_bmc

* fix key sizes: flx/lodestone

* fix key size: handwired/prime_exl

* fix key sizes: massdrop/ctrl
2020-05-13 20:00:37 +01:00
Hund
30a6f231bf [Keyboard] Added support for Aves 65 (#8880)
* First commit.

* Apply suggestions from code review

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

* Update keyboards/aves65/rules.mk

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

* Update keyboards/aves65/aves65.h

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

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

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

* Update keyboards/aves65/rules.mk

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

* Changes.

* Changes

* Changes

* Update keyboards/aves65/rules.mk

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

Co-authored-by: Hund <hund@ubuntu.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-05-13 19:43:28 +01:00
Ryan
44ff14f290 Update Neo2 keymap (#9063) 2020-05-13 19:34:55 +01:00
Ryan
741c7d5eec Update Canadian Multilingual keymap and add sendstring LUT (#8786) 2020-05-13 19:34:31 +01:00
eniigmakeyboards
f3c30e80cc Updated rules.mk to allow for audio control in VIA (#9087) 2020-05-13 19:20:39 +01:00
floookay
d846660e00 fixed typo for clear lcd screen function in hd44780 docs (#9086)
* fixed typo for clear lcd screen function

brought to attention by #9085

* fixed typo for clear lcd screen function (ja docs)
2020-05-13 19:06:41 +01:00
Xyverz
774384ce31 Added defines for RAISE and LOWER (#9083)
I like being able to use layers. This fixes my screw-up from my last
code overhaul.
2020-05-13 10:59:47 +10:00
Alex Ong
361ac2f32a Optimization for scanning less layers. (#8311)
* Optimization for scanning less layers.

* Rename NUM_LAYERS to MAX_LAYER.
2020-05-11 01:04:38 +01:00
pabile
d15a60d2d3 [Keyboard] Add P40, P20 and P18 Keyboards by pabile (#8759)
* Add files via upload

* removed

* Add files via upload

* Rename pabile40.c to p40.c

* Rename pabile40.h to p40.h

* Add files via upload

* Update p40.c

* Update p40.h

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Updated readme file

* Updated readme file

* Add files via upload

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

* config update

* Delete README.md.save

* Delete keymap.c.save

* Delete keymaps.c

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

* Update p18.h

* testing layout config

* Create info.json

* Create info.json

* Create readme.md

* Update readme.md

* Updated description

* Updated description

* Update config.h

updated vendor ID to 0000

* Update keymap.c

removed unnecessary comments

* Update keyboards/pabile/p18/p18.h

* Update keyboards/pabile/p18/p18.h

* Update p18.h

removed unnecessary comments

* Update keyboards/pabile/p18/rules.mk

* Update keyboards/pabile/p18/rules.mk

* Update config.h

updated vendor id and removed unnecessary comments

* Update keyboards/pabile/p40/info.json

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

* Update keyboards/pabile/p40/p40.h

* Update keyboards/pabile/p40/p40.h

* Update keyboards/pabile/p40/p40.h

* Update keyboards/pabile/p40/rules.mk

* Update keyboards/pabile/p40/rules.mk

* Added p20 macropad

* Update README.md

* Updated VID and PID

* Updated VID and PID

* Update rules.mk

* Update config.h

* Update config.h

* Update config.h

* Update keymap.c

* Replaced blank keys with KC_NO

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

* Update keyboards/pabile/p18/p18.h

* Update keyboards/pabile/p18/rules.mk

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

* Update keymap.c

* Update keymap.c

* Update keyboards/pabile/p20/rules.mk

* Update keyboards/pabile/p40/info.json

* Update keyboards/pabile/p20/p20.h

* Updated product ID

* Updated product ID

* Update keyboards/pabile/p20/config.h

* Update keyboards/pabile/p20/p20.h

* Update keyboards/pabile/p20/p20.h

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

* Update keyboards/pabile/p18/readme.md

* Update keyboards/pabile/p20/README.md

* Update keyboards/pabile/p20/rules.mk

* Update keyboards/pabile/p20/rules.mk

* Update keyboards/pabile/p20/rules.mk

* Update keyboards/pabile/p20/rules.mk

* Update keyboards/pabile/p40/README.md

* Update keyboards/pabile/p40/rules.mk

* Update keyboards/pabile/p40/rules.mk

* Update keyboards/pabile/p18/rules.mk

* Update keyboards/pabile/p18/rules.mk

* Update keyboards/pabile/p40/config.h

* Update keyboards/pabile/p40/config.h

* Update keyboards/pabile/p18/readme.md

* Changed to lowercase filename

* Rename README.md to readme.md

* Update keyboards/pabile/p18/rules.mk
2020-05-09 21:46:17 -07:00
Chuck Lauer Vose
73992c68d5 Add one-handed Viterbi layout for gaming (#8963)
* Add one-handed Viterbi layout for gaming

* fixes for pr feedback

* Update keyboards/keebio/viterbi/keymaps/vosechu/config.h

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-05-10 04:53:32 +01:00
Brian Mock
8ca4ed9a98 Fix off by one error with oled_write_raw_P (#9045) 2020-05-10 04:14:07 +01:00
Zach White
640d12d070 Improve security of avrdude by eliminating the use of well-known names. (#9026)
* Improve security by eliminating the use of well-known names.

* Add an additional $ so the shell expands $TMP1 and $TMP2

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-05-10 04:08:13 +01:00
Xyverz
3beda5c16e [Keymap] Added MACLOCK macro (#9037)
* Added MACLOCK macro

Added my MACLOCK macro to my Atreus keymap.

* Updated comments & readme

Documented where in the layout I added the MACLOCK macro.
2020-05-09 19:21:32 -07:00
TheFourthCow
fb7fc54923 [Keymap] added shifted symbols support (#9059)
* added shifted symbols to default keymap
2020-05-09 19:06:44 -07:00
Nick Blyumberg
179c868059 [Keymap] Add nblyumberg 1upkeyboards super16 keymap (#8902)
* Updated with my super16 version for my keypad

* Added my folder to super16

* Set max LED brightness to 50%

* Added custom keycodes for enter/shift+enter and copy/paste on one key

* Fixed the boot up layer color

* Renamed folder

* Revert changes to root super16 files

* Update keymap config.h and rules.mk files

* Restore deleted 15game keymap files

* Corrected the hold keycode for CCCV

* Removed unnecessary comments

* Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c

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

* Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/config.h

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

* Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c

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

* Rewriting the layer color functionality

* Revisions

* Fixed the layer switching

* Fixed the default layer color problem

* Added a function suggested by Drashna but it won't compile

* Cleaned up the code for PR

* Removed unnecessary define for layer colors

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
2020-05-09 22:52:58 +01:00
James Young
7b11dcce10 Docs: fix links in feature_hd44780.md (#9053)
The referenced site was moved.
2020-05-09 22:47:11 +01:00
1m38
e2fa05c6d2 [Keymap] Add Chidori OLED-enabled sample keymap (#8446)
* create chidori/oled_sample keymap

* Implement OLED enabled keymap

* Update readme.md

* Update keyboards/chidori/keymaps/oled_sample/keymap.c

* Update keyboards/chidori/keymaps/oled_sample/keymap.c

* delete chidori:oled_sample/config.h

* use oled_write_ln_P to print layer state

* delete unnecessary include

* merge nested switches in oled_write_layer_state()
2020-05-09 10:48:17 -07:00
mechlovin
4c4009c0fd [Keyboard] add adelais PCB (#8945)
* add adelais PCB

* clean up

* merger

* update

* Update readme.md

* Update config.h

* update

* update

* move keymap folder

* Update info.json

* Update info.json

* Update info.json

Co-authored-by: vuhopkep <boy9x0@gmail.com>
2020-05-09 02:38:19 -07:00
QMK Bot
e7860d673b format code according to conventions [skip ci] 2020-05-09 09:31:49 +00:00
Joshua Diamond
2fe7e221ec New RGB Lighting effect: Twinkle (#8887)
* Add twinkle RGB Lighting effect

* 2nd twinkle algo - double-buffering

* Further refinement: Per-LED twinkle

* Add documentation for Twinkle RBG Lighting mode

* Bias twinkle saturation closer to the set value

* Fix whitespace
2020-05-09 01:56:16 -07:00
Joshua Diamond
e0f548085c Add ability to blink lighting layer for a specified duration (#8760)
* Implement momentarily blink of lighting layers

* Refactor spidey3 userspace to use rgb layer blink

* Remove un-necessary line from example in documentation

* Revert "Refactor spidey3 userspace to use rgb layer blink"

This reverts commit 831649bb680c41c6d663ae6fa86d13f4f8bebdd8.

* Adds a missing bit of documentation about lighting layer blink

* Update docs/feature_rgblight.md per suggestions

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

* Update docs/feature_rgblight.md per suggestions

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

* Update docs/feature_rgblight.md per suggestions

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

* cformat, as suggested

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-05-09 01:38:33 -07:00
Konstantin Đorđević
94fc32f431 Fix bug in UC_RMOD, add shift and audio support for UC_MOD/UC_RMOD(#8674)
* Invert UC_MOD/UC_RMOD direction when Shift is held

Also use MOD_MASK_SHIFT in process_rgb.c

* Allow audio to be played for UC_MOD, UC_RMOD keycodes as well

* Fix signedness bug in reverse input mode cycling

* Misc formatting in process_unicode_common.c

* Address clang-format issues

* Make decode_utf8 helper function file-local (static)
2020-05-09 01:22:02 -07:00
Andrew Dunai
1f7bbf279c [Keyboard] Added D48 keyboard (#8548)
* [Keyboard] Added D48 keyboard.

* Updated README.

* Cleanups.

* Moved d48 to handwired/

* Added link to build process album.

* Coding conventions cleanups.

* Added DS1307 RTC!

* Minor cleanups.

* Apply suggestions from code review

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

* Minor refactoring.

* Readme fix.

* Moved leftover keymap-specific code from keyboard space into keymap.

* Added encoder button pins to extra matrix row.

* Updated README, updated pinout & cleaned up the glcdfont

* Apply suggestions from code review

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

* Update config.h

* Apply suggestions from code review

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

* Added default keymap. Refactored existing keymap.

* Update keyboards/handwired/d48/README.md

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

* Apply suggestions from code review

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

* Minor alignment fix.

* Update keyboards/handwired/d48/glcdfont_d48.c

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

* Changes as per PR.

* Apply suggestions from code review

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-05-08 23:59:50 -07:00
milestogo
803610a284 [Keymap] initial user directory for milestogo + babblepaste (#7698)
* initial user directory

* fix missing endif in vi mode

* fix includes per drashna and a few typos. I have not tested the userspace keymap, it is just there to help keep the user space and keymap in sync

* move babblepaste docs to md format

* clean up block quotes

* TIL clang-format - miles2go userspace
2020-05-08 23:15:26 -07:00
OsciX
cd0edbb1fb [Keyboard] Shambles TKL (#8500)
* Add support for the Shambles TKL

* Fix Shambles files

* Add files via upload

* Fix Shambles again

* Delete shambles.h.h

* Delete shambles.c.c

* Add files via upload

* Delete Makefile

* Apply suggestions from code review

* Fix default layout to work with review

* Apply suggestions from code review

* Add info files

* Update readme.md

* Update keyboards/shambles/readme.md
2020-05-08 17:08:19 -07:00
Eriq M. Adams
6919772fb9 Add TENKI keyboard (#9029)
* Add TENKI keyboard

Add TENKI keyboard, default keymap and via keymap

* Minor Update Readme.md

Change description of hardware supported

* change layout name

change layout name from ortho_20 to ortho_5x4

* Fix invalid format in info.json

Fix invalid format in info.json

* Fix invalid format

* Fix formatting

Fix formatting tenki.h

* Fix formatting in keymap.c

Fix formatting in keymap.c

* Add new line at EOF info.json

Add new line at EOF

* Fix formatting

* Fix formatting

* Update rules.mk

Fix Formatting
2020-05-08 23:57:11 +01:00
tominabox1
fedd8e81d1 Add Le Chiffre keyboard (#8995)
* Initial

* update json, added basic oled config, updated matrix to correct rotary location

* disable oled by default

* Tuned oled for release

* Completed OLED function implementation
Correct spelling error in readme

* Fixed image in readme

* Should not be in this branch

* Incorporating recommended changes by zvecr

* Update keyboards/le_chiffre/info.json

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

* Update keyboards/le_chiffre/readme.md

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-05-08 23:54:55 +01:00
Joel Challis
adda5d7770 Revert "Use nano specs (#8270)" (#9044)
This reverts commit c775104b9f60d738fd69166da33972d60034c639.
2020-05-08 14:51:00 +01:00
eniigmakeyboards
d2581884d9 [Keyboard] Eniigma Keyboards ek87 (#8937)
* Added ek87 support

* Fixed readme

* Update keyboards/eniigmakeyboards/ek87/rules.mk

* Update keyboards/eniigmakeyboards/ek87/config.h

* Update keyboards/eniigmakeyboards/ek87/ek87.c

* fixed title

* Deleted old files

* Added rules.mk file to VIA keymap folder

* Update keyboards/eniigmakeyboards/ek87/keymaps/default/keymap.c

* Update keyboards/eniigmakeyboards/ek87/keymaps/via/keymap.c

* Update keyboards/eniigmakeyboards/ek87/rules.mk

* Deleted requested file

* Removed VIA line from rules

* Update keyboards/eniigmakeyboards/ek87/readme.md

* Update keyboards/eniigmakeyboards/ek87/ek87.h

* Update keyboards/eniigmakeyboards/ek87/ek87.h

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/keymaps/default/keymap.c

* Update keyboards/eniigmakeyboards/ek87/keymaps/via/keymap.c

* Renamed layouts and removed obsolete ones

* Update keyboards/eniigmakeyboards/ek87/rules.mk

* Update keyboards/eniigmakeyboards/ek87/rules.mk

* Update keyboards/eniigmakeyboards/ek87/ek87.h

* Update keyboards/eniigmakeyboards/ek87/ek87.h

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json

* Update keyboards/eniigmakeyboards/ek87/info.json
2020-05-07 12:14:16 -07:00
mechlovin
58fd782ce0 [Keyboard] Mechlovin hannah60rgb (#8951)
* add new keyboard hannah60rgb

* delete line

* Delete config.h

* Update hannah60rgb.c

* Update hannah60rgb.c

* update

* Update hannah60rgb.c

* update

Co-authored-by: vuhopkep <boy9x0@gmail.com>
2020-05-07 11:58:36 -07:00
marksard
8e56d10e4e [Keyboard] treadstone48/rev2 (#8719)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add keyboard firmware of treadstone48 rev.2

* move the rev1-supported keymap.

* layout code was updated by review

* remove comment bar

* remove LTO ifded

* Update keyboards/treadstone48/rev2/rev2.h

* Update keyboards/treadstone48/rev2/rev2.h
2020-05-07 11:49:40 -07:00
mechlovin
43868a5e20 [Keyboard] Mechlovin Pisces (#8943)
* add new keyboard

* clean up

* Update rules.mk

* Update rules.mk

* update

Co-authored-by: vuhopkep <boy9x0@gmail.com>
2020-05-07 11:17:23 -07:00
QMK Bot
db167ecf79 format code according to conventions [skip ci] 2020-05-07 18:10:54 +00:00
halfenergized
2b8b1045a1 Add TGR-910 VIA support (#8985)
* Add VIA support

* Update readme.md

* Update readme.md

* Update keyboards/tgr/910/readme.md

* Update keyboards/tgr/910/readme.md

* Update keyboards/tgr/910/readme.md
2020-05-07 11:08:37 -07:00
a_p_u_r_o
7a6e52b5d8 Fix inconsistent MATRIX_COLS: basekeys/slice (#9022) 2020-05-07 02:28:01 -07:00
marksard
ae5f7365ea [Keyboard] Add keyboard firmware treadstone32lite (#8720)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add keyboard firmware of treadstone32lite

* fixed by the review

* I used to set this to a per-keymap setting, so I'll undo it.
2020-05-07 02:23:26 -07:00
ai03
606438692d [Keyboard] Add QUAD-H LB75 keyboard (#8607)
* Copy back old files from 9 months ago

* Delete unnecessary functions in lb75.c

* Remove LCD and MIDI config

* Modernize ancient files

* Update keymaps as necessary

* Move files to vendor folder

* Update readme to reflect changes

* Modernize makefile

* Remove split config

* Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c

* Update keyboards/quad_h/lb75/keymaps/via/keymap.c

* Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c

* Update keyboards/quad_h/lb75/lb75.c

* Update lb75.c

* Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c

* Update keyboards/quad_h/lb75/readme.md

* Update keyboards/quad_h/lb75/keymaps/via/keymap.c

* Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c

* Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c

* Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c

* Update keyboards/quad_h/lb75/keymaps/via/keymap.c

* Add default keymap as required

* Update keyboards/quad_h/lb75/info.json

* Update keyboards/quad_h/lb75/info.json

* Update keyboards/quad_h/lb75/readme.md

* Update keyboards/quad_h/lb75/readme.md
2020-05-07 01:44:19 -07:00
MakotoKurauchi
5d29a13e22 Changed the VID/PID for Helix keyboards (#8989) 2020-05-07 00:27:12 -07:00
Jonathan Rascher
81c648e947 More community layout support for legacy KBD67 PCBs (#8933)
* Community layout support for KBD67 hotswap

* Community layout support for KBD67 rev1

* Community layout support for KBD67 rev2

* Move bcat's KBD67 hotswap layout to community
2020-05-06 22:47:55 -07:00
Daniel Racine
923bad46f9 [Keymap] New keymap layout for dztech/dz65rgb/keymaps (#8199)
* New keymap layout for dztech/dz65rgb/keymaps

* New keymap layout for dztech/dz65rgb/keymaps
- Conding conventions fixes

* Fix typo in Leader Key table

* PR #8199 Feedback Commit #1

* Fixed data types and function names - Simplified accent macros by removing repetition - Added selection wrap macros - readme.md doc updated with changes

* PR #8199 second feedback commit - Clarified function names, variables names and comments

* Fix: accent output fix _grave  <==> _circumflex

* dry fixes on led set_color with hsv and led blinking code blocks
2020-05-06 21:01:19 -07:00
Stefano
19513fac5f jj28 (jj40 SuperMicro) update (#8885)
* jj28 (jj40 SuperMicro) update

* Update keyboards/jj40/keymaps/stevexyz/config.h

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

* removed jpegs

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

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

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

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

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

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

Co-authored-by: stevexyz <warste@removethisandleavegoogle.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-05-07 00:31:22 +01:00
Alex Daigre
7bb9c76c80 [Keymap] Custom preonic layout optimised for programming (#8263)
* my new layout, draft one, untested.

* updated mapping to include more keys

* updated layout name to be more descriptive. Updated readme with more information.

* added more info to the readme and spellchecked it.

* Added the Json for the keyboard layout images and updated the readme to reflect this.

* Updated Image link

Updated Image link so that it links to the correct place

* updated copyright info to include MY name.

* Updated copyright attribuatation to include the author of the file I modified.

* added the backlighting key back to the adjust layer so that it is usable.

* updated the name of the keymap to match my github name.
2020-05-06 16:03:42 -07:00
Ryan
57e67a4cc8 Remove old_keymap_files directory from planck (#8917) 2020-05-06 23:56:12 +01:00
Xyverz
cf3913cd79 [Keymap] Xyverz Kinesis keymap update (#9018)
* Mitor Tweaks

Updating Dvorak keymap to change location of Slash and Backslash
to positions more in line with my 12x5 and similar ortho layouts

* Fixed readme.md

Tidied up the readme and make some minor changes.

* Adding atreus config file

Adding a config file for my Atreus keyboard. This is to help with
the keychatter issues I've been having on my Atreus.

* Changes as requested per @zvecr

Added `#pragma once` to beginning of config.h file as requested
by @zvecr.
2020-05-06 22:14:28 +01:00
Zach White
a30cc37c09 New keyboard: Clueboard 2x1800 2019 (#8721)
* Initial support for the 2019 2x1800

* Get all hardware working.

* Fix shake to undo

* Use the method suggested by @reywood

* Remove the unnecessary for loop

* changes suggested by @noroadsleft

* Fix comma, period, and forward slash keys for clueboard 2x1800 default keymap by @reywood

* Call led_set_user at the end of led_set_kb (#6265)

* [Keymap] Add default layouts for 2u spacebar (#6266)

* make progress on drawing mode

* Finish drawing toy mode

* Update keyboards/clueboard/2x1800/2019/config.h

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

* Update keyboards/clueboard/2x1800/2019/2019.c

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

* Update keyboards/clueboard/2x1800/2019/2019.c

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

* Update keyboards/clueboard/2x1800/2019/2019.c

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

* Update keyboards/clueboard/2x1800/2019/rules.mk

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

* Update keyboards/clueboard/2x1800/2019/rules.mk

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

* remove unnecessary files

* Update keyboards/clueboard/2x1800/2019/rules.mk

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

* apply suggestions

* Apply suggestions from code review

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

Co-authored-by: Sean Dwyer <sean.dwyer@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-05-06 09:55:44 -07:00
Álvaro A. Volpato
b18c261040 Add Elongate PCB support (#8419)
* Working on proto

* Start adding VIA support

* Apply suggestions from code review

Removed redundant comments and fixed typos

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

* Delete useless config.h

As per code review

* Delete elongate.c

As per code review

* Updated readme.md

* Update keyboards/acheron/elongate/keymaps/default/keymap.c

As per code review

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

* Apply suggestions from code review

Removed RGB_MODE_TEST definition and substituted for RGB_M_T

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

* Apply suggestions from code review

Reverted changes to alice.h

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

* Update info.json

* Update via/keymap.c

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

* Solve compiling issue for via keymap

* Add botmagic support and remoce console_enable

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

* Update keyboards/acheron/elongate/rules.mk

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

* Update keyboards/acheron/elongate/keymaps/via/rules.mk

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

* Update keyboards/acheron/elongate/rules.mk

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

* Update keyboards/acheron/elongate/config.h

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

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-05-06 17:11:59 +01:00
TheFourthCow
bac5d6bc6a edit to default funky40 keymap (#9014) 2020-05-06 11:29:47 +10:00
Juno Nguyen
ab1650606c [Keymap] Minor keymap update to layouts/community/ortho_4x12/junonum/ (#9021) 2020-05-05 23:05:16 +10:00
XScorpion2
dc00942be1 Xulkal Changes (#9004)
* Xulkal Changes

* Fixing alt keymap
2020-05-05 13:54:26 +01:00
halfenergized
e8f842e798 Update TGR 910 VID/PID (#8988)
To fix the vendor ID and product ID
2020-05-04 23:37:45 +01:00
Jake Happersett
3745ebc22b [Keyboard] Fix Romeo ANSI Split Matrix (#9002) 2020-05-04 23:09:53 +01:00
Ryan
d646cba72a Remove Bluefruit protocol (#9008)
* Remove Bluefruit protocol

* Remove dir from doxygen TODO pile
2020-05-04 23:05:45 +01:00
Jeremy Bernhardt
15e84f79f1 gBoards Common (#8921)
Co-Authored-By: Drashna Jaelre <drashna@live.com>
2020-05-04 12:49:47 -04:00
skullY
6f30b402a2 Revert "Fix conflicting types for 'tfp_printf' (#8269)"
This reverts commit e17b55e33ad5b3dcefcf7b828ac99aeb2daeeae2.
2020-05-04 09:25:44 -07:00
QMK Bot
1ff526dac0 format code according to conventions [skip ci] 2020-05-04 06:59:44 +00:00
Joel Challis
e17b55e33a Fix conflicting types for 'tfp_printf' (#8269)
* Refactor to use mpaland/printf

* trim firmware size

* remove keymap changes

* run clang format

* Fixup after rebase

* fix up git-submodule command for printf
2020-05-03 23:19:51 -07:00
Ryan
f31bf1b202 Disable console and command on TGR 910CE (#9011) 2020-05-03 15:56:10 +01:00
Joel Challis
5f82b0782f Initial vusb console support (#8559) 2020-05-03 01:25:39 +01:00
Joshua Moses Diamond
2e6959ed87 Add some usages needed for ChromeOS hosts (#8996) 2020-05-03 10:24:11 +10:00
Joel Challis
c482a2944b Provide a mechanism for split keyboards to process key press on both halves (#9001) 2020-05-03 00:39:37 +01:00
Joel Challis
e182a38e7c Add redirect for old getting started links (#8987) 2020-05-02 04:29:55 +01:00
buzzlighter1
fe4581c1a1 Formatting (#8981) 2020-05-02 03:30:20 +01:00
JohSchneider
ddd055b1e2 Audio_Enable, AVR template update (#8901)
* Branch point for 2020 May 30 Breaking Change

* audio-configuration: template: audio_avr.c does NOT default to C6

not on its own, it needs a pin configured per define in config.h for audio to actually work
otherwise only parts of the code are included in the firmware, wasting space and possibly breaking builds because auf hitting the firmware-size limits

* audio-configuration: strip comment to bare essentials

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

* revert future change

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Johannes <you@example.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: zvecr <git@zvecr.com>
2020-05-01 21:30:12 +01:00
Joel Challis
f7324ec684 Add xd002 support (#8598)
* Add xd002 support

* tidy some whitespace

* align filename

* Update keyboards/xd002/info.json

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

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-05-01 17:59:22 +01:00
Ahmed Elshafey
750c7c2bdb [Documentation] Added raw hid documentation page (#7640)
* Added raw hid feature documentation page

* Update docs/feature_rawhid.md

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

* Update docs/feature_rawhid.md

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

* Update docs/feature_rawhid.md

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

* Update docs/features.md

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

* added feature_rawhid.md to _summary.md in docs

* fixed _summary.md order

* Update docs/feature_rawhid.md

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

* Update feature_rawhid.md

Removed the useless bit about finding usage page and usage.

* Update feature_rawhid.md

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Remove teensy client, small origanization fixes

* Fixed merge conflicts
Removed features.md
Updated _summary.md with new format and added RAW HID entry under Software Features

* Added rawhid feature page
Messy is what you get when you don't do things right the first time

Co-authored-by: fauxpark <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-05-01 23:41:58 +10:00
Eriq M. Adams
4846c8eba0 Add Via Keymap to Blackplum (#8975) 2020-05-01 13:16:59 +10:00
umi
830bd5460c [Docs] Japanese translation of docs/feature_key_lock.md (#8948)
* add feature_key_lock.md translation

* update based on comment

* set link as lang dir
2020-05-01 01:43:22 +09:00
umi
9f54a26dc0 [Docs] Japanese translation of docs/feature_haptic_feedback.md (#8874)
* add feature_haptic_feedback.md translation

* update based on comment

* update based on comment
2020-05-01 01:42:33 +09:00
Ryan
16a15c1cfc QMK-ify some GPIO macros (#8315) 2020-04-30 16:24:47 +10:00
Ryan
37a4b53c4f BACKLIGHT_ON_STATE config.h fixes (#8862) 2020-04-30 16:24:13 +10:00
QMK Bot
231464c49c format code according to conventions [skip ci] 2020-04-29 11:38:51 +00:00
JohSchneider
d26a14c169 add 'togglePin' convenience function (#8734)
* add 'togglePin' conveniance function

for AVR and chibios

* drop outmost parantheses

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* toggle pin on avrs

toggle a pin configured as output by writing the corresponding bit to the PIN register

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

* togglepin: add documentation for newly added function

* Update docs/internals_gpio_control.md

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* on AVR: use PORTD to toggle the output

... since not all MCUs support toggling through writing to PIN

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

Co-authored-by: Johannes <you@example.com>
Co-authored-by: Konstantin Đorđević <vomindoraan@gmail.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-04-29 04:04:29 -07:00
Mikkel Jeppesen
195be50745 [Keyboard] Vitamins included VIA support (#8876)
* Added VIA support

* added via support to vitamins included

* Added VIA support

* added via support to vitamins included

* Used actual nkro alias
2020-04-29 03:55:54 -07:00
Sergey Vlasov
8fdb229b66 [Keyboard] id80: Transpose matrix to use faster COL2ROW routines (#8930)
* id80: Transpose matrix to use faster COL2ROW routines

Even the standard QMK matrix_scan() function can give about 2 times
higher scan rate (if compiled with optimizations enabled) if the COL2ROW
matrix layout is used instead of ROW2COL.  Although the ID80 PCB is
wired using the ROW2COL matrix layout, it is possible to transpose the
matrix from the QMK standpoint, so that "columns" would correspond to
horizontal connections, and "rows" would correspond to (mostly) vertical
connections; in this case the matrix could be handled as if it had the
COL2ROW layout.

The matrix layout change makes the older VIA JSON layout definition
incompatible, but the corresponding JSON was not yet accepted to the VIA
repository, so it should still be safe to make this change.

* id80: Remove obsolete comments
2020-04-29 03:52:15 -07:00
Garret G
fd3456f362 [Keymap] Add VIA Keymap to RoMac+ Directory (#8966) 2020-04-29 03:11:02 -07:00
QMK Bot
812d80efbd format code according to conventions [skip ci] 2020-04-29 08:57:41 +00:00
Drashna Jaelre
86c4c4e91d Convert clipping variables in rgblight.c to a structure (#7720) 2020-04-29 10:22:28 +02:00
yd-null
5f5c2a219c [Keyboard] Add via support for cypher rev5 PCB (#8898) 2020-04-28 21:42:50 -07:00
Drashna Jaelre
e415198235 A few final edits to the keymap and readme. (#8845)
* A few final edits to the keymap and readme.

* Update keyboards/xd75/keymaps/buzzlighter1/readme.md

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

* Update keyboards/xd75/keymaps/buzzlighter1/readme.md

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

* Update keyboards/xd75/keymaps/buzzlighter1/readme.md

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

* Update keyboards/xd75/keymaps/buzzlighter1/readme.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-28 21:01:52 -07:00
Nick Brassel
b17482c3fd Add SPI master for ChibiOS/ARM. (#8779) 2020-04-29 14:01:20 +10:00
Umberto Baldi
5b4870c046 fix sick68 space key handwiring location (#8962)
* fix space key handwiring location

* fix mechmerlin layout

* Revert changes from mechmerlin layout

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

* Update layouts/community/65_ansi/mechmerlin/keymap.c

* revert

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-29 00:45:51 +01:00
Joel Challis
374525c995 Allow some usbconfig.h overrides at the keyboard level (#8647) 2020-04-29 00:17:54 +01:00
Alexander Hart
e02a3c559d Edit Unit Testing Documentation (#8961) 2020-04-29 07:39:08 +10:00
Chris Ko
e1217dae5a [Keymap] add chriskopher keymap for usb-usb converter (#8856) 2020-04-28 03:10:42 -07:00
Eric Gebhart
485a0b0bc3 [Keymap] Added Xd75 and viterbi keymaps,refactored my userspace. (#8776) 2020-04-28 02:58:42 -07:00
HASU
23cfc4b145 [Keyboard] latinpad(Original:hasupad,RENAMED latinpad) (#8766)
Co-Authored-By: ridingqwerty <george.g.koenig@gmail.com>
Co-Authored-By: Ryan <fauxpark@gmail.com>
Co-Authored-By: Joel Challis <git@zvecr.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-04-28 02:54:22 -07:00
QMK Bot
bd639752db format code according to conventions [skip ci] 2020-04-28 07:04:07 +00:00
Ryan
aaeef7a833 Add Romanian keymap and sendstring LUT (#8852) 2020-04-28 16:23:48 +10:00
TheFourthCow
0d6614f71f adding info.json for funky40 (#8956) 2020-04-27 21:30:10 -07:00
MechMerlin
d322ec5452 [Keyboard] TGR 910 CE (#8940)
* initial commit for TGR 910 CE

* got firmware working on the 910 CE

* add VIA support

* add iso and all layouts

* update information about resetting the board

* fixup default keymap to have a second layer

* fixup default keymap

* add VIA enabled keymap

* cleanups and adding community layout support

* add caps lock led support and backlight

* add qmk configurator support

* Update keyboards/tgr/910ce/info.json
2020-04-27 18:17:12 -07:00
Garret G
c7449b3840 [Keyboard] Add royal directory and add 2 keyboard releases (#8877)
* add royal project folder and 2 released keyboards

* fix iso keymap clarification

* Apply suggestions from code review

* Update keyboards/the_royal/schwann/schwann.h

* Update keyboards/the_royal/liminal/liminal.h

* Update keyboards/the_royal/schwann/keymaps/default/keymap.c

* Apply suggestions from code review

new

* Update keymap.c

* Update keymap.c

* Apply suggestions from code review

* Update rules.mk

* add rules.mk to schwann default

* Apply suggestions from code review

* add rules.mk to shwann default
2020-04-27 14:35:03 -07:00
TheFourthCow
4c51049b2b [Keyboard] Add Funky40 support (#8942)
* Adding all relevant files for the Funky40

This should add all proper files for the funky40 a keyboard I designed for myself, /u/TheFourthcow, a 40% ortholinear with split spacebar.

* Second attempt to add all relevant files for the funky40, includes all reccomended changes from my previous pull request

* Revised most files for Funky40 including reccomenations from my previous pull request

* further modifications made to default funky40 board, compiles on my side with no errors hopefully this one works!

* Update keyboards/funky40/readme.mk.mk

* Update keyboards/funky40/keymaps/default/readme.md.md

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

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

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

* Update keyboards/funky40/config.h

* updating readmes and keymap

* final update to keymap and readmes should function correctly with updates requested

* made changes as requested by noroadsleft to config and readme
2020-04-27 14:19:06 -07:00
mpstewart
dd60fcda28 [Keymap] Add personal layout: dz60:mpstewart (#8938)
* mpstewart dz60 layout

* Remove macro aliases from keymap

* Remove macro aliases from keymap

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

* Remove macro aliases from keymap

* use AG_TOGG instead of AG_SWAP

Also some commentary changes, and a change to one of the layout graphics
2020-04-27 14:05:12 -07:00
Stefano
fd6b674b49 [Keymap] Gherkin SuperMicro 28 (#8886)
* Gherkin SuperMicro 28

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk

* removed jpegs

* removed jpegs

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk

* removed firmware sizes

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c

* Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk

* Update keymap.c
2020-04-27 13:11:02 -07:00
Erovia
2c0deb8a13 Update and try to clarify the CLI installation on Linux (#8783)
* Update and try to clarify the CLI installation on Linux

* Update commands, add note for Debian/Ubuntu

* Update docs/newbs_getting_started.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-27 20:29:31 +01:00
Daniel Dylewsky
a904371b29 [Keymap] Vitamins_included keymap vitavim (#8864)
* Add new keymap to vitamins_included, this has four layers. Updated config file to sync rgb between the two halves.

* Cleaned up and added documentation for the keymap

* Updated the keymaps and documentation.

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/config.h

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c

* Update keyboards/vitamins_included/keymaps/vitavim/keymap.c
2020-04-27 10:29:27 -07:00
Aplyard
cfdd105d9d [Keyboard] Aplx2 osu! keyboard (#8847)
* Create test.txt

* aplx6

* Delete test.txt

* fff

* Delete ffff

* test compile

* Create README.md

* edited

* requests

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/rules.mk

* Update keyboards/aplx6/rules.mk

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* pins update

* update

* update pins

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* initial commit

* Update aplx2.h

* Update keyboards/aplx2/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx6/README.md

* Update keyboards/aplx2/README.md

* folder change

* Update keyboards/handwired/aplx2/README.md

* Update keyboards/handwired/aplx2/README.md

* latest suggestion

* Update keyboards/handwired/aplx2/README.md
2020-04-27 10:25:51 -07:00
umi
82ae6ee007 [Docs] Japanese translation of docs/feature_grave_esc.md (#8873)
* add feature_grave_esc.md translation

* update based on comment

* update based on comment

* update based on comment

* update based on comment

* update based on comment
2020-04-27 00:47:15 -07:00
umi
f220e7d713 [Docs] Japanese translation of docs/feature_hd44780.md (#8875)
* add feature_hd44780.md translation

* update based on comment

* update based on comment

* update based on comment
2020-04-27 00:43:41 -07:00
Joel Challis
3cb6fb2935 Merge pull request #8931 from kbrock/kle2info_2
[kle2json] fix rounding in output
2020-04-26 22:23:54 +01:00
Keenan Brock
5c666398d5 kle2info: trim down x and y output
fixes quirks with float implementation.

before:
{"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.6600000000000001, "y":1.45}

after:
{"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.66, "y":1.45}
2020-04-26 12:20:40 -04:00
Keenan Brock
a47915d2d2 kle2json: fix invocation error
resolves an issue while finding the file path

TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
2020-04-26 12:19:37 -04:00
umi
6ec3cc029e [Docs] Japanese translation of docs/feature_dynamic_macros.md (#8842)
* add feature_dynamic_macros.md translation

* add header

* add header

* update based on comment

* update based on comment
2020-04-26 23:10:05 +09:00
Jonathan Rascher
4597f2bcc8 [Keymap] Make personal keymaps a bit more consistent (#8915)
* Move menu key on ergo boards to match staggered

* Unify 60_tsangan_hhkb and 60_ansi_split_bs_rshift

* Sync KBD67, Quefrency with community layouts

* Update ergo KLE images

* Update community layout KLE images

* Update KLE images/descriptions for remaining keebs
2020-04-25 23:01:43 -07:00
Michele Ferri
52af38da37 [Keyboard] Add pimentoso/paddino02 (#8756)
* added pimentoso/paddino02

* pimentoso/paddino02 fix config

* pimentoso/paddino02 fix right handed keymap

* pimentoso/paddino02 fix readme

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style

* pimentoso/paddino02 fix readme

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style
2020-04-25 15:45:55 -07:00
Joel Challis
b2dbc3f515 Merge pull request #8896 from Salicylic-acid3/master
Correction of the number of LEDs and DEVICE_VER
2020-04-25 23:40:39 +01:00
Joel Challis
86b62eadc2 Merge pull request #8881 from Maartenwut/ta-65-via
Add VIA support for ta-65
2020-04-25 23:16:15 +01:00
Brandon Schlack
3337eb10b2 New 65 ANSI Blocker layouts: Split BS, Tsangan (#8793)
* Add 65 ANSI Blocker Split BS default layout

- Add new 65 ANSI Blocker Split BS layout as many 65 ANSI Blocker layouts also support split backspace

* Add 65 ANSI Blocker Tsangan default layout

- Add new 65 ANSI Blocker Tsangan layout as many 65 ANSI Blocker layouts also support a split backspace and a 7u bottom row configuration.

* Fix file names

* Fix 65_ansi_blocker_tsangan keymap

* Fix 65_ansi_blocker_split_bs alignment

* Fix readme name for 65_ansi_blocker_split_bs

* Change 65_ansi_blocker_tsangan to 2u backspace

* Change spaces in preview to NBSP

* Change more spaces in preview to NBSP (right-alt)
2020-04-25 14:29:43 -07:00
Danny
32bab55def Add Keebio lighting defaults (#8884)
* Set Iris LED/RGB defaults

* Add lighting defaults for more boards
2020-04-25 14:26:26 -07:00
buzzlighter1
47fc2f8855 Update keyboards/xd75/keymaps/buzzlighter1/readme.md
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-25 15:22:05 +03:00
buzzlighter1
ee29b515ec Update keyboards/xd75/keymaps/buzzlighter1/readme.md
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-25 15:21:57 +03:00
buzzlighter1
c031e13982 Update keyboards/xd75/keymaps/buzzlighter1/readme.md
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-25 15:21:34 +03:00
Salicylic-acid3
84bf82f2c9 Update keyboards/7skb/rev1/config.h
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-04-25 07:30:32 +09:00
Salicylic-acid3
af26238385 Update keyboards/7skb/rev1/config.h
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-04-25 07:30:18 +09:00
Joel Challis
28e5969f78 Merge pull request #8897 from Maartenwut/ta-65-encoder
Add encoder support to ta-65
2020-04-24 22:42:43 +01:00
Joel Challis
59246756e5 Merge pull request #8905 from marhalloweenvt/marhalloweenvt_dev
[p1800fl] Adjust info.json to work with QMK Config tool
2020-04-24 22:42:13 +01:00
Joel Challis
423ce39f18 Merge pull request #8806 from awkannan/202004_obliterated75
Add Obliterated75 Keyboard
2020-04-24 21:39:41 +01:00
Joel Challis
217debff07 Merge pull request #8807 from danielhklein/uni660rev2
Add uni660 rev2 support
2020-04-24 21:37:18 +01:00
Joel Challis
52e9719d09 Merge pull request #8867 from bbeckford/master
Configure RGBLIGHT_SLEEP for cospad
2020-04-24 21:35:20 +01:00
Joel Challis
9df367e227 Fix ISO Enter order in Wasdat info.json (#8891) 2020-04-24 19:52:58 +01:00
Ryan
8650b9f10c VIA keymap for JJ4x4 and general cleanup (#8888) 2020-04-24 19:52:27 +01:00
Maarten Dekkers
5c9c45619e Change keymap encoder code
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-24 19:41:05 +02:00
marhalloweenvt
09caf19389 Adjust info.json to work with QMK Config tool 2020-04-25 00:08:14 +07:00
marhalloweenvt
4baf49191f [Keyboard] Add p1800fl (#8879)
* My commit message

* Adjust p1800fl
2020-04-24 17:05:57 +01:00
Maarten Dekkers
427da3c19c Update Plain60 VIA keymap (#8882)
Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-24 16:59:33 +01:00
Maarten Dekkers
1df8bb3cdb Update keymap.c
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-24 01:40:01 +02:00
Maarten Dekkers
99eacdc47a [Keyboard] Add VIA support for Wasdat Code (#8892)
* Add VIA keymap

Also adds more backlight levels.

* Change wasdat code PID

* Alias LAYOUT_fullsize_iso to LAYOUT_all

* Change VIA layout macro to LAYOUT_all

Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-23 13:38:24 -07:00
Peter Becich
5e235d30c7 [Keymap] Dvorak for Keeb.io Iris (#8863)
* Dvorak keymap for Iris

Tested to work with Iris rev. 2

Squashed commit of the following:

commit c7a1bcf831e79953e81dda4a014b90daf4f63276
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sat Oct 13 17:34:11 2018 -0700

    backtick

commit 7a7f6a5fec56446f973a4f145c5f8d002de6cd08
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sun Sep 23 17:27:17 2018 -0700

    iris dvorak

commit 625461097eb1ba4585a716853999a0f30daffb2b
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sun Sep 23 17:22:01 2018 -0700

    iris dvorak

* dvorak keymap readme

* key correction, keymap readme

* Apply suggestions from code review

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

* revise backspace key

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-23 21:07:58 +01:00
Ryan
6586280bf3 Add missing packages to Linux install scripts (#8895) 2020-04-23 21:56:36 +02:00
Marc
0722986d7a Added YD60MQ ISO layout (#8815) 2020-04-24 05:19:01 +10:00
Maarten Dekkers
22a10cc8a3 Add encoder to ta-65 default keymap 2020-04-23 20:59:32 +02:00
Maarten Dekkers
b349fa0a57 Add encoder to ta-65 2020-04-23 20:57:49 +02:00
Ramon Imbao
e98a9578a1 [Keyboard] Add VIA support for Wete, fix layout error (#8802)
* Add VIA support for Wete

* Fix incorrect layout for ANSI and ISO
2020-04-23 11:55:40 -07:00
Salicylic-acid3
d2b03bf150 Correction of the number of LEDs and DEVICE_VER.
The number of LED is changed from 5 to 6 on one side.
DEVICE_VER was changed to a number with no duplicates.
2020-04-24 02:50:23 +09:00
fauxpark
35ca1c2212 Fix ISO Enter order in Wasdat info.json 2020-04-24 00:10:01 +10:00
Maarten Dekkers
ccc8338b0e [Keyboard] Add wasdat code controller (#8858)
* Initial keyboard upload

* Code cleanup and product name

* Fix sequence in info.json layouts
2020-04-22 17:01:46 -07:00
Takeshi ISHII
bafa35ff46 fix sample code indent in feature_encoders.md (#8883) 2020-04-23 08:56:22 +10:00
Maarten Dekkers
182286680a Add VIA support for ta-65 2020-04-22 22:39:53 +02:00
Jonathan Rascher
c1c579c554 [Keymap] Clean up my ergo keymaps and userspace (#8857)
* Remove more mouse keys settings missed in #8836

* Turn off more unwanted make options

* clang-format my userspace

* Reword ergo layout docs so Crkbd is canonical

* Add a basic readme to my userspace

* Tweak Crkbd readme wording and fix typos

* Enable SPLIT_USB_DETECT for Lily58 w/ Elite-C bug
2020-04-22 13:26:51 -07:00
pngu
19bd8aa942 idb 60 Bugfixes / Preparations for Open Source Hardware (#8866)
* Added idb 60 keyboard

* fixed info.json

* implemented revievers' suggested changes

* fixed an error

* implemented revievers' suggestions

* further cleanup

* implemented suggested changes

* fixed errors

* checkout

* delete old files

* delete old files

* preparations for open source hardware files

* revert eager debounce mode to default

* fix indicator LEDs stuck in "on" mode, rename ESC LED to fn LED (rev 2 PCB will have another LED slot on the right shift FN key)

* cleanup

* cleanup

* lost+found lufa

* lost+found lufa

* lost+found lufa

* lost+found lufa

* lost+found lufa

* Update keyboards/idb/idb_60/keymaps/pngu/keymap.c

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

* Update idb_60.h

* Update idb_60.h

* made suggested changes

* Update keyboards/idb/idb_60/idb_60.h

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

Co-authored-by: root <root@DESKTOP-QQ80MAV.localdomain>
Co-authored-by: tbrandt <thorben.brandt@dg-cybersicherheit.de>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-22 13:17:57 +01:00
Daniel Klein
d0d105b083 split config.h 2020-04-21 16:53:49 -07:00
Daniel Klein
c0a57c2a50 split rev2.h for ansi and iso 2020-04-21 16:51:11 -07:00
Rossman360
738c6612ca Rebound: add rev2 and thus rev1 as well (#8630)
* add rev2 and thus rev1 as well

* nitpicks :)

* buncha stuff

* back to one rev

* back to community layout with errors

* I see you've met my typo

* remove default48 kemap rules

* re-rework into 2 revs

* readme changes

* whitespace cleanup

* default folder

* rev1 be default
2020-04-21 23:25:13 +01:00
Andrew Kannan
643fc1d806 Update keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-04-21 12:03:42 -04:00
Mikkel Jeppesen
f78896589e Update vitamins included default keymap, enable NKRO, rev2 rgbsplit (#8871)
* Update default vitamins_included keymap

* Turned on NKRO support
* Added NKRO toggle key to keymap
* Cleaned up key map to be more up to date with current standards

* configured RGBLED_SPLIT
2020-04-21 13:15:29 +01:00
Alex Ong
837ffd0006 Update to xealousbrown. (#8215)
* Update to xealousbrown.

5-13ms Latency decrease, 4x scan rate improvement.
(CUSTOM_MATRIX = lite) is a really great feature!

* Updated Readme.md, added an extra speedhack.

* More optimizations

* Update keyboards/handwired/xealousbrown/rules.mk

* Update keyboards/handwired/xealousbrown/rules.mk
2020-04-21 00:41:15 -07:00
Nicholas Junker
92a50a386a [Keyboard] DMQ Design SPIN (#8820)
* added SPIN keyboard and respective keymaps

* Update keyboards/dmqdesign/spin/keymaps/default/keymap.c

* Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c

* Update keyboards/dmqdesign/spin/rules.mk

* Update keyboards/dmqdesign/spin/spin.c

* Update keyboards/dmqdesign/spin/spin.h

* Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c

* Update keyboards/dmqdesign/spin/readme.md

* Update keyboards/dmqdesign/spin/readme.md

* Update keyboards/dmqdesign/spin/spin.h

* Update keyboards/dmqdesign/spin/rules.mk

* Update keyboards/dmqdesign/spin/config.h

* Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c

* Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c

* changed keymap to all lowercase, removed LED typecasts

* made encoderLayers all lowercase

* fixed the duplicate folder after changing name (hopefully)

* fixed the info.json, followed the keyboard support doc

* Update keyboards/dmqdesign/spin/info.json

* Update keyboards/dmqdesign/spin/info.json

* Update keyboards/dmqdesign/spin/info.json

* Update keyboards/dmqdesign/spin/info.json
2020-04-20 19:55:17 -07:00
TerryMathews
357c6009be Wheatfield Blocked65: Update RGBLED num (#8725)
Evidently there is a polycarb variant with underglow LEDs. This change should support that without negatively impacting aluminum case variant which only has 2 RGB LEDs on top.
2020-04-20 17:27:52 -07:00
Sergey Vlasov
e916ce5f3e Add VIA support to ID80 (#8791) 2020-04-20 16:06:48 -07:00
Brandon Schlack
086a7cf800 CFTKB Mysterium & Discipad VIA support (#8794)
* [Keyboard] Add VIA support to Mysterium

* [Keyboard] Add VIA support to Discipad
2020-04-20 16:00:01 -07:00
Ryan
99f7fe6bd4 Clean up ATSAM ifdefs (#8808) 2020-04-20 15:38:34 -07:00
umi
d0c3a4c8d5 [Docs] Japanese translation of docs/feature_encoders.md (#8843)
* add feature_encoders.md translation

* update based on comment
2020-04-20 15:36:04 -07:00
Fred Silberberg
2dca087b04 Add naked60 layout, clean up my userspace files and rules.mk. (#8848) 2020-04-20 11:00:14 +01:00
Ben Beckford
b80340c207 Merge branch 'master' of https://github.com/bbeckford/qmk_firmware 2020-04-20 10:58:45 +01:00
Ben Beckford
cb4a86475e Changed default RGBLIGHT_SLEEP for cospad 2020-04-20 10:58:36 +01:00
huajijam
7e4cf9ace2 Fixing DecadePad Numlock LED Bug (#8831)
* Fixing Numlock LED Bugs

* Change LED CODE to new API
2020-04-20 10:54:33 +01:00
umi
0d658e0c95 [Docs] Japanese translation of docs/feature_command.md (#8672)
* add feature_command.md translation

* update based on comment
2020-04-20 14:49:12 +09:00
Jared Hendry
1522d97c2b Add support for YMD75 rev 2 (#8853) 2020-04-20 00:58:58 +01:00
Konstantin Đorđević
2d39a9dcdb Remove no-longer-necessary LTO checks from keyboards' config.h files (#8773)
* Remove no-longer-necessary LTO checks from keyboards' config.h files

* Remove unnecessary LTO check in @danielo515's Ergodox EZ keymap

* Remove unnecessary USE_Link_Time_Optimization checks from keyboards' config.h files

Note: DISABLE_LEADER doesn't seem to be used anywhere
2020-04-19 23:56:48 +01:00
Maarten Dekkers
33bf4863f5 Fix ta-65 tsangan layouts (#8855)
The key next to the spacebar wasn't working, fixed that.

Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-19 23:29:15 +01:00
Maarten Dekkers
ad547c1fdd Fix Plain60 layout (#8854)
Fixes the LAYOUT_60_ansi_split_bs_rshift where the key next to right shift didn't work.

Co-authored-by: Maarten Dekkers <maartenn2001@gmail.com>
2020-04-19 23:12:19 +01:00
Chris Ko
9b70e53508 [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
khitsule
33a5dc4fcf [Keymap] Updates to personal keymaps (#8818)
* sync with upstream; initial iris design

* sync with upstream

* update to iris keymap

* merge upstream

* iris keymap refined

* Iris readme update

* messed up upstream merge somehow, hopefully fixed

* removed extra closing bracket

* Apply suggestions from code review

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

* change layers from define to enum per suggestions

Co-authored-by: Mysti Woodard <mystiwoodard@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-19 10:15:12 -07:00
Elisiano Petrini
e0fffcde99 Updated personal preonic keymap (#8851) 2020-04-20 03:12:48 +10:00
MechMerlin
06bffbd45b [Keyboard] VIA Support: Singa x TGR Unikorn 60 (#8838)
* add via keymap

* change up VID and PID

* enabling the RGB just so VIA has access to it
2020-04-19 10:11:55 -07:00
MechMerlin
c261076f8e [Keyboard] VIA Support: KBD67mkii SOLDERED (#8837)
* add VIA keymap to soldered kbd67mkii

* clean up config file
2020-04-19 10:11:32 -07:00
Erovia
51ecd37d7b Add VIA support for Minivan (#8849)
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-19 18:44:05 +02:00
Toshihiro Suzuki
ed5e69093c Update my keymaps (#8840) 2020-04-20 01:17:47 +10:00
Ryan
43785126a7 Merge pull request #8710 from vomindoraan/keymap_extras_fixup 2020-04-19 19:18:05 +10:00
skullydazed
8c97b4a3a4 Add a syllabus to guide people who are learning QMK (#8816) 2020-04-19 09:08:38 +02:00
Joel Challis
0698b15aa5 Update cli CI checkout to v2 (#8823) 2020-04-19 09:08:12 +02:00
Jonathan Rascher
d600631ad1 [Keymap] Rework my Tsangan layout; turn off mousekeys (#8836)
* Give Tsangan layout a real Fn2 layer

* Disable mouse keys to work around qmk#8323

I don't actually use this feature, so there's no reason for it to be
enabled anyway, and it seems to cause spurious wakeups on Windows.
2020-04-18 18:41:40 -07:00
Josh Hinnebusch
f3595f65b7 [Keyboard] add dual-direction diode capability for hbcp (#8795)
* add dual-direction diode capability

* update per PR requests

Co-authored-by: hineybush <hineybushkeyboards@gmail.com>
2020-04-18 18:06:28 -07:00
mechanicalguy21
23df763a31 [Keyboard] Adding Novem keyboard (macropad) and demo layout (#8781)
* Adding Novem keyboard (macropad) and demo layout

* Making changes suggested during pull request

* Removing keyboards/novem/keymaps/default/config.h as suggested during the pull request

* Moving keyboard to the handwired folder and changing the build line from readme in order to reflect this new location
2020-04-18 17:58:58 -07:00
Konstantin Đorđević
ed910c8e97 Add back deprecated SE_AE keycode 2020-04-19 02:56:52 +02:00
Cody Bender
7e1c0bd4c0 [Keyboard] Add Absinthe keyboard (#8769)
* Initial absinthe setup

* Update Absinthe files

* Add absinthe ANSI layout

* Update absinthe keymaps

* Update Absinthe for rev3

* Flip encoder pins

* Fix rules.mk

* Update absinthe files

* Fix absinthe ansi config

* Add RGB

* Change rules for absinthe for firmware size

* Fix pins for rev4

* Fix pins and GESC

* Remove GESC from ANSI layout

* Rebase upstream/master

* Update formatting and convention from 8769 feedback

* Format rules.mk
2020-04-18 17:40:13 -07:00
Spaceman
d2b8398f75 [Keyboard] Add DGG-56 Handwired (#8740)
* Add ddg_56 keyboard

* Add ddg_56 default keymap

* Fix config.h

* Update config.h

* Update ddg_56.h

* Update keyboards/handwired/ddg_56/readme.md

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

* Update keyboards/handwired/ddg_56/readme.md

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

* Update keyboards/handwired/ddg_56/info.json

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-18 17:20:42 -07:00
joseandres42
195324cc4c Add dvorak's spanish variant to quantum/keymap_extras (#8732)
* Added dvorak's spanish variant.

* Fixed spacing

* Fixed filename typo

* Applied fixes and suggestions.

* Fixed spacing

* Added sendstring_spanish_dvorak.h

* Fixed sendstring_spanish.h

* Update quantum/keymap_extras/sendstring_spanish_dvorak.h

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

* Update quantum/keymap_extras/sendstring_spanish.h

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

* Update quantum/keymap_extras/sendstring_spanish_dvorak.h

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

Co-authored-by: joseandres42 <joseandres42@Orion-PC.localdomain>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-04-18 17:12:36 -07:00
Ryan
cd5399942b Merge pull request #8722 from fauxpark/keymap-extras-bepo 2020-04-19 06:58:01 +10:00
Ryan
fd4bbd8d11 Update Italian macOS keymaps and add sendstring LUTs (#8701)
* Update Italian macOS keymaps and add sendstring LUTs

* Wrong letter
2020-04-19 06:57:36 +10:00
Ryan
f43cb31476 Update French and German macOS keymaps and add sendstring LUTs (#8700) 2020-04-19 06:57:05 +10:00
Ryan
89eb3a9e42 Update Swiss French/German keymaps and add sendstring LUTs (#8689) 2020-04-19 06:56:49 +10:00
skullydazed
66d94dc22a Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
MechMerlin
5a8f59503e VIA Support: All QMK Winkeyless.kr boards (#8846) 2020-04-18 21:45:24 +02:00
skullydazed
7918f7d61d Document the Proton C pins for manual Pro Micro conversion (#7043) 2020-04-18 10:58:59 -07:00
buzzlighter1
a6bd8fe67b Update keyboards/xd75/keymaps/buzzlighter1/readme.md
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-18 20:32:24 +03:00
worldspawn00
55b43f02f0 fixing Walletburner Neuron layout for configurator (#8839)
* fixing layout for configurator

adding missing bottom row key to resolve formatting
2020-04-18 10:27:47 -07:00
buzzlighter1
db4b11f866 A few final edits to the keymap and readme. 2020-04-18 18:16:11 +03:00
Erovia
46a84ec84a Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
James Young
3b5998085c Add info.json for bat43 (#8824) 2020-04-17 19:26:04 +01:00
Andrew Kannan
7a9980fd85 Apply suggestions from code review
Co-Authored-By: Ryan <fauxpark@gmail.com>
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-17 11:04:25 -04:00
Andrew Kannan
99d9250045 Apply suggestions from code review
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-04-16 16:20:43 -04:00
Andrew Kannan
7a0d145e27 Whitespace changes
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-04-15 12:35:24 -04:00
Daniel Klein
d06340f665 uni660rev2 added 2020-04-14 21:25:25 -07:00
Andrew Kannan
4c0065dda7 Add new obliterated75 files 2020-04-15 00:04:03 -04:00
fauxpark
09a1917103 Slight rename of double angle quote keycodes 2020-04-13 21:15:37 +10:00
fauxpark
0499f30f59 Update BÉPO keymap and sendstring LUT 2020-04-07 20:50:10 +10:00
Konstantin Đorđević
e0909a31c7 GR_DTON → GR_DIAT 2020-04-06 19:32:40 +02:00
Konstantin Đorđević
d6bffdf577 Small corrections to Belgian, Serbian and Slovenian keymaps 2020-04-06 19:10:57 +02:00
fauxpark
bf38f39c3f Wrong letter 2020-04-06 20:15:13 +10:00
fauxpark
62d1d69ba9 Update Italian macOS keymaps and add sendstring LUTs 2020-04-06 15:30:36 +10:00
1009 changed files with 46598 additions and 6084 deletions

View File

@ -19,7 +19,7 @@ jobs:
container: qmkfm/base_container
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies

View File

@ -29,6 +29,9 @@ $(info QMK Firmware $(QMK_VERSION))
endif
endif
# avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory
ON_ERROR := error_occurred=1
BREAK_ON_ERRORS = no

View File

@ -35,7 +35,7 @@ def _check_modules(requirements):
if not find_spec(module['import']):
print('Could not find module %s!' % module['name'])
print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % str(qmk_dir / requirements))
print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % (qmk_dir / requirements,))
if developer:
print('You can also turn off developer mode: qmk config user.developer=None')
print()

View File

@ -21,6 +21,11 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
endif
# Load the keymap-level rules.mk if exists
ifneq ("$(wildcard $(KEYMAP_PATH))", "")
-include $(KEYMAP_PATH)/rules.mk
endif
# Generate the keymap.c
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)

View File

@ -6,6 +6,7 @@
* [Testing and Debugging](newbs_testing_debugging.md)
* [Getting Help/Support](support.md)
* [Other Resources](newbs_learn_more_resources.md)
* [Syllabus](syllabus.md)
* FAQs
* [General FAQ](faq_general.md)
@ -74,6 +75,7 @@
* [Layers](feature_layers.md)
* [One Shot Keys](one_shot_keys.md)
* [Pointing Device](feature_pointing_device.md)
* [Raw HID](feature_rawhid.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
* [Tap-Hold Configuration](tap_hold.md)

View File

@ -6,7 +6,7 @@ The QMK CLI makes building and working with QMK keyboards easier. We have provid
### Requirements :id=requirements
The CLI requires Python 3.5 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
QMK requires Python 3.6 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew
@ -21,7 +21,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build
### Install Using easy_install or pip :id=install-using-easy_install-or-pip
If your system is not listed above you can install QMK manually. First ensure that you have python 3.5 (or later) installed and have installed pip. Then install QMK with this command:
If your system is not listed above you can install QMK manually. First ensure that you have python 3.6 (or later) installed and have installed pip. Then install QMK with this command:
```
pip3 install qmk

View File

@ -44,7 +44,7 @@ def hello(cli):
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
# User Interaction
@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.6/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
You should never use the format operator (`%`) directly, always pass values as arguments.
### Logging (`cli.log`)
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.

View File

@ -2,7 +2,7 @@
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
* We target Python 3.5 for compatability with all supported platforms.
* We target Python 3.6 for compatability with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the
## Integration Tests
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.5/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
## Unit Tests

View File

@ -191,7 +191,12 @@ If you define these options you will enable the associated feature, which may in
* `#define RGBLIGHT_ANIMATIONS`
* run RGB animations
* `#define RGBLIGHT_LAYERS`
* Lets you define [lighting layers](feature_rgblight.md) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
* Lets you define [lighting layers](feature_rgblight.md?id=lighting-layers) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
* `#define RGBLIGHT_MAX_LAYERS`
* Defaults to 8. Can be expanded up to 32 if more [lighting layers](feature_rgblight.md?id=lighting-layers) are needed.
* Note: Increasing the maximum will increase the firmware size and slow sync on split keyboards.
* `#define RGBLIGHT_LAYER_BLINK`
* Adds ability to [blink](feature_rgblight.md?id=lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action).
* `#define RGBLED_NUM 12`
* number of LEDs
* `#define RGBLIGHT_SPLIT`

View File

@ -61,7 +61,7 @@ void encoder_update_user(uint8_t index, bool clockwise) {
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {

View File

@ -1,6 +1,6 @@
# HD44780 LCD Displays
This is an integration of Peter Fleury's LCD library. This page will explain the basics. [For in depth documentation visit his page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
This is an integration of Peter Fleury's LCD library. This page will explain the basics. [For in depth documentation visit his page.](http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
You can enable support for HD44780 Displays by setting the `HD44780_ENABLE` flag in your keyboards `rules.mk` to yes.
@ -50,8 +50,8 @@ LCD_DISP_ON_CURSOR_BLINK : display on, cursor on flashing
````
This is best done in your keyboards `matrix_init_kb` or your keymaps `matrix_init_user`.
It is advised to clear the display before use.
To do so call `lcd_clrsrc()`.
To do so call `lcd_clrscr()`.
To now print something to your Display you first call `lcd_gotoxy(column, line)`. To go to the start of the first line you would call `lcd_gotoxy(0, 0)` and then print a string with `lcd_puts("example string")`.
There are more methods available to control the display. [For in depth documentation please visit the linked page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
There are more methods available to control the display. [For in depth documentation please visit the linked page.](http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)

65
docs/feature_rawhid.md Normal file
View File

@ -0,0 +1,65 @@
# Raw HID
Raw HID allows for bidirectional communication between QMK and the host computer over an HID interface. This has many potential use cases, such as switching keymaps on the fly or changing RGB LED colors and modes.
There are two main components to getting raw HID working with your keyboard.
## Keyboard firmware
The implementation is fairly straightforward for the firmware.
In your `rules.mk` add:
```make
RAW_ENABLE = yes
```
In your `keymap.c` include `"raw_hid.h"` and implement the following:
```C
void raw_hid_receive(uint8_t *data, uint8_t length) {
// Your code goes here. data is the packet received from host.
}
```
The `"raw_hid.h"` header also declares `void raw_hid_send(uint8_t *data, uint8_t length);` which allows sending packets from keyboard to host. As an example, it can also be used for debugging when building your host application by returning all data back to the host.
```C
void raw_hid_receive(uint8_t *data, uint8_t length) {
raw_hid_send(data, length);
}
```
`raw_hid_receive` can receive variable size packets from host with maximum length `RAW_EPSIZE`. `raw_hid_send` on the other hand can send packets to host of exactly `RAW_EPSIZE` length, therefore it should be used with data of length `RAW_EPSIZE`.
Make sure to flash raw enabled firmware before proceeding with working on the host side.
## Host (Windows/macOS/Linux)
This is the more complicated part as it will require some digging.
To connect your host computer to your keyboard with raw HID you need four pieces of information about your keyboard:
1. Vendor ID
2. Product ID
3. Usage Page
4. Usage
The first two can easily be found in your keyboard's `config.h` in the keyboard's main directory under `VENDOR_ID` and `PRODUCT_ID`. **Usage Page** is **`0xFF60`** and **Usage** is **`0x0061`**.
### Building your host
You can build your host using any language that has an available HID implementation library if you don't wish to make your own. The ones we know of for popular languages are:
* Node: [node-hid](https://github.com/node-hid/node-hid).
* C: [hidapi](https://github.com/libusb/hidapi).
* Java: [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java).
* Python: [pyhidapi](https://pypi.org/project/hid/).
This is not an exhaustive cross-platform list but should get you started. There are no special requirements for using raw HID so any HID library should work.
Now that you have all four pieces of information required to open HID interface to your keyboard. All you need to do is use your library's available functions to open the device with its ID parameters.
Note that Vendor ID and Product ID are not actually required to open the device. They are used only to filter to a specific device out of the many HID devices you have plugged in. Many libraries will give you the option to open the device using Product Name or Manufacturer Name instead, `node-hid` being a prime example. This will create issues for devices with builtin USB Hub or any extra HID interfaces where you will have multiple interfaces with the same name or from the same manufacturer. The Vendor ID together with Product ID create a unique designation to a single interface and will not exhibit this problem. Therefore, even if your library doesn't require you to, it is best to use them to avoid issues.
Unlike Vendor ID and Product ID though, Usage Page and Usage are necessary for successful communication.
It should go without saying that regardless of the library you're using, you should always make sure to close the interface when finished. Depending on the operating system and your particular environment there may be issues connecting to it again afterwards with another client or another instance of the same client if it's not explicitly closed.

View File

@ -94,6 +94,7 @@ if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a n
|`RGBLIGHT_MODE_STATIC_GRADIENT`| 0,1,..,9 |Static gradient |
|`RGBLIGHT_MODE_RGB_TEST` | *None* |RGB Test |
|`RGBLIGHT_MODE_ALTERNATING` | *None* |Alternating |
|`RGBLIGHT_MODE_TWINKLE` | 0,1,2,3,4,5 |Twinkle |
Check out [this video](https://youtube.com/watch?v=VKrpPAHlisY) for a demonstration.
@ -103,8 +104,8 @@ Note: For versions older than 0.6.117, The mode numbers were written directly. I
Use these defines to add or remove animations from the firmware. When you are running low on flash space, it can be helpful to disable animations you are not using.
|Define |Default |Description |
|------------------------------------|-------------|-------------------------------------------------------------------------------------|
|Define |Default |Description |
|------------------------------------|-------------|-------------------------------------------------------------------------|
|`RGBLIGHT_ANIMATIONS` |*Not defined*|Enable all additional animation modes. |
|`RGBLIGHT_EFFECT_ALTERNATING` |*Not defined*|Enable alternating animation mode. |
|`RGBLIGHT_EFFECT_BREATHING` |*Not defined*|Enable breathing animation mode. |
@ -115,6 +116,7 @@ Use these defines to add or remove animations from the firmware. When you are ru
|`RGBLIGHT_EFFECT_RGB_TEST` |*Not defined*|Enable RGB test animation mode. |
|`RGBLIGHT_EFFECT_SNAKE` |*Not defined*|Enable snake animation mode. |
|`RGBLIGHT_EFFECT_STATIC_GRADIENT` |*Not defined*|Enable static gradient mode. |
|`RGBLIGHT_EFFECT_TWINKLE` |*Not defined*|Enable twinkle animation mode. |
### Effect and Animation Settings
@ -131,6 +133,8 @@ The following options are used to tweak the various animations:
|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls |
|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
|`RGBLIGHT_EFFECT_TWINKLE_LIFE` |`75` |Adjusts how quickly each LED brightens and dims when twinkling (in animation steps) |
|`RGBLIGHT_EFFECT_TWINKLE_PROBABILITY`|`1/127` |Adjusts how likely each LED is to twinkle (on each animation step) |
### Example Usage to Reduce Memory Footprint
1. Remove `RGBLIGHT_ANIMATIONS` from `config.h`.
@ -168,6 +172,9 @@ const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 50, 20};
// How long (in milliseconds) to wait between animation steps for each of the "Knight" animations
const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63, 31};
// How long (in milliseconds) to wait between animation steps for each of the "Twinkle" animations
const uint8_t RGBLED_TWINKLE_INTERVALS[] PROGMEM = {50, 25, 10};
// These control which hues are selected for each of the "Static gradient" modes
const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
```
@ -177,6 +184,10 @@ const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
By including `#define RGBLIGHT_LAYERS` in your `config.h` file you can enable lighting layers. These make
it easy to use your underglow LEDs as status indicators to show which keyboard layer is currently active, or the state of caps lock, all without disrupting any animations. [Here's a video](https://youtu.be/uLGE1epbmdY) showing an example of what you can do.
### Defining Lighting Layers :id=defining-lighting-layers
By default, 8 layers are possible. This can be expanded to as many as 32 by overriding the definition of `RGBLIGHT_MAX_LAYERS` in `config.h` (e.g. `#define RGBLIGHT_MAX_LAYERS 32`). Please note, if you use a split keyboard, you will need to flash both sides of the split after changing this. Also, increasing the maximum will increase the firmware size, and will slow sync on split keyboards.
To define a layer, we modify `keymap.c` to list out LED ranges and the colors we want to overlay on them using an array of `rgblight_segment_t` using the `RGBLIGHT_LAYER_SEGMENTS` macro. We can define multiple layers and enable/disable them independently:
```c
@ -211,8 +222,12 @@ void keyboard_post_init_user(void) {
rgblight_layers = my_rgb_layers;
}
```
Note: For split keyboards with two controllers, both sides need to be flashed when updating the contents of rgblight_layers.
Finally, we enable and disable the lighting layers whenever the state of the keyboard changes:
### Enabling and disabling lighting layers :id=enabling-lighting-layers
Everything above just configured the definition of each lighting layer.
We can now enable and disable the lighting layers whenever the state of the keyboard changes:
```c
layer_state_t layer_state_set_user(layer_state_t state) {
@ -228,7 +243,40 @@ bool led_update_user(led_t led_state) {
}
```
Note: For split keyboards with two controllers, both sides need to be flashed when updating the contents of rgblight_layers.
### Lighting layer blink :id=lighting-layer-blink
By including `#define RGBLIGHT_LAYER_BLINK` in your `config.h` file you can turn a lighting
layer on for a specified duration. Once the specified number of milliseconds has elapsed
the layer will be turned off. This is useful, e.g., if you want to acknowledge some
action (e.g. toggling some setting):
```c
const rgblight_segment_t PROGMEM _yes_layer[] = RGBLIGHT_LAYER_SEGMENTS( {9, 6, HSV_GREEN} );
const rgblight_segment_t PROGMEM _no_layer[] = RGBLIGHT_LAYER_SEGMENTS( {9, 6, HSV_RED} );
const rgblight_segment_t* const PROGMEM _rgb_layers[] =
RGBLIGHT_LAYERS_LIST( _yes_layer, _no_layer );
void keyboard_post_init_user(void) {
rgblight_layers = _rgb_layers;
}
// Note we user post_process_record_user because we want the state
// after the flag has been flipped...
void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case DEBUG:
rgblight_blink_layer(debug_enable ? 0 : 1, 500);
break;
case NK_TOGG:
case NK_ON:
case NK_OFF:
rgblight_blink_layer(keymap_config.nkro ? 0 : 1, 500);
break;
}
}
```
## Functions

View File

@ -28,3 +28,4 @@ Note that the array indices are reversed same as the matrix and the values are o
|`SH_MOFF` |Momentarily turns off swap. |
|`SH_TG` |Toggles swap on and off with every key press. |
|`SH_TT` |Toggles with a tap; momentary when held. |
|`SH_OS` |One shot swap hands: toggles while pressed or until next key press. |

View File

@ -32,7 +32,7 @@
// Moved pages
'/adding_a_keyboard_to_qmk': '/hardware_keyboard_guidelines',
'/build_environment_setup': '/getting_started_build_tools',
'/build_environment_setup': '/newbs_getting_started',
'/cli_dev_configuration': '/cli_configuration',
'/dynamic_macros': '/feature_dynamic_macros',
'/feature_common_shortcuts': '/feature_advanced_keycodes',
@ -45,6 +45,7 @@
'/tap_dance': '/feature_tap_dance',
'/unicode': '/feature_unicode',
'/python_development': '/cli_development',
'/getting_started_build_tools':'/newbs_getting_started',
},
basePath: '/',
name: 'QMK Firmware',

View File

@ -16,6 +16,7 @@ The following functions can provide basic control of GPIOs and are found in `qua
| `writePinLow(pin)` | Set pin level as low, assuming it is an output | `PORTB &= ~(1<<2)` | `palClearLine(pin)` |
| `writePin(pin, level)` | Set pin level, assuming it is an output | `(level) ? PORTB \|= (1<<2) : PORTB &= ~(1<<2)` | `(level) ? palSetLine(pin) : palClearLine(pin)` |
| `readPin(pin)` | Returns the level of the pin | `_SFR_IO8(pin >> 4) & _BV(pin & 0xF)` | `palReadLine(pin)` |
| `togglePin(pin)` | Invert pin level, assuming it is an output | `PORTB ^= (1<<2)` | `palToggleLine(pin)` |
## Advanced Settings :id=advanced-settings

View File

@ -115,12 +115,18 @@ The simplest and quickest way to get things back to normal is to flash only a bo
You can find the stock bootloaders in the [`util/` folder](https://github.com/qmk/qmk_firmware/tree/master/util). Be sure to flash the correct bootloader for your chip:
* [`atmega32u4`](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1_0_0.hex) - Most keyboards, Planck Rev 1-5, Preonic Rev 1-2
* [`Pro Micro`](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro16.hex) - The default bootloader for Pro Micro controllers
* [`at90usb1286`](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb128x_1_0_1.hex) - Planck Light Rev 1
* [`atmega32a`](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32a_1_0_0.hex) - jj40, and other V-USB/ps2avrGB keyboards
* **Atmel DFU**
* [ATmega16U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega16u4_1.0.1.hex)
* [ATmega32U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1.0.0.hex)
* [AT90USB64](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb64_1.0.0.hex)
* [AT90USB128](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb128_1.0.1.hex)
* **Caterina**
* [Pro Micro (5V/16MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro16.hex)
* [Pro Micro (3.3V/8MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro8.hex)
* **BootloadHID (PS2AVRGB)**
* [ATmega32A](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_ps2avrgb_bootloadhid_1.0.1.hex)
If you're not sure what your board uses, look in the `rules.mk` file for the keyboard in QMK. The `MCU =` line will have the value you need. It may differ between different versions of the board.
If you're not sure what your board uses, look in the `rules.mk` file for the keyboard in QMK. The `MCU` and `BOOTLOADER` lines will have the value you need. It may differ between different versions of the board.
### Production Techniques

View File

@ -0,0 +1,56 @@
# コマンド
<!---
original document: 0.8.94:docs/feature_command.md
git diff 0.8.94 HEAD -- docs/feature_command.md | cat
-->
コマンド(旧称:マジック)は、ファームウェアを書き込んだり、[ブートマジック](ja/feature_bootmagic.md)を使うためにプラグを抜いたりすることなくキーボードの挙動を変更する方法です。この機能と[ブートマジックキーコード](feature_bootmagic.md#keycodes)には多くの重複があります。可能な限り、コマンドでは無くブートマジックキーコードの機能を使うことをお勧めします。
一部のキーボードではコマンドがデフォルトで無効になっています。その場合、`rules.mk` 内で明示的に有効にする必要があります:
```make
COMMAND_ENABLE = yes
```
## 使用法
コマンドを使うには、`IS_COMMAND()` マクロで定義されたキーの組み合わせを押し続けます。デフォルトでは、これは「左Shift + 右Shift」です。次に、目的のコマンドに対応するキーを押します。例えば、現在の QMK バージョンを QMK Toolbox コンソールに出力するには、「左Shift + 右Shift + `V`」を押します。
## 設定
コマンドのためのキーの割り当てを変更したい場合は、キーボードあるいはキーマップレベルのどちらかで、`config.h` にこれらを `#define` します。ここで割り当てる全てのキーコードは `KC_` 接頭辞を省略する必要があります。
| 定義 | デフォルト | 説明 |
|------------------------------------|--------------------------------|------------------------------------------------|
| `IS_COMMAND()` | `(get_mods() == MOD_MASK_SHIFT)` | コマンドをアクティブにするキーの組み合わせ |
| `MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` | `true` | ファンクション行を使ってデフォルトレイヤーを設定 |
| `MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` | `true` | 数字キーでデフォルトレイヤーを設定 |
| `MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM` | `false` | `MAGIC_KEY_LAYER0..9` を使ってデフォルトレイヤーを設定 |
| `MAGIC_KEY_DEBUG` | `D` | シリアルを介するデバッグの切り替え |
| `MAGIC_KEY_DEBUG_MATRIX` | `X` | キーマトリックスのデバッグの切り替え |
| `MAGIC_KEY_DEBUG_KBD` | `K` | キーボードのデバッグの切り替え |
| `MAGIC_KEY_DEBUG_MOUSE` | `M` | マウスのデバッグの切り替え |
| `MAGIC_KEY_CONSOLE` | `C` | コマンドコンソールを有効にする |
| `MAGIC_KEY_VERSION` | `V` | コンソールに実行中の QMK バージョンを出力 |
| `MAGIC_KEY_STATUS` | `S` | コンソールに現在のキーボードの状態を出力 |
| `MAGIC_KEY_HELP` | `H` | コンソールにコマンドのヘルプを出力 |
| `MAGIC_KEY_HELP_ALT` | `SLASH` | コンソールにコマンドのヘルプを出力 (代替) |
| `MAGIC_KEY_LAYER0` | `0` | レイヤー 0 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER0_ALT` | `GRAVE` | レイヤー 0 をデフォルトレイヤーにする (代替) |
| `MAGIC_KEY_LAYER1` | `1` | レイヤー 1 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER2` | `2` | レイヤー 2 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER3` | `3` | レイヤー 3 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER4` | `4` | レイヤー 4 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER5` | `5` | レイヤー 5 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER6` | `6` | レイヤー 6 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER7` | `7` | レイヤー 7 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER8` | `8` | レイヤー 8 をデフォルトレイヤーにする |
| `MAGIC_KEY_LAYER9` | `9` | レイヤー 9 をデフォルトレイヤーにする |
| `MAGIC_KEY_BOOTLOADER` | `B` | ブートローダにジャンプする |
| `MAGIC_KEY_BOOTLOADER_ALT` | `ESC` | ブートローダにジャンプする (代替) |
| `MAGIC_KEY_LOCK` | `CAPS` | 何も入力できないようにキーボードをロック |
| `MAGIC_KEY_EEPROM` | `E` | 保存された EEPROM 設定をコンソールに出力 |
| `MAGIC_KEY_EEPROM_CLEAR` | `BSPACE` | EEPROM をクリア |
| `MAGIC_KEY_NKRO` | `N` | N キーロールオーバー (NKRO) の有効・無効を切り替え |
| `MAGIC_KEY_SLEEP_LED` | `Z` | コンピュータがスリープの時に LED を切り替え |

View File

@ -0,0 +1,71 @@
# 動的マクロ: ランタイムでのマクロの記録および再生
<!---
original document: 0.8.123:docs/feature_dynamic_macros.md
git diff 0.8.123 HEAD -- docs/feature_dynamic_macros.md | cat
-->
QMK はその場で作られた一時的なマクロをサポートします。これらを動的マクロと呼びます。それらはユーザがキーボードから定義し、キーボードのプラグを抜くか再起動すると失われます。
1つまたは2つのマクロに合計128のキー押下を保存できます。RAM をより多く使用してサイズを増やすことができます。
有効にするには、最初に `rules.mk``DYNAMIC_MACRO_ENABLE = yes` を記述します。そして、以下のキーをキーマップに追加します:
| キー | Alias | 説明 |
|------------------|----------|---------------------------------------------------|
| `DYN_REC_START1` | `DM_REC1` | マクロ 1 の記録を開始します |
| `DYN_REC_START2` | `DM_REC2` | マクロ 2 の記録を開始します |
| `DYN_MACRO_PLAY1` | `DM_PLY1` | マクロ 1 を再生します |
| `DYN_MACRO_PLAY2` | `DM_PLY2` | マクロ 2 を再生します |
| `DYN_REC_STOP` | `DM_RSTP` | 現在記録中のマクロの記録を終了します。 |
これが必要な全てです。
マクロの記録を開始するには、`DYN_REC_START1` または `DYN_REC_START2` のどちらかを押します。
記録を終了するには、`DYN_REC_STOP` レイヤーボタンを押します。
マクロを再生するには、`DYN_MACRO_PLAY1` あるいは `DYN_MACRO_PLAY2` のどちらかを押します。
マクロの一部としてマクロを再生することができます。マクロ 1 を記録中にマクロ 2 を再生、またはその逆も問題ありません。ただし、再帰的なマクロ、つまりマクロ 1 を再生するマクロ 1 は作成しないでください。もしそうしてキーボードが反応しなくなった場合は、キーボードを取り外し再び接続します。これを完全に無効にするには、`config.h` ファイルで `DYNAMIC_MACRO_NO_NESTING` を定義します。
?> 動的マクロの内部の詳細については、`process_dynamic_macro.h` および `process_dynamic_macro.c` ファイルのコメントを読んでください。
## カスタマイズ
ある程度のカスタマイズを可能にするオプションがいくつか追加されています。
| 定義 | デフォルト | 説明 |
|----------------------------|----------------|-----------------------------------------------------------------------------------------------------------------|
| `DYNAMIC_MACRO_SIZE` | 128 | 動的マクロが使用できるメモリ量を設定します。これは限られたリソースであり、コントローラに依存します。 |
| `DYNAMIC_MACRO_USER_CALL` | *定義なし* | これを定義すると、ユーザの `keymap.c` ファイルを使ってマクロが起動されます。 |
| `DYNAMIC_MACRO_NO_NESTING` | *定義なし* | これを定義すると、別のマクロからマクロを呼び出す(入れ子になったマクロ)機能を無効にします。 |
記録中にキーを押すたびに LED が点滅し始めた場合は、マクロバッファにマクロを入れるスペースがもう無いことを意味します。マクロを入れるには、他のマクロ(それらは同じバッファを共有します)を短くするか、`config.h` に `DYNAMIC_MACRO_SIZE` 定義を追加することでバッファを増やします(デフォルト値: 128; ヘッダ内のコメントを読んでください)。
### DYNAMIC_MACRO_USER_CALL
以前のバージョンの動的マクロをお使いの方へ: 専用の `DYN_REC_STOP` キーを使わずに動的マクロキーへのアクセスに使われるレイヤーモディファイアのみを使って、マクロの記録を終了することもまだ可能です。この動作に戻したい場合は、`#define DYNAMIC_MACRO_USER_CALL` を `config.h` に追加し、以下のスニペットを `process_record_user()` 関数の先頭に記述します:
```c
uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
if (!process_record_dynamic_macro(macro_kc, record)) {
return false;
}
```
### ユーザフック
カスタム機能とフィードバックオプションを動的マクロ機能に追加するために使うことができるフックが幾つかあります。これによりある程度のカスタマイズが可能になります。
direction がどのマクロであるかを示すことに注意してください。`1` がマクロ 1、`-1` がマクロ 2、0 がマクロ無しです。
* `dynamic_macro_record_start_user(void)` - マクロの記録を開始する時に起動されます。
* `dynamic_macro_play_user(int8_t direction)` - マクロを再生する時に起動されます。
* `dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record)` - マクロの記録中に各キー押下で起動されます。
* `dynamic_macro_record_end_user(int8_t direction)` - マクロの記録を停止した時に起動されます。
さらに、動的マクロ機能が有効な場合にバックライトを点滅させるために `dynamic_macro_led_blink()` を呼び出すことができます。

View File

@ -0,0 +1,81 @@
# エンコーダ
<!---
original document: 0.8.123:docs/feature_encoders.md
git diff 0.8.123 HEAD -- docs/feature_encoders.md | cat
-->
以下を `rules.mk` に追加することで基本的なエンコーダがサポートされます:
```make
ENCODER_ENABLE = yes
```
さらに、以下を `config.h` に追加します:
```c
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
```
各 PAD_A/B 変数は配列を定義するため、複数のエンコーダを定義することができます。例えば:
```c
#define ENCODERS_PAD_A { encoder1a, encoder2a }
#define ENCODERS_PAD_B { encoder1b, encoder2b }
```
エンコーダの時計回りの方向が間違っている場合は、A と B のパッド定義を交換することができます。define を使って逆にすることもできます:
```c
#define ENCODER_DIRECTION_FLIP
```
さらに、解像度を同じファイルで指定することができます (デフォルトかつお勧めは4):
```c
#define ENCODER_RESOLUTION 4
```
## 分割キーボード
分割キーボードのそれぞれの側のエンコーダに異なるピン配列を使っている場合、右側のピン配列を以下のように定義することができます:
```c
#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
```
## コールバック
コールバック関数を `<keyboard>.c` に記述することができます:
```c
void encoder_update_kb(uint8_t index, bool clockwise) {
encoder_update_user(index, clockwise);
}
```
あるいは `keymap.c` に記述することもできます:
```c
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
}
```
## ハードウェア
エンコーダの A と B の線は MCU に直接配線し、C/common 線はグランドに配線する必要があります。

View File

@ -0,0 +1,37 @@
# グレイブエスケープ
<!---
original document: 0.8.123:docs/feature_grave_esc.md
git diff 0.8.123 HEAD -- docs/feature_grave_esc.md | cat
-->
60% キーボード、またはファンクションキー行の無い他のレイアウトを使っている場合、専用の Escape キーが無いことに気付くでしょう。グレイブエスケープは grave キー (<code>&#96;</code> および `~`) を Escape と共有することができる機能です。
## 使用法
キーマップ内の `KC_GRAVE` キー (通常は`1` キーの左)を `KC_GESC` に置き換えます。ほとんどの場合、このキーは押された時に `KC_ESC` を出力します。ただし、Shift あるいは GUI を押したままにすると、代わりに `KC_GRV` を出力します。
## OS に見えるもの
メアリーがキーボードで GESC を押すと、OS には KC_ESC 文字が見えます。メアリーが Shift を押しながら GESC を押すと、`~` または Shift された時はバッククォートを出力します。彼女が GUI/CMD/WIN を押したままにすると、1つの <code>&#96;</code> 文字を出力します。
## キーコード
| キー | エイリアス | 説明 |
|---------|-----------|------------------------------------------------------------------|
| `KC_GESC` | `GRAVE_ESC` | 押された場合に Escape。Shift あるいは GUI が押されたままの場合は <code>&#96;</code> |
### 注意事項
macOS では、Command+<code>&#96;</code> はデフォルトで "次のウィンドウを操作対象にする" にマップされます。つまりバッククォートを出力しません。さらに、ショートカットがキーボード環境設定で変更された場合でも、ターミナルは常にこのショートカットを認識してウィンドウを切り替えます。
## 設定
グレイブエスケープが壊す可能性のあるキーの組み合わせが幾つかあります。その中には、Windows では Control+Shift+Escape、macOSでは Command+Option+Escape があります。これを回避するには、`config.h` で以下のオプションを `#define` することができます:
| 定義 | 説明 |
|--------------------------|-----------------------------------------|
| `GRAVE_ESC_ALT_OVERRIDE` | Alt が押された場合、常に Escape を送信する |
| `GRAVE_ESC_CTRL_OVERRIDE` | Control が押された場合、常に Escape を送信する |
| `GRAVE_ESC_GUI_OVERRIDE` | GUI が押された場合、常に Escape を送信する |
| `GRAVE_ESC_SHIFT_OVERRIDE` | Shift が押された場合、常に Escape を送信する |

View File

@ -0,0 +1,163 @@
# 触覚フィードバック
<!---
original document: 0.8.123:docs/feature_haptic_feedback.md
git diff 0.8.123 HEAD -- docs/feature_haptic_feedback.md | cat
-->
## 触覚フィードバック の rules.mk オプション
現在のところ、`rules.mk` で触覚フィードバック用に以下のオプションを利用可能です:
`HAPTIC_ENABLE += DRV2605L`
`HAPTIC_ENABLE += SOLENOID`
## サポートされる既知のハードウェア
| 名前 | 説明 |
|--------------------|-------------------------------------------------|
| [LV061228B-L65-A](https://www.digikey.com/product-detail/en/jinlong-machinery-electronics-inc/LV061228B-L65-A/1670-1050-ND/7732325) | z-axis 2v LRA |
| [Mini Motor Disc](https://www.adafruit.com/product/1201) | small 2-5v ERM |
## 触覚キーコード
以下のキーコードは、選択した触覚メカニズムに依存して動作するかどうか決まります。
| 名前 | 説明 |
|-----------|-------------------------------------------------------|
| `HPT_ON` | 触覚フィードバックをオン |
| `HPT_OFF` | 触覚フィードバックをオフ |
| `HPT_TOG` | 触覚フィードバックのオン/オフを切り替え |
| `HPT_RST` | 触覚フィードバック設定をデフォルトに戻す |
| `HPT_FBK` | キー押下またはリリースまたはその両方でフィードバックを切り替え |
| `HPT_BUZ` | ソレノイドの振動のオン/オフを切り替え |
| `HPT_MODI` | 次の DRV2605L 波形に移動 |
| `HPT_MODD` | 前の DRV2605L 波形に移動 |
| `HPT_CONT` | 連続触覚モードのオン/オフを切り替え |
| `HPT_CONI` | DRV2605L の連続触覚強度を増加 |
| `HPT_COND` | DRV2605L の連続触覚強度を減少 |
| `HPT_DWLI` | ソレノイドの滞留時間を増加 |
| `HPT_DWLD` | ソレノイドの滞留時間を減少 |
### ソレノイド
ほとんどの MCU はソレノイドのコイルを駆動するために必要な電流を供給できないため、最初に MOSFET を介してソレノイドを駆動する回路を構築する必要があります。
[Adafruit が提供する配線図](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
| 設定 | デフォルト | 説明 |
|--------------------------|---------------|-------------------------------------------------------|
| `SOLENOID_PIN` | *定義なし* | ソレノイドが接続されているピンを設定する。 |
| `SOLENOID_DEFAULT_DWELL` | `12` ms | ソレノイドのデフォルトの滞留時間を設定する。 |
| `SOLENOID_MIN_DWELL` | `4` ms | 滞留時間の下限を設定する。 |
| `SOLENOID_MAX_DWELL` | `100` ms | 滞留時間の上限を設定する。 |
?> 滞留時間とは、「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。
ブートローダ実行中に一部のピンが給電されているかもしれず (例えば、STM32F303 チップ上の A13)、そうすると書き込みプロセスの間ずっとソレノイドがオン状態になることに注意してください。これはソレノイドを加熱し損傷を与えるかもしれません。ソレノイドが接続されているピンがブートローダ/DFU 実行中にソレノイドをオンにしていることが分かった場合は、他のピンを選択してください。
### DRV2605L
DRV2605Lは i2c プロトコルで制御され、SDA および SCL ピンに接続する必要があります。これらは使用する MCU によって異なります。
#### フィードバックモータのセットアップ
このドライバは2つの異なるフィードバックモータをサポートします。選択したモータに基づいて、`config.h` で以下を設定します。
##### ERM
偏心回転質量振動モータ (ERM) は偏りのある重りが取り付けられたモータで、駆動信号が取り付けられると偏りのある重りが回転し、正弦波が振動に変換されます。
```
#define FB_ERM_LRA 0
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* 特定のモータに最適な設定については、データシートを参照してください。*/
#define RATED_VOLTAGE 3
#define V_PEAK 5
```
##### LRA
線形共振アクチュエータ (LRA、線形バイブレータとしても知られています)は、ERM と異なります。LRA は重りと磁石をバネで吊るしたものとボイスコイルで構成されています。駆動信号が印加されるとされると、重りは単一の軸で振動します (左右または上下)。重りはバネに取り付けられているため、特定の周波数で共振効果があります。この周波数は LRA が最も効率的に動作する箇所です。この周波数の推奨範囲については、モータのデータシートを参照してください。
```
#define FB_ERM_LRA 1
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* 特定のモータに最適な設定については、データシートを参照してください。*/
#define RATED_VOLTAGE 2
#define V_PEAK 2.8
#define V_RMS 2.0
#define V_PEAK 2.1
#define F_LRA 205 /* 共振周波数 */
```
#### DRV2605L 波形ライブラリ
DRV2605L には呼び出して再生できる様々な波形シーケンスのプリロードライブラリが同梱されています。マクロを書く場合、これらの波形は `DRV_pulse(*sequence name or number*)` を使って再生することができます
データシートの波形シーケンスのリスト
| seq# | シーケンス名 | seq# | シーケンス名 | seq# | シーケンス名 |
|-----|---------------------|-----|-----------------------------------|-----|--------------------------------------|
| 1 | strong_click | 43 | lg_dblclick_med_60 | 85 | transition_rampup_med_smooth2 |
| 2 | strong_click_60 | 44 | lg_dblsharp_tick | 86 | transition_rampup_short_smooth1 |
| 3 | strong_click_30 | 45 | lg_dblsharp_tick_80 | 87 | transition_rampup_short_smooth2 |
| 4 | sharp_click | 46 | lg_dblsharp_tick_60 | 88 | transition_rampup_long_sharp1 |
| 5 | sharp_click_60 | 47 | buzz | 89 | transition_rampup_long_sharp2 |
| 6 | sharp_click_30 | 48 | buzz_80 | 90 | transition_rampup_med_sharp1 |
| 7 | soft_bump | 49 | buzz_60 | 91 | transition_rampup_med_sharp2 |
| 8 | soft_bump_60 | 50 | buzz_40 | 92 | transition_rampup_short_sharp1 |
| 9 | soft_bump_30 | 51 | buzz_20 | 93 | transition_rampup_short_sharp2 |
| 10 | dbl_click | 52 | pulsing_strong | 94 | transition_rampdown_long_smooth1_50 |
| 11 | dbl_click_60 | 53 | pulsing_strong_80 | 95 | transition_rampdown_long_smooth2_50 |
| 12 | trp_click | 54 | pulsing_medium | 96 | transition_rampdown_med_smooth1_50 |
| 13 | soft_fuzz | 55 | pulsing_medium_80 | 97 | transition_rampdown_med_smooth2_50 |
| 14 | strong_buzz | 56 | pulsing_sharp | 98 | transition_rampdown_short_smooth1_50 |
| 15 | alert_750ms | 57 | pulsing_sharp_80 | 99 | transition_rampdown_short_smooth2_50 |
| 16 | alert_1000ms | 58 | transition_click | 100 | transition_rampdown_long_sharp1_50 |
| 17 | strong_click1 | 59 | transition_click_80 | 101 | transition_rampdown_long_sharp2_50 |
| 18 | strong_click2_80 | 60 | transition_click_60 | 102 | transition_rampdown_med_sharp1_50 |
| 19 | strong_click3_60 | 61 | transition_click_40 | 103 | transition_rampdown_med_sharp2_50 |
| 20 | strong_click4_30 | 62 | transition_click_20 | 104 | transition_rampdown_short_sharp1_50 |
| 21 | medium_click1 | 63 | transition_click_10 | 105 | transition_rampdown_short_sharp2_50 |
| 22 | medium_click2_80 | 64 | transition_hum | 106 | transition_rampup_long_smooth1_50 |
| 23 | medium_click3_60 | 65 | transition_hum_80 | 107 | transition_rampup_long_smooth2_50 |
| 24 | sharp_tick1 | 66 | transition_hum_60 | 108 | transition_rampup_med_smooth1_50 |
| 25 | sharp_tick2_80 | 67 | transition_hum_40 | 109 | transition_rampup_med_smooth2_50 |
| 26 | sharp_tick3_60 | 68 | transition_hum_20 | 110 | transition_rampup_short_smooth1_50 |
| 27 | sh_dblclick_str | 69 | transition_hum_10 | 111 | transition_rampup_short_smooth2_50 |
| 28 | sh_dblclick_str_80 | 70 | transition_rampdown_long_smooth1 | 112 | transition_rampup_long_sharp1_50 |
| 29 | sh_dblclick_str_60 | 71 | transition_rampdown_long_smooth2 | 113 | transition_rampup_long_sharp2_50 |
| 30 | sh_dblclick_str_30 | 72 | transition_rampdown_med_smooth1 | 114 | transition_rampup_med_sharp1_50 |
| 31 | sh_dblclick_med | 73 | transition_rampdown_med_smooth2 | 115 | transition_rampup_med_sharp2_50 |
| 32 | sh_dblclick_med_80 | 74 | transition_rampdown_short_smooth1 | 116 | transition_rampup_short_sharp1_50 |
| 33 | sh_dblclick_med_60 | 75 | transition_rampdown_short_smooth2 | 117 | transition_rampup_short_sharp2_50 |
| 34 | sh_dblsharp_tick | 76 | transition_rampdown_long_sharp1 | 118 | long_buzz_for_programmatic_stopping |
| 35 | sh_dblsharp_tick_80 | 77 | transition_rampdown_long_sharp2 | 119 | smooth_hum1_50 |
| 36 | sh_dblsharp_tick_60 | 78 | transition_rampdown_med_sharp1 | 120 | smooth_hum2_40 |
| 37 | lg_dblclick_str | 79 | transition_rampdown_med_sharp2 | 121 | smooth_hum3_30 |
| 38 | lg_dblclick_str_80 | 80 | transition_rampdown_short_sharp1 | 122 | smooth_hum4_20 |
| 39 | lg_dblclick_str_60 | 81 | transition_rampdown_short_sharp2 | 123 | smooth_hum5_10 |
| 40 | lg_dblclick_str_30 | 82 | transition_rampup_long_smooth1 | | |
| 41 | lg_dblclick_med | 83 | transition_rampup_long_smooth2 | | |
| 42 | lg_dblclick_med_80 | 84 | transition_rampup_med_smooth1 | | |
### オプションの DRV2605L の定義
```
#define DRV_GREETING *sequence name or number*
```
触覚フィードバッグが有効な場合、キーボード起動時に特定のシーケンスに合わせて振動します。以下の定義を使って選択することができます:
```
#define DRV_MODE_DEFAULT *sequence name or number*
```
これにより HPT_RST がアクティブモードとして設定するシーケンスを設定します。未定義の場合、HPT_RST が押された時にモードが 1 に設定されます。
### DRV2605L 連続触覚モード
このモードは強さを増減するオプションを使って連続触覚フィードバッグを設定します。

View File

@ -0,0 +1,62 @@
# HD44780 LCD ディスプレイ
<!---
original document: 0.8.123:docs/feature_hd44780.md
git diff 0.8.123 HEAD -- docs/feature_hd44780.md | cat
-->
これは Peter Fleury の LCD ライブラリの統合です。このページは基本について説明します。[詳細なドキュメントについてはこのページをご覧ください](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) (訳注)原文のリンク先のページは、サービスの終了に伴って削除されています。移行先は (http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) と思われます。
HD44780 ディスプレイのサポートを有効にするには、キーボードの `rules.mk``HD44780_ENABLE` フラグを yes に設定します。
## 設定
ディスプレイで使用されるピンとディスプレイの行と列の数を、キーボードの `config.h` に設定する必要があります。
HD44780 のラベルが付いたセクションのコメントを外し、必要に応じてパラメータを変更します。
````
/*
* HD44780 LCD ディスプレイ設定
*/
#define LCD_LINES 2 //< ディスプレイの表示行数
#define LCD_DISP_LENGTH 16 //< ディスプレイの行ごとの表示文字数
#define LCD_IO_MODE 1 //< 0: メモリマップモード 1: IO ポートモード
#if LCD_IO_MODE
#define LCD_PORT PORTB //< LCD 行のためのポート
#define LCD_DATA0_PORT LCD_PORT //< 4ビットデータビット 0 のポート
#define LCD_DATA1_PORT LCD_PORT //< 4ビットデータビット 1 のポート
#define LCD_DATA2_PORT LCD_PORT //< 4ビットデータビット 2 のポート
#define LCD_DATA3_PORT LCD_PORT //< 4ビットデータビット 3 のポート
#define LCD_DATA0_PIN 4 //< 4ビットデータビット 0 のピン
#define LCD_DATA1_PIN 5 //< 4ビットデータビット 1 のピン
#define LCD_DATA2_PIN 6 //< 4ビットデータビット 2 のピン
#define LCD_DATA3_PIN 7 //< 4ビットデータビット 3 のピン
#define LCD_RS_PORT LCD_PORT //< RS 線のためのポート
#define LCD_RS_PIN 3 //< RS 線のためのピン
#define LCD_RW_PORT LCD_PORT //< RW 線のためのポート
#define LCD_RW_PIN 2 //< RW 線のためのピン
#define LCD_E_PORT LCD_PORT //< Enable 線のためのポート
#define LCD_E_PIN 1 //< Enable 線のためのピン
#endif
````
他のプロパティを設定する必要がある場合は、それらを `quantum/hd44780.h` からコピーし、`config.h` に設定することができます。(訳注)`quantum/hd44780.h` は `drivers/avr/hd44780.h` の間違いではないかと思われます。
## 使用法
ディスプレイを初期化するには、以下のパラメータのうちの1つを使って `lcd_init()` を呼び出します:
````
LCD_DISP_OFF : ディスプレイオフ
LCD_DISP_ON : ディスプレイオン、カーソルオフ
LCD_DISP_ON_CURSOR : ディスプレイオン、カーソルオン
LCD_DISP_ON_CURSOR_BLINK : ディスプレイオン、点滅カーソル
````
これはキーボードの `matrix_init_kb` またはキーマップの `matrix_init_user` で行うのが最適です。
使用前にディスプレイをクリアすることをお勧めします。
そのためには、`lcd_clrscr()` を呼びます。
ディスプレイに何かを表示するには、最初に `lcd_gotoxy(column, line)` を呼びます。最初の行の先頭に移動するには、`lcd_gotoxy(0, 0)` を呼び出し、その後 `lcd_puts("example string")` を使って文字列を出力します。
ディスプレイを制御することができる、より多くのメソッドがあります。[詳細なドキュメントについてはリンクされたページをご覧ください](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) (訳注)原文のリンク先のページは、サービスの終了に伴って削除されています。移行先は (http://www.peterfleury.epizy.com/doxygen/avr-gcc-libraries/group__pfleury__lcd.html) と思われます。

View File

@ -0,0 +1,27 @@
# キーロック
<!---
original document: 0.8.134:docs/feature_key_lock.md
git diff 0.8.134 HEAD -- docs/feature_key_lock.md | cat
-->
特定のキーを長時間押すことが必要になる場合があります。キーロックは次に押すキーを押したままにします。もう一度押すと、リリースされます。
いくつかの文を全て大文字で入力する必要があるとしましょう。`KC_LOCK` を押し、次にシフトを押します。これで、シフトは次にタップするまで押していると見なされます。キーロックを Caps Lock と考えることができますが、さらに強力です。
## 使用法
最初に `rules.mk``KEY_LOCK_ENABLE = yes` を設定することでキーロックを有効にします。次に、キーマップでキーを選択し、それをキーコード `KC_LOCK` に割り当てます。
## キーコード
| キーコード | 説明 |
|---------|--------------------------------------------------------------|
| `KC_LOCK` | キーが再び押されるまで次のキーを押したままにします。 |
## 注意事項
キーロックは、標準アクションキーと[ワンショットモディファイア](ja/one_shot_keys.md)キー (例えば、Shift を `OSM(KC_LSFT)` と定義した場合)のみを押し続けることができます。
これは、QMK の特殊機能(ワンショットモディファイアを除く)、または `KC_LPRN` のような shift を押されたキーのバージョンは含みません。[基本的なキーコード](ja/keycodes_basic.md)リストにある場合、押したままにすることができます。
レイヤーの切り替えは、キーロックを解除しません。

View File

@ -531,6 +531,7 @@ See also: [Swap Hands](feature_swap_hands.md)
|`SH_MOFF` |Momentarily turns off swap. |
|`SH_TG` |Toggles swap on and off with every key press. |
|`SH_TT` |Toggles with a tap; momentary when held. |
|`SH_OS` |One shot swap hands: toggle while pressed or until next key press. |
## Unicode Support :id=unicode-support

View File

@ -66,9 +66,14 @@ After Homebrew is installed run these commands:
You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them:
* Debian / Ubuntu / Devuan: `apt-get install git python3 && python3 -m pip install qmk`
* Fedora / Red Hat / CentOS: `yum install git python3 && python3 -m pip install qmk`
* Arch: `yay -S qmk` (or use any other AUR Helper)
* Debian / Ubuntu / Devuan: `sudo apt install git python3 python3-pip`
* Fedora / Red Hat / CentOS: `sudo yum install git python3 python3-pip`
* Arch / Manjaro: `sudo pacman -S git python python-pip python-setuptools libffi`
Install the global CLI to bootstrap your system:
`python3 -m pip install --user qmk` (on Arch-based distros you can also try the `qmk` package from AUR (**note**: it's maintained by a community member): `yay -S qmk`)
## 3. Run QMK Setup :id=set-up-qmk
@ -78,6 +83,12 @@ After installing QMK you can set it up with this command:
In most situations you will want to answer Yes to all of the prompts.
?>**Note on Debian, Ubuntu and their derivatives**:
It's possible, that you will get an error saying something like: `bash: qmk: command not found`.
This is due to a [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155) Debian introduced with their Bash 4.4 release, which removed `$HOME/.local/bin` from the PATH. This bug was later fixed on Debian and Ubuntu.
Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562).
Luckily, the fix is easy. Run this as your user: `echo "PATH=$HOME/.local/bin:$PATH" >> $HOME/.bashrc && source $HOME/.bashrc`
?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>/qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message.
## 4. Test Your Build Environment

View File

@ -1,5 +1,9 @@
# Converting a board to use the Proton C
Since the Proton C is a drop-in replacement for a Pro Micro we've made it easy to use. This page documents a handy automated process for converting keyboards, as well as documenting the manual process if you'd like to make use of Proton C features that aren't available on Pro Micros.
## Automatic Conversion
If a board currently supported in QMK uses a Pro Micro (or compatible board) and you want to use the Proton C, you can generate the firmware by appending `CONVERT_TO_PROTON_C=yes` (or `CTPC=yes`) to your make argument, like this:
make 40percentclub/mf68:default CTPC=yes
@ -8,13 +12,15 @@ You can add the same argument to your keymap's `rules.mk`, which will accomplish
This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with `#ifdef`s, like this:
#ifdef CONVERT_TO_PROTON_C
// Proton C code
#else
// Pro Micro code
#endif
```c
#ifdef CONVERT_TO_PROTON_C
// Proton C code
#else
// Pro Micro code
#endif
```
Before being able to compile, you may get some errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
If you get errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is mapped to it. If you want the RXLED (B0) mapped to it instead, add this like to your `config.h`:
@ -31,3 +37,54 @@ These are defaults based on what has been implemented for ARM boards.
| [Backlight](feature_backlight.md) | Forces [task driven PWM](feature_backlight.md#software-pwm-driver) until ARM can provide automatic configuration |
| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) |
| [Split keyboards](feature_split_keyboard.md) | Not supported yet |
## Manual Conversion
To use the Proton C natively, without having to specify `CTPC=yes`, you need to change the `MCU` line in `rules.mk`:
```
MCU = STM32F303
```
Remove these variables if they exist:
* `BOOTLOADER`
* `EXTRA_FLAGS`
Finally convert all pin assignments in `config.h` to the stm32 equivalents.
| Pro Micro Left | Proton C Left | | Proton C Right | Pro Micro Right |
|-----------|----------|-|----------|-----------|
| `D3` | `A9` | | 5v | RAW (5v) |
| `D2` | `A10` | | GND | GND |
| GND | GND | | FLASH | RESET |
| GND | GND | | 3.3v | VCC <sup>1</sup> |
| `D1` | `B7` | | `A2` | `F4` |
| `D0` | `B6` | | `A1` | `F5` |
| `D4` | `B5` | | `A0` | `F6` |
| `C6` | `B4` | | `B8` | `F7` |
| `D7` | `B3` | | `B13` | `B1` |
| `E6` | `B2` | | `B14` | `B3` |
| `B4` | `B1` | | `B15` | `B2` |
| `B5` | `B0` | | `B9` | `B6` |
| `B0` (RX LED) | `C13` <sup>2</sup> | | `C13` <sup>2</sup> | `D5` (TX LED) |
You can also make use of several new pins on the extended portion of the Proton C:
| Left | | Right |
|------|-|-------|
| `A4`<sup>3</sup> | | `B10` |
| `A5`<sup>4</sup> | | `B11` |
| `A6` | | `B12` |
| `A7` | | `A14`<sup>5</sup> (SWCLK) |
| `A8` | | `A13`<sup>5</sup> (SWDIO) |
| `A15` | | RESET<sup>6</sup> |
Notes:
1. On a Pro Micro VCC can be 3.3v or 5v.
2. A Proton C only has one onboard LED, not two like a Pro Micro. The Pro Micro has an RX LED on `D5` and a TX LED on `B0`.
3. `A4` is shared with the speaker.
4. `A5` is shared with the speaker.
5. `A13` and `A14` are used for hardware debugging (SWD). You can also use them for GPIO, but should use them last.
6. Short RESET to 3.3v (pull high) to reboot the MCU. This does not enter bootloader mode like a Pro Micro, it only resets the MCU.

View File

@ -18,7 +18,24 @@ You may use more than one slave select pin, not just the `SS` pin. This is usefu
## ChibiOS/ARM Configuration
ARM support for this driver is not ready yet. Check back later!
You'll need to determine which pins can be used for SPI -- as an example, STM32 parts generally have multiple SPI peripherals, labeled SPI1, SPI2, SPI3 etc.
To enable SPI, modify your board's `halconf.h` to enable SPI - both `HAL_USE_SPI` and `SPI_USE_WAIT` should be `TRUE`, and `SPI_SELECT_MODE` should be `SPI_SELECT_MODE_PAD`.
Then, modify your board's `mcuconf.h` to enable the SPI peripheral you've chosen -- in the case of using SPI2, modify `STM32_SPI_USE_SPI2` to be `TRUE`.
As per the AVR configuration, you may select any other standard GPIO as a slave select pin, and can be supplied to `spi_start()`.
Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303.
`config.h` override | Description | Default Value
----------------------------|---------------------------------------------------------------|--------------
`#define SPI_DRIVER` | SPI peripheral to use - SPI1 => `SPID1`, SPI2 => `SPID2` etc. | `SPID2`
`#define SPI_SCK_PIN` | The pin to use for the SCK | `B13`
`#define SPI_SCK_PAL_MODE` | The alternate function mode for the SCK pin | `5`
`#define SPI_MOSI_PIN` | The pin to use for the MOSI | `B15`
`#define SPI_MOSI_PAL_MODE` | The alternate function mode for the MOSI pin | `5`
`#define SPI_MISO_PIN` | The pin to use for the MISO | `B14`
`#define SPI_MISO_PAL_MODE` | The alternate function mode for the MISO pin | `5`
## Functions

70
docs/syllabus.md Normal file
View File

@ -0,0 +1,70 @@
# QMK Syllabus
This page helps you build up your QMK knowledge by introducing the basics first and guiding you to understanding all the concepts you need to know to be proficient with QMK.
# Beginning Topics
If you read nothing else you should read the documents in this section. After reading the [Tutorial](newbs.md) you should be able to create a basic keymap, compile it, and flash it to your keyboard. The remaining documents will flesh out your knowledge of these basics.
* **Learn How To Use QMK Tools**
* [Tutorial](newbs.md)
* [CLI](cli.md)
* [GIT](newbs_git_best_practices.md)
* **Learn About Keymaps**
* [Layers](feature_layers.md)
* [Keycodes](keycodes.md)
* The full list of keycodes you can use. Note that some may require knowledge found in the Intermediate or Advanced Topics.
* **Configuring IDEs** - Optional
* [Eclipse](other_eclipse.md)
* [VS Code](other_vscode.md)
# Intermediate Topics
These topics start to dig into some of the features that QMK supports. You don't have to read all of these documents, but some of the documents in the Advanced Topics section won't make sense if you skip over some of these.
* **Learn How To Configure Features**
<!-- * Configuration Overview FIXME(skullydazed/anyone): write this document -->
* [Audio](feature_audio.md)
* Lighting
* [Backlight](feature_backlight.md)
* [LED Matrix](feature_led_matrix.md)
* [RGB Lighting](feature_rgblight.md)
* [RGB Matrix](feature_rgb_matrix.md)
* [Tap-Hold Configuration](tap_hold.md)
* **Learn More About Keymaps**
* [Keymaps](keymap.md)
* [Custom Functions and Keycodes](custom_quantum_functions.md)
* Macros
* [Dynamic Macros](feature_dynamic_macros.md)
* [Compiled Macros](feature_macros.md)
* [Tap Dance](feature_tap_dance.md)
* [Combos](feature_combo.md)
* [Userspace](feature_userspace.md)
# Advanced Topics
Everything below here requires a lot of foundational knowledge. Besides being able to create keymaps using advanced features you should be familiar with using both `config.h` and `rules.mk` to configure options for your keyboard.
* **Maintaining Keyboards Within QMK**
* [Handwiring a Keyboard](hand_wire.md)
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* [info.json Reference](reference_info_json.md)
* [Debounce API](feature_debounce_type.md)
* **Advanced Features**
* [Unicode](feature_unicode.md)
* [API](api_overview.md)
* [Bootmagic](feature_bootmagic.md)
* **Hardware**
* [How Keyboards Work](how_keyboards_work.md)
* [How A Keyboard Matrix Works](how_a_matrix_works.md)
* [Split Keyboards](feature_split_keyboard.md)
* [Stenography](feature_stenography.md)
* [Pointing Devices](feature_pointing_device.md)
* **Core Development**
* [Coding Conventions](coding_conventions_c.md)
* [Compatible Microcontrollers](compatible_microcontrollers.md)
* [Custom Matrix](custom_matrix.md)
* [Understanding QMK](understanding_qmk.md)
* **CLI Development**
* [Coding Conventions](coding_conventions_python.md)
* [CLI Development Overview](cli_development.md)

View File

@ -12,7 +12,7 @@ As of [PR#1359](https://github.com/qmk/qmk_firmware/pull/1359/), there is a new
#define PERMISSIVE_HOLD
```
This makes tap and hold keys (like Mod Tap) work better for fast typist, or for high `TAPPING_TERM` settings.
This makes tap and hold keys (like Mod Tap) work better for fast typists, or for high `TAPPING_TERM` settings.
If you press a Mod Tap key, tap another key (press and release) and then release the Mod Tap key, all within the tapping term, it will output the "tapping" function for both keys.
@ -35,7 +35,7 @@ To enable this setting, add this to your `config.h`:
#define IGNORE_MOD_TAP_INTERRUPT
```
Similar to Permissive Hold, this alters how the firmware processes input for fast typist. If you press a Mod Tap key, press another key, release the Mod Tap key, and then release the normal key, it would normally output the "tapping" function for both keys. This may not be desirable for rolling combo keys.
Similar to Permissive Hold, this alters how the firmware processes inputs for fast typists. If you press a Mod Tap key, press another key, release the Mod Tap key, and then release the normal key, it would normally output the "tapping" function for both keys. This may not be desirable for rolling combo keys.
Setting `Ignore Mod Tap Interrupt` requires holding both keys for the `TAPPING_TERM` to trigger the hold function (the mod).

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