1
0

Compare commits

...

120 Commits

Author SHA1 Message Date
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
Zach White
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 <git@zvecr.com>

* 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 <Erovia@users.noreply.github.com>

* more uniform date handling

* make flake8 happy

* Update lib/python/qmk/decorators.py

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
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
AlisGraveNil
14cb662280 [keyboard] Add Roadster support (#10698)
* Roadster

* Update keyboards/clawsome/roadster/rules.mk

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

* Update keyboards/clawsome/roadster/config.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
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
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 Coria
8e7517aebc [Keyboard] Add pteron44 keyboard (#10708)
* Add pteron44

* Apply suggestions from code review

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

* Apply suggestions from code review part 2

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-23 14:31:24 -07:00
null-ll
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 <fauxpark@gmail.com>

* Update keyboards/basketweave/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
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 <leon@anavi.org>
2020-10-23 14:11:17 -07:00
coarse
225af5d161 [Keyboard] Add Cordillera PCB (#10711)
* Add initial Cordillera config

* Update readme

* Update info.json layouts

* Update preview image

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

* Remove extra rules

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

* Update bootmagic rule

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
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
Jay Greco
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 <nick@tzarc.org>

* 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 <drashna@live.com>

* Update keyboards/nullbitsco/nibble/rules.mk

-Update with drasha's suggested makefile formatting changes

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

* Fix caps_lock typo

Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Drashna Jaelre <drashna@live.com>
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 Kuitunen
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 <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
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
mechlovin
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 <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-22 19:55:32 -07:00
Draevin
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 <fauxpark@gmail.com>

* Improve KC_MAKE: KC_ENT -> \n

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

* 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 <fauxpark@gmail.com>
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 Sanz
168ce1a743 Update keymap_spanish_dvorak.h (#10213)
Co-authored-by: Ryan <fauxpark@gmail.com>
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-AS
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 <fauxpark@gmail.com>

* renamed README.md to readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-18 16:30:24 -07:00
AnthonyL
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 <fauxpark@gmail.com>

* Update keyboards/id87/readme.md

Remove quotations.

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

* Update keyboards/id87/readme.md

Change Flash to Flashing

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

* Update keyboards/id87/rules.mk

Alignment Fix

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

* Update keyboards/id87/info.json

Remove qmk_converter link meta.

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-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
GG
c492dd7912 [Keyboard] Add support for ikki68 (#10576)
* ikki68 from wuquestudio

* NEW ikki68

* Add support for ikki68

* Update readme.md

Co-authored-by: root <root@LAPTOP-GZH.localdomain>
2020-10-18 13:52:03 -07:00
Jack Humbert
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 <drashna@live.com>

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

* Update keyboards/mexsistor/ludmila/config.h

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

* Update keyboards/mexsistor/ludmila/ludmila.h

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

* 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 <fauxpark@gmail.com>

* Update keymap.c

* Update keyboards/mexsistor/ludmila/readme.md

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

* Update keymap.c

* Update keymap.c

* Update ludmila.h

* Update keyboards/mexsistor/ludmila/readme.md

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

* Update keyboards/mexsistor/ludmila/rules.mk

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

* Update keyboards/mexsistor/ludmila/rules.mk

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

* Update keyboards/mexsistor/ludmila/rules.mk

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

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

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

* Update keyboards/mexsistor/ludmila/readme.md

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

* 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 cfbe534925.

* config.h and rules.mk update

* Update keyboards/mexsistor/ludmila/info.json

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

* Update keyboards/mexsistor/ludmila/info.json

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

* Update keyboards/mexsistor/ludmila/rules.mk

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: U-MEXSISTOR\Macropads <Kevin M>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
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
Joel Challis
8456625655 Initial auto PR labeler config (#9814)
* Initial auto PR labeler config

* Update .github/labeler.yml

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

* Update since develop merged

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
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
Cmdr. Emily
f952d4f7b7 Support OpenDeck 32 keyboard (#10305)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-18 18:37:02 +11:00
Dylan Straw
8be058d55d Enabled the use of VIA for KPRepublic BM40 (#10677)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-18 18:36:43 +11:00
Drashna Jaelre
40e694ea0d Add last breaking changes log to sidebar (#10680)
Co-authored-by: Ryan <fauxpark@gmail.com>
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 <morten@linderud.pw>
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
MelGeek
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 <fauxpark@gmail.com>

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

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/readme.md

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

* 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 <fauxpark@gmail.com>

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/info.json

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

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

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

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

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

* 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 <fauxpark@gmail.com>

* Update keyboards/melgeek/z70ultra/config.h

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

* remove excessive arguments from LAYOUT_split_space

* Update keyboards/melgeek/z70ultra/info.json

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

* Update keyboards/melgeek/z70ultra/info.json

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Use macro replace with the literal for CS & SW

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/mj61.c

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

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

* Update keyboards/melgeek/mj61/readme.md

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

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

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

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

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/mj61.c

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

* 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 <drashna@live.com>

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-10-16 09:11:17 -07:00
holtenc
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 <git@zvecr.com>

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

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

* Update keyboards/primekb/prime_e/config.h

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

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

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

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

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

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

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

* Update keyboards/primekb/prime_e/rules.mk

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

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

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

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

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
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
Salicylic-acid3
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 <drashna@live.com>

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

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

* Update keyboards/7splus/rules.mk

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

* 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 <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-15 21:12:09 -07:00
Spaceman
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 <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
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 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 <raleigh.wayland@stormapp.com>
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-Harris
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 <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-15 18:41:04 +01:00
Reid Sox-Harris
2c5ad9189c update eosti keymaps (#10610)
* adds eosti/planck keymaps

* updates eosti keymaps

* add header guard to bdn9 config.h

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

* reduce file size of compiled firmware

* move console disable to rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>
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
MechMerlin
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 <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-15 01:37:11 +01:00
MakotoKurauchi
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 <28521374+keyaki-namiki@users.noreply.github.com>
2020-10-15 05:16:17 +09:00
shela
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 <2170248+mtei@users.noreply.github.com>

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
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ż
381884fa9b Fix for issue #10386 - Can't compile preonic:dudeofawesome (#10557)
Co-authored-by: FilipParyz <paryz.1i12@op.p>
2020-10-14 13:41:34 +11:00
shela
f706e1e80e Update Japanese document (#10607) 2020-10-14 05:09:59 +09:00
Takeshi ISHII
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 <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

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

* Update docs/ja/pr_checklist.md

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

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: s-show <s1shimz@gmail.com>
2020-10-14 05:08:26 +09:00
Taylor Walla
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 <drashna@live.com>

* Update keyboards/ai03/voyager60_alps/rules.mk

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

* Update keyboards/ai03/voyager60_alps/readme.md

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

* Update keyboards/ai03/voyager60_alps/rules.mk

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

* Update keyboards/ai03/voyager60_alps/voyager60_alps.c

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-13 04:46:21 -07:00
Christian Eiden
bb35f6a6f5 [Keymap] Add own KBD67 MKII keymap (#10532)
* own KBD67 MKII keymap

Signed-off-by: Christian Eiden <christian@eiden.ch>

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Signed-off-by: Christian Eiden <christian@eiden.ch>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-10-13 04:40:47 -07:00
Drashna Jaelre
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 <fauxpark@gmail.com>

* 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 <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-13 04:36:17 -07:00
Drashna Jaelre
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 <nick@tzarc.org>

* Update Licensing info

* Update Moonlander default keymap to match Oryx's default

* Fix formatting based on suggestions

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

* Make indicator LEDs more configurable

* Update default keymap

* Handle older eeprom settings

Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
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
MelGeek
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 <drashna@live.com>

* Update keyboards/melgeek/mj61/mj61.c

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

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

* Update keyboards/melgeek/mj61/readme.md

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

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

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

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

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/mj61.c

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

* [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 <18669334+noroadsleft@users.noreply.github.com>

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

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

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

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

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

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

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

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

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

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

* Update keyboards/melgeek/mj63/info.json

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

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

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

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

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

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

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

* Update keyboards/melgeek/mj63/mj63.c

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

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-13 04:31:45 -07:00
Evgenii
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 <fauxpark@gmail.com>

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

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

* update layout

* update zergo layout

* update layout

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

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
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
Nate Stein
b84b6107ff Change product IDs.
Make the EVE Meteor IDs both unique and somewhat logical based on the product name.

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-07 10:49:51 -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
Nate Stein
3e5e4f7427 Update keyboards/eve/meteor/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-01 13:23:44 -07:00
stein3
1531087617 Remove bootmagic flag and add vendor/product IDs. 2020-09-28 11:05:54 -07:00
stein3
bb1550313c Add VIA keymap for EVE Meteor. 2020-09-26 19:06:57 -07:00
781 changed files with 29171 additions and 4975 deletions

42
.github/labeler.yml vendored Normal file
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/**/*

35
.github/workflows/api.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Update API Data
on:
push:
branches:
- master
paths:
- 'keyboards/**'
- 'layouts/community/**'
jobs:
api_data:
runs-on: ubuntu-latest
container: qmkfm/base_container
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
persist-credentials: false
- name: Generate API Data
run: qmk generate-api
- name: Upload API Data
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
ACCESS_TOKEN: ${{ secrets.API_TOKEN_GITHUB }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: main
FOLDER: api_data/v1
CLEAN: true
GIT_CONFIG_EMAIL: hello@qmk.fm
REPOSITORY_NAME: qmk/qmk_keyboards
TARGET_FOLDER: v1

14
.github/workflows/labeler.yml vendored Normal file
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
.gitignore vendored
View File

@@ -16,6 +16,7 @@
*.swp
tags
*~
api_data/v1
build/
.build/
*.bak

1
api_data/_config.yml Normal file
View File

@@ -0,0 +1 @@
theme: jekyll-theme-cayman

5
api_data/readme.md Normal file
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.

View File

@@ -110,7 +110,7 @@ endif
ifeq ($(strip $(BOOTLOADER)), stm32duino)
OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT ?= STM32F103x8_stm32duino_bootloader
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

View File

@@ -114,6 +114,17 @@ else
SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
OPT_DEFS += -DEEPROM_EMU_STM32F072xB
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),)
OPT_DEFS += -DEEPROM_DRIVER
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)
endif
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)/rgb_matrix.c
SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c

View File

@@ -23,6 +23,7 @@
* [Overview](api_overview.md)
* [API Documentation](api_docs.md)
* [Keyboard Support](reference_configurator_support.md)
* [Adding Default Keymaps](configurator_default_keymaps.md)
* CLI
* [Overview](cli.md)
@@ -117,6 +118,7 @@
* [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
* History
* [2020 Aug 29](ChangeLog/20200829.md)
* [2020 May 30](ChangeLog/20200530.md)
* [2020 Feb 29](ChangeLog/20200229.md)
* [2019 Aug 30](ChangeLog/20190830.md)

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).

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.
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

View File

@@ -19,71 +19,7 @@ Note that running `make` with `sudo` is generally ***not*** a good idea, and you
### 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/`:
**/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"
```
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/`.
Once added, run the following:

View File

@@ -76,8 +76,8 @@ susceptible to noise, you must choose a debounce method that will also mitigate
* Defer algorithms are noise-resistant
* Recommended naming conventions:
* ```sym_defer_*```
* ```asym_defer_*_*```: key-down is using eager algorithm
* ```asym_*_defer_*```: key-up is using eager algorithm
* ```asym_defer_*_*```: key-down is using defer algorithm
* ```asym_*_defer_*```: key-up is using defer algorithm
4) Global vs Per-Key vs Per-Row
* Global - one timer for all keys. Any key change state affects global timer

View File

@@ -116,6 +116,7 @@
* [概要](ja/breaking_changes.md)
* [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md)
* 履歴
* [2020年8月29日](ja/ChangeLog/20200829.md)
* [2020年5月30日](ja/ChangeLog/20200530.md)
* [2020年2月29日](ja/ChangeLog/20200229.md)
* [2019年8月30日](ja/ChangeLog/20190830.md)

View File

@@ -1,8 +1,8 @@
# QMK の設定
<!---
original document: 0.9.43:docs/config_options.md
git diff 0.9.43 HEAD -- docs/config_options.md | cat
original document: 0.10.33:docs/config_options.md
git diff 0.10.33 HEAD -- docs/config_options.md | cat
-->
QMK はほぼ無制限に設定可能です。可能なところはいかなるところでも、やりすぎな程、ユーザーがコードサイズを犠牲にしてでも彼らのキーボードをカスタマイズをすることを許しています。ただし、このレベルの柔軟性により設定が困難になります。

View File

@@ -31,7 +31,7 @@ keyboards/<keyboard>/matrix.c
SRC += matrix.c
```
## マトリックスコードの部分置き換え
## マトリックスコードの部分置き換え :id=lite
カスタムマトリックスを実装する際、定型コードを書かなくてすむように、さまざまなスキャン関数のデフォルト実装を提供しています。

View File

@@ -1,8 +1,8 @@
# キーボードの挙動をカスタマイズする方法
<!---
original document: 0.9.43:docs/custom_quantum_functions.md
git diff 0.9.43 HEAD -- docs/custom_quantum_functions.md | cat
original document: 0.10.33:docs/custom_quantum_functions.md
git diff 0.10.33 HEAD -- docs/custom_quantum_functions.md | cat
-->
多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。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_user(void)`

View File

@@ -1,8 +1,8 @@
# ドキュメントベストプラクティス
<!---
original document: 0.9.19:docs/documentation_best_practices.md
git diff 0.9.19 HEAD -- docs/documentation_best_practices.md | cat
original document: 0.10.33:docs/documentation_best_practices.md
git diff 0.10.33 HEAD -- docs/documentation_best_practices.md | cat
-->
このページは QMK のためのドキュメントを作成する時のベストプラクティスを文章化するためのものです。これらのガイドラインに従うことで、一貫したトーンとスタイルを維持することでき、他の人が QMK をより理解しやすくすることができます。

View File

@@ -1,8 +1,8 @@
# コンボ
<!---
original document: 0.8.94:docs/feature_combo.md
git diff 0.8.94 HEAD -- docs/feature_combo.md | cat
original document: 0.10.36:docs/feature_combo.md
git diff 0.10.36 HEAD -- docs/feature_combo.md | cat
-->
コンボ機能は、同時押し方式でのカスタムアクション追加機能です。同時に複数のキーを押して、異なる効果を生み出すことができます。例えば、タッピング時間内で `A``S` を押すと、代わりに `ESC` が押されます。もっと複雑なタスクを実行させることもできます。
@@ -60,7 +60,7 @@ combo_t key_combos[COMBO_COUNT] = {
[XV_PASTE] = COMBO_ACTION(paste_combo),
};
void process_combo_event(uint8_t combo_index, bool pressed) {
void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) {
case ZC_COPY:
if (pressed) {

View File

@@ -1,8 +1,8 @@
# 動的マクロ: ランタイムでのマクロの記録および再生
<!---
original document: 0.9.43:docs/feature_dynamic_macros.md
git diff 0.9.43 HEAD -- docs/feature_dynamic_macros.md | cat
original document: 0.10.33:docs/feature_dynamic_macros.md
git diff 0.10.33 HEAD -- docs/feature_dynamic_macros.md | cat
-->
QMK はその場で作られた一時的なマクロをサポートします。これらを動的マクロと呼びます。それらはユーザがキーボードから定義し、キーボードのプラグを抜くか再起動すると失われます。

View File

@@ -1,8 +1,8 @@
# リーダーキー: 新しい種類のモディファイア
<!---
original document: 0.8.134:docs/feature_leader_key.md
git diff 0.8.134 HEAD -- docs/feature_leader_key.md | cat
original document: 0.10.33:docs/feature_leader_key.md
git diff 0.10.33 HEAD -- docs/feature_leader_key.md | cat
-->
もしあなたが Vim を使ったことがある場合、リーダーキーは何であるかを知っています。そうでなければ、素晴らしい概念を発見しようとしています。:) 例えば、Alt+Shift+W を押す(3つのキーを同時に押す)代わりに、キーの_シーケンス_を押すことができたらどうでしょうつまり、特別なモディファイア (リーダーキー)を押して、続けて W と C を押すと (単純にキーを高速に繋げます)、何かが起こります。

View File

@@ -1,8 +1,8 @@
# QMK での速記 :id=stenography-in-qmk
<!---
original document: 0.9.19:docs/feature_stenography.md
git diff 0.9.19 HEAD -- docs/feature_stenography.md | cat
original document: 0.10.33:docs/feature_stenography.md
git diff 0.10.33 HEAD -- docs/feature_stenography.md | cat
-->
[速記](https://en.wikipedia.org/wiki/Stenotype)は裁判所のレポート、字幕および耳が不自由な人のためのリアルタイムの文字起こしで最もよく使われる記述方法です。速記では単語はスペル、音声およびショートカット(短い)ストロークが混在する音節ごとに音節化されます。プロの速記者は、標準的なタイピングで通常見られる負担を掛けずに、はるかに少ないエラー(99.9%より高い精度)で、200-300 WPM に到達できます。

View File

@@ -1,8 +1,8 @@
# より詳細な `make` 手順
<!---
original document: 0.9.0:docs/getting_started_make_guide.md
git diff 0.9.0 HEAD -- docs/getting_started_make_guide.md | cat
original document: 0.10.33:docs/getting_started_make_guide.md
git diff 0.10.33 HEAD -- docs/getting_started_make_guide.md | cat
-->
`make` コマンドの完全な構文は `<keyboard_folder>:<keymap>:<target>` です:

View File

@@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/hardware_avr.md
git diff 0.9.0 HEAD -- docs/hardware_avr.md | cat
original document: 0.10.33:docs/hardware_avr.md
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 です。

View File

@@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/hardware_keyboard_guidelines.md
git diff 0.9.0 HEAD -- docs/hardware_keyboard_guidelines.md | cat
original document: 0.10.33:docs/hardware_keyboard_guidelines.md
git diff 0.10.33 HEAD -- docs/hardware_keyboard_guidelines.md | cat
-->
QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。

View File

@@ -1,8 +1,8 @@
# QMK 開発用の Visual Studio Code のセットアップ
<!---
original document: 0.9.34:docs/other_vscode.md
git diff 0.9.34 HEAD -- docs/other_vscode.md | cat
original document: 0.10.33:docs/other_vscode.md
git diff 0.10.33 HEAD -- docs/other_vscode.md | cat
-->
[Visual Studio Code](https://code.visualstudio.com/) (VS Code) は多くの異なるプログラミング言語をサポートするオープンソースのコードエディタです。
@@ -53,7 +53,7 @@ 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 を使っている場合、このファイルを編集する必要があります。
@@ -64,7 +64,7 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
次に、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` ファイルを開きます。
3. ファイルの内容を以下のように設定します:
@@ -82,11 +82,11 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
}
```
ここに既に設定がある場合は、最初と最後の波括弧の間に全てを追加します。
ここに既に設定がある場合は、最初と最後の波括弧の間に全てを追加し、既存の設定を新しく追加された設定とカンマで区切ります。
?> 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` フォルダ)でターミナルが起動し、キーボードをコンパイルすることができます。
@@ -115,8 +115,8 @@ 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 ファームウェアフォルダを開きます。
3. <kbd><kbd>File</kbd> > <kbd>Save Workspace As...</kbd></kbd> をクリックします
3. <kbd><kbd>ファイル</kbd> > <kbd>名前を付けてワークスペースを保存...</kbd></kbd> をクリックします
これで、VS Code で QMK ファームウェアをコーディングする準備ができました。

134
docs/ja/pr_checklist.md Normal file
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!
```

View File

@@ -1,8 +1,8 @@
# `info.json`
<!---
original document: 0.9.46:docs/reference_info_json.md
git diff 0.9.46 HEAD -- docs/reference_info_json.md | cat
original document: 0.10.33:docs/reference_info_json.md
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/) がキーボードの画像を表示するために必要な情報を含んでいます。ここにメタデータを設定することもできます。

View File

@@ -1,8 +1,8 @@
# タップホールド設定オプション
<!---
original document: 0.9.51:docs/tap_hold.md
git diff 0.9.51 HEAD -- docs/tap_hold.md | cat
original document: 0.10.33:docs/tap_hold.md
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` 設定に対して、タップとホールドキー(モッドタップのような)の動作を向上させます。
モッドタップキーを押し、他のキーをタップ(押して放す)して、モッドタップキーを放すという動作の全てをタッピング時間内に行うと、両方のキーのタッピング機能が出力されます。
モッドタップキーを押し、他のキーをタップ(押して放す)して、モッドタップキーを放すという動作の全てをタッピング時間内に行うと、両方のキーのタッピング機能が出力されます。
例えば:
@@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
#define IGNORE_MOD_TAP_INTERRUPT
```
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。
@@ -137,21 +137,22 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
#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` が送信され、コンピュータに自動リピート機能を作動させることができます。
`TAPPING_FORCE_HOLD` を使うと、2回目の押下は Shift として解釈され、それをタップして使った後ですぐに修飾キーとして使うことができます。
!> `TAPPING_FORCE_HOLD` はタッピングトグル(`TT` レイヤーキーコード、ワンショットタッピングトグルなど)を使うものをすべて破壊します。
!> `TAPPING_FORCE_HOLD` はタッピングトグル(`TT` レイヤーキーコード、ワンショットタットグルなど)を使うものをすべて破壊します。
この機能をより細かく制御するために、以下を `config.h` に追加することができます:

View File

@@ -55,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.
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.

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.
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 isnt 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 isnt one already.
This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.

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]);
}
}
g_led_control_registers_update_required[index] = false;
}

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(addr2, i, g_led_control_registers[1][i]);
}
g_led_control_registers_update_required = false;
}
}

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(addr2, i, g_led_control_registers[1][i]);
}
g_led_control_registers_update_required = false;
}
}

