Compare commits

..
260 Commits
Author SHA1 Message Date
Ryan e69da2db2c qmk info: Add --ascii flag (#10793)
* `qmk info`: Add `--ascii` flag

* Fix typo

* Force ASCII for Windows/MSYS2

* Make it gooder

* Remove redundant windows check

* ...And this too

* Make pytest work on Windows
2020-11-02 00:41:01 -08:00
Rich Saunders dc40f00aaf [Keymap] Corrected the dvorak layout for kinesis advantage (#10808) 2020-11-01 17:25:50 -08:00
Xelus22 c1481629fd [Keyboard] Fix keyboard matrix scan rate with F072 (#10226)
* fix matrix scan rate

* Update trinityxttkl.c

* Update rev2.c
2020-11-01 16:44:38 -08:00
James Young 83eecdce22 [Keyboard] nullbitsco/nibble Configurator rework (#10814)
* nullbitsco/nibble: rework LAYOUT_all

... and update via keymap accordingly.

* compress info.json LAYOUT_all tree

Only changes the white space.

* rebuild info.json LAYOUT_all tree

Note: this commit makes the visual layout the ANSI layout with a split left Shift, instead of being the same as the ISO layout.

* unify code styles

Make logically-unchanged code blocks similar in appearance to logically-changed blocks.

* correct LAYOUT_iso key sequence

Move ISO Enter's object to its proper place.
2020-11-01 12:42:50 -08:00
MechMerlinandRyan 780b7722fb [Keyboard] VIA Support: Exent 65% (#10797)
* exent VIA support

* minor cleanups

* Update keyboards/exent/config.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/exent/config.h

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-11-01 11:50:23 -08:00
KnoblesseObligeandRyan 86ac56cd7f [Keyboard] Add keebsforall/freebird60 (#10774)
* Added ad/freebird60.

* Moved freebird60 keyboard. Added VIA keymap.

* Updated `keebsforall/freebird60` README to include image.

* Update keyboards/keebsforall/freebird60/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keebsforall/freebird60/readme.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-11-01 11:13:34 -08:00
Ole WestendorffandRyan c1e69bcef0 add 65_ansi_split_bs to default community layouts (#10770)
* add 65_ansi_split_bs to default community layouts

* Update layouts/default/65_ansi_split_bs/layout.json

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-11-01 11:09:32 -08:00
78019c3e21 [Keyboard] add bebol keyboard (#10763)
* add bebol keyboard

* Change PID

* Update keyboards/handwired/swiftrax/bebol/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Swiftrax <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-11-01 10:57:30 -08:00
Keys of KingsandRyan 76bc235508 [Keyboard] Add keysofkings folder and twokey keyboard (#10754)
* Add keysofkings folder and twokey keyboard

* Update readme.md

* Update readme.md

* Update config.h

* Update config.h

* Update keymap.c

* Update twokey.c

* Update twokey.h

* Update keyboards/keysofkings/twokey/config.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keysofkings/twokey/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keysofkings/twokey/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keysofkings/twokey/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/keysofkings/twokey/readme.md

Co-authored-by: Ryan <[email protected]>

* Update info.json

* Update keymap.c

* Update keyboards/keysofkings/twokey/info.json

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-11-01 10:53:17 -08:00
XyverzandIan Sterling fed9c97ddb [Keymap] Added layout for my Keyboardio Atreus (#10726)
* Adding Evan Travers' Keyboardio Atreus branch.

Initial commit of my KeyboardIO Atreus layout.
This is a direct copy of my default Atreus layout, with blank spaces
for the two additional keys.

* Added MACLOCK macro to keymap.c

* Updates to Keyboardio Atreus keymap and readme.

* Adding arrows to bottom row of RAISE and LOWER layers

* bringing the rest of the master branch to my working branch.

* Changes to my KeyboardIO Atreus keymap & readme

* Changes to keymap.

* Adding Evan Travers' Keyboardio Atreus branch.

Initial commit of my KeyboardIO Atreus layout.
This is a direct copy of my default Atreus layout, with blank spaces
for the two additional keys.

* Added MACLOCK macro to keymap.c

* Updates to Keyboardio Atreus keymap and readme.

* Adding arrows to bottom row of RAISE and LOWER layers

* bringing the rest of the master branch to my working branch.

* Changes to my KeyboardIO Atreus keymap & readme

* Changes to keymap.

* Added GPL2+ compatible license header.

Co-authored-by: Ian Sterling <[email protected]>
2020-11-01 10:50:12 -08:00
9f0dbc21a3 [Keyboard] beta support for the Rocketboard-16 macro/num pad (#10688)
* Firmware initial commit, still has a few bugs - mainly rotary encoders do not work and needs cleaning up

* Fixed the volume control issue and limited the RGB brightness (can be really bright), added the ability to switch LED mode with left encoder click, and added via support (untested)

* Remove define that should go in config.h

* Removed define that should be in config.h

* Removed LTO_ENABLE as suggested - has issues on ARM

Co-authored-by: Drashna Jaelre <[email protected]>

* Added the correct define for OLED screen size

* Applied suggested change to remove description

Co-authored-by: Ryan <[email protected]>

* Made suggested change to remove backslashes

Co-authored-by: Ryan <[email protected]>

* Suggested change made to rgblight

Co-authored-by: Ryan <[email protected]>

* Suggested change made to rgblight

Co-authored-by: Ryan <[email protected]>

* Suggested change made to remove backslashes

Co-authored-by: Ryan <[email protected]>

* Suggested change made to rgblight

Co-authored-by: Ryan <[email protected]>

* Update keyboards/rocketboard_16/rocketboard_16.c

Co-authored-by: Ryan <[email protected]>

* Added suggested comments

Co-authored-by: Ryan <[email protected]>

* Made suggested changes to rules file

Co-authored-by: Ryan <[email protected]>

* Added suggested change to rgblight

Co-authored-by: Ryan <[email protected]>

* Added info.json for QMK configurator

* Update readme.md

* This change makes the firmware work... through magic... seriously, no idea - but it works!

* Updated dimming step, OLED functionality, and rules for formatting

- Changed the dimming step size for smoother dimming with the reduced range
- Added lots of OLED functionality - QMK logo and title at top, num/caps/scroll lock status, and backlight brightness level
- Updated the rules.mk file to comply more closely with the formatting guidelines

* Fixed tab issues

Co-authored-by: Ryan <[email protected]>

* Updated to use bootmagic lite with the key that usually turns rgb on/off

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-11-01 10:46:00 -08:00
c731432765 [Keyboard] Fix IIC stall bug (#10700)
* Add Z70Ultra which is a Hotsawp RGB 65% keyboard

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/readme.md

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: Ryan <[email protected]>

* Update readme.md

* Update info.json

update the name of layout to consistent the keyboard.

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: Ryan <[email protected]>

* Add Z70Ultra

* Support Z70Ultra
  [Modified] info.json to support two different layouts
  [Add]      rules.mk to support default folder

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/config.h

Co-authored-by: Ryan <[email protected]>

* remove excessive arguments from LAYOUT_split_space

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

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

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Use macro replace with the literal for CS & SW

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard]  Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

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

* Update keyboards/melgeek/mj61/readme.md

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* Add GPL for files

* Update keymaps/default/keymap.c

* Update keymaps/via/keymap.c

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

* [Fixed] remove this code cause it's useless.

Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-11-01 10:38:08 -08:00
f450bdbb41 [Keyboard] Add The Railroad (rev 0) (#10474)
* Add The Railroad keyboard, rev 0

* Update keyboards/nopunin10did/railroad/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update config.h

* Update keyboards/nopunin10did/railroad/rules.mk

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/rules.mk

Co-authored-by: ridingqwerty <[email protected]>

* Update rules.mk

* Update config.h

* Update keymap.c

* Update keyboards/nopunin10did/railroad/railroad.h

Co-authored-by: ridingqwerty <[email protected]>

* Update railroad.h

* Update keyboards/nopunin10did/railroad/railroad.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/nopunin10did/railroad/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/nopunin10did/railroad/config.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/nopunin10did/railroad/readme.md

Co-authored-by: James Young <[email protected]>

* Updates from peer review to correct render

* Update keyboards/nopunin10did/railroad/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/nopunin10did/railroad/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/nopunin10did/railroad/info.json

Co-authored-by: James Young <[email protected]>

* Relocate most files inside rev0

Co-authored-by: ridingqwerty <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-11-01 10:21:09 -08:00
4fa1924bd7 add beegboy keyboard (#10762)
* add layout macro

* add beegboy keymaps

* fix matrix pins

* Change PID

* Update keyboards/handwired/swiftrax/beegboy/config.h

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Swiftrax <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-11-01 00:13:06 +00:00
Joel Challis 7b33897b97 protect against those who develop with their fork on master (#10815) 2020-10-31 22:50:53 +00:00
Ryan d705918f50 Efreet refactor (#10806) 2020-11-01 06:56:08 +11:00
a3f1defcd4 [Keyboard] Fix function references IDB 60 (#10810)
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Thorben <[email protected]>
2020-10-31 23:15:26 +11:00
Ryan fb579aae49 Fix implicit declaration of function 'get_host_led_state' (#10803) 2020-10-30 13:29:19 +00:00
Ryan 67654e4a82 DK60 refactor (#10791) 2020-10-31 00:14:13 +11:00
RyanandDrashna Jaelre 952a4c8312 Hnah108 refactor (#10787)
Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-30 22:06:47 +11:00
Ryan b9ea10a80d YMD75 rev3: fix swapped backslash and enter (#10801) 2020-10-30 01:32:24 -07:00
Jay Greco 4e72224aa3 [Keyboard] Adding info.json files for NIBBLE 65% keyboard (#10769) 2020-10-29 01:29:31 -07:00
Leon Anavi 1bfec6ddd9 [Keymap] Add KiCad keymap for ANAVI Macro Pad 8 (#10766)
KiCad is a cross platform, free and open source electronics design
automation (EDA) suite. It was used to create ANAVI Macro Pad 8.

This keymap contains 2 layers for KiCad hotkeys and a 3rd layer
for controlling the backlighting and the underlighting.

- Layer for KiCad Schematic hotkeys:
  m - to move selected component
  r - to rotate selected component
  w - to wire components
  v - to edit component value
  F1 - zoom in
  F2 - zoom out
  F4 - zoom center

- Layer for KiCad PCB layout hotkets:
  m - to move selected component
  r - to rotate selected component
  x - to route a new track
  v - to add a via
  F1 - zoom in
  F2 - zoom out
  F4 - zoom center

Signed-off-by: Leon Anavi <[email protected]>
2020-10-29 01:28:13 -07:00
Benjamin Grosse db9204c7e1 [Keymap] add an autoclicker to my plaid keymap (#10743) 2020-10-29 01:26:15 -07:00
Drashna Jaelre 27b8046867 [Keymap] Add OBS keymap for ANAVI Macro Pad 8 (#10742)
OBS keymap for ANAVI Macro Pad 8 with the following shortcuts:

- Shortcuts useful for switching scenes on the 1st row:
  Hold Left Control, Shift, Alt and GUI and press F9
  Hold Left Control, Shift, Alt and GUI and press F10
  Hold Left Control, Shift, Alt and GUI and press F11
  Hold Left Control, Shift, Alt and GUI and press F12
- Center to screen: Ctrl+D
- Fit to screen: Ctrl+F
- Move source to top of sources list: Ctrl+Home

Signed-off-by: Leon Anavi <[email protected]>
2020-10-29 01:22:34 -07:00
AlisGraveNil 359aff6c49 Roadster Edit (#10784) 2020-10-29 19:22:26 +11:00
Harshit Goel 36f4f1e9b8 [Keyboard] Redox via support added (#10710)
* add via config for Redox OG

* Fix name typo

* clean up via file and move to via pull

* fix typo in readme, align config.h properly
2020-10-29 01:16:51 -07:00
f487b726cd [Keyboard] Adding Little Alby the Arduino Keyboard (#10713)
* Adding little Alby keyboard

* Adding readme and expanding programs

* Updating readme

* adding spirit guide

* changes based on review

* Updating config name and readme

* Update keyboards/littlealby/mute/rules.mk

Update tabbing

Co-authored-by: Ryan <[email protected]>

* Update keyboards/littlealby/mute/rules.mk

Remove other boards

Co-authored-by: Ryan <[email protected]>

* Changes based on review

* Update keyboards/littlealby/mute/config.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/littlealby/mute/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/littlealby/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/littlealby/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/littlealby/mute/config.h

Co-authored-by: Ryan <[email protected]>

* Adding unique vendor and Product IDs

* Update keyboards/littlealby/mute/config.h

Co-authored-by: Ryan <[email protected]>

* 0x4D55 = MU

* Adding default map

Co-authored-by: Alby Barber <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-29 01:15:38 -07:00
Ryan 5cecc1ea1e Add brightness level API to OLED driver (#10772)
* Add brightness level API to OLED driver

* Set default brightness to 255
2020-10-29 00:12:50 -07:00
bintobeanandRyan b9ed9d33d3 [Keyboard] Add via keymap to E6.5 (#10771)
* Added basic via keymap

* Added via keymaps and changed config Product and Vendor ID

* Update keyboards/exclusive/e65/keymaps/via/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/exclusive/e65/config.h

Co-authored-by: Ryan <[email protected]>

* Refactored via/keymap.c to use LAYOUT_all

* Refactored e65.h to remove nested matrix layouts

* Previous commit missed LAYOUT_65_ansi_blocker. Fixed

Co-authored-by: Ryan <[email protected]>
2020-10-29 00:00:38 -07:00
kaylanm 2ac0927fd7 [Keyboard] Add via keymap for percent booster (#10768) 2020-10-28 23:53:27 -07:00
James Young 9dad914841 xelus/kangaroo: fix info.json layout macro reference (#10765) 2020-10-28 23:20:45 -07:00
Adrian 50481ce7ed [Keyboard] Added polilla keyboard (squashed) (#10686) 2020-10-28 22:35:37 -07:00
Cameron Moon 74a2edd903 docs(massdrop alt/ctrl): update link to loader releases (#10781)
* docs(massdrop alt): update link to loader releases

Update the link to the Massdrop Loader releases page to point to the releases index rather than release 0.0.1

* docs(massdrop ctrl): update link to loader releases
2020-10-29 14:35:11 +11:00
James Young 805e13a6d0 [Keyboard] KBDfans Bella Soldered tidy-up (#10753)
* KBDfans Bella Soldered: add readme

* add image to readme

* tidy-up Configurator layout data

Key positioning was not true to the assembled board.

* reduce readme redundancy
2020-10-28 18:45:10 -07:00
Yasha MostofiandRyan fcd55e2f04 [Keyboard] Add Via support for TG4x (#10571)
* Update vendor ID

* New default layout with RESET mapped

* Add Via keymap

* Update README

* Update keyboards/tg4x/keymaps/via/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/tg4x/config.h

Co-authored-by: Ryan <[email protected]>

* Delete config.h

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

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-28 18:04:47 -07:00
Angel RojasandRyan 8685409784 GEN ONE Eclipse_65 keyboard addition (#10669)
* Add files via upload

* Add files via upload

* Add files via upload

* Update config.h

* Update rules.mk

* Update config.h

* Update config.h

* Update config.h

* Update config.h

* Add files via upload

* Removing duplicate files

* Resolve VID and PID collisions as requested

Taken the 0xFEED for vendor ID as suggested in vendor documentation and an available PID

* add a GPL2+ compatible license header as requested

Added the GPL2+ header to keymap.c file

* Update keyboards/genone/eclipse_65/config.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/eclipse_65.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/genone/eclipse_65/eclipse_65.h

Co-authored-by: Ryan <[email protected]>

* Corrected items on rules.mk as suggested 

Thanks for the comment
I removed suggested items, corrected some spacing issues, and added suggested items.

* Deleted genone_main.c file

Thanks for the comment.
Deleted genone_main.c file as requested

Co-authored-by: Ryan <[email protected]>
2020-10-28 15:45:36 -07:00
Ryan 1d85fe176a VN66 refactor (#10776) 2020-10-29 06:14:11 +11:00
Ryan a42e3ba2cb Stella refactor (#10775) 2020-10-29 06:13:52 +11:00
Guillaume Gérard c745cbb77a [Keymap] greatwizard userspace and ortho 4x12 and 5x12 keymaps (#9584) 2020-10-28 10:20:06 -07:00
Zach White 6b1ae7e6aa add rsync to the api update process 2020-10-27 10:48:55 -07:00
stanrc85 a602ef75fb [Keyboard] Add Projectkb/alice/rev2 LAYOUT_alice support (#10697)
* my alice community layout

* add LAYOUT_alice support to projectkb/alice/rev2

* add addition BSPC key to default layout

* add define to support LAYOUT_default
2020-10-27 10:35:38 -07:00
Reibl János DánielandJanos Daniel Reibl 1ba93875ba [Keyboard] Add handwired F411 (#10504)
Co-authored-by: Janos Daniel Reibl <[email protected]>
2020-10-28 01:39:51 +11:00
Drashna JaelreandRyan 33074bcbad [Keyboard] Bug fixes and improvements to PloopyCo devices (#10573)
Co-authored-by: Ryan <[email protected]>
2020-10-27 17:09:11 +11:00
Ryan 555b1640b2 Add layout: 65_iso_blocker_split_bs (#10733)
* Add layout: 65_iso_blocker_split_bs

* Add layout to readme
2020-10-26 16:56:34 -07:00
Sergey Vlasov f149c07d68 Fix KEYBOARD_SHARED_EP incompatibility with VIA (#9930)
The `KEYBOARD_SHARED_EP=yes` option was breaking the VIA support,
because the raw HID interface number in this case was 0 instead of 1,
and the VIA app depends on the exact interface number for raw HID.
Change the interface ordering to put the shared interface before the raw
HID interface if `KEYBOARD_SHARED_EP` is enabled, so that the raw HID
interface can keep its number.
2020-10-27 10:40:59 +11:00
Ryan 2c92ee1f56 Allow modified keycodes in Unicode input (#10658) 2020-10-27 06:14:56 +11:00
0c42f91f4c Generate api data on each push (#10609)
* add new qmk generate-api command, to generate a complete set of API data.

* Generate api data and push it to the keyboard repo

* fix typo

* Apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

* fixup api workflow

* remove file-changes-action

* use a more mainstream github action

* fix yaml error

* Apply suggestions from code review

Co-authored-by: Erovia <[email protected]>

* more uniform date handling

* make flake8 happy

* Update lib/python/qmk/decorators.py

Co-authored-by: Erovia <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Erovia <[email protected]>
2020-10-25 14:48:44 -07:00
James Young 8ef82c466e manta60: update Configurator layout data (#10756) 2020-10-25 18:07:02 +00:00
Erovia ad86894ae7 Rename keyboard-level readmes to lower-case (#10759)
This is the recommendation in the [PR
Checklist](https://docs.qmk.fm/#/pr_checklist?id=keyboard-prs) and it
will make working with them easier in the CLI/API/etc.
2020-10-25 15:23:42 +00:00
Filip Paryż af455a8368 [Keyboard] Freoduo - handwired split ortho keyboard. (#10724)
* Freoduo v1 - with fixes from @fauxpark and rebased to master branch of QMK.

* One more suggested fix from @fauxpark

* Fixes after @drashna review.
2020-10-24 16:54:38 -07:00
James Young ac37a94e49 emajesty/eiri: fix info.json key sequence (#10751)
* emajesty/eiri: info.json debug linting

* fix info.json key sequence
2020-10-25 00:07:30 +01:00
Blake 24ae9232e2 draytronics/scarlet: add website and key labels to info.json (#10747)
* Correctly name keyboard in info.json

* Added website and layout key labels to info.json
2020-10-24 12:28:34 -07:00
AlisGraveNilandRyan 14cb662280 [keyboard] Add Roadster support (#10698)
* Roadster

* Update keyboards/clawsome/roadster/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/clawsome/roadster/config.h

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-24 19:17:07 +01:00
James Young 3d183ed7a0 draytronics/scarlet: fix info.json data (#10746) 2020-10-24 13:09:28 +01:00
James Young 4e30f4d102 doodboard/duckboard: fix info.json data (#10745) 2020-10-24 13:07:10 +01:00
Leon Anavi 329eb4b8df [Keymap] Add OBS keymap for ANAVI Macro Pad 8
OBS keymap for ANAVI Macro Pad 8 with the following shortcuts:

- Shortcuts useful for switching scenes on the 1st row:
  Hold Left Control, Shift, Alt and GUI and press F9
  Hold Left Control, Shift, Alt and GUI and press F10
  Hold Left Control, Shift, Alt and GUI and press F11
  Hold Left Control, Shift, Alt and GUI and press F12
- Center to screen: Ctrl+D
- Fit to screen: Ctrl+F
- Move source to top of sources list: Ctrl+Home

Signed-off-by: Leon Anavi <[email protected]>
2020-10-24 10:00:47 +03:00
Joel Challis bf92957ff2 Add additional auto labeler rules (#10704)
* Auto label all the things

* Makefiles are core changes

* Add label to submodule changes
2020-10-24 01:29:17 +01:00
stanrc85 33bd17a68a [Keymap] my alice community layout (#10696) 2020-10-23 17:11:52 -07:00
Benjamin Grosse 7daad08a91 [Keymap] plaid keymap with custm LED animation (#10701) 2020-10-23 17:10:45 -07:00
Anne Demey d689f76110 [Keyboard] Add Terrazzo Keyboard (#10408)
* Ciao Terrazzo!

* Keymap updates

* Adding info json
Cleaning up keymap files
Readme updates with template

* Coding style updates

* Removing vscode files

* PR feedback updates

* biton32 -> get_highest_layer update
Adding license headers
2020-10-23 15:14:17 -07:00
Alabahuy 5d2deaca06 [Keyboard] add via support and fix info.json for rartlice (#10690)
* Update info.json

* Create keymap.c

* Create config.h

* Create rules.mk

* Update keymap.c

* Update keymap.c
2020-10-23 14:58:54 -07:00
Fidel CoriaandRyan 8e7517aebc [Keyboard] Add pteron44 keyboard (#10708)
* Add pteron44

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>

* Apply suggestions from code review part 2

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-23 14:31:24 -07:00
null-llandRyan b5f425b275 [Keyboard] add Basketweave keyboard (#10729)
* add basketweave keyboard

* Fixed missing key in info.json layout

* Update keyboards/basketweave/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/basketweave/readme.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-23 14:18:55 -07:00
kb-elmo 47ce1a9ed0 [Keyboard] make Canoe Gen2 indicator configurable (#10722) 2020-10-23 14:12:03 -07:00
Leon Anavi 85f344db49 [Keymap] Add Zoom keymap for ANAVI Macro Pad 8 (#10715)
Zoom keymap for ANAVI Macro Pad 8 with the following shortcuts:

* Alt+V: Start/stop video
* Alt+A: Mute/unmute my audio
* Alt+M: Mute/unmute audio for everyone except the host
* Alt+S: Start/stop screen sharing
* Alt+R: Start/stop local recording
* Alt+P: Pause/resume recording
* Alt+C: Start/stop cloud recording
* Switch to 2nd layout to control backlighting and underlighting

Signed-off-by: Leon Anavi <[email protected]>
2020-10-23 14:11:17 -07:00
225af5d161 [Keyboard] Add Cordillera PCB (#10711)
* Add initial Cordillera config

* Update readme

* Update info.json layouts

* Update preview image

Co-authored-by: Drashna Jaelre <[email protected]>

* Remove extra rules

Co-authored-by: Ryan <[email protected]>

* Update bootmagic rule

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-23 14:10:04 -07:00
Ryan 870cc37365 Fix two qmk info complaints (#10737)
* Fix two `qmk info` complaints

* Oops
2020-10-23 21:03:06 +01:00
Drashna Jaelre 9093f877a2 [Keyboard] Fix Moonlander indicator LEDs during sleep (#10683) 2020-10-23 20:13:14 +11:00
Xelus22 5e9c078c78 [Core] IS31FL3731/36/37 bug fix (#10612)
* 3731 bug fix

* bug fixes
2020-10-23 18:08:17 +11:00
André Silva fe50bee988 Update shell.nix (#10712)
* nix-shell: update nixpkgs reference

* nix-shell: add missing python dependency
2020-10-23 17:50:05 +11:00
999326acc8 Add nullbits nibble (#9250)
* Add NIBBLE keyboard

* Update VID for VIA compatibility

* Add QMK PR feedback

* Update matrix_init_remote_kb()

* Update with requested changes

Clean up config, makefile rules, and keymap files

* Update with changes for unified ANSI/ISO layout

* Add NO_USB_STARTUP_CHECK note in readme

* Add license info, update with PR changes

-Refactor encoder, via_extras code
-Refactor VIA specific code to live in keymap folder
-Remove non-inclusive naming in remote keyboard.c/h
-Add documentation to remote_keyboard.c
-Add compiler check for vusb_detect for non-avr micros

* Fix print formatter in encoder handler

Co-authored-by: Nick Brassel <[email protected]>

* Small PR updates

-Remove unneded matrix code from nibble.c
-Clean up include code in nibble_encoder.h

* Update Big LED headerfile

-Declare Big LED functions in header file (derp)

* Update keyboards/nullbitsco/nibble/nibble.c

-Update with drashna's suggested CAPS LED code change

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/nullbitsco/nibble/rules.mk

-Update with drasha's suggested makefile formatting changes

Co-authored-by: Drashna Jaelre <[email protected]>

* Fix caps_lock typo

Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-23 17:47:14 +11:00
KgOfHedgehogs 8cbaea9e8d [Keyboard] Fix jian backlight related ifdefs (#10679)
* Add jian backlight enabled ifdefs

* Fix adavnced layout LAYOUT_dips usage
2020-10-22 20:16:33 -07:00
Mika KuitunenandRyan e7d8ccdbb2 [Keyboard] Add support for Tunks Ergo33 keyboard (#10665)
* [Keyboard] Add support for Tunks Ergo33

* [Keyboard] Ergo33: Code style fixes

* [Keyboard] Ergo33: Add GPL license headers

* [Keyboard] Ergo33: remove keymap_config declarations

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-22 20:08:56 -07:00
mechlovin c45d7e526c Add Cospad VIA support (#10642)
* Add Cospad VIA support

* Update keymap.c
2020-10-22 20:06:50 -07:00
mechlovinandRyan f078980fb1 [Keyboard] Add infinity88 PCB, add VIA support for Kanu (#10531)
* add infinity88 PCB

* Update rules.mk

* Update info.json

* Add VIA support Kanu PCB

* Update keyboards/mechlovin/infinity88/rules.mk

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-22 19:55:32 -07:00
DraevinandRyan 619eb0071e [Keymap] Add Draevin userspace and maps (#10581)
* Initial userspace

* DZ60 map

* Quefrency map

* Sinc map

* Set up MAKE key for all personal maps

* Light userspace cleanup

* Formatting and comments zzz...

* Licensing and userspace README

* Swap: EXTRAFLAGS -> LTO_ENABLE in userspace rules.mk

Co-authored-by: Ryan <[email protected]>

* Improve KC_MAKE: KC_ENT -> \n

Co-authored-by: Ryan <[email protected]>

* Swap left grouping on _FN for pairs

* Add '?' -> backslash on _FN

* Remove commented code

* Organize lines in rules.mk

* Add left hand scroll keys

* Move configs to config.h

* License blitz

Co-authored-by: Ryan <[email protected]>
2020-10-22 19:46:46 -07:00
Ryan 2b9b267e8e Fix RGB matrix for ATmegaxxU2 (#10723) 2020-10-23 12:21:56 +11:00
Ryan f9bd9d3b26 c2json: Fix TypeError on MSYS2 (#10709) 2020-10-23 12:21:32 +11:00
Félix SanzandRyan 168ce1a743 Update keymap_spanish_dvorak.h (#10213)
Co-authored-by: Ryan <[email protected]>
2020-10-23 04:42:34 +11:00
Adrian 120c42255b Added EEPROM emulation for STM32F042x6 series processors (#10685)
* Added STM32F042x6 support for EEPROM emulation

* Default to lower stack size on STM32F042

* Moved stack setting

* Re-moved stack definition

* Removed unnecessary check
2020-10-22 21:05:01 +11:00
csc027 f9853433c1 csc027/keymap-updates (#10250) 2020-10-22 20:12:55 +11:00
James Young caf61a19c6 GH60 v1.3: update default keymap (#10703) 2020-10-21 15:52:56 -07:00
Ramon Imbao ca6a3e0832 Add the Mona keyboard (#10702) 2020-10-21 10:04:39 +01:00
Joel Challis 4b2da8daf4 Update PR labeler to use pull_request_target (#10695)
* Update labeler to use pull_request_target

* Add back whitespace

* Add CI label
2020-10-20 14:01:53 +01:00
Ryan c3ce06c2e7 Fix CLI warning for Massdrop udev rule (#10691) 2020-10-20 04:36:18 +11:00
M-ASandRyan 9f1f43bb86 [Keymap] Updated personal Massdrop CTRL keymap (#10649)
* initial port of keymap to latest qmk version

* forgot to add space cadet shift, fixed

* corrected colors and added color macros

* added custom rgb matrix effects

* enabled extrakey

* updated readme

* Added GPL3 License Headers

* Added images to readme

* clang-format

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>

* renamed README.md to readme.md

Co-authored-by: Ryan <[email protected]>
2020-10-18 16:30:24 -07:00
c4d87f3073 [Keyboard] Add IDOBAO ID87 (#10577)
* Add IDOBAO ID87.

* Layout changes.

 * Updated rules.mk
 * Implemented capslock led.
 * Updated readme to new version.
 * Fixed the info.info.json for the new layout.
 * Updated RGB number config.h.
 * Update rules.mk to try and line up nicely.

* Fix via keymap.keymap.c

* Fix all the auto-created labels.

 * Update keymaps again.

* Add additional RGB commands.

* Update keyboards/id87/info.json

Format update.

Co-authored-by: Ryan <[email protected]>

* Update keyboards/id87/readme.md

Remove quotations.

Co-authored-by: Ryan <[email protected]>

* Update keyboards/id87/readme.md

Change Flash to Flashing

Co-authored-by: Ryan <[email protected]>

* Update keyboards/id87/rules.mk

Alignment Fix

Co-authored-by: Ryan <[email protected]>

* Update keyboards/id87/info.json

Remove qmk_converter link meta.

Co-authored-by: James Young <[email protected]>

Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-10-18 16:16:42 -07:00
Casey Webster 8bb2eeaabb [Keymap] add cwebster2 userspace and keymaps (#10541)
* Adding my keymap

* Add a starter keymap for kyria

* Updated keymap

* Add auto shift, tapping modifications and gravatar oled bitmap

* Add flashing helper scripts

* Updates to my keymap

* Enable raw hid and rgblight sleep

* Cleanup

* Updated keymap and board features

* Remove some RGB modes for space

* Start working on a miryoku-like keymap.

This adds homerow mods to my keymap on the base layer and adds
a game layer that doesnt have them

* more work on keymaps

* Fine tuning home row mods

* update keymap

* Keymap update

* add split transport

* keymap

* cherry pick from develop

* merge develop

* fix

* keymap iterations

* Refactoring

* continued refactoring

* messing with rgb

* update layer coloring

* continued refactoring

* more features

* modifier color

* Move stuff to userspace

* Moving stuff out to userspace

* refactoring into userspace

* More refactoring

* Fixing some errors in the keymap and changing the oled output

* Sync zen1 keymap to my userspace config

* Update copyright notices and revert transport.c to master

* Swap tab and esc

* Remove a file accidentally created

* Use LTO_ENABLE to turn on Link_Time_Optimization

* Drop modtap thumbs on game layout

* Update game keymap

* More iteration on the game keymap

* Add oled indications of kitty and i3 mod

* Promote colemak to default

* Update tapping term for modtap keys

* Add per key tapping term

* Use left modifiers on right side
2020-10-18 13:55:38 -07:00
GGandroot c492dd7912 [Keyboard] Add support for ikki68 (#10576)
* ikki68 from wuquestudio

* NEW ikki68

* Add support for ikki68

* Update readme.md

Co-authored-by: root <[email protected]>
2020-10-18 13:52:03 -07:00
Jack HumbertandDrashna Jaelre 7622678bd0 [Keymap] Adds Jack's 4x12 grid keymap (#10586)
* add jack's planck keymap

* move to community layouts

* add image to readme

* fix imgae

* fix image for real

* Update layouts/community/ortho_4x12/jackhumbert/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-18 13:51:15 -07:00
0728a6b753 [Keyboard] Add mexsistor/ludmila (#10506)
* Add files via upload

* Update keyboards/mexsistor/ludmila/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/mexsistor/ludmila/ludmila.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update ludmila.h

* Update keymap.c

Disable unnecessary code

* Update rules.mk

* Update matrix.c

* Update keyboards/mexsistor/ludmila/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keymap.c

* Update keyboards/mexsistor/ludmila/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keymap.c

* Update keymap.c

* Update ludmila.h

* Update keyboards/mexsistor/ludmila/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/mexsistor/ludmila/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/mexsistor/ludmila/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/mexsistor/ludmila/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/mexsistor/ludmila/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/mexsistor/ludmila/readme.md

Co-authored-by: Ryan <[email protected]>

* Add files via upload

* Add files via upload

* Delete config.h

* Delete

* Update readme.md

* Update readme.md

* Delete tapdance timing

* Delete matrix.c

* Create matrix.c

* Deleted ludmila, add ludmila_v1

* Update readme.md

* add ludmila

* delete ludmila_v1, create ludmila

* Create matrix.c

* Change in matrix.c code and sustitute yes/lite custom_matrix in rules.mk

* Update keymap.c

* Add description; Change on RGB PIN

* Revert "Add description; Change on RGB PIN"

This reverts commit cfbe5349259446f49e8885e995d9cac1b77dac01.

* config.h and rules.mk update

* Update keyboards/mexsistor/ludmila/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/mexsistor/ludmila/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/mexsistor/ludmila/rules.mk

Co-authored-by: James Young <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: U-MEXSISTOR\Macropads <Kevin M>
Co-authored-by: James Young <[email protected]>
2020-10-18 13:45:47 -07:00
Alabahuy e468380be6 [Keyboard] add rartlice (#10495)
* Create bootloader_defs.h

* Create chconf.h

* Create config.h

* Create halconf.h

* Create info.json

* Create mcuconf.h

* Create rartlice.c

* Create rartlice.h

* Create readme.md

* Update readme.md

* Create rules.mk

* Create keymap.c

* Update config.h

* Update rules.mk

* Update config.h

* Update keymap.c

* Update rules.mk

* Delete bootloader_defs.h

* Update rules.mk
2020-10-18 13:41:53 -07:00
8456625655 Initial auto PR labeler config (#9814)
* Initial auto PR labeler config

* Update .github/labeler.yml

Co-authored-by: James Young <[email protected]>

* Update since develop merged

Co-authored-by: Nick Brassel <[email protected]>

Co-authored-by: James Young <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
2020-10-18 20:40:37 +01:00
npspears 6ad813e811 [Keyboard] Plexus75 (#10668)
* Added Plexus75 PCB

* Update keyboards/plexus75/readme.md

* Update keyboards/plexus75/rules.mk

* Update config.h

* Update config.h

* Update keyboards/plexus75/readme.md

* Update keyboards/plexus75/rules.mk

* Update keyboards/plexus75/config.h

* Update keyboards/plexus75/readme.md

* Update keyboards/plexus75/info.json

* Update keyboards/plexus75/info.json

* Update keyboards/plexus75/info.json

* Added License Header

* Update plexus75.h

added license header
2020-10-18 11:07:22 -07:00
MelGeek 4d22bc9de0 [Keyboard] Melgeek Mojo75 (#10426)
* [Keyboard]  Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard

* Update keyboards/melgeek/mj61/mj61.c

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/readme.md

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

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

* Update keyboards/melgeek/mj61/mj61.c

* Update keyboards/melgeek/mj61/mj61.c

* [Keyboard] Support MoJo75 which is a 75% Hotswap RGB keyboard

* Update melgeek/mojo75 vid and pid
Add    melgeek/mojo75/rev1/rev1.c

* Update MelGeek mojo75 VIA layout
2020-10-18 11:05:01 -07:00
yiancar d49dcdd667 Nebula12 RGBLIGHT buffer workaround (#10555)
* Work around for rgblight buffer

* Update config.h

* Prettify

* Clip led range
2020-10-19 00:37:33 +11:00
f952d4f7b7 Support OpenDeck 32 keyboard (#10305)
Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-18 18:37:02 +11:00
Dylan StrawandRyan 8be058d55d Enabled the use of VIA for KPRepublic BM40 (#10677)
Co-authored-by: Ryan <[email protected]>
2020-10-18 18:36:43 +11:00
Drashna JaelreandRyan 40e694ea0d Add last breaking changes log to sidebar (#10680)
Co-authored-by: Ryan <[email protected]>
2020-10-18 15:46:47 +11:00
Zach White 445cd95d17 Improve ANSI support and --no-color (#10537)
* Improve ANSI support and --no-color

* tweak when levelname gets stripped of ansi

* sync with latest milc

* make questions work with both milc versions

* pyformat
2020-10-17 21:01:11 -07:00
Morten Linderud 7d5ba88e6f 50-qmk.rules: Move udev rules from documentation into a file (#10664)
This makes it overall easier to package for downstream distributions
instead of keeping tabs with inline documentation.

Signed-off-by: Morten Linderud <[email protected]>
2020-10-17 20:30:18 +01:00
Pierre Chevalier 704934c427 Ferris reorganization (#10564)
* Add my own keymap

* Layer 0: Workman
* Layer 1: RSTHD (my own take on it)
* Layer 2: Mouse
* Layer 3: Navigation
* Layer 4: Symbols right
* Layer 5: Symbols left
* Layer 6: Fn keys
* Layer 7: Numbers
* Layer 8: Vim and misceallaneaous accessible from any other layer

* Move the current code to a 0.1 folder in preparation for upcoming changes

Version 0.2 is currently being prototyped and uses an arm chip which
will need its own firmware.

There is also the Ferris sweep which uses a pro-micro compatible board
which will need its own directory.

* Move Ferris out of handwired and into the light

The keyboard is now well out of the prototype phase as tens of them have
been produced and acquired by various people.

With 0.2 coming out, adoption is going to increase again as the board
will be available for sale at some recognized vendors.

Now is probably a good time to recognize its status as more than a
prototype :)

* Add code for the Ferris Sweep (a.k.a cradio)

The Ferris Sweep is a creation of the talented @davidphilipbarr, a.k.a DPB.
It has the key layout of a Ferris and uses a pro-micro connected to the
switches via direct pins so that diodes are not needed and the soldering
is minimal.

With their blessing, I took the code for it from DPB's own repo:
https://github.com/davidphilipbarr/36keys/tree/master/qmk/cradio
and did some adaptations such as removing commented out code, enabling
EE_HANDS and mouse keys for consistency with my existing Ferris code.

* Fix indentation in rules.mk

* Fix indentation in sweep's config

* Remove unnecessary lines from sweep's rules.mk

* Remove unnecessary lines from sweep's rules.mk

* Rename 0.1 to 0_1

This avoids the dot looking like the separation between a filename and
its extension.

In the same commit, bring matrix.c to the 0_1 folder as this was needed
for the code to compile properly (matrix.c is referred to in the readme
under `0_1` and is specific to that revision of the firmware).

* Update copyright statements for Sweep
2020-10-17 12:20:34 -07:00
dezli 47ea522e79 [Keymap] Add miniMACRO5 User Keymaps (#10595)
* add kabraxcis keymap

this is a user keymap for a member of my group-buy. this is the creation commit

* add voaraq keymap

this is a user keymap for a member of my group-buy

* update kabraxcis keymap

* add licenses
2020-10-17 12:16:28 -07:00
Sendy YK f663ba5ed0 mrsendyyk Keymap Cleanup (#10539)
* Cleanup

* Update info.json

* Update license notice

* Fix license notice

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Add RGB Light Mode Static Gradient 26

* Update
2020-10-17 12:14:02 -07:00
Sönke Hahn de0153f339 [Keymap] moonlander:shahn-neo (#10667)
* basic keys working

* more stuff

* more stuff

* empty upper layers

* more stuff

* cleanup

* more stuff

* add the letter 'j'

* add '0' to layer 4

* implement umlauts and eszett with menu key as compose key

* add comment

* renamed layout

* change copyright notice

* add separate readme file
2020-10-17 12:09:03 -07:00
yulei 3633330e1a Fix iNETT Studio SQUARE.X overcurrent issue (#10660) 2020-10-17 12:05:21 -07:00
Drashna Jaelre 855dd2d218 [Keymap] Drashna Code Cleanup (#10656)
* Add Launchpad keymap

Note: RGB and Audio won't work when using B pins for audio

* Add support for rgb matrix on launchpad

* Update config for launchpag

* Disable wait on layer change

* Update config for ErgoDox EZ

* Fixup rgb light userspace code

* Move Corne layout to community layouts folder

* Update config for corne to support community layouts

* Add license header to files

* Minor cleanup of userspace config

* Update Pimironi Trackball code

* Increase debounce time on ergodox

* Fix keymap handling

* Enable wait for USB for moonlander

* Update/add license headers

* fix review issues
2020-10-17 11:46:57 -07:00
Ramon Imbao aa1c1c3865 [Keyboard] AELITH (#10652)
* Add AELITH keyboard

* Add AELITH keyboard

* Update keyboards/ramonimbao/aelith/rules.mk

* Update keyboards/ramonimbao/aelith/config.h

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

* Update keyboards/ramonimbao/aelith/readme.md

* Update keyboards/ramonimbao/aelith/readme.md

* Update keyboards/ramonimbao/aelith/config.h

* Update keyboards/ramonimbao/aelith/config.h

* Change layouts based on suggestions

* Add LAYOUT_alice macro
2020-10-17 11:40:30 -07:00
James Young de68d294ec [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
Ryan f0a1ab5488 MSYS and WSL installation improvements (#10593) 2020-10-18 02:45:21 +11:00
Ryan 1a2a838bc2 [CLI] Remove check for Input Club boards (#10636) 2020-10-18 02:44:38 +11:00
Blake 67474f7e3f [Keyboard] Draytronics Scarlet (#10655)
* Initial test version of Scarlet keyboard

* First commit of DElec Scarlet

* Change to new Draytronics branding

* Update to keyboard details

Update to keyboard details and link to Draytronics website.

* Update keyboards/draytronics/scarlet/scarlet.h

* Update keyboards/draytronics/scarlet/rules.mk

* Update keyboards/draytronics/scarlet/readme.md

* Update keyboards/draytronics/scarlet/keymaps/default/keymap.c

* Update keyboards/draytronics/scarlet/config.h

* Update keymap.c

* Update config.h

* Update scarlet.h

* Update keyboards/draytronics/scarlet/config.h

* Update keyboards/draytronics/scarlet/config.h

* Update keyboards/draytronics/scarlet/scarlet.h

* Update keyboards/draytronics/scarlet/keymaps/default/keymap.c
2020-10-17 03:58:51 -07:00
shela 39c473a639 [Docs] Update feature_combo.md of Japanese document (#10671) 2020-10-17 03:19:06 -07:00
cole smith f871f7a56f [Keyboard] Boardsource spooky (#10521)
* added spooky keyboard t
o boardsouce folder

* restoring to clean start I think

* added back in my files for this keyboard

* Update keyboards/boardsource/holiday/spooky/config.h

* Update keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c

* Update keyboards/boardsource/holiday/spooky/readme.md

* Update keyboards/boardsource/holiday/spooky/spooky.h

* updated all keymaps to support 2x3 ortho

* Apply suggestions from code review
2020-10-17 03:17:44 -07:00
Reid Sox-Harris e0bdd51177 [Keymap] add keyhive/maypad:eosti (#10663)
* adds eosti/maypad keymap

* remove empty function calls
2020-10-17 02:31:21 -07:00
JagdPietr Reneksson fba7d4e32f Move Drakon to jagdpietr directory (#10155)
* move drakon to jagdpietr directory

* Updates

Recommended changes implemented in this commit due to progress loss in last commit

* Update vusb

* Update keyboards/jagdpietr/drakon/drakon.c
2020-10-17 02:11:51 -07:00
Danny cab49809ad Add Levinson VIA support (#10631)
* Add Levinson VIA keymap

* Update product IDs for Levinson to embed version number

* Add layer 3 access

* Apply suggestions from code review
2020-10-17 00:38:35 -07:00
Danny 42696a4f8c Update Nyquist VIA support and default keymap (#10632)
* Update default and via keymaps

* Update PID and enabled build options

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

* Update keyboards/keebio/nyquist/rev3/rules.mk

* Update keyboards/keebio/nyquist/rev2/rules.mk
2020-10-17 00:30:26 -07:00
Xelus22 a4dfa45f37 [Keyboard] Add Kangaroo (#10511)
* roo initial

* update scannign t imes

* enable dma

* rename kangaroo

* updates

* update rules.mk

* keymap

* fix up config

* fix reamde

* fix up config

* update license headers

* rules.mk update

* info json

* Update keyboards/xelus/kangaroo/rules.mk
2020-10-17 00:18:50 -07:00
Garret G 616dc7dd5d [Keyboard] 45-ATS (#10104)
* add ats folder

* fix duplicate matrix key

* fix matrix issues

* fix missing comma in info.json

* clean up info.json

* rm game layer toggle in via keymap

* update via keymap rules.mk

* Update info.json

* clear up layout graphics

* Apply suggestions from code review

* Update 45_ats.c

* Update 45_ats.h

* Update config.h

* Update config.h

* Update keyboards/45_ats/keymaps/default/config.h

* Update keymap.c

* Update keyboards/45_ats/keymaps/default/keymap.c

* Update keymap.c

* Update keyboards/45_ats/keymaps/via/keymap.c

* Apply suggestions from code review

* Update keyboards/45_ats/config.h
2020-10-16 22:19:55 -07:00
Jakob Stendahl 44f9017cb8 Bm60rgb iso nordic keymap with sleepmode functional (#10510)
* Add nordic keymap

Changes from default:
- Change button right of `LSHIFT` to `KC_NUBS`
- Add some more keys to the second layer.

* Add sleepmode functionality

Added a sleepmode, this turns of the rgb_matrix if no key was pressed for x minutes. Not default on, so you have to enable it by defining `SLEEPMODE_ENABLED`.

* Move all sleepmode config to config.h, rename keymap

- Move all configurations for sleepmode to keymap config.h
- rename keymap to include reference to it having sleepmode (suggestion from guy the discord-server)
- add copyright in config.h

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/config.h

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c

* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
2020-10-16 21:29:15 -07:00
Harshit Goel 3c4fa68000 Make VIA config for redox_w (#10578)
* Make via config for redox_w

* Add missing layer function back, fixed typo and maintainer name
2020-10-16 16:01:19 -07:00
MelGeek cb556b7a16 [Keyboard] Melgeek MJ64 (#10425)
* [Keyboard] Support MJ64 which is a 60% Hotswap RGB keyboard with arrows
and the size of left shift is 2.25U

* Update keyboards/melgeek/mj64/mj64.h

* Update keyboards/melgeek/mj64/keymaps/default/keymap.c

* Update keyboards/melgeek/mj64/keymaps/via/keymap.c

* Update keyboards/melgeek/mj64/keymaps/via/keymap.c

* Update keyboards/melgeek/mj64/keymaps/default/keymap.c

* Update keyboards/melgeek/mj64/keymaps/via/keymap.c

* Update keyboards/melgeek/mj64/rev2/rules.mk

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

* Update keyboards/melgeek/mj64/keymaps/via/keymap.c

* Update keyboards/melgeek/mj64/info.json

* Update keyboards/melgeek/mj64/info.json

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

* Update keyboards/melgeek/mj64/rev2/config.h

* Update the VID and PID in mj64/config.h
add the rev1/rev1.c
add the rev2/rev2.c
2020-10-16 15:18:06 -07:00
James Young 87317a3af6 [Keyboard] GH60 v1.3 (#10575)
* [Keyboard] GH60 v1.3 Support

* clean up info.json

Update key sizes and positioning.

* add readme

* add image to readme

* fix up info.json LAYOUT_all

* add LAYOUT_60_ansi

I'm guessing at this based on a photo of the PCB. Chances are high that this isn't fully functional.

* add matrix block comment to v1p3.h

* add default_ansi keymap

* add keymap readme files

* fix LAYOUT_60_ansi macro

* enable 60_ansi Community Layout support

* add layouts for 60_ansi_arrow

Add LAYOUT_60_ansi_arrow and LAYOUT_60_ansi_arrow_split_bs macros. (The user helping me test runs the split Backspace variant.)

* add Tsangan, HHKB, and 64_ansi layout macros

* add factory keymaps and layout info

* update copyright headers

I mean... if someone's gotta "own" this code...

* fix broken factory_* keymaps
2020-10-16 22:23:32 +01:00
jotix 92b7dff3ae Jotix ortho_4x12_layout (#10647)
* back_to_the_roots

* mouse layer is gone

* mouse layer is gone
2020-10-16 11:09:57 -07:00
0dc74dd8c4 [Keyboard] Add Z70Ultra - a Hotsawp RGB 65% keyboard (#9202)
* Add Z70Ultra which is a Hotsawp RGB 65% keyboard

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/readme.md

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: Ryan <[email protected]>

* Update readme.md

* Update info.json

update the name of layout to consistent the keyboard.

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: Ryan <[email protected]>

* Add Z70Ultra

* Support Z70Ultra
  [Modified] info.json to support two different layouts
  [Add]      rules.mk to support default folder

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/z70ultra/config.h

Co-authored-by: Ryan <[email protected]>

* remove excessive arguments from LAYOUT_split_space

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

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

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Use macro replace with the literal for CS & SW

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard]  Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

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

* Update keyboards/melgeek/mj61/readme.md

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* Add GPL for files

* Update keymaps/default/keymap.c

* Update keymaps/via/keymap.c

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/melgeek/z70ultra/z70ultra.c

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-16 09:11:17 -07:00
6529cbac0d [Keyboard] Add Prime_E RGB PCB (#10615)
* add Prime_E RGB PCB

* Update keyboards/primekb/prime_e/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/primekb/prime_e/std/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/primekb/prime_e/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/primekb/prime_e/rgb/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/primekb/prime_e/rgb/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/primekb/prime_e/rgb/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/primekb/prime_e/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/primekb/prime_e/std/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/primekb/prime_e/std/readme.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-15 22:41:44 -07:00
Andre Azzolini 139d28eaae [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) 2020-10-15 21:23:24 -07:00
Salicylic-acid3 a1f129edd5 [Keyboard] Added via support for JISplit89 (#10547)
-Changing the VID
-Add a keymap via
-Keymap and copyright fixes
2020-10-15 21:22:25 -07:00
73699cccbc [Keyboard] Add 7splus keyboard (#10538)
* Add 7splus keyboard.

A 85 keys ANSI Layout split keyboard.
Salicylic-acid3

* Update keyboards/7splus/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/7splus/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/7splus/rules.mk

Co-authored-by: Ryan <[email protected]>

* Added VIA keymap and a few updates

Adding a VIA Keymap
Updating the key layout diagram
Copywrite added for salicylic keymap

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-15 21:12:09 -07:00
SpacemanandRyan 229dbcc547 Add via keymap for pancake (#10551)
* Add via keymap for pancake

* Add license to keymap

* Update rules.mk

* Update rules.mk

* Update keyboards/spaceman/pancake/config.h

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-15 22:11:33 +01:00
Joel Challis c738ce2f65 Move SP-111 to vendor folder (#10633)
* Move SP-111 to vendor folder

* Fix space indentation
2020-10-15 12:05:44 -07:00
George Mao c0b3034721 Add alice community layout (#10518)
* Added LAYOUT_alice

* Added fauxpark's suggestions as well as updating keymap graphic

* Added file header and used noroadleft's fix to the info.json for fast input mode
2020-10-15 19:23:35 +01:00
Raleigh WaylandandRaleigh Wayland f90688e550 Adding Opus keyboard (#10628)
* Adding opus keyboard

* Preparing keyboard for PR

* Adding images to default keymap readme

* Changing VENDOR_ID

* Minor changes

* Changing PRODUCT_ID

* Removing comment

* Fixing tap dance issue

* #pragma once instead of #ifndef

* Resolving PR suggestions

* Removing ifndef

* Using lower resolution image

* Formatting comments

* Adjusting copyright year

Co-authored-by: Raleigh Wayland <[email protected]>
2020-10-15 19:19:51 +01:00
Harshit Goel 0f453bc5f7 Add VIA code to ergoTravel (#10493)
* Add VIA code to ergoTravel, VendorId changed to allow via

* Update LTO_ENABLE for via

* Accept comments from the QMK PR discussion

* Restore original rules.mk from qmk master, update via rules to remove redundant bootmagic

* rules update

* find and use unique VID without qmk. Used 0x4A50, did not find clash

* Removed unused via layer

* Reset hard to last clean commit, redo changes for Hex Translation and Enum
2020-10-15 11:11:23 -07:00
Reid Sox-HarrisandJoel Challis 21357b658a [keyboard] Maypad: Add additional layout (#10643)
* add split plus layout

* update README

* rename splitPlus to split_plus

* Update keyboards/keyhive/maypad/rules.mk

Co-authored-by: Joel Challis <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
2020-10-15 18:41:04 +01:00
Reid Sox-HarrisandJoel Challis 2c5ad9189c update eosti keymaps (#10610)
* adds eosti/planck keymaps

* updates eosti keymaps

* add header guard to bdn9 config.h

Co-authored-by: Joel Challis <[email protected]>

* reduce file size of compiled firmware

* move console disable to rules.mk

Co-authored-by: Joel Challis <[email protected]>
2020-10-15 03:08:28 +01:00
Ryan b0dbe7365b Fix STM32duino bootloader (#10648) 2020-10-15 02:55:31 +01:00
Reid Sox-Harris af2c506383 adds eosti/planck keymaps (#10616) 2020-10-15 02:10:15 +01:00
MechMerlinandJoel Challis 59d503e3b9 [keyboard] Add Caps Lock LED Logic to exclusive/e85/soldered (#10639)
* on behalf of VashtaNerada commiting his code to get caps lock led working on the soldered E8d E8.5

* Update keyboards/exclusive/e85/soldered/soldered.c

Co-authored-by: Joel Challis <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
2020-10-15 01:37:11 +01:00
MakotoKurauchiandkeyaki-namiki b63b2106d8 Fix config for Helix rev3 4rows (#10641)
* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT for rev3_4rows/config.h

Co-authored-by: keyaki-namiki <[email protected]>
2020-10-15 05:16:17 +09:00
shelaandTakeshi ISHII a2af0a352b Update other_vscode.md of Japanese document (#10604)
* Update Japanese document

* Fix inline code

* Update docs/ja/other_vscode.md

Co-authored-by: Takeshi ISHII <[email protected]>

Co-authored-by: Takeshi ISHII <[email protected]>
2020-10-15 03:24:26 +09:00
Drashna Jaelre 6aae926b5f Fix issues with suspend code for ZSA split boards (#10640) 2020-10-14 16:23:08 +01:00
gtips 49dd1edb69 Update reviung34 PRODUCT_ID (#10480)
* update reviung34 PRODUCT_ID
2020-10-14 02:50:35 -07:00
Ryan 7437a38899 Whitefox refactor (#10175) 2020-10-14 15:06:05 +11:00
Filip ParyżandFilipParyz 381884fa9b Fix for issue #10386 - Can't compile preonic:dudeofawesome (#10557)
Co-authored-by: FilipParyz <[email protected]>
2020-10-14 13:41:34 +11:00
shela f706e1e80e Update Japanese document (#10607) 2020-10-14 05:09:59 +09:00
46c77febf7 [Docs] Japanese translation of docs/pr_checklist.md (#10415)
* japanese translation of docs/pr_checklist.md

* update docs/ja/pr_checklist.md

* update docs/ja/pr_checklist.md

* update docs/ja/pr_checklist.md

* add :id=lite to docs/ja/custom_matrix.md

* add :id=... to docs/ja/custom_quantum_functions.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: s-show <[email protected]>

* Update docs/ja/pr_checklist.md

Co-authored-by: s-show <[email protected]>

Co-authored-by: shela <[email protected]>
Co-authored-by: s-show <[email protected]>
2020-10-14 05:08:26 +09:00
fdbf67e0da [Keyboard] Add Voyager60-Alps keyboard (#10516)
* add voyager60_alps

* add readme, add gpl headers

* add info.json

* include all keys in info.json

* fix typo in config.h

* Update keyboards/ai03/voyager60_alps/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/ai03/voyager60_alps/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/ai03/voyager60_alps/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/ai03/voyager60_alps/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/ai03/voyager60_alps/voyager60_alps.c

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-13 04:46:21 -07:00
Christian EidenandDrashna Jaelre bb35f6a6f5 [Keymap] Add own KBD67 MKII keymap (#10532)
* own KBD67 MKII keymap

Signed-off-by: Christian Eiden <[email protected]>

* Update keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/config.h

Co-authored-by: Drashna Jaelre <[email protected]>
Signed-off-by: Christian Eiden <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-13 04:40:47 -07:00
Drashna JaelreandRyan c87b2efef8 Add VIA keymap for EVE Meteor. (#10454)
* Add VIA keymap for EVE Meteor.

* Remove bootmagic flag and add vendor/product IDs.

* Update keyboards/eve/meteor/info.json

Co-authored-by: Ryan <[email protected]>

* Increment EVE Vendor ID to be unique.

* Change product IDs.

Make the EVE Meteor IDs both unique and somewhat logical based on the product name.

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-13 04:36:17 -07:00
2a65709db6 [Keyboard] Update to ZSA Boards (#10119)
* Add VID/PIDs to ErgoDox EZ

* Add VID/PIDs for Planck EZ and Glow revision

* Make names consistent

* fix typo in docs

* Move LED config back, for maximum compatibility

* Add revisions for ErgoDox EZ boards

* Fix embarassing typo

* Typooooo

Co-authored-by: Nick Brassel <[email protected]>

* Update Licensing info

* Update Moonlander default keymap to match Oryx's default

* Fix formatting based on suggestions

Co-authored-by: James Young <[email protected]>

* Make indicator LEDs more configurable

* Update default keymap

* Handle older eeprom settings

Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-10-13 04:35:36 -07:00
Nate Stein 451e600476 [Keyboard] update boot-mode method for EVE Meteor docs (#10453) 2020-10-13 04:35:02 -07:00
6f391094ab [Keyboard] Melgeek mj63 (#10424)
* [Keyboard]  Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Drashna Jaelre <[email protected]>

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

* Update keyboards/melgeek/mj61/readme.md

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/melgeek/mj61/mj61.c

Co-authored-by: Ryan <[email protected]>

* [Keyboard] Support MJ63 which is a 60% hotswap RGB keyboard with arrows
and the size of left shift is 2U

* Update keyboards/melgeek/mj63/mj63.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

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

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/via/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/melgeek/mj63/mj63.c

Co-authored-by: Joel Challis <[email protected]>

* [Keyboard] MelGeek MJ63
    * Change the VID and PID
    * move the mj63.c to the rev1/rev1.c

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
2020-10-13 04:31:45 -07:00
5b067ffc16 [Keyboard] update keymap of zergo keyboard (#10402)
* Rename keyboards/handwired/zergo/keymap.c to keyboards/handwired/zergo/keymaps/default/keymap.c

* Update rules.mk

* Update rules.mk

* Update bootloader.mk

* Update rules.mk

* Update bootloader.mk

* Update info.json

* Update rules.mk

* Update zergo.h

* Update info.json

* Update keymap.c

* Update keyboards/handwired/zergo/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/handwired/zergo/keymaps/default/keymap.c

Co-authored-by: James Young <[email protected]>

* update layout

* update zergo layout

* update layout

* Update keyboards/handwired/zergo/keymaps/default/keymap.c

Co-authored-by: ridingqwerty <[email protected]>

Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: ridingqwerty <[email protected]>
2020-10-13 04:16:10 -07:00
shela b4e7d4ffae Update tags to check for document updates (#10606) 2020-10-13 17:03:17 +09:00
Silvio Gulizia 30c65a2547 updating my own keyboard layout (#10626) 2020-10-13 13:41:36 +11:00
shela 4d59657b83 Fix typo within debounce documentation (#10600) 2020-10-13 01:46:16 +01:00
Ryan d46b8ef67c Add STM32Duino to bootloader selection (#10558) 2020-10-13 03:19:50 +11:00
Ryan adc06c5b3b Remove bootloader_defs.h for some F072 boards (#10582) 2020-10-13 03:18:21 +11:00
Ryan 6c78f80fa1 Partial fix for sendstring_french.h (#10623) 2020-10-13 03:17:11 +11:00
shela 3d9fff1d28 Update Japanese document (#10605) 2020-10-13 01:08:38 +09:00
shela 975c2422f3 Update Japanese document (#10601) 2020-10-13 01:07:59 +09:00
shela a4efb55a39 Update Japanese document. (#10599) 2020-10-13 01:07:11 +09:00
96ac448a0f Update feature_bluetooth.md of Japanese document. (#10594)
* Update Japanese document.

* Left justified.

* Update docs/ja/feature_bluetooth.md

Co-authored-by: s-show <[email protected]>

* Update docs/ja/feature_bluetooth.md

Co-authored-by: Takeshi ISHII <[email protected]>

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

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <[email protected]>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <[email protected]>

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

* add default 4Rows keymaps

* cleanup 4row keymaps

* update about SPLIT_HAND_MATRIX_GRID and DIP_SWITCH_MATRIX_GRID

* change how to toggle mac/win

* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add dip-sw sections

* comment updated in function `encoder_update_user`

* revert how to toggle mac/win

* remove 4Rows variant build options

* rename helix_type_r to helix_5r

* add helix type-R 4Rows edition

* small modifications in keymap.c

* small modifications according to renaming

* change project root directory

* continuous work on ee2c39f1f9bffd97a2deb8f430746933a8d8684c

* cleanup unused files

* update info.json files

* cleanup 5rows' keymaps

* rename and update readme.md

* update config.h

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

* update keymaps' overviews

* split into each keyboard

* optimize firmware size for via keymaps

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

* remove LAYOUT_kc lines from both keymaps

* rename tyep-r to rev3

* enable to SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT

* remove image from readme

* clean up for PR

* delete unnecessary comments

* change keyboard directory

* rename LAYOUT4 to LAYOUT for rev3_4rows

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/helix/rev3_4rows/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/helix/rev3_5rows/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

* Cleanup ADJUST Layer code for VIA

* change SEND_STRING to tap_code

* update readme

* moved the oled code from the keymap to the keyboard

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

* change layout name for info.json

* Update keyboards/helix/rev3_4rows/rev3_4rows.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_4rows/rev3_4rows.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_4rows/rev3_4rows.h

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_5rows/rev3_5rows.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_5rows/rev3_5rows.c

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_5rows/oled_display.c

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_5rows/rev3_5rows.h

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

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

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/helix/rev3_5rows/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/helix/rev3_5rows/info.json

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_5rows/oled_display.c

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/helix/rev3_4rows/config.h

Co-authored-by: Takeshi ISHII <[email protected]>

* Update keyboards/helix/rev3_4rows/oled_display.c

Co-authored-by: Takeshi ISHII <[email protected]>

* deleted key_count in info.json

Co-authored-by: keyaki-namiki <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Takeshi ISHII <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
2020-10-12 11:37:31 +09:00
Joakim Tufvegren cacf495c91 Ergodox Infinity: Add EE_HANDS support. (#9527)
Including a guide to set these EEPROM values (in the readme).
2020-10-11 01:48:52 +01:00
shela a88cfa395b Update feature_backlight.md of Japanese document. (#10592)
* Update Japanese document.

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

Many thanks to noroadsleft for reviews & suggestions.

* Add QMK Configurator layout support

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

Previously this was using the Classic Atreus layout.

* Implement noroadleft's changes from #8492

* Follow Erovia's recommendations

qmk/qmk_firmware#8492

* Correct braces

* Change correct rules.mk

* Remove comments

* Fix BOOTMAGIC_ENABLE

I had edited the wrong file earlier.

* Remove comment

* Updates rules.mk

Thank you noroadsleft.

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

* Convert to community layouts

* Add smk65/revf support

* Disable stuff by default

* Update IDs for via

* Align LAYOUT macros for community layouts

* Align LAYOUT macros for community layouts - Fix configurator ordering

* Update via keymap

* remove stub _kb function

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-08 21:58:08 +01:00
fe5bcae8b3 [Keyboard] New keyboard - eiri (#10529)
* eiri default keymap compiles

* pic, info.json

* Added picture for default layout, changed PRODUCT_ID

* Changes to default keymap

* Cleaned unused template remnants from files

* Update keyboards/emajesty/eiri/readme.md

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: EMajesty <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-10-07 17:04:49 -07:00
ChusandJoel Challis cba4c1deb5 [Keymap] Add niu mini dye sub keymap (#10525)
* Add niu mini dye sub keymap

* Fix spacing

* Fix for blank spacing on layout

* Remove unused code

Co-authored-by: Joel Challis <[email protected]>

* Remove audio and console settings

Co-authored-by: Joel Challis <[email protected]>

* Updates rules and readme

* Add license GPL2 to keymap

Co-authored-by: Joel Challis <[email protected]>
2020-10-07 16:56:22 -07:00
Reibl János DánielandJanos Daniel Reibl d79fe65291 Clean ChibiOS platform files (#10505)
* Clean ChibiOs platform files

* Remove I2C and timer definitions

* Remove unnecessary files and rename readme

Co-authored-by: Janos Daniel Reibl <[email protected]>
2020-10-08 10:20:23 +11:00
ee6c86d8e9 [Keyboard] LeftyNumpad Keyboard (#10500)
* Clean LeftyNumpad code

* Fix typo in recently renamed file

* Fix issues with keymap layout

* Initial PR Feedback fixes

* Update keyboards/handwired/leftynumpad/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/handwired/leftynumpad/config.h

Co-authored-by: Joel Challis <[email protected]>

* Apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

* Apply suggestions from code review

Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>

* Add fixes based on PR feedback

* Update keyboards/handwired/leftynumpad/readme.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-07 15:35:42 -07:00
moyi4681andRyan 0a69225637 [Keyboard] add maja capslock indicator (#10151)
* add  maja capslock indicator

add  maja capslock indicator

* Update keyboards/kbdfans/maja/maja.c

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-07 13:48:30 -07:00
Nate SteinandRyan b84b6107ff Change product IDs.
Make the EVE Meteor IDs both unique and somewhat logical based on the product name.

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

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

* Add tests and fix formatting

* Fix/exclude flake8 errors

* Convert keymap.c to valid keymap.json

* Fix some errors

* Add tests

* Finalize keymap.json creation, add json template

* Add docs

* Move pygments to the standard requirements

* Add support for nameless layers, fix tests

* Fix things after rebase

* Add missing 'keymap' value.

* Fix missing layer numbers from advanced keycodes

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

* Apply suggestions from code review

* fixup tests

Co-authored-by: Zach White <[email protected]>
Co-authored-by: skullY <[email protected]>
2020-10-06 17:10:19 -07:00
c9a06965c9 Improve LAYOUT macro searching (#9530)
* Improve LAYOUT macro searching

* Apply suggestions from code review

Co-authored-by: Zach White <[email protected]>

* Adjust signature

* Try to copy the makefile's handling of DEFAULT_FOLDER

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

* Move it even further up so that keyboard_folder is correct

* Update lib/python/qmk/info.py

Co-authored-by: Zach White <[email protected]>

* Update lib/python/qmk/info.py

Co-authored-by: Zach White <[email protected]>

Co-authored-by: Zach White <[email protected]>
Co-authored-by: Zach White <[email protected]>
2020-10-06 16:57:40 -07:00
Ryan 2c9ffd4739 CLI: update subcommands to use return instead of exit() (#10323) 2020-10-06 16:46:10 -07:00
stein3 f7cffcbcd4 Increment EVE Vendor ID to be unique. 2020-10-06 07:25:49 -07:00
stein3 2e402741a8 Merge branch 'master' into meteor 2020-10-06 07:15:41 -07:00
Joe Strong 2013f63134 Fixes small typo in docs (#10515) 2020-10-05 19:21:39 +11:00
Gergely Peidl 32661df8cd Update personal keymap for Let's Split keyboard. (#10536)
* Add Initial layout configuration.

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

* Enable Autoshift feautre.

* Remove DVORAK layout.

* Add Numpad, update default layer.

* Update AutoShift timeout.

* Beautify ASCII Art.

* Update keymap.

* Add Initial verison of RGB lighting.

* Add Tap dance, hungarian letters.

.Xmodmap example: https://github.com/geripgeri/dotfiles/commit/09f058753dd10e4ff8ab2aac7274b5600c466392

* Update RGB to use only noeeprom functions.

* Change default rgb led color.

* Add `pragma once`.

* Emojis added.

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

* Remove audio related code.

* Add Gaming layer.

* Remove unnecessary code, update copyright.

* Add readme.md

* Implement code review suggestions.

* Implement code review suggestions #2

* Remove Auto Shift feature.

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

* Move keymaps to community layouts

* Remove keymaps from userspace readme.md

Co-authored-by: Janos Daniel Reibl <[email protected]>
2020-10-04 15:35:28 -07:00
JakobandRyan 27f9f3196d [Keyboard] add support for ymd75 rev3 (#10483)
* add support for ymd75 rev3

* Update keyboards/ymd75/rev3/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/ymd75/rev3/rules.mk

Co-authored-by: Ryan <[email protected]>

* remove DESCRIPTION

* only apply offset for rev3

Co-authored-by: Ryan <[email protected]>
2020-10-04 15:19:34 -07:00
89446bafb8 [Keyboard] Add soy20 PCB (#10440)
* Add soy20 PCB

adds default and VIA Keymaps for soy20 pcb by DrewKeys

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/rules.mk

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/soy20.h

Co-authored-by: ridingqwerty <[email protected]>

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

Co-authored-by: ridingqwerty <[email protected]>

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

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

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/rules.mk

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/config.h

Co-authored-by: ridingqwerty <[email protected]>

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

Co-authored-by: ridingqwerty <[email protected]>

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

Co-authored-by: ridingqwerty <[email protected]>

* Update keyboards/soy20/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/rules.mk

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/soy20.h

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/info.json

Co-authored-by: Ryan <[email protected]>

* Update keyboards/soy20/config.h

Co-authored-by: Joel Challis <[email protected]>

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

* Delete rules.mk

* Delete keymap.c

* Corrected Header Comments

Co-authored-by: ridingqwerty <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
2020-10-04 14:48:13 -07:00
3araht 2bcac45650 Fix for MIDI sustain effect issue (#10361) 2020-10-04 14:32:24 -07:00
QMK Bot c8cff1489a format code according to conventions [skip ci] 2020-10-04 20:54:31 +00:00
Drashna Jaelre c4f910b1b3 Merge pull request #10404 from cmdremily/opendeck-core
Allow the use of only one IS31FL3731 LED driver
2020-10-04 13:05:26 -07:00
edebe56f6b [Keyboard] Add Yugo-M Controller (#10389)
* Created folder structure and blank files

* Update the yugo_m initial blank files

* Add yugo_m default keymap

* Update yugo_m info.json

* Fix yugo_m keymap.c

* keymap.c update

* Changed subfolder name

* File names

* Fixed lock LEDs problem

* Returned old subfolder name; LEDs fix

* Activated anti-ghosting feature in config.h

* Update readme.md

* Changed LAYOUT to LAYOUT_all

* Updated keymap.c

* corrected LAYOUT to LAYOUT_all in info.json

* Rewritten readme.md according to the template

* Removed backslashes from keymap.c

* Fixed readme.md

* Fixed readme.md again

* Tidying up readme.md

* Tidying up comments and readme.md

* Removed a line from rules.mk

* Update keyboards/yugo_m/model_m_101/model_m_101.h

Co-authored-by: Joel Challis <[email protected]>

* Removed chconf, halconf, mcuconf

* Updated LED control

* Update keyboards/yugo_m/model_m_101/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/yugo_m/model_m_101/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/yugo_m/model_m_101/config.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/yugo_m/model_m_101/config.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/yugo_m/model_m_101/model_m_101.c

Co-authored-by: James Young <[email protected]>

* Update keyboards/yugo_m/readme.md

Co-authored-by: James Young <[email protected]>

* Updated readme.md, there was an outdated info

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

Co-authored-by: Ryan <[email protected]>

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

Co-authored-by: Ryan <[email protected]>

* Update keyboards/yugo_m/model_m_101/model_m_101.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/yugo_m/model_m_101/model_m_101.c

Co-authored-by: Joel Challis <[email protected]>

Co-authored-by: Nidzo Tomic <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-04 12:50:03 -07:00
Sergey Vlasov 3a8e13a74a [Keymap] Add onekey keymap for OLED testing (#10380)
* Add onekey keymap for OLED testing

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

* Add planck keymap

* Add nyquist keymap

* Add vim movement instead of regular movement layer

* Use partial home row mods :)

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

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

Co-authored-by: Drashna Jaelre <[email protected]>

* Fix outdated function call

* Apply suggestions from code review

Co-authored-by: James Young <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

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

somehow this wasn't added to the batch?

Co-authored-by: James Young <[email protected]>

* remove deprecated function

* Rename to lowercase

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

Co-authored-by: Drashna Jaelre <[email protected]>

* fix oled path

* rebase and add back nyquist that was lost by rename

* Add licenses

* License in the wrong file

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-10-04 12:35:03 -07:00
Fred SilberbergandRyan 1aacbc44d1 [Keymap] Added 333fred 5x6_5 keymap (#10272)
* First pass at manuform layout.

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

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

* Some updates after a day of usage:

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

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

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

* Use LTO_ENABLE flag.

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

* Update users/333fred/rgb.c

Co-authored-by: Ryan <[email protected]>

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

* add

* Update rev2.c

* fixed rgb matrix

* Update rev2.c

* update rules.mk

* update readme

* update

* Update config.h

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

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

* Fix oled_write_pixel() with 90/270 degree rotation

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

* Fix compilation with custom OLED_BLOCK_COUNT and OLED_BLOCK_SIZE

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

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

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

* Fix potentially wrong dirtying in oled_write_char()

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

* Fix `#define OLED_BLOCK_TYPE uint32_t` on AVR

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

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

* Remove unused extern declaration.

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

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

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

* Update keyboards/clawsome/fightpad/config.h

* Update keyboards/clawsome/fightpad/rules.mk

* Update keyboards/clawsome/fightpad/info.json

* Update keyboards/clawsome/fightpad/readme.md

* Update keyboards/clawsome/fightpad/readme.md

* Update keyboards/clawsome/fightpad/info.json

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

* Now uses LTO_ENABLE

* Deactivated console to save space

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

* Added GPL license

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

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

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

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

* rules.mk newline

* config.h newline

* qwerty num toggle -> tap-toggle

* errant K, and _LOWER momentary toggles

* Lack of autosave sucks

* Converting to HHKB layout

* TT(_NUM) added to num layer

* Final updates for Boardwalk initialization

* Final refinements

* newline

* Removal of extra includes

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

#pragma once

* Removing comment block from rules

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

* tweaking keymap

* updated keymap

* cleaned up a little bit

* New preonic keymap

* my preonic keymap

* added mac layout

* preonic map update

* cleaning up old repo

* cleaning up to match upstream

* more cleanup

* removing old keymaps

* Added BM60 Poker

* Apply suggestions from code review

* Added license

* updated license

* updated license

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

* Improvements

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

* update usb descriptor

* fixed led polarity

* Update keyboards/matrix/cain/cain.c

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/matrix/cain/rules.mk

Co-authored-by: Ryan <[email protected]>

* Apply suggestions from code review

Co-authored-by: James Young <[email protected]>

* rename from cain to cain_re

* Update keyboards/matrix/cain_re/readme.md

Co-authored-by: James Young <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-10-02 00:07:14 +01:00
726499553c New keyboard: wsk/g4m3ralpha (#10431)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

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

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Add new keyboard: wsk/g4m3ralpha

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

* Update keyboards/wsk/g4m3ralpha/config.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/wsk/g4m3ralpha/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/wsk/g4m3ralpha/g4m3ralpha.c

Co-authored-by: Joel Challis <[email protected]>

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

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/wsk/g4m3ralpha/config.h

Co-authored-by: James Young <[email protected]>

* Update keyboards/wsk/g4m3ralpha/info.json

Co-authored-by: James Young <[email protected]>

* Update keyboards/wsk/g4m3ralpha/rules.mk

Co-authored-by: Ryan <[email protected]>

Co-authored-by: worldspawn00 <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-10-01 23:58:13 +01:00
James Young 1d7e57ab85 BM60RGB ISO: update default keymap and layout macro (#10494)
* BM60RGB ISO: fix and extend default keymap

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

* Update layout macro

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

* Update mod_tap.md
2020-10-01 22:19:57 +01:00
JordanandErovia f63a60a72a Port mechmini v2 for VIA support (#10497)
Co-authored-by: Erovia <[email protected]>
2020-10-01 22:19:01 +01:00
Danilo de Klerk f68bb0cc3d Add ddeklerk split_3x6_3 layout (#10470) 2020-10-01 22:14:46 +01:00
Juno Nguyen 2f01c6ee18 Update make rules for community/ortho_4x12/junonum (#10467) 2020-10-01 22:13:13 +01:00
James YoungandRyan 10f5767010 Add 64_ansi and 64_iso Community Layouts (#10463)
* Add 64_ansi Community Layout

* Add 64_iso Community Layout

* Add readme.md with layout drawings

* Edit readme.md - fix layout drawings

Fix 65_ansi_blocker_split_bs and 65_ansi_blocker_tsangan drawings.

* Edit readme.md - suggestions per fauxpark

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
2020-10-01 21:57:56 +01:00
ai03 b5d6f287d9 Southpaw Fullsize: Add VIA support (#10469)
* Add via configurator support

* Remove layers to fix via

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

* Replace tabs with spaces

* Update readme.md
2020-10-01 13:44:29 -07:00
Nate SteinandRyan 3e5e4f7427 Update keyboards/eve/meteor/info.json
Co-authored-by: Ryan <[email protected]>
2020-10-01 13:23:44 -07:00
Nic Lake a13e918d47 [Keymap] Adding 2x2u default layout for Boardwalk (#10486)
* Adding 2x2u default layout for Boardwalk

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

* second pass of fixing key labeling

* third pass of this key naming

* another pass of changing key naming

* another pass

* another pass

* another pass

* renamed it all

* give a good vid and pid

* add via keymap

* add on to the comments

* update readme and comments

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

* Docs update

* Less animations

* A few cleanups

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

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

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

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

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

* Add initial config from Dactyl config

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

* formatting

* Fix number of pins

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

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

* Create rules.mk

* Create keymap.c

* Update rules.mk

added VIA support

* Changed wazowski via keymap to include skipped switch

* changed the vendor ID

* Update keyboards/keebzdotnet/wazowski/config.h

* Removed VIA enable from keyboard rules.mk

* Update keyboards/keebzdotnet/wazowski/rules.mk

* Fixed wazowski via keymap build errors

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

* add a section of "How to build"

* update "Hardware Supported"

* add tester keymaps for yushakobo/quick7

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

Co-authored-by: keyaki-namiki <[email protected]>
2020-09-30 06:46:49 +09:00
Brandon Claveria 9f36aa640e [Keyboard] Add astro65 handwired (#10449)
* Add pandemic keyboard

* Fix default keymap

* Add via keymap

* Fix via keymap

* Fix keymaps and pandamic.h

* add info.json

* update info.json

* Apply suggestions from code review

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

* make suggested changes

* Add astro65

* fix info.json

* Apply suggestions from code review

* add more layers for via

* Apply suggestions from code review

* halp

* add other layout

* fix astro65.h

* commit suggestions

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

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

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Rename my community layouts

* Rename

* Rename

* Cleanup my code

* Update readme.md

* Cleanup

* Update keymap.c

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

* Adjust setup for Proton C

* Add readme

* Add info.json

* Make requested changes

* Resolve PR issues
2020-09-28 21:25:53 -07:00
stein3 1531087617 Remove bootmagic flag and add vendor/product IDs. 2020-09-28 11:05:54 -07:00
MechMerlin c7599bf49f Swapparoo of bottom row keys (#10277) 2020-09-28 11:46:24 +10:00
Ryan 45c2a05e3a Merge pull request #10457 from 2Moons-JP/trifecta_keymap 2020-09-28 11:41:24 +10:00
Drashna Jaelre fbdc65e2e9 [Keyboard] Add PloopyCo devices (#7935)
* Initial Commit for Ploopyco Trackball

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

* Convert SPI commands from arduino to LUFA

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

* Update keyboard readme

* Clean up ploopyco trackball

* Update readme

* Update mouse key stuff

* last minutue cleanup

* Add caveat about scroll wheel

* Fixup to code

* Additional fixup

* Add movement multiplier

* Rename folders

* mid changes

* temp

* Got it working!!!!!

* Additional cleanup of code

* Make unused pin calls more compact

* Rotation info

* Add debouncing checks

* Make everything replaceable

* Add info.json

* Include ISP flashing info

* Better handling for user customization

* Reconfigure CPI stuff

* fix issues with debug printing

* Fix tiny scroll issue

* Add and update scroll code from ploopy mouse

* Update licensing

* Add PloopyCo Mouse

* Cleanup and layout stuff

* Move common files to main folder for reuse

* Increase polling rate

* Update image for mouse

* Apply changes from code review

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

* adding cajal layouts

* adding V2 PCB support

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

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Keyboard addenda: Production version of sl40

Co-authored-by: worldspawn00 <[email protected]>
2020-09-27 23:04:24 +01:00
Joel Challis 50835bb138 [keyboard] Add SP-111 support (#10193)
* Initial sp111 support

* Align with template
2020-09-27 13:04:27 +01:00
2Moons-JP 323c6dfe72 Trifecta Keymap 2020-09-27 13:19:49 +09:00
stein3 bb1550313c Add VIA keymap for EVE Meteor. 2020-09-26 19:06:57 -07:00
cmdremily ef7c79b781 Fix issues with unused variables and functions preventing a clean compile. 2020-09-23 14:15:25 +02:00
cmdremily 8711dda0d3 Allow the use of a single IS31FL3731 LED driver 2020-09-23 14:15:25 +02:00
1408 changed files with 56514 additions and 8143 deletions

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
core:
- quantum/**/*
- tmk_core/**/*
- drivers/**/*
- tests/**/*
- util/**/*
- platforms/**/*
- Makefile
- '*.mk'
dependencies:
- any:
- 'lib/**/*'
- '!lib/python/**/*'
keyboard:
- any:
- 'keyboards/**/*'
- '!keyboards/**/keymaps/**/*'
keymap:
- users/**/*
- layouts/**/*
- keyboards/**/keymaps/**/*
via:
- keyboards/**/keymaps/via/*
cli:
- bin/qmk
- requirements.txt
- lib/python/**/*
python:
- '**/*.py'
documentation:
- docs/**/*
translation:
- docs/fr-fr/**/*
- docs/es/**/*
- docs/ja/**/*
- docs/he-il/**/*
- docs/pt-br/**/*
- docs/zh-cn/**/*
- docs/de/**/*
- docs/ru-ru/**/*
CI:
- .github/**/*
+42
View File
@@ -0,0 +1,42 @@
name: Update API Data
on:
push:
branches:
- master
paths:
- 'keyboards/**'
- 'layouts/community/**'
jobs:
api_data:
runs-on: ubuntu-latest
container: qmkfm/base_container
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
persist-credentials: false
- name: Generate API Data
run: qmk generate-api
- name: Install rsync
run: |
apt-get update && apt-get install -y rsync
- name: Upload API Data
uses: JamesIves/[email protected]
with:
ACCESS_TOKEN: ${{ secrets.API_TOKEN_GITHUB }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: main
FOLDER: api_data/v1
CLEAN: true
GIT_CONFIG_EMAIL: [email protected]
REPOSITORY_NAME: qmk/qmk_keyboards
TARGET_FOLDER: v1
+14
View File
@@ -0,0 +1,14 @@
name: "Pull Request Labeler"
on:
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, locked]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: '.github/labeler.yml'
+1
View File
@@ -16,6 +16,7 @@
*.swp *.swp
tags tags
*~ *~
api_data/v1
build/ build/
.build/ .build/
*.bak *.bak
+1
View File
@@ -0,0 +1 @@
theme: jekyll-theme-cayman
+5
View File
@@ -0,0 +1,5 @@
# QMK Keyboard Metadata
This directory contains machine parsable data about keyboards supported by QMK. The latest version is always available online at <https://keyboards.qmk.fm>.
Do not edit anything here by hand. It is generated with the `qmk generate-api` command.
+12
View File
@@ -28,6 +28,7 @@
# bootloadHID HIDBootFlash compatible (ATmega32A) # bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P) # USBasp USBaspLoader (ATmega328P)
# kiibohd Input:Club Kiibohd bootloader (only used on their boards) # kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# #
# BOOTLOADER_SIZE can still be defined manually, but it's recommended # BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list # you add any possible configuration to this list
@@ -106,3 +107,14 @@ ifeq ($(strip $(BOOTLOADER)), kiibohd)
DFU_ARGS = -d 1C11:B007 DFU_ARGS = -d 1C11:B007
DFU_SUFFIX_ARGS = -v 1C11 -p B007 DFU_SUFFIX_ARGS = -v 1C11 -p B007
endif endif
ifeq ($(strip $(BOOTLOADER)), stm32duino)
OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
# STM32F103 does NOT have an USB bootloader in ROM (only serial), so setting anything here does not make much sense
STM32_BOOTLOADER_ADDRESS = 0x80000000
DFU_ARGS = -d 1EAF:0003 -a2 -R
DFU_SUFFIX_ARGS = -v 1EAF -p 0003
endif
+15
View File
@@ -114,6 +114,17 @@ else
SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
OPT_DEFS += -DEEPROM_EMU_STM32F072xB OPT_DEFS += -DEEPROM_EMU_STM32F072xB
OPT_DEFS += -DSTM32_EEPROM_ENABLE OPT_DEFS += -DSTM32_EEPROM_ENABLE
else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F042x6)
# Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced.
# This ensures that the EEPROM page buffer fits into RAM
USE_PROCESS_STACKSIZE = 0x600
USE_EXCEPTIONS_STACKSIZE = 0x300
SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
OPT_DEFS += -DEEPROM_EMU_STM32F042x6
OPT_DEFS += -DSTM32_EEPROM_ENABLE
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
OPT_DEFS += -DEEPROM_DRIVER OPT_DEFS += -DEEPROM_DRIVER
COMMON_VPATH += $(DRIVER_PATH)/eeprom COMMON_VPATH += $(DRIVER_PATH)/eeprom
@@ -173,6 +184,10 @@ ifeq ($(filter $(RGB_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
$(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type) $(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type)
endif endif
OPT_DEFS += -DRGB_MATRIX_ENABLE OPT_DEFS += -DRGB_MATRIX_ENABLE
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2))
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
OPT_DEFS += -DLIB8_ATTINY
endif
SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgb_matrix.c SRC += $(QUANTUM_DIR)/rgb_matrix.c
SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c
+2
View File
@@ -23,6 +23,7 @@
* [Overview](api_overview.md) * [Overview](api_overview.md)
* [API Documentation](api_docs.md) * [API Documentation](api_docs.md)
* [Keyboard Support](reference_configurator_support.md) * [Keyboard Support](reference_configurator_support.md)
* [Adding Default Keymaps](configurator_default_keymaps.md)
* CLI * CLI
* [Overview](cli.md) * [Overview](cli.md)
@@ -117,6 +118,7 @@
* [Overview](breaking_changes.md) * [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md)
* History * History
* [2020 Aug 29](ChangeLog/20200829.md)
* [2020 May 30](ChangeLog/20200530.md) * [2020 May 30](ChangeLog/20200530.md)
* [2020 Feb 29](ChangeLog/20200229.md) * [2020 Feb 29](ChangeLog/20200229.md)
* [2019 Aug 30](ChangeLog/20190830.md) * [2019 Aug 30](ChangeLog/20190830.md)
+11
View File
@@ -167,6 +167,17 @@ Creates a keymap.c from a QMK Configurator export.
qmk json2c [-o OUTPUT] filename qmk json2c [-o OUTPUT] filename
``` ```
## `qmk c2json`
Creates a keymap.json from a keymap.c.
**Note:** Parsing C source files is not easy, therefore this subcommand may not work your keymap. In some cases not using the C pre-processor helps.
**Usage**:
```
qmk c2json [--no-cpp] [-o OUTPUT] filename
```
## `qmk list-keyboards` ## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware` This command lists all the keyboards currently defined in `qmk_firmware`
+193
View File
@@ -0,0 +1,193 @@
# Adding Default Keymaps to QMK Configurator :id=adding-default-keymaps
This page covers how to add a default keymap for a keyboard to QMK Configurator.
## Technical Information :id=technical-information
QMK Configurator uses JSON as its native file format for keymaps. As much as possible, these should be kept such that they behave the same as running `make <keyboard>:default` from `qmk_firmware`.
Keymaps in this directory require four key-value pairs:
* `keyboard` (string)
* This is the name of the keyboard, the same as would be used when running a compile job through `make` (e.g. `make 1upkeyboards/1up60rgb:default`).
* `keymap` (string)
* Should be set to `default`.
* `layout` (string)
* This is the layout macro used by the default keymap.
* `layers` (array)
* The keymap itself. This key should contain one array per layer, which themselves should contain the keycodes that make up that layer.
Additionally, most keymaps contain a `commit` key. This key is not consumed by the API that back-stops QMK Configurator, but is used by Configurator's maintainers to tell which version of a keymap was used to create the JSON keymap in this repository. The value is the SHA of the last commit to modify a board's default `keymap.c` in the `qmk_firmware` repository. The SHA is found by checking out [the `master` branch of the `qmk/qmk_firmware` repository](https://github.com/qmk/qmk_firmware/tree/master/) and running `git log -1 --pretty=oneline -- keyboards/<keyboard>/keymaps/default/keymap.c` (use `keymap.json` if the keyboard in question has this file instead), which should return something similar to:
```shell
f14629ed1cd7c7ec9089604d64f29a99981558e8 Remove/migrate action_get_macro()s from default keymaps (#5625)
```
In this example, `f14629ed1cd7c7ec9089604d64f29a99981558e8` is the value that should be used for `commit`.
## Example :id=example
If one wished to add a default keymap for the H87a by Hineybush, one would run the `git log` command above against the H87a's default keymap in `qmk_firmware`:
```shell
user ~/qmk_firmware (master)
$ git log -1 --pretty=oneline master -- keyboards/hineybush/h87a/keymaps/default/keymap.c
ef8878fba5d3786e3f9c66436da63a560cd36ac9 Hineybush h87a lock indicators (#8237)
```
Now that we have the commit hash, we need the keymap (edited for readability):
```c
...
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
};
```
The default keymap uses the `LAYOUT_all` macro, so that will be the value of the `layout` key. Compiled to a QMK Configurator JSON keymap, our resulting file should be:
```json
{
"keyboard": "hineybush/h87a",
"keymap": "default",
"commit": "ef8878fba5d3786e3f9c66436da63a560cd36ac9",
"layout": "LAYOUT_all",
"layers": [
[
"KC_ESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_PSCR", "KC_SLCK", "KC_PAUS",
"KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT",
"KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_TRNS", "KC_UP",
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
],
[
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_HUD", "RGB_HUI", "RGB_SAD", "RGB_SAI", "RGB_VAD", "RGB_VAI", "BL_TOGG", "BL_DEC", "BL_INC",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RESET", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPLY", "KC_MNXT", "KC_VOLD",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
]
]
}
```
The white space in the `layers` arrays have no effect on the functionality of the keymap, but are used to make these files easier for humans to read.
## Caveats :id=caveats
### Layers can only be referenced by number :id=layer-references
A common QMK convention is to name layers using a series of `#define`s, or an `enum` statement:
```c
enum layer_names {
_BASE,
_MEDIA,
_FN
};
```
This works in C, but for Configurator, you *must* use the layer's numeric index – `MO(_FN)` would need to be `MO(2)` in the above example.
### No support for custom code of any kind :id=custom-code
Features that require adding functions to the keymap.c file, such as Tap Dance or Unicode, can not be compiled in Configurator **at all**. Even setting `TAP_DANCE_ENABLE = yes` in the `qmk_firmware` repository at the keyboard level will prevent Configurator from compiling **any** firmware for that keyboard. This is limited both by the API and the current spec of our JSON keymap format.
### Limited Support for Custom keycodes :id=custom-keycodes
There is a way to support custom keycodes: if the logic for a custom keycode is implemented at the keyboard level instead of the keymap level in qmk_firmware, that keycode *can* be used in Configurator and it *will* compile and work. Instead of using the following in your `keymap.c`:
```c
enum custom_keycodes {
MACRO_1 = SAFE_RANGE,
MACRO_2,
MACRO_3
};
...
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case MACRO_1:
if (record->event.pressed) {
SEND_STRING("This is macro #1.");
}
return false;
case MACRO_2:
if (record->event.pressed) {
SEND_STRING("This is macro #2.");
}
return false;
case MACRO_3:
if (record->event.pressed) {
SEND_STRING("This is macro #3.");
}
return false;
}
return true;
};
```
... add the keycode `enum` block to your keyboard's header file (`<keyboard>.h`) as follows (note that the `enum` is named `keyboard_keycodes` here):
```c
enum keyboard_keycodes {
MACRO_1 = SAFE_RANGE,
MACRO_2,
MACRO_3,
NEW_SAFE_RANGE // Important!
};
```
... then the logic to your `<keyboard>.c` through `process_record_kb()`:
```c
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case MACRO_1:
if (record->event.pressed) {
SEND_STRING("This is macro #1.");
}
return false;
case MACRO_2:
if (record->event.pressed) {
SEND_STRING("This is macro #2.");
}
return false;
case MACRO_3:
if (record->event.pressed) {
SEND_STRING("This is macro #3.");
}
return false;
}
return process_record_user(keycode, record);
};
```
Note the call to `process_record_user()` at the end. Additionally, users of the keyboard will need to use `NEW_SAFE_RANGE` instead of `SAFE_RANGE` if they wish to add their own custom keycodes at keymap level, beyond what is provided by the keyboard.
## Additional Reading :id=additional-reading
For QMK Configurator to support your keyboard, your keyboard must be present in the `master` branch of the `qmk_firmware` repository. For instructions on this, please see [Supporting Your Keyboard in QMK Configurator](reference_configurator_support.md).
+1 -1
View File
@@ -4,7 +4,7 @@ QMK presents itself to the host as a regular HID keyboard device, and as such re
There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the HalfKay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver. There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the HalfKay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver.
We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with MSYS2 or WSL, the `qmk_install.sh` script will have asked if you want it to install the drivers for you. We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with MSYS2, the `qmk_install.sh` script will have already installed the drivers for you.
## Installation ## Installation
+1 -48
View File
@@ -19,54 +19,7 @@ Note that running `make` with `sudo` is generally ***not*** a good idea, and you
### Linux `udev` Rules ### Linux `udev` Rules
On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware, or place this file in `/etc/udev/rules.d/`: On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware (not recommended), or place [this file](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules) into `/etc/udev/rules.d/`.
**/etc/udev/rules.d/50-qmk.rules:**
```
# Atmel DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess" # ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess" # AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess" # AT90USB128
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32 DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess"
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess"
# USBAspLoader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess"
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
# Spark Fun Electronics
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # LilyPad 3V3/8MHz (and some Pro Micro clones)
# Pololu Electronics
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # A-Star 32U4
# Arduino SA
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Micro
# Adafruit Industries LLC
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # ItsyBitsy 32U4 5V/16MHz
# dog hunter AG
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Micro
```
Once added, run the following: Once added, run the following:
+18 -15
View File
@@ -2,21 +2,24 @@
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent. These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|Key |Aliases |Description | |Key |Aliases |Description |
|----------|-------------------------------|----------------------------------------------------| |----------|-------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | |`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | |`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | |`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | |`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` | |`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` | |`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | |`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | |`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` | |`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | |`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | |`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | |`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`| |`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress. You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.
+1 -1
View File
@@ -55,7 +55,7 @@ combo_t key_combos[COMBO_COUNT] = {
[XV_PASTE] = COMBO_ACTION(paste_combo), [XV_PASTE] = COMBO_ACTION(paste_combo),
}; };
void process_combo_event(uint8_t combo_index, bool pressed) { void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) { switch(combo_index) {
case ZC_COPY: case ZC_COPY:
if (pressed) { if (pressed) {
+2 -2
View File
@@ -76,8 +76,8 @@ susceptible to noise, you must choose a debounce method that will also mitigate
* Defer algorithms are noise-resistant * Defer algorithms are noise-resistant
* Recommended naming conventions: * Recommended naming conventions:
* ```sym_defer_*``` * ```sym_defer_*```
* ```asym_defer_*_*```: key-down is using eager algorithm * ```asym_defer_*_*```: key-down is using defer algorithm
* ```asym_*_defer_*```: key-up is using eager algorithm * ```asym_*_defer_*```: key-up is using defer algorithm
4) Global vs Per-Key vs Per-Row 4) Global vs Per-Key vs Per-Row
* Global - one timer for all keys. Any key change state affects global timer * Global - one timer for all keys. Any key change state affects global timer
+9 -2
View File
@@ -140,8 +140,8 @@ void oled_task_user(void) {
|---------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------| |---------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------|
|`OLED_DISPLAY_ADDRESS` |`0x3C` |The i2c address of the OLED Display | |`OLED_DISPLAY_ADDRESS` |`0x3C` |The i2c address of the OLED Display |
|`OLED_FONT_H` |`"glcdfont.c"` |The font code file to use for custom fonts | |`OLED_FONT_H` |`"glcdfont.c"` |The font code file to use for custom fonts |
|`OLED_FONT_START` |`0` |The starting characer index for custom fonts | |`OLED_FONT_START` |`0` |The starting character index for custom fonts |
|`OLED_FONT_END` |`223` |The ending characer index for custom fonts | |`OLED_FONT_END` |`223` |The ending character index for custom fonts |
|`OLED_FONT_WIDTH` |`6` |The font width | |`OLED_FONT_WIDTH` |`6` |The font width |
|`OLED_FONT_HEIGHT` |`8` |The font height (untested) | |`OLED_FONT_HEIGHT` |`8` |The font height (untested) |
|`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | |`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
@@ -149,6 +149,7 @@ void oled_task_user(void) {
|`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. | |`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. |
|`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. | |`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. |
|`OLED_COLUMN_OFFSET` |`0` |(SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC.| |`OLED_COLUMN_OFFSET` |`0` |(SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC.|
|`OLED_BRIGHTNESS` |`255` |The default brightness level of the OLED, from 0 to 255. |
## 128x64 & Custom sized OLED Displays ## 128x64 & Custom sized OLED Displays
@@ -304,6 +305,12 @@ bool oled_off(void);
// not // not
bool is_oled_on(void); bool is_oled_on(void);
// Sets the brightness level of the display
uint8_t oled_set_brightness(uint8_t level);
// Gets the current brightness level of the display
uint8_t oled_get_brightness(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling! // Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void); void oled_task(void);
+1 -1
View File
@@ -192,7 +192,7 @@ When developing your keyboard, keep in mind that all warnings will be treated as
## Copyright Blurb ## Copyright Blurb
If you're adapting your keyboard's setup from another project, but not using the same code, but sure to update the copyright header at the top of the files to show your name, in this format: If you're adapting your keyboard's setup from another project, but not using the same code, be sure to update the copyright header at the top of the files to show your name, in this format:
Copyright 2017 Your Name <your@email.com> Copyright 2017 Your Name <your@email.com>
+1
View File
@@ -116,6 +116,7 @@
* [概要](ja/breaking_changes.md) * [概要](ja/breaking_changes.md)
* [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md) * [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md)
* 履歴 * 履歴
* [2020年8月29日](ja/ChangeLog/20200829.md)
* [2020年5月30日](ja/ChangeLog/20200530.md) * [2020年5月30日](ja/ChangeLog/20200530.md)
* [2020年2月29日](ja/ChangeLog/20200229.md) * [2020年2月29日](ja/ChangeLog/20200229.md)
* [2019年8月30日](ja/ChangeLog/20190830.md) * [2019年8月30日](ja/ChangeLog/20190830.md)
+10 -9
View File
@@ -2,8 +2,8 @@
<!--- <!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/breaking_changes.md original document: 0.10.33:docs/breaking_changes.md
git diff 0.9.0 HEAD -- docs/breaking_changes.md | cat git diff 0.10.33 HEAD -- docs/breaking_changes.md | cat
--> -->
このドキュメントは QMK の互換性を破る変更(Breaking change) のプロセスについて説明します。 このドキュメントは QMK の互換性を破る変更(Breaking change) のプロセスについて説明します。
@@ -15,22 +15,23 @@ Breaking change ピリオドとは、危険な変更、または予想外の変
## 過去の Breaking change には何が含まれますか? ## 過去の Breaking change には何が含まれますか?
* [2020年8月29日](ja/ChangeLog/20200829.md)
* [2020年5月30日](ja/ChangeLog/20200530.md) * [2020年5月30日](ja/ChangeLog/20200530.md)
* [2020年2月29日](ja/ChangeLog/20200229.md) * [2020年2月29日](ja/ChangeLog/20200229.md)
* [2019年8月30日](ja/ChangeLog/20190830.md) * [2019年8月30日](ja/ChangeLog/20190830.md)
## 次の Breaking change はいつですか? ## 次の Breaking change はいつですか?
次の Breaking change は2020年8月29日に予定されています。 次の Breaking change は2020年11月28日に予定されています。
### 重要な日付 ### 重要な日付
* [x] 2020年 5月30日 - `develop` が作成されました。毎週リベースされます。 * [x] 2020年 8月29日 - `develop` が作成されました。毎週リベースされます。
* [ ] 2020年 8月 1日 - `develop` は新しいPRを取り込みません。 * [ ] 2020年10月31日 - `develop` は新しいPRを取り込みません。
* [ ] 2020年 8月 1日 - テスターの募集。 * [ ] 2020年10月31日 - テスターの募集。
* [ ] 2020年 8月27日 - `master`がロックされ、PR はマージされません。 * [ ] 2020年11月26日 - `master`がロックされ、PR はマージされません。
* [ ] 2020年 8月29日 - `develop` を `master` にマージします。 * [ ] 2020年11月28日 - `develop` を `master` にマージします。
* [ ] 2020年 8月29日 - `master` のロックが解除されます。PR を再びマージすることができます。 * [ ] 2020年11月28日 - `master` のロックが解除されます。PR を再びマージすることができます。
## どのような変更が含まれますか? ## どのような変更が含まれますか?
+2 -2
View File
@@ -1,8 +1,8 @@
# QMK の設定 # QMK の設定
<!--- <!---
original document: 0.9.43:docs/config_options.md original document: 0.10.33:docs/config_options.md
git diff 0.9.43 HEAD -- docs/config_options.md | cat git diff 0.10.33 HEAD -- docs/config_options.md | cat
--> -->
QMK はほぼ無制限に設定可能です。可能なところはいかなるところでも、やりすぎな程、ユーザーがコードサイズを犠牲にしてでも彼らのキーボードをカスタマイズをすることを許しています。ただし、このレベルの柔軟性により設定が困難になります。 QMK はほぼ無制限に設定可能です。可能なところはいかなるところでも、やりすぎな程、ユーザーがコードサイズを犠牲にしてでも彼らのキーボードをカスタマイズをすることを許しています。ただし、このレベルの柔軟性により設定が困難になります。
+1 -1
View File
@@ -31,7 +31,7 @@ keyboards/<keyboard>/matrix.c
SRC += matrix.c SRC += matrix.c
``` ```
## マトリックスコードの部分置き換え ## マトリックスコードの部分置き換え :id=lite
カスタムマトリックスを実装する際、定型コードを書かなくてすむように、さまざまなスキャン関数のデフォルト実装を提供しています。 カスタムマトリックスを実装する際、定型コードを書かなくてすむように、さまざまなスキャン関数のデフォルト実装を提供しています。
+3 -3
View File
@@ -1,8 +1,8 @@
# キーボードの挙動をカスタマイズする方法 # キーボードの挙動をカスタマイズする方法
<!--- <!---
original document: 0.9.43:docs/custom_quantum_functions.md original document: 0.10.33:docs/custom_quantum_functions.md
git diff 0.9.43 HEAD -- docs/custom_quantum_functions.md | cat git diff 0.10.33 HEAD -- docs/custom_quantum_functions.md | cat
--> -->
多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。 多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。
@@ -232,7 +232,7 @@ void keyboard_pre_init_user(void) {
} }
``` ```
### `keyboard_pre_init_*` 関数のドキュメント ### `keyboard_pre_init_*` 関数のドキュメント :id=keyboard_pre_init_-function-documentation
* キーボード/リビジョン: `void keyboard_pre_init_kb(void)` * キーボード/リビジョン: `void keyboard_pre_init_kb(void)`
* キーマップ: `void keyboard_pre_init_user(void)` * キーマップ: `void keyboard_pre_init_user(void)`
+2 -2
View File
@@ -1,8 +1,8 @@
# ドキュメントベストプラクティス # ドキュメントベストプラクティス
<!--- <!---
original document: 0.9.19:docs/documentation_best_practices.md original document: 0.10.33:docs/documentation_best_practices.md
git diff 0.9.19 HEAD -- docs/documentation_best_practices.md | cat git diff 0.10.33 HEAD -- docs/documentation_best_practices.md | cat
--> -->
このページは QMK のためのドキュメントを作成する時のベストプラクティスを文章化するためのものです。これらのガイドラインに従うことで、一貫したトーンとスタイルを維持することでき、他の人が QMK をより理解しやすくすることができます。 このページは QMK のためのドキュメントを作成する時のベストプラクティスを文章化するためのものです。これらのガイドラインに従うことで、一貫したトーンとスタイルを維持することでき、他の人が QMK をより理解しやすくすることができます。
+75 -86
View File
@@ -1,8 +1,8 @@
# よくあるビルドの質問 # よくあるビルドの質問
<!--- <!---
original document: 0.9.43:docs/faq_build.md original document: 0.10.33:docs/faq_build.md
git diff 0.9.43 HEAD -- docs/faq_build.md | cat git diff 0.10.33 HEAD -- docs/faq_build.md | cat
--> -->
このページは QMK のビルドに関する質問を説明します。まだビルドをしていない場合は、[ビルド環境のセットアップ](ja/getting_started_build_tools.md) および [Make 手順](ja/getting_started_make_guide.md)ガイドを読むべきです。 このページは QMK のビルドに関する質問を説明します。まだビルドをしていない場合は、[ビルド環境のセットアップ](ja/getting_started_build_tools.md) および [Make 手順](ja/getting_started_make_guide.md)ガイドを読むべきです。
@@ -18,64 +18,93 @@
あるいは、単純に: あるいは、単純に:
$ sudo make <keyboard>:<keymap>:dfu $ sudo make <keyboard>:<keymap>:flash
`make` を `sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。 `make` を `sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。
### Linux の `udev` ルール ### Linux の `udev` ルール
Linux では、MCU にアクセスするには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこれらのファイルを配置することで、アクセスすることができます。権限の追加が完了したら、以下を実行します:
```console Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこのファイルを配置することで、通信することができます。
**/etc/udev/rules.d/50-qmk.rules:**
```
# Atmel DFU
### ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB128
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess"
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32 DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess"
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess"
# USBAspLoader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess"
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Arduino SA
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## dog hunter AG
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
追加が完了したら、以下を実行します:
```
sudo udevadm control --reload-rules sudo udevadm control --reload-rules
sudo udevadm trigger sudo udevadm trigger
``` ```
**/etc/udev/rules.d/50-atmel-dfu.rules:**
```
# Atmel ATMega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess", RUN{builtin}+="uaccess"
# Atmel USBKEY AT90USB1287
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess", RUN{builtin}+="uaccess"
# Atmel ATMega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/54-input-club-keyboard.rules:**
```
# Input Club keyboard bootloader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/55-caterina.rules:**
```
# ModemManager should ignore the following devices
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
**注意:** 古い(1.12以前の) ModemManager では、フィルタリングは厳密なモードではない場合にのみ動作し、以下のコマンドはその設定を更新することができます。 **注意:** 古い(1.12以前の) ModemManager では、フィルタリングは厳密なモードではない場合にのみ動作し、以下のコマンドはその設定を更新することができます。
```console
```
printf '[Service]\nExecStart=\nExecStart=/usr/sbin/ModemManager --filter-policy=default' | sudo tee /etc/systemd/system/ModemManager.service.d/policy.conf printf '[Service]\nExecStart=\nExecStart=/usr/sbin/ModemManager --filter-policy=default' | sudo tee /etc/systemd/system/ModemManager.service.d/policy.conf
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl restart ModemManager sudo systemctl restart ModemManager
``` ```
**/etc/udev/rules.d/56-dfu-util.rules:**
```
# stm32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# Generic stm32
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess", RUN{builtin}+="uaccess"
```
**/etc/udev/rules.d/57-bootloadhid.rules:**
```
# bootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess", RUN{builtin}+="uaccess"
```
### Linux のブートローダモードで Serial デバイスが検知されない ### Linux のブートローダモードで Serial デバイスが検知されない
カーネルがデバイスを適切にサポートしていることを確認してください。デバイスが、Pro Micro (Atmega32u4) のように USB ACM を使う場合、`CONFIG_USB_ACM=y` を含めるようにしてください。他のデバイスは `USB_SERIAL` およびそのサブオプションを必要とするかもしれません。 カーネルがデバイスを適切にサポートしていることを確認してください。デバイスが、Pro Micro (Atmega32u4) のように USB ACM を使う場合、`CONFIG_USB_ACM=y` を含めるようにしてください。他のデバイスは `USB_SERIAL` およびそのサブオプションを必要とするかもしれません。
@@ -99,46 +128,6 @@ https://github.com/tmk/tmk_keyboard/issues/150
- http://www.obdev.at/products/vusb/license.html - http://www.obdev.at/products/vusb/license.html
- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1 - http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
## AVR のための BOOTLOADER_SIZE
Teensy2.0++ ブートローダのサイズは 2048 バイトであることに注意してください。一部の Makefile には間違ったコメントがあります。
```
# Boot Section Size in *bytes*
# Teensy halfKay 512
# Teensy++ halfKay 2048
# Atmel DFU loader 4096 (TMK Alt Controller)
# LUFA bootloader 4096
# USBaspLoader 2048
OPT_DEFS += -DBOOTLOADER_SIZE=2048
```
## MacOS での `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)`
これは brew での更新に関する問題で、avr-gcc が依存するシンボリックリンクを壊します。
解決法は全ての影響を受けたモジュールを削除し再インストールすることです。
```
brew rm avr-gcc avr-gcc@8 dfu-programmer dfu-util gcc-arm-none-eabi arm-gcc-bin@8 avrdude qmk
brew install qmk/qmk/qmk
brew link --force avr-gcc@8
brew link --force arm-gcc-bin@8
```
### `avr-gcc` と LUFA
`avr-gcc` を更新し、LUFA に関連するエラーが表示された場合、例えば:
`lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h:380:5: error: 'const' attribute on function returning 'void'`
今のところ、Homebrew で `avr-gcc` を 8 にロールバックする必要があります。
```
brew uninstall --force avr-gcc
brew install avr-gcc@8
brew link --force avr-gcc@8
```
### キーボードに書き込んだが何も起こらない、あるいはキーの押下が登録されない - ARM (rev6 planck、clueboard 60、hs60v2 など) でも同じ (Feb 2019) ### キーボードに書き込んだが何も起こらない、あるいはキーの押下が登録されない - ARM (rev6 planck、clueboard 60、hs60v2 など) でも同じ (Feb 2019)
ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなる*しれません*。EEPROM のリセットでこれが修正されます。 ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなる*しれません*。EEPROM のリセットでこれが修正されます。
+2 -16
View File
@@ -1,8 +1,8 @@
# デバッグの FAQ # デバッグの FAQ
<!--- <!---
original document: 0.9.10:docs/faq_debug.md original document: 0.10.33:docs/faq_debug.md
git diff 0.9.10 HEAD -- docs/faq_debug.md | cat git diff 0.10.33 HEAD -- docs/faq_debug.md | cat
--> -->
このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。 このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
@@ -36,20 +36,6 @@ Linux のような OS でデバイスにアクセスするには、権限が必
- デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。 - デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。
- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。 - コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。
## Linux あるいは UNIX のようなシステムはスーパーユーザ権限を必要とします
権限付きで *hid_listen* を実行するために 'sudo' を使ってください。
```
$ sudo hid_listen
```
または rules ディレクトリにファイルを置いて、TMK デバイスのための *udev rule* を追加します。ディレクトリは各システムで異なるかもしれません。
File: /etc/udev/rules.d/52-tmk-keyboard.rules (Ubuntu の場合)
```
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
*** ***
# 雑多なこと # 雑多なこと
+3 -3
View File
@@ -1,8 +1,8 @@
# 自動シフト: なぜシフトキーが必要ですか? # 自動シフト: なぜシフトキーが必要ですか?
<!--- <!---
original document: 0.9.0:docs/feature_auto_shift.md original document: 0.10.33:docs/feature_auto_shift.md
git diff 0.9.0 HEAD -- docs/feature_auto_shift.md | cat git diff 0.10.33 HEAD -- docs/feature_auto_shift.md | cat
--> -->
キーをタップすると、その文字を取得します。キーをタップするが、*わずかに*長く押し続けると、シフト状態になります。ほら!シフトキーは必要ありません! キーをタップすると、その文字を取得します。キーをタップするが、*わずかに*長く押し続けると、シフト状態になります。ほら!シフトキーは必要ありません!
@@ -109,7 +109,7 @@ AからZを含むアルファベット文字を自動シフトしません。
5. タイムアウトを増やすことに決めた場合は、`KC_ASUP` にマップしたキーを押し、ステップ1に戻ります。 5. タイムアウトを増やすことに決めた場合は、`KC_ASUP` にマップしたキーを押し、ステップ1に戻ります。
6. 結果に満足したら、`KC_ASRP` にマップしたキーを押します。キーボードは `AUTO_SHIFT_TIMEOUT` の値を自動的に入力します。 6. 結果に満足したら、`KC_ASRP` にマップしたキーを押します。キーボードは `AUTO_SHIFT_TIMEOUT` の値を自動的に入力します。
7. 報告された値で `config.h` の `AUTO_SHIFT_TIMEOUT` を更新します。 7. 報告された値で `config.h` の `AUTO_SHIFT_TIMEOUT` を更新します。
8. `config.h` から `AUTO_SHIFT_SETUP` を削除します。 8. `config.h` に `AUTO_SHIFT_NO_SETUP` を追加します。
9. `KC_ASDN`、`KC_ASUP` および `KC_ASRP` のキーバインディングを削除します。 9. `KC_ASDN`、`KC_ASUP` および `KC_ASRP` のキーバインディングを削除します。
10. 新しいファームウェアをコンパイルしてアップロードします。 10. 新しいファームウェアをコンパイルしてアップロードします。
+2 -4
View File
@@ -1,8 +1,8 @@
# バックライト :id=backlighting # バックライト :id=backlighting
<!--- <!---
original document: 0.9.44:docs/feature_backlight.md original document: 0.10.33:docs/feature_backlight.md
git diff 0.9.44 HEAD -- docs/feature_backlight.md | cat git diff 0.10.33 HEAD -- docs/feature_backlight.md | cat
--> -->
多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。 多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。
@@ -165,8 +165,6 @@ BACKLIGHT_DRIVER = pwm
現在のところ、ハードウェア PWM のみがサポートされ、タイマー支援はなく、自動設定は提供されません。 現在のところ、ハードウェア PWM のみがサポートされ、タイマー支援はなく、自動設定は提供されません。
?> STM32F072 のバックライトサポートのテストは制限されています。人によって違うかもしれません。不明な場合は、`rules.mk` で `BACKLIGHT_ENABLE = no` を設定します。
### ソフトウェア PWM ドライバ :id=software-pwm-driver ### ソフトウェア PWM ドライバ :id=software-pwm-driver
このモードでは、他のキーボードのタスクを実行中に PWM は「エミュレート」されます。追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、`rules.mk` に以下を追加します: このモードでは、他のキーボードのタスクを実行中に PWM は「エミュレート」されます。追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、`rules.mk` に以下を追加します:
+14 -11
View File
@@ -1,18 +1,18 @@
# Bluetooth # Bluetooth
<!--- <!---
original document: 0.9.0:docs/feature_bluetooth.md original document: 0.10.33:docs/feature_bluetooth.md
git diff 0.9.0 HEAD -- docs/feature_bluetooth.md | cat git diff 0.10.33 HEAD -- docs/feature_bluetooth.md | cat
--> -->
## Bluetooth の既知のサポートハードウェア ## Bluetooth の既知のサポートハードウェア
現在のところ Bluetooth のサポートは AVR ベースのチップに限られます。Bluetooth 2.1 については、QMK は RN-42 モジュールをサポートします。より最近の BLE プロトコルについては、現在のところ Adafruit Bluefruit SPI Friend のみが直接サポートされています。iOS デバイスに接続するには、BLE が必要です。iOS はマウス入力をサポートしないことに注意してください。 現在のところ Bluetooth のサポートは AVR ベースのチップに限られます。Bluetooth 2.1 については、QMK は RN-42 モジュールをサポートします。より最近の BLE プロトコルについては、現在のところ Adafruit Bluefruit SPI Friend のみが直接サポートされています。iOS デバイスに接続するには、BLE が必要です。iOS はマウス入力をサポートしないことに注意してください。
| ボード | Bluetooth プロトコル | 接続タイプ | rules.mk | Bluetooth チップ | | ボード | Bluetooth プロトコル | 接続タイプ | rules.mk | Bluetooth チップ |
|----------------------------------------------------------------|----------------------------|----------------|---------------------------|--------------| | ---------------------------------------------------------------- | -------------------- | ---------- | ------------------------- | ---------------- |
| Roving Networks RN-42 (Sparkfun Bluesmirf) | Bluetooth Classic | UART | `BLUETOOTH = RN42` | RN-42 | | Roving Networks RN-42 (Sparkfun Bluesmirf) | Bluetooth Classic | UART | `BLUETOOTH = RN42` | RN-42 |
| [Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633) | Bluetooth Low Energy | SPI | `BLUETOOTH = AdafruitBLE` | nRF51822 | | [Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633) | Bluetooth Low Energy | SPI | `BLUETOOTH = AdafruitBLE` | nRF51822 |
まだサポートされていませんが、可能性のあるもの: まだサポートされていませんが、可能性のあるもの:
* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479)。[tmk 実装がおそらく見つかります](https://github.com/tmk/tmk_keyboard/issues/514) * [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479)。[tmk 実装がおそらく見つかります](https://github.com/tmk/tmk_keyboard/issues/514)
@@ -30,7 +30,10 @@ Bluefruit UART friend は SPI friend に変換することができますが、
<!-- FIXME: Document bluetooth support more completely. --> <!-- FIXME: Document bluetooth support more completely. -->
## Bluetooth の Rules.mk オプション ## Bluetooth の Rules.mk オプション
これらのうちの1つだけを使ってください
現在サポートされている Bluetooth チップセットは [N-キーロールオーバー (NKRO)](ja/reference_glossary.md#n-key-rollover-nkro) をサポートしていません。そのため、`rules.mk` に `NKRO_ENABLE = no` を含めなければなりません。
Bluetooth を有効にするには、以下のうちの1つだけを使ってください:
* BLUETOOTH_ENABLE = yes (レガシーオプション) * BLUETOOTH_ENABLE = yes (レガシーオプション)
* BLUETOOTH = RN42 * BLUETOOTH = RN42
* BLUETOOTH = AdafruitBLE * BLUETOOTH = AdafruitBLE
@@ -39,8 +42,8 @@ Bluefruit UART friend は SPI friend に変換することができますが、
これは複数のキーボードの出力が選択できる場合に使われます。現在のところ、これは USB と Bluetooth の両方をサポートするキーボードで、それらの間の切り替えのみが可能です。 これは複数のキーボードの出力が選択できる場合に使われます。現在のところ、これは USB と Bluetooth の両方をサポートするキーボードで、それらの間の切り替えのみが可能です。
| 名前 | 説明 | | 名前 | 説明 |
|----------|----------------------------------------------| | ---------- | ------------------------------------- |
| `OUT_AUTO` | USB と Bluetooth を自動的に切り替える | | `OUT_AUTO` | USB と Bluetooth を自動的に切り替える |
| `OUT_USB` | USB のみ | | `OUT_USB` | USB のみ |
| `OUT_BT` | Bluetooth のみ | | `OUT_BT` | Bluetooth のみ |
+3 -3
View File
@@ -1,8 +1,8 @@
# コンボ # コンボ
<!--- <!---
original document: 0.8.94:docs/feature_combo.md original document: 0.10.36:docs/feature_combo.md
git diff 0.8.94 HEAD -- docs/feature_combo.md | cat git diff 0.10.36 HEAD -- docs/feature_combo.md | cat
--> -->
コンボ機能は、同時押し方式でのカスタムアクション追加機能です。同時に複数のキーを押して、異なる効果を生み出すことができます。例えば、タッピング時間内で `A` と `S` を押すと、代わりに `ESC` が押されます。もっと複雑なタスクを実行させることもできます。 コンボ機能は、同時押し方式でのカスタムアクション追加機能です。同時に複数のキーを押して、異なる効果を生み出すことができます。例えば、タッピング時間内で `A` と `S` を押すと、代わりに `ESC` が押されます。もっと複雑なタスクを実行させることもできます。
@@ -60,7 +60,7 @@ combo_t key_combos[COMBO_COUNT] = {
[XV_PASTE] = COMBO_ACTION(paste_combo), [XV_PASTE] = COMBO_ACTION(paste_combo),
}; };
void process_combo_event(uint8_t combo_index, bool pressed) { void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) { switch(combo_index) {
case ZC_COPY: case ZC_COPY:
if (pressed) { if (pressed) {
+2 -2
View File
@@ -1,8 +1,8 @@
# 動的マクロ: ランタイムでのマクロの記録および再生 # 動的マクロ: ランタイムでのマクロの記録および再生
<!--- <!---
original document: 0.9.43:docs/feature_dynamic_macros.md original document: 0.10.33:docs/feature_dynamic_macros.md
git diff 0.9.43 HEAD -- docs/feature_dynamic_macros.md | cat git diff 0.10.33 HEAD -- docs/feature_dynamic_macros.md | cat
--> -->
QMK はその場で作られた一時的なマクロをサポートします。これらを動的マクロと呼びます。それらはユーザがキーボードから定義し、キーボードのプラグを抜くか再起動すると失われます。 QMK はその場で作られた一時的なマクロをサポートします。これらを動的マクロと呼びます。それらはユーザがキーボードから定義し、キーボードのプラグを抜くか再起動すると失われます。
+2 -2
View File
@@ -1,8 +1,8 @@
# リーダーキー: 新しい種類のモディファイア # リーダーキー: 新しい種類のモディファイア
<!--- <!---
original document: 0.8.134:docs/feature_leader_key.md original document: 0.10.33:docs/feature_leader_key.md
git diff 0.8.134 HEAD -- docs/feature_leader_key.md | cat git diff 0.10.33 HEAD -- docs/feature_leader_key.md | cat
--> -->
もしあなたが Vim を使ったことがある場合、リーダーキーは何であるかを知っています。そうでなければ、素晴らしい概念を発見しようとしています。:) 例えば、Alt+Shift+W を押す(3つのキーを同時に押す)代わりに、キーの_シーケンス_を押すことができたらどうでしょう?つまり、特別なモディファイア (リーダーキー)を押して、続けて W と C を押すと (単純にキーを高速に繋げます)、何かが起こります。 もしあなたが Vim を使ったことがある場合、リーダーキーは何であるかを知っています。そうでなければ、素晴らしい概念を発見しようとしています。:) 例えば、Alt+Shift+W を押す(3つのキーを同時に押す)代わりに、キーの_シーケンス_を押すことができたらどうでしょう?つまり、特別なモディファイア (リーダーキー)を押して、続けて W と C を押すと (単純にキーを高速に繋げます)、何かが起こります。
+2 -2
View File
@@ -1,8 +1,8 @@
# QMK での速記 :id=stenography-in-qmk # QMK での速記 :id=stenography-in-qmk
<!--- <!---
original document: 0.9.19:docs/feature_stenography.md original document: 0.10.33:docs/feature_stenography.md
git diff 0.9.19 HEAD -- docs/feature_stenography.md | cat git diff 0.10.33 HEAD -- docs/feature_stenography.md | cat
--> -->
[速記](https://en.wikipedia.org/wiki/Stenotype)は裁判所のレポート、字幕および耳が不自由な人のためのリアルタイムの文字起こしで最もよく使われる記述方法です。速記では単語はスペル、音声およびショートカット(短い)ストロークが混在する音節ごとに音節化されます。プロの速記者は、標準的なタイピングで通常見られる負担を掛けずに、はるかに少ないエラー(99.9%より高い精度)で、200-300 WPM に到達できます。 [速記](https://en.wikipedia.org/wiki/Stenotype)は裁判所のレポート、字幕および耳が不自由な人のためのリアルタイムの文字起こしで最もよく使われる記述方法です。速記では単語はスペル、音声およびショートカット(短い)ストロークが混在する音節ごとに音節化されます。プロの速記者は、標準的なタイピングで通常見られる負担を掛けずに、はるかに少ないエラー(99.9%より高い精度)で、200-300 WPM に到達できます。
+5 -3
View File
@@ -1,8 +1,8 @@
# タップダンス: 1つのキーが3つ、5つまたは100の異なる動作をします # タップダンス: 1つのキーが3つ、5つまたは100の異なる動作をします
<!--- <!---
original document: 0.9.44:docs/feature_tap_dance.md original document: 0.10.33:docs/feature_tap_dance.md
git diff 0.9.44 HEAD -- docs/feature_tap_dance.md | cat git diff 0.10.33 HEAD -- docs/feature_tap_dance.md | cat
--> -->
## イントロダクション :id=introduction ## イントロダクション :id=introduction
@@ -32,7 +32,9 @@
* `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: 1回タップすると `kc` キーコードが送信され、2回タップすると `layer` の状態をトグルします(これは `TG` レイヤーキーコードのように機能します)。 * `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: 1回タップすると `kc` キーコードが送信され、2回タップすると `layer` の状態をトグルします(これは `TG` レイヤーキーコードのように機能します)。
* `ACTION_TAP_DANCE_FN(fn)`: ユーザーキーマップに定義した指定の関数が呼び出されます。タップダンス実行の回数分タップすると、最後の時点で呼び出されます。 * `ACTION_TAP_DANCE_FN(fn)`: ユーザーキーマップに定義した指定の関数が呼び出されます。タップダンス実行の回数分タップすると、最後の時点で呼び出されます。
* `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: タップする度にユーザーキーマップに定義した最初の関数が呼び出されます。タップダンスの実行が終わった時点で2番目の関数が呼び出され、タップダンスの実行をリセットするときに最後の関数が呼び出されます。 * `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: タップする度にユーザーキーマップに定義した最初の関数が呼び出されます。タップダンスの実行が終わった時点で2番目の関数が呼び出され、タップダンスの実行をリセットするときに最後の関数が呼び出されます。
* `ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`: これは `ACTION_TAP_DANCE_FN_ADVANCED` と同じように機能します。しかし、`TAPPING_TERM` で事前に定義した時間に代えて、カスタマイズしたタップ時間を使えます。 * ~~`ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`~~: これは `ACTION_TAP_DANCE_FN_ADVANCED` 関数と同じように機能します。しかし、`TAPPING_TERM` で事前に定義した時間の代わりに、カスタマイズしたタップ時間を使います。
* [ここ](ja/custom_quantum_functions.md#Custom_Tapping_Term)で概説するように、これはキーごとのタッピング時間機能を優先して非推奨になりました。この特定のタップダンス機能を使う代わりに、使いたい特定の `TD()` マクロ(`TD(TD_ESC_CAPS)` のような)を確認する必要があります。
最初のオプションで、1つのキーに2つの役割を持たせる大抵のケースには十分です。例えば、`ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` は、1回タップすると `Space` を送信し、2回タップすると `Enter` を送信します。 最初のオプションで、1つのキーに2つの役割を持たせる大抵のケースには十分です。例えば、`ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` は、1回タップすると `Space` を送信し、2回タップすると `Enter` を送信します。
+3 -2
View File
@@ -1,8 +1,8 @@
# 書き込みの手順とブートローダ情報 # 書き込みの手順とブートローダ情報
<!--- <!---
original document: 0.9.10:docs/flashing.md original document: 0.10.33:docs/flashing.md
git diff 0.9.10 HEAD -- docs/flashing.md | cat git diff 0.10.33 HEAD -- docs/flashing.md | cat
--> -->
キーボードが使用するブートローダにはかなり多くの種類があり、ほぼ全てが異なる書き込みの方法を使います。幸いなことに、[QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) のようなプロジェクトは、あまり深く考える必要無しに様々なタイプと互換性を持つことを目指していますが、この文章では様々なタイプのブートローダとそれらを書き込むために利用可能な方法について説明します。 キーボードが使用するブートローダにはかなり多くの種類があり、ほぼ全てが異なる書き込みの方法を使います。幸いなことに、[QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) のようなプロジェクトは、あまり深く考える必要無しに様々なタイプと互換性を持つことを目指していますが、この文章では様々なタイプのブートローダとそれらを書き込むために利用可能な方法について説明します。
@@ -244,3 +244,4 @@ BOOTLOADER = bootloadHID
* `:dfu-util-split-left` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM の設定も行われます。 * `:dfu-util-split-left` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「左側の」 EEPROM の設定も行われます。
* `:dfu-util-split-right` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM の設定も行われます。 * `:dfu-util-split-right` - デフォルトのオプション (`:dfu-util`) と同様に、通常のファームウェアが書き込まれます。ただし、分割キーボードの「右側の」 EEPROM の設定も行われます。
* `:st-link-cli` - dfu-util ではなく、ST-LINK の CLI ユーティリティを介してファームウェアを書き込めます。 * `:st-link-cli` - dfu-util ではなく、ST-LINK の CLI ユーティリティを介してファームウェアを書き込めます。
* `:st-flash` - dfu-util ではなく、[STLink Tools](https://github.com/stlink-org/stlink) の `st-flash` ユーティリティを介してファームウェアを書き込めます。
+2 -2
View File
@@ -1,8 +1,8 @@
# より詳細な `make` 手順 # より詳細な `make` 手順
<!--- <!---
original document: 0.9.0:docs/getting_started_make_guide.md original document: 0.10.33:docs/getting_started_make_guide.md
git diff 0.9.0 HEAD -- docs/getting_started_make_guide.md | cat git diff 0.10.33 HEAD -- docs/getting_started_make_guide.md | cat
--> -->
`make` コマンドの完全な構文は `<keyboard_folder>:<keymap>:<target>` です: `make` コマンドの完全な構文は `<keyboard_folder>:<keymap>:<target>` です:
+2 -2
View File
@@ -2,8 +2,8 @@
<!--- <!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/hardware_avr.md original document: 0.10.33:docs/hardware_avr.md
git diff 0.9.0 HEAD -- docs/hardware_avr.md | cat git diff 0.10.33 HEAD -- docs/hardware_avr.md | cat
--> -->
このページでは QMK における AVR マイコンのサポートについて説明します。AVR マイコンには、Atmel 社製の atmega32u4、atmega32u2、at90usb1286 やその他のマイコンを含みます。AVR マイコンは、簡単に動かせるよう設計された8ビットの MCU です。キーボードでよく使用される AVR マイコンには USB 機能や大きなキーボードマトリックスのためのたくさんの GPIO を搭載しています。これらは、現在、キーボードで使われる最も一般的な MCU です。 このページでは QMK における AVR マイコンのサポートについて説明します。AVR マイコンには、Atmel 社製の atmega32u4、atmega32u2、at90usb1286 やその他のマイコンを含みます。AVR マイコンは、簡単に動かせるよう設計された8ビットの MCU です。キーボードでよく使用される AVR マイコンには USB 機能や大きなキーボードマトリックスのためのたくさんの GPIO を搭載しています。これらは、現在、キーボードで使われる最も一般的な MCU です。
+2 -2
View File
@@ -2,8 +2,8 @@
<!--- <!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/hardware_keyboard_guidelines.md original document: 0.10.33:docs/hardware_keyboard_guidelines.md
git diff 0.9.0 HEAD -- docs/hardware_keyboard_guidelines.md | cat git diff 0.10.33 HEAD -- docs/hardware_keyboard_guidelines.md | cat
--> -->
QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。 QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。
+4 -4
View File
@@ -2,8 +2,8 @@
<!--- <!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.8.62:docs/i2c_driver.md original document: 0.10.33:docs/i2c_driver.md
git diff 0.8.62 HEAD -- docs/i2c_driver.md | cat git diff 0.10.33 HEAD -- docs/i2c_driver.md | cat
--> -->
QMK で使われる I2C マスタドライバには、MCU 間のポータビリティを提供するための一連の関数が用意されています。 QMK で使われる I2C マスタドライバには、MCU 間のポータビリティを提供するための一連の関数が用意されています。
@@ -83,8 +83,8 @@ STM32 MCU では、使用するハードウェアドライバにより、さま
|-----------------------|--------------------------------------------------------------------------------------------------|---------| |-----------------------|--------------------------------------------------------------------------------------------------|---------|
| `I2C1_SCL_BANK` | SCL に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` | | `I2C1_SCL_BANK` | SCL に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` |
| `I2C1_SDA_BANK` | SDA に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` | | `I2C1_SDA_BANK` | SDA に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` |
| `I2C1_SCL` | SCL のピン番号 (0-9) | `6` | | `I2C1_SCL` | SCL のピン番号 (0-15) | `6` |
| `I2C1_SDA` | SDA のピン番号 (0-9) | `7` | | `I2C1_SDA` | SDA のピン番号 (0-15) | `7` |
| `I2C1_BANK`(非推奨) | 使用するピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`)。後継は `I2C1_SCL_BANK`, `I2C1_SDA_BANK` です。 | `GPIOB` | | `I2C1_BANK`(非推奨) | 使用するピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`)。後継は `I2C1_SCL_BANK`, `I2C1_SDA_BANK` です。 | `GPIOB` |
ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します。 ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します。
+284
View File
@@ -0,0 +1,284 @@
# ISP 書き込みガイド
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.46:docs/isp_flashing_guide.md
git diff 0.9.46 HEAD -- docs/isp_flashing_guide.md | cat
-->
ISP 書き込み(ICSP 書き込みと呼ぶ場合もあります)とは、マイクロコントローラーを直接プログラミングするプロセスです。
これにより、ブートローダを交換したり、コントローラの「ヒューズ」を変更することができ、コントローラの速度や起動方法、その他のオプションなど、多くのハードウェアおよびソフトウェア関連の機能を制御します。
QMK の ISP 書き込みの主な用途は、AVRベースのコントローラ(Pro Micro、または V-USB チップ)のブートローダの書き込みまたは交換です。
?> これは Pro Micro や他の ATmega コントローラなどの AVR ベースのボードをプログラミングするためだけのものです。 Proton C などの Arm コントローラには使用できません。
## 破損したブートローダーの取り扱い
ボードの書き込み/消去で問題が発生し、DFU ベースのコントローラで次のような不可解なエラーメッセージが表示される場合:
libusb: warning [darwin_transfer_status] transfer error: timed out
dfu.c:844: -ETIMEDOUT: Transfer timed out, NAK 0xffffffc4 (-60)
atmel.c:1627: atmel_flash: flash data dfu_download failed.
atmel.c:1629: Expected message length of 1072, got -60.
atmel.c:1434: Error flashing the block: err -2.
ERROR
Memory write error, use debug for more info.
commands.c:360: Error writing memory data. (err -4)
dfu.c:844: -EPIPE: a) Babble detect or b) Endpoint stalled 0xffffffe0 (-32)
Device is write protected.
dfu.c:252: dfu_clear_status( 0x7fff4fc2ea80 )
atmel.c:1434: Error flashing the block: err -2.
ERROR
Memory write error, use debug for more info.
commands.c:360: Error writing memory data. (err -4)
または、Pro Micro ベースのコントローラに対して次のようなメッセージが表示された場合:
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: verification error, first mismatch at byte 0x002a
0x2b != 0x75
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch
あなたのボード/デバイスを再び動作させるには、ISP 書き込みが必要になるかもしれません。
## 必要なハードウェア
実際に ISP の書き込みを行うには、以下のいずれか(その後に使用するプロトコルが続きます)が必要になります。
* [SparkFun PocketAVR](https://www.sparkfun.com/products/9825) - (USB Tiny)
* [USBtinyISP AVR Programmer Kit](https://www.adafruit.com/product/46) - (USB Tiny)
* [Teensy 2.0](https://www.pjrc.com/store/teensy.html) - (avrisp)
* [Pro Micro](https://www.sparkfun.com/products/12640) - (avrisp)
* [Bus Pirate](https://www.adafruit.com/product/237) - (buspirate)
ISP 書き込みに使用できるデバイスは他にもありますが、これらが主なものです。
また、すべての製品リンクは公式バージョンへのものです。他の場所で入手することもできます。
また、「ISP プログラマ」をプログラミングするデバイスに配線するためのものも必要になります。
PCB の中には直接使用できる ISP ヘッダがあるものもありますが、そうではない場合が多いので、コントローラ自体にハンダ付けするか、別のスイッチや他のコンポーネントにハンダ付けする必要があるでしょう。
### ISP ファームウェア
Teensy と Pro Micro のコントローラを ISP プログラマとして使用するには、コントローラに ISP ファームウェアを書き込む必要があります。
それ以外のハードウェアは、あらかじめプログラムされているはずです。
そのため、これらのコントローラの場合は、正しい hex ファイルをダウンロードしてから書き込んでください。
* Teensy 2.0: [`util/teensy_2.0_ISP_B0.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/teensy_2.0_ISP_B0.hex) (`B0`)
* Pro Micro: [`util/pro_micro_ISP_B6_10.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/pro_micro_ISP_B6_10.hex) (`10/B6`)
コントローラに書き込んだら、この hex ファイルはもう必要ありません。
## 必要なソフトウェア
QMK ツールボックスは、このほとんど(すべて)に使用することができます。
ただし、Teensy 2.0 ボードを使っている場合は、[Teensy Loader](https:/www.pjrc.comteensyloader.html) を使えば、Teensy 2.0 ボードに書き込むことができます。
あるいは、`avrdude` (`qmk_install.sh` の一部としてインストールされています) や、[AVRDUDESS](https:/blog.zakkemble.netavrdudess-a-gui-for-avrdude)(Windows 用) を使って、Pro Micro に書き込んだり、ISP を書き込んだりすることができます。
## 配線
これは非常に簡単です。次のようにして、相互に対応するものを接続します。
### SparkFun Pocket AVR
PocketAVR RST <-> Keyboard RESET
PocketAVR SCLK <-> Keyboard B1 (SCLK)
PocketAVR MOSI <-> Keyboard B2 (MOSI)
PocketAVR MISO <-> Keyboard B3 (MISO)
PocketAVR VCC <-> Keyboard VCC
PocketAVR GND <-> Keyboard GND
### Teensy 2.0
Teensy B0 <-> Keyboard RESET
Teensy B1 <-> Keyboard B1 (SCLK)
Teensy B2 <-> Keyboard B2 (MOSI)
Teensy B3 <-> Keyboard B3 (MISO)
Teensy VCC <-> Keyboard VCC
Teensy GND <-> Keyboard GND
!> Teensy の B0 ピンはキーボードのコントローラの RESET/RST ピンと配線されています。 Teensy の RESET ピンをキーボードの RESET に配線しないでください。
### Pro Micro
Pro Micro 10 (B6) <-> Keyboard RESET
Pro Micro 15 (B1) <-> Keyboard B1 (SCLK)
Pro Micro 16 (B2) <-> Keyboard B2 (MOSI)
Pro Micro 14 (B3) <-> Keyboard B3 (MISO)
Pro Micro VCC <-> Keyboard VCC
Pro Micro GND <-> Keyboard GND
!> Pro Micro の 10/B6 ピンはキーボードのコントローラの RESET/RST ピンに配線されています。 Pro Micro の RESET ピンをキーボードの RESET に配線 ***しないでください***。
## キーボードへの書き込み
ISP プログラマをセットアップして、キーボードに接続したら、キーボードに書き込みをします。
### ブートローダファイル
普通の状態に戻す一番簡単で手っ取り早い方法は、キーボードにブートローダだけ書き込むことです。
これが終れば、普通にキーボードを接続して、普通にキーボードに書き込みできるようになります。
標準のブートローダは[`util/` フォルダー](https://github.com/qmk/qmk_firmware/tree/master/util) にあります。
チップの正しいブートローダを書き込んでください:
* **Atmel DFU**
* [ATmega16U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega16u4_1.0.1.hex)
* [ATmega32U4](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1.0.0.hex)
* [AT90USB64](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb64_1.0.0.hex)
* [AT90USB128](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_at90usb128_1.0.1.hex)
* **Caterina**
* [Pro Micro (5V/16MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro16.hex)
* [Pro Micro (3.3V/8MHz)](https://github.com/sparkfun/Arduino_Boards/blob/master/sparkfun/avr/bootloaders/caterina/Caterina-promicro8.hex)
* **BootloadHID (PS2AVRGB)**
* [ATmega32A](https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_ps2avrgb_bootloadhid_1.0.1.hex)
お使いのボードが何を使っているかわからない場合は、QMK のキーボード用の `rules.mk` ファイルを見てください。
`MCU` と `BOOTLOADER` の行には必要な値が書かれています。これはボードのバージョンによって異なるかもしれません。
### 製造手法
ブートローダと通常のファームウェアを同時に書き込みたい場合、2つの方法があります。
手動で行うか、コンパイル時に `:production` ターゲットを使って行うかです。
手動で行うには:
1. オリジナルのファームウェアの .hex ファイルをテキストエディタで開きます
2. 最後の行を削除してください。(`:00000001FF`になっているはずです - これは EOF メッセージです)
3. ブートローダの内容全体を新しい行にコピーして(行間に空行を入れないように)、元のファイルの最後に貼り付けてください。
4. これを新しいファイルとして `<keyboard>_<keymap>_production.hex` という名前で保存します。
?> ここでは他のブートローダも同じように使うことができますが、__ブートローダが必要で__、そうしないとまた ISP を使ってキーボードに新しいファームウェアを書き込まなければならなくなります。
#### QMK DFU ブートローダとプロダクションイメージの作成
コンパイル時に `:production` ターゲットを使用して、ボード用のファームウェア、QMK DFU ブートローダ、プロダクションファームウェアイメージを作成することができます。
これが完了すると、3つのファイルが表示されます:
* `<keyboard>_<keymap>.hex`
* `<keyboard>_<keymap>_bootloader.hex`
* `<keyboard>_<keymap>_production.hex`
QMK DFU ブートローダは `atmega32u4` コントローラ (AVR ベースの Planck ボードや Pro Micro など) でしかテストされておらず、他のコントローラではテストされていません。
しかし、`atmega32a` や `atmega328p` のような V-USB コントローラでは間違いなく動作しません。
ブートローダかプロダクションファームウェアファイルのどちらかを書き込むことができます。
プロダクションファームウェアファイルの方が、より多くのデータを書き込むので、書き込みに時間がかかります。
?> 注意:同じブートローダを使用しつづけるべきです。すでに DFU を使用している場合は、QMK DFU に切り替えても問題ありません。しかし、例えば Pro Micro に QMK DFU を書き込むには、追加の手順が必要になります。
## ブートローダ/プロダクションファイルの書き込み
キーボードがどのデバイスにも接続されていないことを確認し、ISP プログラマを接続してください。
ブートローダの種類を変更したい場合は、コマンドラインを使用する必要があります。
### QMK Toolbox
1. 'AVRISP device connected' または `USB Tiny device connected` が黄色で表示されます。
2. `Open` ダイアログで正しいブートローダー/プロダクションの .hex ファイルを選択します(パスにスペースを含めることはできません)
3. 書きこもうとしているキーボード(ISP プログラマではなく)のための正しい `Microcontroller` オプションが選択されていることを確認してください。
4. `Flash` を押します
5. 特にプロダクションファイルの場合、しばらくは何も出力されませんが、待ちましょう。
検証とヒューズのチェックに問題がなければ、完了です。
ボードが自動的に再起動する場合があります。
それ以外の場合は、Teensy のプラグを抜いて、キーボードを接続します。
テスト中は、Teensy をキーボードに接続したままにすることができますが、すべてが正常に機能することを確認したら、はんだを外すか、配線を外すことをお勧めします。
### コマンドライン
ターミナル(Windows の場合は `cmd`)を開いて、修正した .hex ファイルがある場所に移動します。
ここでは、このファイルを `main.hex` と呼び、Teensy 2.0 が `COM3` ポートに接続されていると仮定します。
よくわからない場合は、デバイスマネージャを開いて、`Ports > USB Serial Device` を探してください。ここにある COM ポートを使ってください。
あなたはそれが正しいポートであることを確認することができます:
avrdude -c avrisp -P COM3 -p atmega32u4
次のような出力が得られるはずです:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e9587
avrdude: safemode: Fuses OK
avrdude done. Thank you.
私たちのキーボードは `atmega32u4`(共通)を使用しているので、これが指定するチップです。
以下が完全なコマンドです:
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i
ボードが `atmega32a`(jj40 など)を使用している場合、コマンドは次のとおりです(最後の追加コードによりヒューズが正しく設定されます)。
avrdude -c avrisp -P COM3 -p atmega32 -U flash:w:main.hex:i -U hfuse:w:0xD0:m -U lfuse:w:0x0F:m
プログレスバーが表示されてから、以下が表示されるはずです。
avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
これは全てうまく動作したことを示しています。
ボードが自動的に再起動する場合もありますが、そうでない場合は、Teensy のプラグを抜いてキーボードを接続してください。
テスト中は、Teensy をキーボードに接続したままにすることができますが、すべてが正常に機能することを確認したら、はんだを外すか、配線を外すことをお勧めします。
SparkFun PocketAVR Programmer や、他の USB Tiny ベースの ISP プログラマを使用している場合は、次のようなものを使用すると良いでしょう。
avrdude -c usbtiny -P usb -p atmega32u4
#### 上級者向け: ヒューズの変更
Pro Micro に QMK DFU を書き込むなど、ブートローダを切り替える場合は、ブートローダの hex ファイルの書き込みに加えて、ヒューズを変更する必要があります。
これは、`caterina` (Pro Micro ブートローダ) と `dfu` では起動ルーチンの扱いが異なり、その動作はヒューズによって制御されるからです。
!> これは、ヒューズを変更することは、永久にあなたのコントローラをレンガ化(訳注:日本では文鎮化と呼ぶことが多い、コントローラがまったく無反応になる状態)することができる方法の1つであるため、それは非常に注意が必要な1つの領域です。
以下は、`atmega32u4`の 5V 16MHz 版(5V Pro Micro など)を想定しています。
`atmega32u4`の DFU の場合、必要なヒューズ設定は次のとおりです:
| ヒューズ | 設定 |
|----------|------------------|
| Low | `0x5E` |
| High | `0xD9` or `0x99` |
| Extended | `0xC3` |
High ヒューズは 0xD9 か 0x99 のどちらかになります。
違いは、0xD9 は QMK Firmware がソフトウェアでも無効化している JTAG を無効化しているのに対し、0x99 は JTAG を無効化していないことです。
これを設定するには、`-U lfuse:w:0x5E:m -U hfuse:w:0xD9:m -U efuse:w:0xC3:m` をコマンドに追加します。
そうすると、最終的なコマンドは次のようになります。
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i -U lfuse:w:0x5E:m -U hfuse:w:0xD9:m -U efuse:w:0xC3:m
`atmega32u4`の Caterina では、以下があなたに必要なヒューズの設定です。
| ヒューズ | 設定 |
|----------|--------|
| Low | `0xFF` |
| High | `0xD8` |
| Extended | `0xCB` |
これを設定するには、コマンドに `-U lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U efuse:w:0xCB:m` を追加します。
これで、最終的なコマンドは次のようになるはずです。
avrdude -c avrisp -P COM3 -p atmega32u4 -U flash:w:main.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD8:m -U efuse:w:0xCB:m
別のコントローラーを使用している場合や、別の設定を希望する場合は、この[AVR ヒューズ計算機](http:/www.engbedded.comfusecalc)を使用して、より適切な値を見つけることができます。
## ヘルプ
ご質問・ご不明な点がありましたら、お気軽に[issue を開いてください](https://github.com/qmk/qmk_firmware/issues/new)!
+8 -8
View File
@@ -1,8 +1,8 @@
# QMK 開発用の Visual Studio Code のセットアップ # QMK 開発用の Visual Studio Code のセットアップ
<!--- <!---
original document: 0.9.34:docs/other_vscode.md original document: 0.10.33:docs/other_vscode.md
git diff 0.9.34 HEAD -- docs/other_vscode.md | cat git diff 0.10.33 HEAD -- docs/other_vscode.md | cat
--> -->
[Visual Studio Code](https://code.visualstudio.com/) (VS Code) は多くの異なるプログラミング言語をサポートするオープンソースのコードエディタです。 [Visual Studio Code](https://code.visualstudio.com/) (VS Code) は多くの異なるプログラミング言語をサポートするオープンソースのコードエディタです。
@@ -53,7 +53,7 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
### VS Code の設定 ### VS Code の設定
最初に、IntelliSense をセットアップする必要があります。これは厳密には必要ではありませんが、あなたの人生をずっと楽にします。これを行うには、QMK ファームウェアフォルダに `.vscode/c_cpp_properies.json` ファイルを作成する必要があります。これは全て手動で行うことができますが、ほとんどの作業は既に完了しています。 最初に、IntelliSense をセットアップする必要があります。これは厳密には必要ではありませんが、あなたの人生をずっと楽にします。これを行うには、QMK ファームウェアフォルダに `.vscode/c_cpp_properties.json` ファイルを作成する必要があります。これは全て手動で行うことができますが、ほとんどの作業は既に完了しています。
[このファイル](https://gist.github.com/drashna/48e2c49ce877be592a1650f91f8473e8) を取得して保存します。MSYS2 をデフォルトの場所にインストールしなかった、または WSL か LxSS を使っている場合、このファイルを編集する必要があります。 [このファイル](https://gist.github.com/drashna/48e2c49ce877be592a1650f91f8473e8) を取得して保存します。MSYS2 をデフォルトの場所にインストールしなかった、または WSL か LxSS を使っている場合、このファイルを編集する必要があります。
@@ -64,7 +64,7 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
次に、VSCode に統合ターミナルとして表示されるように、MSYS2 ウィンドウを設定します。これには多くの利点があります。ほとんどの場合で、エラー上で Ctrl + クリックするとこれらのファイルにジャンプできます。これによりデバッグがはるかに簡単になります。また、他のウィンドウへジャンプする必要が無いという点でも優れています。 次に、VSCode に統合ターミナルとして表示されるように、MSYS2 ウィンドウを設定します。これには多くの利点があります。ほとんどの場合で、エラー上で Ctrl + クリックするとこれらのファイルにジャンプできます。これによりデバッグがはるかに簡単になります。また、他のウィンドウへジャンプする必要が無いという点でも優れています。
1. <kbd><kbd>File</kbd> > <kbd>Preferences ></kbd> > <kbd>Settings</kbd> </kbd> をクリックします。 1. <kbd><kbd>ファイル</kbd> > <kbd>ユーザー設定 ></kbd> > <kbd>設定</kbd> </kbd> をクリックします。
2. 右上の <kbd>{}</kbd> ボタンをクリックし、`settings.json` ファイルを開きます。 2. 右上の <kbd>{}</kbd> ボタンをクリックし、`settings.json` ファイルを開きます。
3. ファイルの内容を以下のように設定します: 3. ファイルの内容を以下のように設定します:
@@ -82,11 +82,11 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
} }
``` ```
ここに既に設定がある場合は、最初と最後の波括弧の間に全てを追加します。 ここに既に設定がある場合は、最初と最後の波括弧の間に全てを追加し、既存の設定を新しく追加された設定とカンマで区切ります。
?> MSYS2 を別のフォルダにインストールした場合は、`terminal.integrated.shell.windows` のパスをシステムの正しいパスに変更する必要があります。 ?> MSYS2 を別のフォルダにインストールした場合は、`terminal.integrated.shell.windows` のパスをシステムの正しいパスに変更する必要があります。
4. Ctrl-` (grave) を押して、ターミナルを起動します。 4. Ctrl-<code>&#96;</code> (Grave) を押して、ターミナルを起動するか、<kbd><kbd>表示</kbd> > <kbd>ターミナル</kbd></kbd> (コマンド `workbench.action.terminal.toggleTerminal`)に進みます。まだターミナルが開いていない場合は、新しいターミナルが開きます。
これにより、ワークスペースフォルダ(つまり `qmk_firmware` フォルダ)でターミナルが起動し、キーボードをコンパイルすることができます。 これにより、ワークスペースフォルダ(つまり `qmk_firmware` フォルダ)でターミナルが起動し、キーボードをコンパイルすることができます。
@@ -115,8 +115,8 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
いずれかの拡張機能をインストールしたら、再起動します。 いずれかの拡張機能をインストールしたら、再起動します。
# QMK 用の VS Code の設定 # QMK 用の VS Code の設定
1. <kbd><kbd>File</kbd> > <kbd>Open Folder</kbd></kbd> をクリックします 1. <kbd><kbd>ファイル</kbd> > <kbd>フォルダーを開く</kbd></kbd> をクリックします
2. GitHub からクローンした QMK ファームウェアフォルダを開きます。 2. GitHub からクローンした QMK ファームウェアフォルダを開きます。
3. <kbd><kbd>File</kbd> > <kbd>Save Workspace As...</kbd></kbd> をクリックします 3. <kbd><kbd>ファイル</kbd> > <kbd>名前を付けてワークスペースを保存...</kbd></kbd> をクリックします
これで、VS Code で QMK ファームウェアをコーディングする準備ができました。 これで、VS Code で QMK ファームウェアをコーディングする準備ができました。
+134
View File
@@ -0,0 +1,134 @@
# PR チェックリスト
<!---
original document: 0.10.7:docs/pr_checklist.md
git diff 0.10.7 HEAD -- docs/pr_checklist.md | cat
-->
これは、提出された PR を QMK の協力者がレビューする際に何をチェックするのかの非網羅的なチェックリストです。
これらの推奨事項に矛盾がある場合は、このドキュメントに対して [issue を開く](https://github.com/qmk/qmk_firmware/issues/new)か、[Discord](https://discord.gg/Uq7gcHh) の QMK コラボレータに連絡することをお勧めします。
## 一般的な PR
- PRは、ソースリポジトリ上の `master` ではないブランチを使って提出する必要があります
- これは、あなたの PR にとって別のブランチをターゲットにするという意味ではなく、むしろ自分の master ブランチで作業をしていないという意味です
- もし PR の提出者が自分の `master` ブランチを使っている場合は、マージ後に ["git の使い方"](https://docs.qmk.fm/#/ja/newbs_git_using_your_master_branch) ページへのリンクが表示されます - (このドキュメントの最後にはメッセージの内容が含まれます)
- 新しく追加されたディレクトリとファイル名は小文字でなければなりません
- 上流のソースが元々大文字を使っていた場合 (ChibiOS や他のリポジトリからインポートしたファイルなど)、このルールは緩和されるかもしれません
- 十分な正当性がある場合 (既存のコアファイルとの整合性など) は、このルールを緩和することができます。
- ボードデザイナーがキーボードの名前を大文字にした場合は、十分な正当性とはみとめられません
- すべての `*.c` および `*.h` ソースファイルの有効なライセンスヘッダ
- 一貫性のために GPL2/GPL3 が推奨されています
- 他のライセンスも許可されていますが、GPL と互換性があり、再配布が許可されていなければなりません。異なるライセンスを使うと、PR がマージされるのをほぼ確実に遅らせることになります
- QMK コードベースの「ベストプラクティス」に従う
- これは網羅的なリストではありませんし、時間が経つにつれて修正される可能性が高いです
- ヘッダファイルでは、`#ifndef` インクルードガードの代わりに `#pragma once` を使います
- 「旧式の」 GPIO/I2C/SPI 関数を使用しない - 正当な理由がない限り、QMK の抽象化を使用しなければなりません (怠惰は正当な理由にはなりません)
- タイミングの抽象化にも従う必要があります:
- `_delay_ms()` のかわりに `wait_ms()` を。(`#include <util/delay.h>` も消します)
- `timer_read()` と `timer_read32()` など。 -- タイミング API は [timer.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/timer.h) を参照してください
- 新しい抽象化が有用だと思う場合は、次のことをお勧めします:
- 機能が完成するまで自分のキーボードでプロトタイプを作成する
- Discord の QMK コラボレータと話し合う
- 個別のコア変更としてそれをリファクタリングする
- あなたのキーボードからそのコピーを削除する
- PR を開く前にリベースしてマージの競合をすべて修正します (ヘルプやアドバイスが必要な場合は、Discord で QMK コラボレータに連絡してください)。
## キーマップの PR
- 特定のボードファイルをインクルードするよりも `#include QMK_KEYBOARD_H` を推奨します
- レイヤーは `#define` よりも `enum` が好まれます
- カスタムキーコードは `#define` ではなく `enum` が必要です。最初のエントリには `= SAFE_RANGE` が必要です
- LAYOUT マクロ呼び出しのパラメータの途中の改行ではバックスラッシュ(`\`)は不要です
- スペーシング(コンマまたはキーコードの最初の文字の配置など)に注意を払うと、見栄えの良いキーマップになります
## キーボードの PR
終了した PR(インスピレーションを得るために、以前のレビューコメントセットは、自分のレビューのピンポンをなくすのに役立ちます):
https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- `info.json`
- 有効な URL
- 有効なメンテナ
- Configurator で正しく表示されること(Ctrl + Shift + I を押してローカルファイルをプレビューし、高速入力をオンにして順序を確認する)
- `readme.md`
- 標準テンプレートがあること
- 書き込みコマンドが `:flash` で終わっていること
- 有効なハードウェアの入手方法へのリンク (手配線の場合を除く) -- プライベートな共同購入は問題ありませんが、一回限りのプロトタイプは疑問視されます。オープンソースの場合は、ファイルへのリンクを提供してください
- ボードをブートローダーモードにリセットする方法を明確に説明してください
- キーボードの写真、できれば PCB の写真も添付してください
- `rules.mk`
- `MIDI_ENABLE`、`FAUXCLICKY_ENABLE`、`HD44780_ENABLE` は削除されました
- `# Enable Bluetooth with the Adafruit EZ-Key HID` は `# Enable Bluetooth` に変更されました
- 機能の有効化に関する `(-/+サイズ)` コメントはなくなりました
- ブートローダが指定されている場合は、代替ブートローダのリストを削除します
- [mcu_selection.mk](https://github.com/qmk/qmk_firmware/blob/master/quantum/mcu_selection.mk)の同等の MCU と比較した場合、同じ値の場合、デフォルトの MCU パラメータの再定義がないこと
- キーボードの `config.h`
- `PRODUCT` 値に `MANUFACTURER` を繰り返さないでください
- `#define DESCRIPTION` は要りません
- マジックキーオプション、 MIDI オプション、HD44780 コンフィギュレーションは要りません
- ユーザー設定の設定可能な `#define` はキーマップ `config.h` に移動する必要があります
- "`DEBOUNCING_DELAY`" の代りに "`DEBOUNCE`" を使います
- キーボードが QMK で起動するために最低限必要なコードが存在する必要があります
- マトリックスと重要なデバイスの初期化コード
- (カスタムキーコードや特別なアニメーションなど)商用キーボードの既存の機能をミラーリングする場合は、`default` ではないキーマップを使って処理する必要があります
- `keyboard.c`
- 空の `xxxx_xxxx_kb()` または他の weak-define のデフォルト実装関数が削除されていること
- コメントアウトされた関数も削除されていること
- `matrix_init_board()` などが `keyboard_pre_init_kb()` に移行されました。[keyboard_pre_init*](https://docs.qmk.fm/#/ja/custom_quantum_functions?id=keyboard_pre_init_-function-documentation) を参照してください
- カスタムマトリックスを使用する場合は、`CUSTOM_MATRIX = lite` を選択し、標準のデバウンスを許可します。[マトリックスコードの部分置き換え](https://docs.qmk.fm/#/ja/custom_matrix?id=lite) を参照してください
- `keyboard.h`
- 先頭に `#include "quantum.h"` を置きます
- `LAYOUT` マクロは、該当する場合は標準の定義を使用してください
- 該当する場合はコミュニティレイアウトマクロ名を使用します (`LAYOUT`/`LAYOUT_all`よりも優先されます)
- キーマップの `config.h`
- キーボードから `rules.mk` や `config.h` が重複していないこと
- `keymaps/default/keymap.c`
- `QMKBEST`/`QMKURL` が削除されていること
- `MO(_LOWER)`および `MO(_RAISE)`キーコードまたは同等のものを使用していて、キーマップに両方のキーを押したときに adjust レイヤーがある場合 - キーマップに直接 adjust レイヤーに入るキーコードがない場合(`MO(_ADJUST)`のように)次のように記述します...
```
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
```
...キーマップの `process_record_user()` 内で `layer_on()`、 `update_tri_layer()` を手動で処理する代わりに。
- default (および via) のキーマップは「素朴」でなければなりません。
- 他のユーザーが独自のユーザー固有のキーマップを開発するための「クリーンな状態」として使用するための最低限のもの。
- これらのキーマップで推奨される標準レイアウト(可能な場合)
- PR の提出者は、同じ PR に機能を紹介する個人的な(または豪華な)キーマップを持たせることができますが、「デフォルト」のキーマップに埋め込むべきではありません
- PR の提出者はまた、既存の商用キーボードへ QMK を移植する場合、その商用製品の既存の機能を反映する「製造業者に一致する」キーマップを持つことができます
さらに、ChibiOS に固有で:
- 既存の ChibiOS ボード定義を使用することを**強く**推奨します。
- 多くの場合、同等の Nucleo ボードは、同じファミリの異なるフラッシュサイズまたはわずかに異なるモデルで使用できます。
- 例:STM32L082KZ の場合、STM32L073RZ に類似しているため、rules.mkで `BOARD = ST_NUCLEO64_L073RZ` を使用できます。
- QMK は ChibiOS のアップグレード時のメンテナンス負担が継続的に発生するため、可能な限りカスタムボード定義を持たないように移行しています。
- ボードの定義が避けられない場合、`board.c` には標準の `__early_init()` (通常の ChibiOS ボードの定義と同じ) と空の `boardInit()` を実装しなければなりません。
- Arm/ChibiOS [早期初期化](https:/docs.qmk.fm/#/ja/platformdev_chibios_earlyinit?id=board-init)を参照してください
- `__early_init()`は、`early_hardware_init_pre()` または `early_hardware_init_post()` で適切に置き換える必要があります
- `boardInit()` は `board_init()` に移行する必要があります
## コアの PR
- `develop` ブランチをターゲットにする必要があります。これは、その後、breaking change のタイムラインで `master` にマージされます。
- その他の注意事項 TBD
- 投稿された変更の幅を考えると、コアはもっと主観的です
---
## 注意事項
人々が自分の `master` ブランチを使用する場合、マージ後に以下を投稿します:
```
For future reference, we recommend against committing to your `master` branch as you've done here, because pull requests from modified `master` branches can make it more difficult to keep your QMK fork updated. It is highly recommended for QMK development – regardless of what is being done or where – to keep your master updated, but **NEVER** commit to it. Instead, do all your changes in a branch (branches are basically free in Git) and issue PRs from your branches when you're developing.
There are instructions on how to keep your fork updated here:
[**Best Practices: Your Fork's Master: Update Often, Commit Never**](https://docs.qmk.fm/#/newbs_git_using_your_master_branch)
[Fixing Your Branch](https://docs.qmk.fm/#/newbs_git_resynchronize_a_branch) will walk you through fixing up your `master` branch moving forward. If you need any help with this just ask.
Thanks for contributing!
```
+5 -3
View File
@@ -1,8 +1,8 @@
# キーボードをより良くするための便利なコア関数のリスト # キーボードをより良くするための便利なコア関数のリスト
<!--- <!---
original document: 0.9.47:docs/ref_functions.md original document: 0.10.33:docs/ref_functions.md
git diff 0.9.47 HEAD -- docs/ref_functions.md | cat git diff 0.10.33 HEAD -- docs/ref_functions.md | cat
--> -->
QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。 QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。
@@ -48,7 +48,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
### `update_tri_layer_state(state, x, y, z)` ### `update_tri_layer_state(state, x, y, z)`
もう1つの関数は `update_tri_layer_state(state, x, y, z)` です。この関数は [`layer_state_set_*` 関数](ja/custom_quantum_functions.md#layer-change-code)から呼び出されることを意図しています。これは、キーコードを使ってレイヤーを変更するたびに、これがチェックされることを意味します。したがって、`LT(layer, kc)` を使ってレイヤーを変更すると、同じレイヤーチェックが引き起こされます。 もう1つの関数は `update_tri_layer_state(state, x, y, z)` です。この関数は [`layer_state_set_*` 関数](ja/custom_quantum_functions.md#layer-change-code)から呼び出されることを意図しています。これは、キーコードを使ってレイヤーを変更するたびに、これがチェックされることを意味します。したがって、`LT(layer, kc)` を使ってレイヤーを変更すると、同じレイヤーチェックが引き起こされます。
このメソッドの注意点は、`x` および `y` レイヤーをオンにしないと、`z` レイヤーにアクセスできないことです。レイヤー `z` のみをアクティブにしようとすると、このコードが実行され、使用前にレイヤー `z` がオフになるからです。 このメソッドの注意点は2つあります:
1. `x` および `y` レイヤーをオンにしないと、`z` レイヤーにアクセスできません。これは、レイヤー `z` のみをアクティブにしようとすると、このコードが実行され、使用前にレイヤー `z` がオフになるからです。
2. レイヤーは最上位の番号から処理されるので、`z` は `x` や `y` よりも上位のレイヤーでなければなりません。そうでなければアクセスできない場合があります。
#### 例 #### 例
+3 -3
View File
@@ -1,8 +1,8 @@
# `info.json` # `info.json`
<!--- <!---
original document: 0.9.46:docs/reference_info_json.md original document: 0.10.33:docs/reference_info_json.md
git diff 0.9.46 HEAD -- docs/reference_info_json.md | cat git diff 0.10.33 HEAD -- docs/reference_info_json.md | cat
--> -->
このファイルは [QMK API](https://github.com/qmk/qmk_api) によって使われます。このファイルは [QMK Configurator](https://config.qmk.fm/) がキーボードの画像を表示するために必要な情報を含んでいます。ここにメタデータを設定することもできます。 このファイルは [QMK API](https://github.com/qmk/qmk_api) によって使われます。このファイルは [QMK Configurator](https://config.qmk.fm/) がキーボードの画像を表示するために必要な情報を含んでいます。ここにメタデータを設定することもできます。
@@ -36,7 +36,7 @@
* `height` * `height`
* オプション: キー単位でのレイアウトの高さ * オプション: キー単位でのレイアウトの高さ
* `key_count` * `key_count`
* **必須**: このレイアウトのキーの数 * オプション: このレイアウトのキーの数
* `layout` * `layout`
* 物理レイアウトを説明するキー辞書のリスト。詳細は次のセクションを見てください。 * 物理レイアウトを説明するキー辞書のリスト。詳細は次のセクションを見てください。
+12 -11
View File
@@ -1,8 +1,8 @@
# タップホールド設定オプション # タップホールド設定オプション
<!--- <!---
original document: 0.9.51:docs/tap_hold.md original document: 0.10.33:docs/tap_hold.md
git diff 0.9.51 HEAD -- docs/tap_hold.md | cat git diff 0.10.33 HEAD -- docs/tap_hold.md | cat
--> -->
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。 タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。
@@ -52,7 +52,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
これは高速なタイピストや高い `TAPPING_TERM` 設定に対して、タップとホールドキー(モッドタップのような)の動作を向上させます。 これは高速なタイピストや高い `TAPPING_TERM` 設定に対して、タップとホールドキー(モッドタップのような)の動作を向上させます。
モッドタップキーを押し、他のキーをタップ(押して放す)して、モッドタップキーを放すという動作の全てをタッピング時間内に行うと、両方のキーの「タッピング」機能が出力されます。 モッドタップキーを押し、他のキーをタップ(押して放す)して、モッドタップキーを放すという動作の全てをタッピング時間内に行うと、両方のキーのタッピング機能が出力されます。
例えば: 例えば:
@@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
#define IGNORE_MOD_TAP_INTERRUPT #define IGNORE_MOD_TAP_INTERRUPT
``` ```
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーの「タッピング」機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。 許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。 `モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。
@@ -137,21 +137,22 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
#define TAPPING_FORCE_HOLD #define TAPPING_FORCE_HOLD
``` ```
タップの後でユーザがキーをホールドすると、これは修飾キーをホールドするかわりにタップされたキーを繰り返します。これにより、タップされたキーのために自動繰り返しを使うことができます。 タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。
`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。
例: 例:
- SFT_T(KC_A) を押す - `SFT_T(KC_A)` を押す
- SFT_T(KC_A) を放す - `SFT_T(KC_A)` を放す
- SFT_T(KC_A) を押す - `SFT_T(KC_A)` を押す
- タッピング時間より長く待ちます... - タッピング時間が終了するまで待ちます...
- SFT_T(KC_A) を放す - `SFT_T(KC_A)` を放す
デフォルトの設定では、最初に放したときに `a` が送信され、2回目の押下で `a` が送信され、コンピュータに自動リピート機能を作動させることができます。 デフォルトの設定では、最初に放したときに `a` が送信され、2回目の押下で `a` が送信され、コンピュータに自動リピート機能を作動させることができます。
`TAPPING_FORCE_HOLD` を使うと、2回目の押下は Shift として解釈され、それをタップして使った後ですぐに修飾キーとして使うことができます。 `TAPPING_FORCE_HOLD` を使うと、2回目の押下は Shift として解釈され、それをタップして使った後ですぐに修飾キーとして使うことができます。
!> `TAPPING_FORCE_HOLD` はタッピングトグル(`TT` レイヤーキーコード、ワンショットタッピングトグルなど)を使うものをすべて破壊します。 !> `TAPPING_FORCE_HOLD` はタッピングトグル(`TT` レイヤーキーコード、ワンショットタップトグルなど)を使うものをすべて破壊します。
この機能をより細かく制御するために、以下を `config.h` に追加することができます: この機能をより細かく制御するために、以下を `config.h` に追加することができます:
+23 -16
View File
@@ -27,22 +27,25 @@ This key would activate Left Control and Left Shift when held, and send Escape w
For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap: For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap:
|Key |Aliases |Description | |Key |Aliases |Description |
|------------|-----------------------------------------------------------------|-------------------------------------------------------| |------------|-----------------------------------------------------------------|--------------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | |`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped | |`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | |`LALT_T(kc)`|`LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | |`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped | |`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | |`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | |`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | |`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | |`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | |`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped | |`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped | |`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped | |`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped| |`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped |
|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)| |`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
## Caveats ## Caveats
@@ -52,3 +55,7 @@ Unfortunately, these keycodes cannot be used in Mod-Taps or Layer-Taps, since an
Additionally, you may run into issues when using Remote Desktop Connection on Windows. Because these codes send shift very fast, Remote Desktop may miss the codes. Additionally, you may run into issues when using Remote Desktop Connection on Windows. Because these codes send shift very fast, Remote Desktop may miss the codes.
To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab. In the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly. To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab. In the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly.
## Other Resources
See the [Tap-Hold Configuration Options](tap_hold.md) for additional flags that tweak Mod-Tap behavior.
+1 -1
View File
@@ -81,7 +81,7 @@ Now, we will set up the MSYS2 window to show up in VSCode as the integrated term
?> If you installed MSYS2 to a different folder, then you'll need to change the path for `terminal.integrated.shell.windows` to the correct path for your system. ?> If you installed MSYS2 to a different folder, then you'll need to change the path for `terminal.integrated.shell.windows` to the correct path for your system.
4. Hit Ctrl-`\`` (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isn‘t one already. 4. Hit Ctrl-<code>&#96;</code> (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isn‘t one already.
This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard. This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.
+1 -1
View File
@@ -31,7 +31,7 @@ Within our `info.json` file the `layouts` portion of the dictionary contains sev
* `height` * `height`
* Optional: The height of the layout in Key Units * Optional: The height of the layout in Key Units
* `key_count` * `key_count`
* **Required**: The number of keys in this layout * Optional: The number of keys in this layout
* `layout` * `layout`
* A list of Key Dictionaries describing the physical layout. See the next section for more details. * A list of Key Dictionaries describing the physical layout. See the next section for more details.
+1
View File
@@ -233,4 +233,5 @@ void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) {
IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]);
} }
} }
g_led_control_registers_update_required[index] = false;
} }
+1
View File
@@ -264,5 +264,6 @@ void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) {
IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]); IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]);
// IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]); // IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]);
} }
g_led_control_registers_update_required = false;
} }
} }
+1
View File
@@ -218,5 +218,6 @@ void IS31FL3737_update_led_control_registers(uint8_t addr1, uint8_t addr2) {
IS31FL3737_write_register(addr1, i, g_led_control_registers[0][i]); IS31FL3737_write_register(addr1, i, g_led_control_registers[0][i]);
// IS31FL3737_write_register(addr2, i, g_led_control_registers[1][i]); // IS31FL3737_write_register(addr2, i, g_led_control_registers[1][i]);
} }
g_led_control_registers_update_required = false;
} }
} }
+3 -2
View File
@@ -97,14 +97,13 @@ bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0); IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0);
for (int i = 0; i < 342; i += 18) { for (int i = 0; i < 342; i += 18) {
g_twi_transfer_buffer[0] = i % 180;
if (i == 180) { if (i == 180) {
// unlock the command register and select PG2 // unlock the command register and select PG2
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1); IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1);
} }
g_twi_transfer_buffer[0] = i % 180;
memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18); memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18);
#if ISSI_PERSISTENCE > 0 #if ISSI_PERSISTENCE > 0
@@ -251,4 +250,6 @@ void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t
g_scaling_registers[pled->driver][pled->r] = red; g_scaling_registers[pled->driver][pled->r] = red;
g_scaling_registers[pled->driver][pled->g] = green; g_scaling_registers[pled->driver][pled->g] = green;
g_scaling_registers[pled->driver][pled->b] = blue; g_scaling_registers[pled->driver][pled->b] = blue;
g_scaling_registers_update_required[pled->driver] = true;
} }
+4 -5
View File
@@ -23,14 +23,13 @@
#include <stdbool.h> #include <stdbool.h>
typedef struct is31_led { typedef struct is31_led {
uint8_t driver : 2; uint32_t driver : 2;
uint16_t r; uint32_t r : 10;
uint16_t g; uint32_t g : 10;
uint16_t b; uint32_t b : 10;
} __attribute__((packed)) is31_led; } __attribute__((packed)) is31_led;
extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; extern const is31_led g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led g_is31_indicator_leds[DRIVER_INDICATOR_LED_TOTAL];
void IS31FL3741_init(uint8_t addr); void IS31FL3741_init(uint8_t addr);
void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
+47 -18
View File
@@ -75,8 +75,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define CHARGE_PUMP 0x8D #define CHARGE_PUMP 0x8D
// Misc defines // Misc defines
#define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) #ifndef OLED_BLOCK_COUNT
#define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) # define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8)
#endif
#ifndef OLED_BLOCK_SIZE
# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT)
#endif
#define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1)
// i2c defines // i2c defines
#define I2C_CMD 0x00 #define I2C_CMD 0x00
@@ -101,6 +107,7 @@ OLED_BLOCK_TYPE oled_dirty = 0;
bool oled_initialized = false; bool oled_initialized = false;
bool oled_active = false; bool oled_active = false;
bool oled_scrolling = false; bool oled_scrolling = false;
uint8_t oled_brightness = OLED_BRIGHTNESS;
uint8_t oled_rotation = 0; uint8_t oled_rotation = 0;
uint8_t oled_rotation_width = 0; uint8_t oled_rotation_width = 0;
uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values
@@ -187,7 +194,7 @@ bool oled_init(uint8_t rotation) {
} }
} }
static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, 0x8F, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x40, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON}; static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) { if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) {
print("display_setup2 failed\n"); print("display_setup2 failed\n");
return false; return false;
@@ -212,7 +219,7 @@ __attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) {
void oled_clear(void) { void oled_clear(void) {
memset(oled_buffer, 0, sizeof(oled_buffer)); memset(oled_buffer, 0, sizeof(oled_buffer));
oled_cursor = &oled_buffer[0]; oled_cursor = &oled_buffer[0];
oled_dirty = -1; // -1 will be max value as long as display_dirty is unsigned type oled_dirty = OLED_ALL_BLOCKS_MASK;
} }
static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) { static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) {
@@ -262,13 +269,14 @@ static void rotate_90(const uint8_t *src, uint8_t *dest) {
void oled_render(void) { void oled_render(void) {
// Do we have work to do? // Do we have work to do?
oled_dirty &= OLED_ALL_BLOCKS_MASK;
if (!oled_dirty || oled_scrolling) { if (!oled_dirty || oled_scrolling) {
return; return;
} }
// Find first dirty block // Find first dirty block
uint8_t update_start = 0; uint8_t update_start = 0;
while (!(oled_dirty & (1 << update_start))) { while (!(oled_dirty & ((OLED_BLOCK_TYPE)1 << update_start))) {
++update_start; ++update_start;
} }
@@ -314,7 +322,7 @@ void oled_render(void) {
oled_on(); oled_on();
// Clear dirty flag // Clear dirty flag
oled_dirty &= ~(1 << update_start); oled_dirty &= ~((OLED_BLOCK_TYPE)1 << update_start);
} }
void oled_set_cursor(uint8_t col, uint8_t line) { void oled_set_cursor(uint8_t col, uint8_t line) {
@@ -404,9 +412,9 @@ void oled_write_char(const char data, bool invert) {
// Dirty check // Dirty check
if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) { if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) {
uint16_t index = oled_cursor - &oled_buffer[0]; uint16_t index = oled_cursor - &oled_buffer[0];
oled_dirty |= (1 << (index / OLED_BLOCK_SIZE)); oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
// Edgecase check if the written data spans the 2 chunks // Edgecase check if the written data spans the 2 chunks
oled_dirty |= (1 << ((index + OLED_FONT_WIDTH) / OLED_BLOCK_SIZE)); oled_dirty |= ((OLED_BLOCK_TYPE)1 << ((index + OLED_FONT_WIDTH - 1) / OLED_BLOCK_SIZE));
} }
// Finally move to the next char // Finally move to the next char
@@ -441,7 +449,7 @@ void oled_pan(bool left) {
} }
} }
} }
oled_dirty = ~((OLED_BLOCK_TYPE)0); oled_dirty = OLED_ALL_BLOCKS_MASK;
} }
oled_buffer_reader_t oled_read_raw(uint16_t start_index) { oled_buffer_reader_t oled_read_raw(uint16_t start_index) {
@@ -456,7 +464,7 @@ void oled_write_raw_byte(const char data, uint16_t index) {
if (index > OLED_MATRIX_SIZE) index = OLED_MATRIX_SIZE; if (index > OLED_MATRIX_SIZE) index = OLED_MATRIX_SIZE;
if (oled_buffer[index] == data) return; if (oled_buffer[index] == data) return;
oled_buffer[index] = data; oled_buffer[index] = data;
oled_dirty |= (1 << (index / OLED_BLOCK_SIZE)); oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
} }
void oled_write_raw(const char *data, uint16_t size) { void oled_write_raw(const char *data, uint16_t size) {
@@ -464,21 +472,28 @@ void oled_write_raw(const char *data, uint16_t size) {
for (uint16_t i = 0; i < size; i++) { for (uint16_t i = 0; i < size; i++) {
if (oled_buffer[i] == data[i]) continue; if (oled_buffer[i] == data[i]) continue;
oled_buffer[i] = data[i]; oled_buffer[i] = data[i];
oled_dirty |= (1 << (i / OLED_BLOCK_SIZE)); oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE));
} }
} }
void oled_write_pixel(uint8_t x, uint8_t y, bool on) { void oled_write_pixel(uint8_t x, uint8_t y, bool on) {
if (x >= OLED_DISPLAY_WIDTH || y >= OLED_DISPLAY_HEIGHT) { if (x >= oled_rotation_width) {
return; return;
} }
uint16_t index = x + (y / 8) * OLED_DISPLAY_WIDTH; uint16_t index = x + (y / 8) * oled_rotation_width;
if (index >= OLED_MATRIX_SIZE) {
return;
}
uint8_t data = oled_buffer[index];
if (on) { if (on) {
oled_buffer[index] |= (1 << (y % 8)); data |= (1 << (y % 8));
} else { } else {
oled_buffer[index] &= ~(1 << (y % 8)); data &= ~(1 << (y % 8));
}
if (oled_buffer[index] != data) {
oled_buffer[index] = data;
oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
} }
oled_dirty |= (1 << (index / OLED_BLOCK_SIZE));
} }
#if defined(__AVR__) #if defined(__AVR__)
@@ -501,7 +516,7 @@ void oled_write_raw_P(const char *data, uint16_t size) {
uint8_t c = pgm_read_byte(data++); uint8_t c = pgm_read_byte(data++);
if (oled_buffer[i] == c) continue; if (oled_buffer[i] == c) continue;
oled_buffer[i] = c; oled_buffer[i] = c;
oled_dirty |= (1 << (i / OLED_BLOCK_SIZE)); oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE));
} }
} }
#endif // defined(__AVR__) #endif // defined(__AVR__)
@@ -536,6 +551,20 @@ bool oled_off(void) {
bool is_oled_on(void) { return oled_active; } bool is_oled_on(void) { return oled_active; }
uint8_t oled_set_brightness(uint8_t level) {
uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level};
if (oled_brightness != level) {
if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) {
print("set_brightness cmd failed\n");
return oled_brightness;
}
oled_brightness = level;
}
return oled_brightness;
}
uint8_t oled_get_brightness(void) { return oled_brightness; }
// Set the specific 8 lines rows of the screen to scroll. // Set the specific 8 lines rows of the screen to scroll.
// 0 is the default for start, and 7 for end, which is the entire // 0 is the default for start, and 7 for end, which is the entire
// height of the screen. For 128x32 screens, rows 4-7 are not used. // height of the screen. For 128x32 screens, rows 4-7 are not used.
@@ -597,7 +626,7 @@ bool oled_scroll_off(void) {
return oled_scrolling; return oled_scrolling;
} }
oled_scrolling = false; oled_scrolling = false;
oled_dirty = -1; oled_dirty = OLED_ALL_BLOCKS_MASK;
} }
return !oled_scrolling; return !oled_scrolling;
} }
+10
View File
@@ -141,6 +141,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if !defined(OLED_FONT_HEIGHT) #if !defined(OLED_FONT_HEIGHT)
# define OLED_FONT_HEIGHT 8 # define OLED_FONT_HEIGHT 8
#endif #endif
// Default brightness level
#if !defined(OLED_BRIGHTNESS)
# define OLED_BRIGHTNESS 255
#endif
#if !defined(OLED_TIMEOUT) #if !defined(OLED_TIMEOUT)
# if defined(OLED_DISABLE_TIMEOUT) # if defined(OLED_DISABLE_TIMEOUT)
@@ -261,6 +265,12 @@ bool oled_off(void);
// not // not
bool is_oled_on(void); bool is_oled_on(void);
// Sets the brightness of the display
uint8_t oled_set_brightness(uint8_t level);
// Gets the current brightness of the display
uint8_t oled_get_brightness(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling! // Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void); void oled_task(void);
@@ -1,3 +1,19 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "drashna.h" #include "drashna.h"
#include "analog.h" #include "analog.h"
#include "pointing_device.h" #include "pointing_device.h"
+2 -2
View File
@@ -19,8 +19,8 @@
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x3430 // "40"
#define PRODUCT_ID 0x0A0C #define PRODUCT_ID 0x9999
#define DEVICE_VER 0x9999 #define DEVICE_VER 0x9999
#define MANUFACTURER di0ib #define MANUFACTURER di0ib
#define PRODUCT The nein Keyboard #define PRODUCT The nein Keyboard
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"keyboard_name": "nein", "keyboard_name": "nein",
"url": "", "url": "http://www.40percent.club/2019/04/nein.html",
"maintainer": "qmk", "maintainer": "qmk",
"width": 3, "width": 3,
"height": 3, "height": 3,
@@ -0,0 +1,39 @@
/* Copyright 2019
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_3x3(
KC_MUTE, KC_HOME, KC_MPLY,
MO(1), KC_UP, KC_END,
KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_ortho_3x3(
RESET, _______, KC_STOP,
_______, _______, RGB_MOD,
KC_MPRV, _______, KC_MNXT
),
[2] = LAYOUT_ortho_3x3(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
),
[3] = LAYOUT_ortho_3x3(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
),
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+19
View File
@@ -0,0 +1,19 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "45_ats.h"
+59
View File
@@ -0,0 +1,59 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define xxx KC_NO
#define LAYOUT_split_space( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
k30, k31, k32, k33, k36, k38, k39, k3A, k3B, k3D \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, xxx, k1D }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, xxx, k2D }, \
{ k30, k31, k32, k33, xxx, xxx, k36, xxx, k38, k39, k3A, k3B, xxx, k3D } \
}
#define LAYOUT_625_space( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
k30, k31, k32, k36, k39, k3A, k3B, k3D \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, xxx, k1D }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, xxx, k2D }, \
{ k30, k31, k32, xxx, xxx, xxx, k36, xxx, xxx, k39, k3A, k3B, xxx, k3D } \
}
#define LAYOUT_600_space( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
k30, k31, k32, k36, k38, k39, k3A, k3B, k3D \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, xxx, k1D }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, xxx, k2D }, \
{ k30, k31, k32, xxx, xxx, xxx, k36, xxx, k38, k39, k3A, k3B, xxx, k3D } \
}
+52
View File
@@ -0,0 +1,52 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xAB13
#define PRODUCT_ID 0x4511
#define DEVICE_VER 0x0001
#define MANUFACTURER Abec13
#define PRODUCT 45ATS
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
#define ENCODERS_PAD_A { B4 }
#define ENCODERS_PAD_B { B5 }
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D5, D7, D6 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, F6, F5, F4, C7, F7, C6, B6, D4 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
+169
View File
@@ -0,0 +1,169 @@
{
"keyboard_name": "45-ATS",
"url": "",
"maintainer": "The-Royal",
"width": 14.25,
"height": 4.25,
"layouts": {
"LAYOUT_split_space": {
"layout": [
{"label":"", "x":0, "y":0},
{"label":"", "x":1, "y":0},
{"label":"", "x":2, "y":0},
{"label":"", "x":3, "y":0},
{"label":"", "x":4, "y":0},
{"label":"", "x":5, "y":0},
{"label":"", "x":6, "y":0},
{"label":"", "x":7, "y":0},
{"label":"", "x":8, "y":0},
{"label":"", "x":9, "y":0},
{"label":"", "x":10, "y":0},
{"label":"", "x":11, "y":0},
{"label":"", "x":12, "y":0},
{"label":"", "x":13.5, "y":0},
{"label":"", "x":0, "y":1, "w":1.25},
{"label":"", "x":1.25, "y":1},
{"label":"", "x":2.25, "y":1},
{"label":"", "x":3.25, "y":1},
{"label":"", "x":4.25, "y":1},
{"label":"", "x":5.25, "y":1},
{"label":"", "x":6.25, "y":1},
{"label":"", "x":7.25, "y":1},
{"label":"", "x":8.25, "y":1},
{"label":"", "x":9.25, "y":1},
{"label":"", "x":10.25, "y":1},
{"label":"", "x":11.25, "y":1, "w":1.75},
{"label":"", "x":13.5, "y":1},
{"label":"", "x":0, "y":2, "w":1.75},
{"label":"", "x":1.75, "y":2},
{"label":"", "x":2.75, "y":2},
{"label":"", "x":3.75, "y":2},
{"label":"", "x":4.75, "y":2},
{"label":"", "x":5.75, "y":2},
{"label":"", "x":6.75, "y":2},
{"label":"", "x":7.75, "y":2},
{"label":"", "x":8.75, "y":2},
{"label":"", "x":9.75, "y":2},
{"label":"", "x":10.75, "y":2, "w":1.25},
{"label":"", "x":12.25, "y":2.25},
{"label":"", "x":13.5, "y":2},
{"label":"", "x":0, "y":3, "w":1.25},
{"label":"", "x":1.25, "y":3},
{"label":"", "x":2.25, "y":3, "w":1.25},
{"label":"", "x":3.5, "y":3, "w":2.75},
{"label":"", "x":6.25, "y":3, "w":2.25},
{"label":"", "x":8.5, "y":3, "w":1.25},
{"label":"", "x":9.75, "y":3, "w":1.25},
{"label":"", "x":11.25, "y":3.25},
{"label":"", "x":12.25, "y":3.25},
{"label":"", "x":13.25, "y":3.25}
]
},
"LAYOUT_625_space": {
"layout": [
{"label":"", "x":0, "y":0},
{"label":"", "x":1, "y":0},
{"label":"", "x":2, "y":0},
{"label":"", "x":3, "y":0},
{"label":"", "x":4, "y":0},
{"label":"", "x":5, "y":0},
{"label":"", "x":6, "y":0},
{"label":"", "x":7, "y":0},
{"label":"", "x":8, "y":0},
{"label":"", "x":9, "y":0},
{"label":"", "x":10, "y":0},
{"label":"", "x":11, "y":0},
{"label":"", "x":12, "y":0},
{"label":"", "x":13.5, "y":0},
{"label":"", "x":0, "y":1, "w":1.25},
{"label":"", "x":1.25, "y":1},
{"label":"", "x":2.25, "y":1},
{"label":"", "x":3.25, "y":1},
{"label":"", "x":4.25, "y":1},
{"label":"", "x":5.25, "y":1},
{"label":"", "x":6.25, "y":1},
{"label":"", "x":7.25, "y":1},
{"label":"", "x":8.25, "y":1},
{"label":"", "x":9.25, "y":1},
{"label":"", "x":10.25, "y":1},
{"label":"", "x":11.25, "y":1, "w":1.75},
{"label":"", "x":13.5, "y":1},
{"label":"", "x":0, "y":2, "w":1.75},
{"label":"", "x":1.75, "y":2},
{"label":"", "x":2.75, "y":2},
{"label":"", "x":3.75, "y":2},
{"label":"", "x":4.75, "y":2},
{"label":"", "x":5.75, "y":2},
{"label":"", "x":6.75, "y":2},
{"label":"", "x":7.75, "y":2},
{"label":"", "x":8.75, "y":2},
{"label":"", "x":9.75, "y":2},
{"label":"", "x":10.75, "y":2, "w":1.25},
{"label":"", "x":12.25, "y":2.25},
{"label":"K", "x":13.5, "y":2},
{"label":"", "x":0, "y":3, "w":1.25},
{"label":"", "x":1.25, "y":3},
{"label":"", "x":2.25, "y":3, "w":1.25},
{"label":"", "x":3.5, "y":3, "w":6.25},
{"label":"", "x":9.75, "y":3, "w":1.25},
{"label":"", "x":11.25, "y":3.25},
{"label":"", "x":12.25, "y":3.25},
{"label":"", "x":13.25, "y":3.25}
]
},
"LAYOUT_600_space": {
"layout": [
{"label":"", "x":0, "y":0},
{"label":"", "x":1, "y":0},
{"label":"", "x":2, "y":0},
{"label":"", "x":3, "y":0},
{"label":"", "x":4, "y":0},
{"label":"", "x":5, "y":0},
{"label":"", "x":6, "y":0},
{"label":"", "x":7, "y":0},
{"label":"", "x":8, "y":0},
{"label":"", "x":9, "y":0},
{"label":"", "x":10, "y":0},
{"label":"", "x":11, "y":0},
{"label":"", "x":12, "y":0},
{"label":"", "x":13.5, "y":0},
{"label":"", "x":0, "y":1, "w":1.25},
{"label":"", "x":1.25, "y":1},
{"label":"", "x":2.25, "y":1},
{"label":"", "x":3.25, "y":1},
{"label":"", "x":4.25, "y":1},
{"label":"", "x":5.25, "y":1},
{"label":"", "x":6.25, "y":1},
{"label":"", "x":7.25, "y":1},
{"label":"", "x":8.25, "y":1},
{"label":"", "x":9.25, "y":1},
{"label":"", "x":10.25, "y":1},
{"label":"", "x":11.25, "y":1, "w":1.75},
{"label":"", "x":13.5, "y":1},
{"label":"", "x":0, "y":2, "w":1.75},
{"label":"", "x":1.75, "y":2},
{"label":"", "x":2.75, "y":2},
{"label":"", "x":3.75, "y":2},
{"label":"", "x":4.75, "y":2},
{"label":"", "x":5.75, "y":2},
{"label":"", "x":6.75, "y":2},
{"label":"", "x":7.75, "y":2},
{"label":"", "x":8.75, "y":2},
{"label":"", "x":9.75, "y":2},
{"label":"", "x":10.75, "y":2, "w":1.25},
{"label":"", "x":12.25, "y":2.25},
{"label":"", "x":13.5, "y":2},
{"label":"", "x":0, "y":3},
{"label":"", "x":1, "y":3},
{"label":"", "x":2, "y":3},
{"label":"", "x":3, "y":3, "w":6.00},
{"label":"", "x":9, "y":3},
{"label":"", "x":10, "y":3},
{"label":"", "x":11.25, "y":3.25},
{"label":"", "x":12.25, "y":3.25},
{"label":"", "x":13.25, "y":3.25}
]
}
}
}
+25
View File
@@ -0,0 +1,25 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define TAPPING_TERM 175
#define PERMISSIVE_HOLD
#define MOD_TAP_INTERUPT
+107
View File
@@ -0,0 +1,107 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Layer names
enum ats_layers{
// - Base layer:
_BASE,
// - Symbols, numbers, and functions:
_FN,
// - Alternate Function layer:
_LN
};
#define RS_SLS RSFT_T(KC_SLSH)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default QWERTY layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│
* ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ' │Enter │ │PgD│
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │LShift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │Sft/│ ┌───┐ │CAP│
* ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ ↑ │ └───┘
* │LCtl│OS │LAlt│ Fn │ Space │RAlt│ Ln │ ┌───┼───┼───┐
* └────┴───┴────┴──────────┴────────┴────┴────┘ │ ← │ ↓ │ → │
* └───┴───┴───┘
*/
[_BASE] = LAYOUT_split_space(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_PGUP,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOTE, KC_ENT, KC_PGDN,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RS_SLS, KC_UP, KC_CAPS,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_RALT, MO(_LN), KC_LEFT, KC_DOWN, KC_RIGHT
),
/* Main Numbers, Symbols & Function Layer (MOMENTARY)
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ [ │ ] │ \ │ │ │Hme│
* ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │End│
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │ │ ( │ ) │ ; │ . │ │ - │ + │ * │ / │ = │ ┌───┐ │ │
* ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
* │ │ │ │ │ │ │ │ ┌───┼───┼───┐
* └────┴───┴────┴──────────┴────────┴────┴────┘ │ │ │ │
* └───┴───┴───┘
*/
[_FN] = LAYOUT_split_space(
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_HOME,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER, KC_END,
_______, KC_LPRN, KC_RPRN, KC_SCLN, KC_DOT, _______, KC_MINS, KC_PLUS, KC_ASTR, KC_SLSH, KC_EQL, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* ALTERNATE Function layer (MOMENTARY)
* ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │ PWR│F1 │F2 │F3 │F4 │F5 │F6 │ │ │ │ │PRV│NXT│ │VL+│
* ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │ SLP │F7 │F8 │F9 │F10│F11│F12│ │ │ │ │ PLAY │ │VL-│
* ├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │ WAKE │ │ │ │ │ │ │ │ │ │ │ ┌───┐ │ │
* ├────┬──┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
* │RSET│ │ │ │ │ │ │ ┌───┼───┼───┐
* └────┴────┴────┴──────────┴────────┴────┴────┘ │ │ │ │
* └───┴───┴───┘
*/
[_LN] = LAYOUT_split_space(
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU,
KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_MPLY, KC_VOLD,
KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
//function for layer indicator LED
layer_state_t layer_state_set_user(layer_state_t state) {
writePin(D0, layer_state_cmp(state, 0));
writePin(D1, layer_state_cmp(state, 1));
writePin(D2, layer_state_cmp(state, 2));
return state;
}
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
}
+107
View File
@@ -0,0 +1,107 @@
/*
Copyright 2020 Alec Penland
Copyright 2020 Garret Gartner
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Layer names
enum ats_layers{
// - Base layer:
_BASE,
// - Symbols, numbers, and functions:
_FN,
// - Alternate Function layer:
_LN
};
#define RS_SLS RSFT_T(KC_SLSH)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default QWERTY layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│
* ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ' │Enter │ │PgD│
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │LShift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │Sft/│ ┌───┐ │CAP│
* ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ ↑ │ └───┘
* │LCtl│OS │LAlt│ Fn │ Space │RAlt│ Ln │ ┌───┼───┼───┐
* └────┴───┴────┴──────────┴────────┴────┴────┘ │ ← │ ↓ │ → │
* └───┴───┴───┘
*/
[_BASE] = LAYOUT_split_space(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_PGUP,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOTE, KC_ENT, KC_PGDN,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RS_SLS, KC_UP, KC_CAPS,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_RALT, MO(_LN), KC_LEFT, KC_DOWN, KC_RIGHT
),
/* Main Numbers, Symbols & Function Layer (MOMENTARY)
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ [ │ ] │ \ │ │ │Hme│
* ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │End│
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │ │ ( │ ) │ ; │ . │ │ - │ + │ * │ / │ = │ ┌───┐ │ │
* ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
* │ │ │ │ │ │ │ │ ┌───┼───┼───┐
* └────┴───┴────┴──────────┴────────┴────┴────┘ │ │ │ │
* └───┴───┴───┘
*/
[_FN] = LAYOUT_split_space(
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_HOME,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER, KC_END,
_______, KC_LPRN, KC_RPRN, KC_SCLN, KC_DOT, _______, KC_MINS, KC_PLUS, KC_ASTR, KC_SLSH, KC_EQL, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* ALTERNATE Function layer (MOMENTARY)
* ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
* │ PWR│F1 │F2 │F3 │F4 │F5 │F6 │ │ │ │ │PRV│NXT│ │VL+│
* ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
* │ SLP │F7 │F8 │F9 │F10│F11│F12│ │ │ │ │ PLAY │ │VL-│
* ├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
* │ WAKE │ │ │ │ │ │ │ │ │ │ │ ┌───┐ │ │
* ├────┬──┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
* │RSET│ │ │ │ │ │ │ ┌───┼───┼───┐
* └────┴────┴────┴──────────┴────────┴────┴────┘ │ │ │ │
* └───┴───┴───┘
*/
[_LN] = LAYOUT_split_space(
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU,
KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_MPLY, KC_VOLD,
KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
//function for layer indicator LED
layer_state_t layer_state_set_user(layer_state_t state) {
writePin(D0, layer_state_cmp(state, 0));
writePin(D1, layer_state_cmp(state, 1));
writePin(D2, layer_state_cmp(state, 2));
return state;
}
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
}
+3
View File
@@ -0,0 +1,3 @@
# 45-ATS VIA Firmware
This keymap is to enable the use of VIA on the 45-ATS Keyboard.
File renamed without changes.
+16
View File
@@ -0,0 +1,16 @@
# 45-ATS
![45ats](https://i.imgur.com/Paqx5zGl.png)
A Premium and Beautiful 45% (And-Then-Some) Keyboard. Concept and Design by [Abec13](https://www.reddit.com/user/abec13).
- Keyboard Designer: [Abec13](https://reddit.com/u/abec13/)
- Keyboard Maintainer: [The-Royal](https://github.com/the-royal)
- Hardware Supported: 45-ATS v1.0 PCB
- Hardware Availability: Through Group Buy - Dec. 2019
Make example for this keyboard (after setting up your build environment):
make 45_ats:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,5 +1,5 @@
/* /*
Copyright 2012 Jun Wako <wakojun@gmail.com> Copyright 2020 Salicylic_Acid
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -14,11 +14,4 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "7splus.h"
#include "hal.h"
#include "led.h"
void led_set(uint8_t usb_led) {
}
+61
View File
@@ -0,0 +1,61 @@
/*
Copyright 2020 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/*
* ,-------------------------------------- ----------------------------------------------------------.
* | L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 | R06 | R07 | R60 |
* |-------------------------------------- ------------------------------------------------------------+
* | L10 | L11 | L12 | L13 | L14 | L15 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R17 | R62 |
* |---------------------------------------------------------------------------------------------------+
* | L20 | L21 | L22 | L23 | L24 | L25 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 | R27 | R63 |
* |---------------------------------------- ---------------------------------------------------------+
* | L30 | L31 | L32 | L33 | L34 | L35 | | R30 | R31 | R32 | R33 | R34 | R35 | R36 | R37 |
* |---------------------------------------------------------------------------------------------------+
* | L40 | L41 | L42 | L43 | L44 | L45 | | R40 | R41 | R42 | R43 | R44 | R45 | R47 | R57 |
* |---------------------------------------------------------------------------------------------------+
* | L50 | L51 | L52 | L53 | L54 | L55 | | R50 | R51 | R53 | R54 | R55 | R56 | R64 |
* |---------------------------------------- ------------------------------------------------------'
*/
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, R06, R07, R60, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, R62, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, R26, R27, R63, \
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, R36, R37, \
L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, R47, R57, \
L50, L51, L52, L54, L55, R50, R51, R53, R54, R55, R56, R64 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, KC_NO, KC_NO }, \
{ L10, L11, L12, L13, L14, L15, KC_NO, KC_NO }, \
{ L20, L21, L22, L23, L24, L25, KC_NO, KC_NO }, \
{ L30, L31, L32, L33, L34, L35, KC_NO, KC_NO }, \
{ L40, L41, L42, L43, L44, L45, KC_NO, KC_NO }, \
{ L50, L51, L52, KC_NO, L54, L55, KC_NO, KC_NO }, \
{KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ R00, R01, R02, R03, R04, R05, R06, R07 }, \
{ R10, R11, R12, R13, R14, R15, R16, R17 }, \
{ R20, R21, R22, R23, R24, R25, R26, R27 }, \
{ R30, R31, R32, R33, R34, R35, R36, R37 }, \
{ R40, R41, R42, R43, R44, R45, KC_NO, R47 }, \
{ R50, R51, KC_NO, R53, R54, R55, R56, R57 }, \
{ R60, KC_NO, R62, R63, R64, KC_NO, KC_NO, KC_NO } \
}
+84
View File
@@ -0,0 +1,84 @@
/*
Copyright 2020 Salicylic_acid3
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x04D8
#define PRODUCT_ID 0xEAE7
#define DEVICE_VER 0x0001
#define MANUFACTURER Salicylic_Acid
#define PRODUCT 7splus
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
// wiring of each half
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B5 }
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D2
#define SPLIT_HAND_PIN B6
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#ifndef RGBLED_NUM
#define RGBLED_NUM 31
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 11, 20 }
#endif
#define RGBLIGHT_ANIMATIONS
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
#else
#define RGBLIGHT_LIMIT_VAL 50
#define RGBLIGHT_VAL_STEP 4
#endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
// 120 RGBoff, OLEDoff
// 120 OLED
// 330 RGB 6
// 300 RGB 32
// 310 OLED & RGB 32
#define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
// iOS device need lessthan 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif
+98
View File
@@ -0,0 +1,98 @@
{
"keyboard_name": "7splus",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
"width": 17,
"height": 6.25,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"F1", "x":1.25, "y":0},
{"label":"F2", "x":2.25, "y":0},
{"label":"F3", "x":3.25, "y":0},
{"label":"F4", "x":4.25, "y":0},
{"label":"F5", "x":5.5, "y":0},
{"label":"F6", "x":7.5, "y":0},
{"label":"F7", "x":8.5, "y":0},
{"label":"F8", "x":9.5, "y":0},
{"label":"F9", "x":10.75, "y":0},
{"label":"F10", "x":11.75, "y":0},
{"label":"F11", "x":12.75, "y":0},
{"label":"F12", "x":13.75, "y":0},
{"label":"PrtScr", "x":15, "y":0},
{"label":"Delete", "x":16, "y":0},
{"label":"~", "x":0, "y":1.25},
{"label":"1", "x":1, "y":1.25},
{"label":"2", "x":2, "y":1.25},
{"label":"3", "x":3, "y":1.25},
{"label":"4", "x":4, "y":1.25},
{"label":"5", "x":5, "y":1.25},
{"label":"6", "x":7, "y":1.25},
{"label":"7", "x":8, "y":1.25},
{"label":"8", "x":9, "y":1.25},
{"label":"9", "x":10, "y":1.25},
{"label":"0", "x":11, "y":1.25},
{"label":"-", "x":12, "y":1.25},
{"label":"=", "x":13, "y":1.25},
{"label":"Back Space", "x":14, "y":1.25, "w":2},
{"label":"Home", "x":16, "y":1.25},
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
{"label":"Q", "x":1.5, "y":2.25},
{"label":"W", "x":2.5, "y":2.25},
{"label":"E", "x":3.5, "y":2.25},
{"label":"R", "x":4.5, "y":2.25},
{"label":"T", "x":5.5, "y":2.25},
{"label":"Y", "x":7.5, "y":2.25},
{"label":"U", "x":8.5, "y":2.25},
{"label":"I", "x":9.5, "y":2.25},
{"label":"O", "x":10.5, "y":2.25},
{"label":"P", "x":11.5, "y":2.25},
{"label":"[", "x":12.5, "y":2.25},
{"label":"]", "x":13.5, "y":2.25},
{"label":"\"", "x":14.5, "y":2.25, "w":1.5},
{"label":"Page Up", "x":16, "y":2.25},
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
{"label":"A", "x":1.75, "y":3.25},
{"label":"S", "x":2.75, "y":3.25},
{"label":"D", "x":3.75, "y":3.25},
{"label":"F", "x":4.75, "y":3.25},
{"label":"G", "x":5.75, "y":3.25},
{"label":"H", "x":7.75, "y":3.25},
{"label":"J", "x":8.75, "y":3.25},
{"label":"K", "x":9.75, "y":3.25},
{"label":"L", "x":10.75, "y":3.25},
{"label":":", "x":11.75, "y":3.25},
{"label":"'", "x":12.75, "y":3.25},
{"label":"Enter", "x":13.75, "y":3.25, "w":2.25},
{"label":"Page Down", "x":16, "y":3.25},
{"label":"Shift", "x":0, "y":4.25, "w":2.25},
{"label":"Z", "x":2.25, "y":4.25},
{"label":"X", "x":3.25, "y":4.25},
{"label":"C", "x":4.25, "y":4.25},
{"label":"V", "x":5.25, "y":4.25},
{"label":"B", "x":6.25, "y":4.25},
{"label":"N", "x":8.25, "y":4.25},
{"label":"M", "x":9.25, "y":4.25},
{"label":"<", "x":10.25, "y":4.25},
{"label":">", "x":11.25, "y":4.25},
{"label":"?", "x":12.25, "y":4.25},
{"label":"Shift","x":13.25, "y":4.25, "w":1.75},
{"label":"Up", "x":15, "y":4.25},
{"label":"End", "x":16, "y":4.25},
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
{"x":3.75, "y":5.25, "w":2},
{"x":5.75, "y":5.25},
{"x":7.75, "y":5.25},
{"x":8.75, "y":5.25, "w":2.75},
{"label":"Alt", "x":11.5, "y":5.25, "w":1.25},
{"label":"App", "x":12.75, "y":5.25, "w":1.25},
{"label":"Left", "x":14, "y":5.25},
{"label":"Down", "x":15, "y":5.25},
{"label":"Right", "x":16, "y":5.25}
]
}
}
}
+81
View File
@@ -0,0 +1,81 @@
/*
Copyright 2020 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
_QWERTY = 0,
_ADJUST,
};
enum custom_keycodes {
RGB_RST = SAFE_RANGE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
LT(_ADJUST,KC_GRV),KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[_ADJUST] = LAYOUT( /* Base */
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
MO(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
#ifdef RGBLIGHT_ENABLE
case RGB_RST:
if (record->event.pressed) {
uint8_t mode = rgblight_get_mode();
eeconfig_update_rgblight_default();
rgblight_enable();
rgblight_mode(mode);
}
break;
#endif
}
return true;
}
@@ -0,0 +1,22 @@
/* Copyright 2020 Salicylic_acid3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180
+147
View File
@@ -0,0 +1,147 @@
/*
Copyright 2020 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "keymap_jp.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
_QWERTY = 0,
_MOUSE,
_LOWER,
_RAISE,
_ADJUST,
};
enum custom_keycodes {
RGB_RST = SAFE_RANGE
};
enum tapdances{
TD_ESMS = 0,
TD_ESAR,
};
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_ESMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _MOUSE),
[TD_ESAR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
TD(TD_ESMS), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_EQL, KC_BSPC, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC, JP_BSLS, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_QUOT, KC_ENT, KC_PGDN,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_ZKHK, KC_LGUI,ALT_T(KC_MHEN),LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), ALT_T(KC_HENK), KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[_MOUSE] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
TD(TD_ESAR), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(LSFT(KC_T)),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[_LOWER] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
LCTL_T(JP_QUOT),JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_UP, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, MO(_LOWER), _______, _______,MO(_RAISE), _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[_RAISE] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, _______, _______, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, KC_UP, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[_ADJUST] = LAYOUT( /* Base */
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};
//A description for expressing the layer position in LED mode.
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
#ifdef RGBLIGHT_ENABLE
case RGB_RST:
if (record->event.pressed) {
uint8_t mode = rgblight_get_mode();
eeconfig_update_rgblight_default();
rgblight_enable();
rgblight_mode(mode);
}
break;
#endif
}
return true;
}
@@ -0,0 +1,2 @@
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes
+23
View File
@@ -0,0 +1,23 @@
/* Copyright 2020 Salicylic_acid3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+71
View File
@@ -0,0 +1,71 @@
/*
Copyright 2020 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
LT(1,KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[1] = LAYOUT( /* Base */
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
MO(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
),
[2] = LAYOUT(
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};
+17
View File
@@ -0,0 +1,17 @@
# 7sPlus
![7splus](https://s2.booth.pm/1d33594d-0c5f-4f93-baf5-2e89e0d99afc/i/2425503/044ca31d-6715-475c-b8c4-1dfdeb57b682_base_resized.jpg)
This is 85 keys Custom keyboard.
* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
* Hardware Supported: 7sPlus PCB, Pro Micro
* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/2425503)
Make example for this keyboard (after setting up your build environment):
make 7splus:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
[Build guide](https://salicylic-acid3.hatenablog.com/entry/7splus-build-guide)
+24
View File
@@ -0,0 +1,24 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
File renamed without changes.
@@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
+3
View File
@@ -1,5 +1,8 @@
#include "rev2.h" #include "rev2.h"
// Tested and verified working on ext65rev2
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
#ifdef OLED_DRIVER_ENABLE #ifdef OLED_DRIVER_ENABLE
void board_init(void) { void board_init(void) {
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
File renamed without changes.
@@ -1,19 +0,0 @@
# Sendy YK's Numpad 5x4 Layout and Keymap
[https://mr.sendyyk.com](https://mr.sendyyk.com)
## Numpad 5x4 Layout
![LAYOUT_numpad_5x4](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/soyuz/assets/layout-numpad-5x4.png)
## Keymap
![_BASE](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/soyuz/assets/layout-numpad-5x4-keymap.png)
## Build The Firmware
You will need to build the firmware. To do so go to your terminal window and run the compile command:
qmk compile -kb ai03/soyuz -km mrsendyyk
See [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs).
+19 -16
View File
@@ -1,4 +1,7 @@
/* Copyright (C) 2020 Sendy YK (https://mr.sendyyk.com). /*
* ai03 Soyuz VIA Keymap
*
* Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -34,26 +37,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
// Fn Layer 1 // Fn Layer 1
[_FN] = LAYOUT_ortho_5x4( [_FN] = LAYOUT_ortho_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS _______, _______, _______, _______
), ),
// Fn Layer 2 // Fn Layer 2
[_FN2] = LAYOUT_ortho_5x4( [_FN2] = LAYOUT_ortho_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS _______, _______, _______, _______
), ),
// Fn Layer 3 // Fn Layer 3
[_FN3] = LAYOUT_ortho_5x4( [_FN3] = LAYOUT_ortho_5x4(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS _______, _______, _______, _______
) )
}; };
+1 -1
View File
@@ -52,7 +52,7 @@
* ├───┴───┼───┤43 │ * ├───┴───┼───┤43 │
* │41 │42 │ │ * │41 │42 │ │
* └───────┴───┴───┘ * └───────┴───┴───┘
*/ */
#define LAYOUT_numpad_5x4( \ #define LAYOUT_numpad_5x4( \
k00, k01, k02, k03, \ k00, k01, k02, k03, \
-7
View File
@@ -1,7 +0,0 @@
/* Address for jumping to bootloader on STM32 chips. */
/* It is chip dependent, the correct number can be looked up here (page 175):
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
* This also requires a patch to chibios:
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
*/
#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
+98
View File
@@ -0,0 +1,98 @@
/*
Copyright 2020 <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
#define VENDOR_ID 0xA103
#define PRODUCT_ID 0x060A
#define DEVICE_VER 0x0001
#define MANUFACTURER ai03
#define PRODUCT Voyager60-Alps
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, B2, B3, F0, F1 }
#define MATRIX_COL_PINS { F4, F7, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3}
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
// define BACKLIGHT_PIN B7
// define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
#define RGB_DI_PIN D2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
#define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #define RGBLIGHT_EFFECT_SNAKE
// #define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* number of backlight levels */
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
// #define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
// #define LOCKING_RESYNC_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
// #define NO_DEBUG
/* disable print */
// #define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0
+12
View File
@@ -0,0 +1,12 @@
{
"keyboard_name": "Voyager60-Alps",
"url": "https://github.com/ai03-2725/Voyager60/tree/alps",
"maintainer": "ai03",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
}
}
}
@@ -0,0 +1,32 @@
/*
Copyright 2020 <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_NO, MO(1), KC_RALT, KC_RCTL
),
[1] = LAYOUT( /* Fn */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1 @@
# Default keymap
@@ -0,0 +1,47 @@
/*
Copyright 2020 <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, _______, KC_RGUI, KC_RALT, KC_RCTL
),
[1] = LAYOUT( /* FN */
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT( /* Blank. For VIA compatibility */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT( /* Blank. For VIA compatibility */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
Loaded 100 of 1408 files, more files were not shown because too many files have changed in this diff. Show more