View File

@@ -1,3 +1,19 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
*
* 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 "analog.h"
#include "pointing_device.h"

19
keyboards/45_ats/45_ats.c Normal file
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
keyboards/45_ats/45_ats.h Normal file
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
keyboards/45_ats/config.h Normal file
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
keyboards/45_ats/info.json Normal file
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}
]
}
}
}

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

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);
}
}
}

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);
}
}
}

View File

@@ -0,0 +1,3 @@
# 45-ATS VIA Firmware
This keymap is to enable the use of VIA on the 45-ATS Keyboard.

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
keyboards/45_ats/rules.mk Normal file
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

View File

@@ -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
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
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "hal.h"
#include "led.h"
void led_set(uint8_t usb_led) {
}
#include "7splus.h"

61
keyboards/7splus/7splus.h Normal file
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
keyboards/7splus/config.h Normal file
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

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}
]
}
}
}

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;
}

View File

@@ -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

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;
}

View File

@@ -0,0 +1,2 @@
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes

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

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
//`-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};

View File

@@ -0,0 +1 @@
VIA_ENABLE = yes

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
keyboards/7splus/rules.mk Normal file
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

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
* it under the terms of the GNU General Public License as published by
@@ -13,7 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
enum layer_names {
@@ -34,26 +37,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// Fn Layer 1
[_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
[_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
[_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
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
)
};

View File

@@ -52,7 +52,7 @@
* ├───┴───┼───┤43 │
* │41 │42 │ │
* └───────┴───┴───┘
*/
*/
#define LAYOUT_numpad_5x4( \
k00, k01, k02, k03, \

View File

@@ -0,0 +1,98 @@
/*
Copyright 2020 <t@ylor.io>
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

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}]
}
}
}

View File

@@ -0,0 +1,32 @@
/*
Copyright 2020 <t@ylor.io>
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, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# Default keymap

View File

@@ -0,0 +1,47 @@
/*
Copyright 2020 <t@ylor.io>
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 */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# VIA Keymap

View File

@@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@@ -0,0 +1,25 @@
# Voyager60-Alps
A fully featured Alps-specific 60% PCB
![Render](https://raw.githubusercontent.com/ai03-2725/Voyager60/alps/Renders/Front.png)
### Features
* RGB underglow
* Decent amount of layout compatibility - [View supported layouts](http://www.keyboard-layout-editor.com/#/gists/c867bdba7e5ae8be282f77a242bacf66)
* Slot cutout for maximum flexibility and typing comfort
* Over-current and static discharge protection
* Fully open-source
### Additional Information
* Keyboard Maintainer: [ai03](https://github.com/ai03-2725)
* Hardware Supported: Voyager60-Alps PCB
* Hardware Availability: [Gerbers](https://github.com/ai03-2725/Voyager60/tree/alps)
### Building the Firmware
Make example for this keyboard (after setting up your build environment):
make ai03/voyager60_alps: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).

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 = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # 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 = yes # 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

View File

@@ -0,0 +1,15 @@
/*
Copyright 2020 <t@ylor.io>
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 "voyager60_alps.h"

View File

@@ -0,0 +1,32 @@
/*
Copyright 2020 <t@ylor.io>
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 LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
K400, K401, K402, K404, K406, K408, K410, K411, K412, K413 \
) \
{ \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \
{ K400, K401, K402, KC_NO, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413 } \
}

View File

@@ -0,0 +1,96 @@
/* Copyright 2020 Leon Anavi <leon@anavi.org>
*
* 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
#define _MAIN 0
#define _FN 1
#define KC_X0 LT(_FN, KC_ESC)
#ifdef RGBLIGHT_ENABLE
// How long (in ms) to wait between animation steps for the rainbow mode
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15};
// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4};
#endif
/*
* The keymap contains the following shortcuts for Zoom meeting:
*
* 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
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_2x4(
LALT(KC_V), LALT(KC_A), LALT(KC_M), LALT(KC_S),
LALT(KC_R), LALT(KC_P), LALT(KC_C), MO(_FN)
),
[_FN] = LAYOUT_ortho_2x4(
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
BL_TOGG, BL_STEP, BL_BRTG, _______
)
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
}
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
oled_write_P(PSTR("Active layer: "), false);
switch (get_highest_layer(layer_state)) {
case _MAIN:
oled_write_ln_P(PSTR("Zoom"), false);
break;
case _FN:
oled_write_ln_P(PSTR("FN"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("N/A"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("Num Lock: "), false);
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Caps Lock: "), false);
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Scroll Lock: "), false);
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Backlit: "), false);
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
#ifdef RGBLIGHT_ENABLE
static char rgbStatusLine1[26] = {0};
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
oled_write_ln(rgbStatusLine1, false);
static char rgbStatusLine2[26] = {0};
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
oled_write_ln(rgbStatusLine2, false);
#endif
}
#endif

View File

@@ -0,0 +1,17 @@
/* Copyright 2020 null-ll
*
* 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 "basketweave.h"

View File

@@ -0,0 +1,35 @@
/* Copyright 2020 null-ll
*
* 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 ____ KC_NO
#include "quantum.h"
#define LAYOUT_default( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
K401, K402, K404, K406, K408, K410, K411, K412, K413, K414 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
{ ____, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
{ ____, K401, K402, ____, K404, ____, K406, ____, K408, ____, K410, K411, K412, K413, K414 } \
}

View File

@@ -0,0 +1,62 @@
/* Copyright 2020 null-ll
*
* 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 0x6B62
#define PRODUCT_ID 0x6869
#define DEVICE_VER 0x0001
#define MANUFACTURER Clackery
#define PRODUCT Basketweave
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { A6, C6, C7, A7, A5 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, B0, B1, B2, D5, D6, C5, C4, C3, C2, C1 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define USB_MAX_POWER_CONSUMPTION 100
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
#define ENCODERS_PAD_A { D7 }
#define ENCODERS_PAD_B { C0 }
#define ENCODER_RESOLUTION 4
#define ENCODER_DIRECTION_FLIP
#define TAP_CODE_DELAY 10
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,12 @@
{
"keyboard_name": "Basketweave",
"url": "https://github.com/null-ll/basketweave",
"maintainer": "null-ll",
"width": 20,
"height": 5,
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.5, "y":0}, {"label":"!", "x":2.5, "y":0}, {"label":"@", "x":3.5, "y":0}, {"label":"#", "x":4.5, "y":0}, {"label":"$", "x":5.5, "y":0}, {"label":"%", "x":6.5, "y":0}, {"label":"^", "x":7.5, "y":0}, {"label":"&", "x":10.5, "y":0}, {"label":"*", "x":11.5, "y":0}, {"label":"(", "x":12.5, "y":0}, {"label":")", "x":13.5, "y":0}, {"label":"_", "x":14.5, "y":0}, {"label":"+", "x":15.5, "y":0}, {"label":"Backspace", "x":16.5, "y":0, "w":2}, {"label":"Mute", "x":19, "y":0.5}, {"label":"Delete", "x":0, "y":1}, {"label":"Tab", "x":1.5, "y":1, "w":1.5}, {"label":"Q", "x":3, "y":1}, {"label":"W", "x":4, "y":1}, {"label":"E", "x":5, "y":1}, {"label":"R", "x":6, "y":1}, {"label":"T", "x":7, "y":1}, {"label":"Y", "x":10, "y":1}, {"label":"U", "x":11, "y":1}, {"label":"I", "x":12, "y":1}, {"label":"O", "x":13, "y":1}, {"label":"P", "x":14, "y":1}, {"label":"{", "x":15, "y":1}, {"label":"}", "x":16, "y":1}, {"label":"|", "x":17, "y":1, "w":1.5}, {"label":"Insert", "x":0, "y":2}, {"label":"Caps Lock", "x":1.5, "y":2, "w":1.75}, {"label":"A", "x":3.25, "y":2}, {"label":"S", "x":4.25, "y":2}, {"label":"D", "x":5.25, "y":2}, {"label":"F", "x":6.25, "y":2}, {"label":"G", "x":7.25, "y":2}, {"label":"H", "x":10.25, "y":2}, {"label":"J", "x":11.25, "y":2}, {"label":"K", "x":12.25, "y":2}, {"label":"L", "x":13.25, "y":2}, {"label":":", "x":14.25, "y":2}, {"label":"\"", "x":15.25, "y":2}, {"label":"Enter", "x":16.25, "y":2, "w":2.25}, {"label":"Shift", "x":1.5, "y":3, "w":2.25}, {"label":"Z", "x":3.75, "y":3}, {"label":"X", "x":4.75, "y":3}, {"label":"C", "x":5.75, "y":3}, {"label":"V", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"B", "x":9.75, "y":3}, {"label":"N", "x":10.75, "y":3}, {"label":"M", "x":11.75, "y":3}, {"label":"<", "x":12.75, "y":3}, {"label":">", "x":13.75, "y":3}, {"label":"?", "x":14.75, "y":3}, {"label":"Shift", "x":15.75, "y":3, "w":1.75}, {"label":"\u2191", "x":17.75, "y":3}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.5}, {"label":"Alt", "x":4.5, "y":4, "w":1.5}, {"x":6, "y":4, "w":2}, {"label":"Fn", "x":8, "y":4, "w":1.25}, {"x":9.75, "y":4, "w":2.75}, {"label":"Alt", "x":12.5, "y":4, "w":1.5}, {"label":"Ctrl", "x":15, "y":4, "w":1.5}, {"label":"\u2190", "x":16.75, "y":4}, {"label":"\u2193", "x":17.75, "y":4}, {"label":"\u2192", "x":18.75, "y":4}]
}
}
}

View File

@@ -0,0 +1,50 @@
/* Copyright 2020 null-ll
*
* 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 "basketweave.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_default( /* base */
KC_GESC, 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_INS, 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_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_UP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RIGHT,
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_MUTE),
[1] = LAYOUT_default( /* fn */
/* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
/* ins tab Q W E R T Y U I O P [ ] \ */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS,
/* del caps A S D F G H J K L ; ' enter up */
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_INS, KC_TRNS, KC_PGUP,
/* shift Z X C V B B N M , . / shift right */
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_END,
/* ctrl alt space fn space alt ctrl left down rotary */
KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_MPLY)
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
}

View File

@@ -0,0 +1,15 @@
# Basketweave
![Basketweave](https://i.imgur.com/lXhMxQUl.jpg)
A through-hole Alice style keyboard with arrow keys and a rotary encoder
* Keyboard Maintainer: [null-ll](https://github.com/null-ll)
* Hardware Supported: atmega32a
* Hardware Availability: [Clackery](https://clackery.com), [Github](https://github.com/null-ll/basketweave)
Make example for this keyboard (after setting up your build environment):
make basketweave: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).

View File

@@ -0,0 +1,26 @@
# MCU name
MCU = atmega32a
# Processor frequency
F_CPU = 16000000
# Bootloader selection
BOOTLOADER = USBasp
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # 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
ENCODER_ENABLE = yes

View File

@@ -18,8 +18,8 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define VENDOR_ID 0x4B50 // "KP"
#define PRODUCT_ID 0x3430 // "40"
#define DEVICE_VER 0x0001
#define MANUFACTURER KPRepublic
#define PRODUCT BM40 Hotswap RGB

View File

@@ -0,0 +1,108 @@
/* Copyright 2020 tominabox1
*
* 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
enum layers {
_QWERTY,
_LOWER,
_RAISE,
_ADJUST
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | BLTog| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_mit(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_mit(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_mit(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -0,0 +1 @@
# The via keymap for bm40hsrgb

View File

@@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@@ -0,0 +1,34 @@
/* Copyright 2020 jakobst1n
*
* 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
/*****************************
* SLEEPMODE CONFIG
*****************************/
#define SLEEPMODE_ENABLE // see keymap readme for info about this function.
/* How long the backlight should stay on
without any interaction before turning off. */
#define SLEEPMODE_TIMEOUT 10 // in minutes
/* Which mode we should enter after the timeout,
RGB_MATRIX_NONE to turn off.
I thinks RGB_MATRIX_DIGITAL RAIN is pretty :) */
#define SLEEPMODE_RGB_MODE RGB_MATRIX_NONE
/* The desired animation speed when in "sleep mode" */
#define SLEEPMODE_RGB_ANIMATION_SPEED 10
/* The desired brightness when in "sleep mode" */
#define SLEEPMODE_RGB_VAL 10

View File

@@ -0,0 +1,116 @@
/* Copyright 2020 jakobst1n
*
* 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
#ifdef RGB_MATRIX_ENABLE
#ifdef SLEEPMODE_ENABLE
/* A bunch of vars to keep track of the rgb states
before sleepmode is turned on */
static bool sleepmode_on = false;
static uint8_t sleepmode_before_mode = -1;
static uint8_t sleepmode_before_brightness = -1;
static uint8_t sleepmode_before_anim_speed = -1;
static uint8_t halfmin_counter = 0;
static uint16_t idle_timer = 0;
#endif
#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ,-----------------------------------------------------------.
* |ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + | ´ | BACK |
* |-----------------------------------------------------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | Å | ¨ | RET |
* |------------------------------------------------------\ |
* | CAPS | A | S | D | F | G | H | J | K | L | Ø | Æ | @ | |
* |-----------------------------------------------------------|
* | ^ | < | Z | X | C | V | B | N | M | , | . | ^/- | U | - |
* |-----------------------------------------------------------|
* |ctrl| win| alt| |alt| fn| L | D | R |
* `-----------------------------------------------------------' */
[0] = LAYOUT(
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), KC_UP, KC_SLSH,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, OSL(1), KC_LEFT, KC_DOWN, KC_RGHT
),
/* ,-----------------------------------------------------------.
* |GRA| f1| f2| f3| f4| f5| f6| f7| f8| f9|f10|f11|f12| DEL |
* |-----------------------------------------------------------|
* | | R | R | R | R | R | R | R | R | | | | | |
* |------------------------------------------------------\ |
* | | | | | | | H |PGD|PGU| E | | | | |
* |-----------------------------------------------------------|
* | | | | | | | | | | | | |V_D|V_U|
* |-----------------------------------------------------------|
* | | | | | |PRE|PLA|NEX|
* `-----------------------------------------------------------' */
[1] = LAYOUT(
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,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#if defined(RGB_MATRIX_ENABLE) && defined(SLEEPMODE_ENABLE)
if (record->event.pressed) {
if (sleepmode_before_mode == -1) { sleepmode_before_mode = rgb_matrix_get_mode(); }
if (sleepmode_before_brightness == -1) { sleepmode_before_brightness = rgb_matrix_get_val(); }
if (sleepmode_before_anim_speed == -1) { sleepmode_before_anim_speed = rgb_matrix_get_speed(); }
if (sleepmode_on == true) {
// rgb_matrix_enable_noeeprom();
rgb_matrix_mode_noeeprom(sleepmode_before_mode);
rgb_matrix_set_speed_noeeprom(sleepmode_before_anim_speed);
rgb_matrix_sethsv_noeeprom(rgb_matrix_get_hue(), rgb_matrix_get_sat(), sleepmode_before_brightness);
sleepmode_on = false;
}
idle_timer = timer_read();
halfmin_counter = 0;
}
#endif
return true;
}
void matrix_scan_user(void) {
#if defined(RGB_MATRIX_ENABLE) && defined(SLEEPMODE_ENABLE)
/* idle_timer needs to be set one time */
if (idle_timer == 0) idle_timer = timer_read();
if ( !sleepmode_on && timer_elapsed(idle_timer) > 30000) {
halfmin_counter++;
idle_timer = timer_read();
}
if ( !sleepmode_on && halfmin_counter >= SLEEPMODE_TIMEOUT * 2) {// * 2) {
layer_clear();
sleepmode_before_anim_speed = rgb_matrix_get_speed();
sleepmode_before_brightness = rgb_matrix_get_val();
sleepmode_before_mode = rgb_matrix_get_mode();
//rgb_matrix_disable_noeeprom();
rgb_matrix_mode_noeeprom(SLEEPMODE_RGB_MODE);
rgb_matrix_set_speed_noeeprom(SLEEPMODE_RGB_ANIMATION_SPEED);
rgb_matrix_sethsv_noeeprom(rgb_matrix_get_hue(), rgb_matrix_get_sat(), SLEEPMODE_RGB_VAL);
sleepmode_on = true;
halfmin_counter = 0;
}
#endif
}

View File

@@ -0,0 +1,17 @@
# Nordic keymap for BM60rgb_iso
Very few changes from default keyboard, apart from the button right of leftshift,
and adding some more buttons on the second layer (function keys, home/end, pg up/down and media keys).
On the default layout, the top left button is RESET on the second layer,
this board has a reset button on the back. So I feel like it serves a better
purpose as the grave key (because grave-escape doesn't really
work with mac and norwegian layout). It could of course also be on the base layer.
But as a regular vim user I use escape more than the grave key.
I have also added mod-tap to the right shift, with the "default" position for
`KC_SLSH` beeing on the far right, that works fine.
There is also a "sleep-mode" function added,
this can be enabled defining `SLEEPMODE_ENABLE` in `config.h`.
This makes the keyboard backlight turn off after 10 minutes without any
keypresses, and turn on again on keypress. (This is something different than `USB_SUSPEND`)

View File

@@ -0,0 +1,133 @@
/*
Copyright 2020 boardsource
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 0x4273
#define PRODUCT_ID 0x1031
#define DEVICE_VER 0x0001
#define MANUFACTURER Boardsource
#define PRODUCT spooky
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
#define DIRECT_PINS { {E6,B4,B5}, {B3,B2,B6}}
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#ifdef RGBLIGHT_ENABLE
#define RGBLED_NUM 5 // Number of LEDs
#endif
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# 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
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#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
/* 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
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* 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
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,20 @@
{
"keyboard_name": "spooky",
"url": "https://boardsource.xyz/store/5f783f6da2c1b43e37ca0795",
"maintainer": "boardsource",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "k00", "x": 0, "y": 0 },
{ "label": "k01", "x": 1, "y": 0 },
{ "label": "k02", "x": 2, "y": 0 },
{ "label": "k10", "x": 0, "y": 1 },
{ "label": "k11", "x": 1, "y": 1 },
{ "label": "k12", "x": 2, "y": 1 }
]
}
}
}

View File

@@ -0,0 +1,30 @@
/* Copyright 2020 boardsource
*
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_ortho_2x3(
KC_F1, KC_F2, KC_F3,
KC_F4, KC_F5,KC_F6
),
};

View File

@@ -0,0 +1,78 @@
/* Copyright 2020 boardsource
*
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_ortho_2x3(
RGB_TOG, KC_VOLU, KC_F2,
RGB_MOD, KC_VOLD, KC_F1
),
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180;
}
static void render_RIP(void) {
static const char PROGMEM my_logo[] = {
0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00,
0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82,
0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0,
0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10,
0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff,
0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98,
0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00,
0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00,
0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f,
0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18,
0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10,
0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e,
0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0,
0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18,
0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30,
0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18,
0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0,
0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7,
0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82,
0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0,
0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc,
0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70,
0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00
};
oled_write_raw_P(my_logo, sizeof(my_logo));
}
void oled_task_user(void) {
render_RIP();
}
#endif

View File

@@ -0,0 +1 @@
OLED_DRIVER_ENABLE = yes

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