Compare commits

...
84 Commits
Author SHA1 Message Date
Drashna Jaelre 12568fb5a9 [Bug] Fix RGB Matrix Indicators (#11308) 2020-12-29 22:14:03 +00:00
Joe Hu 824e1cd95d Fix backlight for XD84 (#11309)
Like XD87, XD8 should have `#define BACKLIGHT_ON_STATE 0` too.
2020-12-29 22:12:58 +00:00
xyzz 2573ed8c6b Remove MATRIX_IS_ON macro (#11330)
* Remove MATRIX_IS_ON macro

this macro is both incorrect and excessive given that macro_is_on()
exists

* Remove massdrop matrix.h
2020-12-29 21:45:04 +00:00
MonksoffunkandRyan 25d9cdc88f Add ALETH42 keyboard (#10720)
* Add Aleth42 keyboard

* Fix Rotary Encoder Section

* Add VIA keymap

* Fix VIA keymap

remove RETRO_TAPPING define because of incompatiblity of rotary encoders with layer tapping.
change KC_ESC to KC_GESC

* Change TAPPING definitions

Comment TAPPING_TERM
Remove RETRO_TAPPING

* Add rev1

Add new rev1 directory
Move previous files to rev0

* Add define of ENCODER_RESOLUTION

* Change number of RGBLED

* Change USB descriptor param

Change VID, PID and product name

* Change default and via keymaps

* Remove upper keymap

* Add readme

* Change USB descriptor param

VID 0x04D8 PID 0xEAC8
Manufacturer 25KEYS
rev0 -> 0x0000 rev1 -> 0x0001
Remove define DESCRIPTION

* Fix info.json

Remove info,json under /rev0 /rev1
Add correct info.json at keyboard/aleth42/

* Change keymaps

* Remove unnecessary comments

* Change BOOTMAGIC option

* Change config options

* Fix readme files

* Change keymap readme files

* Change to use get_highest_layer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Use tap_code16 function

* Remove empty config file

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Ryan <[email protected]>
2020-12-29 21:13:35 +00:00
Ryan 962b8d3814 Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
Ryan 122cf3ad0f Update Zadig docs with list of bootloader device names and IDs (#11337) 2020-12-29 19:46:15 +00:00
Zach White 5edfdeff50 remove some old and unused code from Makefile (#11336) 2020-12-29 19:42:09 +00:00
LongerHV 221d8fd866 [CLI] Add stdin support for json2c command (#11289)
* Implement stdin for json2c command

* Refactor

* Handle json decode error

* Add stdin support for c2json cli command

* Refactor to prevent code duplication

* Change exit(1) to return False in c2json command

* Remove unused import
2020-12-29 11:34:48 -08:00
Chas 3300164065 Typo fix: Useful function -> Useful Functions (#11342)
Thanks!
2020-12-30 01:32:30 +09:00
Zach White 55843480ff Fix compile issues from the error page (#11314)
* fix abacus so it works with configurator

* create the keymap path if it doesn't exist

* bpiphany/unloved_bastard: remove the nested macros, move default keymap to json

* readd the unloved_bastard default keymap

* fix clueboard/card

* fixup handwired/2x5keypad

* fixup hub16

* matrix/noah: remove the broken matrix print code to fix compilation

* reinstate matrix_print with the right include

* Revert "create the keymap path if it doesn't exist"

This reverts commit af732776a539e8c6e2edf2e54f4d7f5ffa65b3a2.
2020-12-28 20:06:07 -08:00
5fde2d730c 1x4p1 (#11186)
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Erovia <[email protected]>
2020-12-28 21:27:00 +01:00
Ryan 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
Joel ChallisandRyan bbf0f65284 Simplify the visual flow of the getting started page (#11316)
* Add tabs to getting started page

* Review comments

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

* Align with current theme

* Update docs/newbs_getting_started.md

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

* Apply suggestions from code review

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

Co-authored-by: Ryan <[email protected]>
2020-12-27 16:56:10 +00:00
Ryan 1d1d5da43f Change include guards in tmk_core/ and drivers/ to pragma once (#11240) 2020-12-26 15:56:11 +11:00
Ryan 48f4768d33 Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
Drashna Jaelre 53eb7f0774 [Keyboard] Fix default keymaps for tunks/ergo33 (#11280)
* [Keyboard] Fix default keymap for tunks/ergo33

* Add prpro keymap too
2020-12-25 15:00:29 -08:00
Takeshi ISHII 5544bf8524 [Keymap] update rules.mk and config.h of helix/rev2:five_rows (#11302)
* update keyboards/helix/rev2/keymaps/five_rows/rules.mk: oled selection, led animation selection

* add OLED_UPDATE_INTERVAL support into keyboards/helix/rev2/keymaps/five_rows/oled_display.c

Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks.

* Add 'HELIX=debug/no-debug' option into 'helix/rev2/keymaps/five_rows/rules.mk'
2020-12-26 02:38:07 +09:00
7ca4b61922 First commit of Kawii9 (#11201)
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-12-26 01:44:32 +11:00
Jonathon CarstensandRyan b7f640ca76 Adding new keyboard: Tenkey++ (tenkey_plusplus) (#11197)
Co-authored-by: Ryan <[email protected]>
2020-12-26 01:42:11 +11:00
Drashna Jaelre 436b5394bb [Keyboard] Fix Dactyl Manuform with Trackball info.json (#11298) 2020-12-26 01:38:31 +11:00
CMMS-FreatherandRyan cd0d2d0de5 new repo: create cmm.studio folder, add saka qmk firmware (#11248)
Co-authored-by: Ryan <[email protected]>
2020-12-24 14:33:25 +01:00
Ryan 6a292e11d3 qmk fileformat: only print complaints, and fix some of them (#11278) 2020-12-24 02:36:44 +00:00
Thierry Michel Philippe Kleist 3e3f93c971 [Keyboard] misterknife/knife66_iso (#11010)
* feat: added new variant of knife66
2020-12-23 17:07:56 -08:00
Boris Faure 9136c122f8 docs: add Gentoo to newbs_getting_started.md (#11241) 2020-12-23 17:59:57 +01:00
cc4b93b330 Helen 80 addition (#11133)
Co-authored-by: james sa <[email protected]>
Co-authored-by: James Sa <[email protected]>
2020-12-23 10:22:31 +01:00
Perry HargraveandRyan d40d1e4024 [keymap] Adds tofu65 with split spacebar (#10831)
* [keymap] Adds tofu65 with split spacebar

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/readme.md

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

* Update keyboards/kbdfans/kbd67/rev2/rev2.h

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* keymap:tofu65: remove unneeded config.h

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

Co-authored-by: Ryan <[email protected]>
2020-12-22 23:25:20 -08:00
Nick Blyumberg b2ab0af905 [Docs] Update links in main README.md (#11284)
It looks like features.md was deprecated and content was split into other files. This results in a broken link on the main page which, if removed, would have no impact to the remainder of the documentation. This would also:
resolve #9239
resolve #10293 
resolve #10447
2020-12-22 22:37:01 -08:00
TerryMathewsandRyan d898d4a6fc [Keyboard] Portico: Initial support for TKC Portico (#11215)
* Portico: Initial support for TKC Portico

* Portico: added GPL header to keymap files

* Update keyboards/tkc/portico/rules.mk

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

Co-authored-by: Ryan <[email protected]>
2020-12-22 22:27:55 -08:00
7c0cb18681 [Keyboard] HID Technologies vendor id correction (#11225)
* add bastyl

* no need to copy the folder anymore

* clean up according to PR rules

* remove via, fix disposition

* add reset button on right half

* Update readme.md

* Update keyboards/hidtech/bastyl/bastyl.h

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

* Update keyboards/hidtech/bastyl/rules.mk

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

* Update keyboards/hidtech/bastyl/config.h

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

* move json, remove via files

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* add GPL to c and h files

* Update keyboards/hidtech/bastyl/info.json

Change order to match layout macro

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

* Update keyboards/hidtech/bastyl/config.h

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

* serial define can be ommited, is used by default

* Corrected VENDOR_ID

Incorrect VENDOR_ID has been updated to the correct one.

Co-authored-by: Quentin <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-12-22 22:23:29 -08:00
e52b4797d3 [Keyboard] Scarlet numpad VIA support added (#11188)
* 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

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

* Update keyboards/draytronics/scarlet/rules.mk

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

* Update keyboards/draytronics/scarlet/readme.md

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

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

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keymap.c

* Update config.h

* Update scarlet.h

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/scarlet.h

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

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

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

* provide info.json layout to fix qmk configurator

* Correctly name keyboard in info.json

* Added website and layout key labels to info.json

* VIA support. Thanks sirdicholas

* Readme change, link to VIA design file.

Co-authored-by: Blake Drayson <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-12-22 22:00:55 -08:00
498d89f4b3 [Docs] Add clarification on use of custom RGB Matrix effect (#11176)
* Update feature_rgb_matrix.md

Added more clarification on how to use a newly created rgb effect as it was unclear that the prefix 'RGB_MATRIX_CUSTOM_' had to be added.
Also included an example consistent with the documentation example.

* Update docs/feature_rgb_matrix.md

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

* Update docs/feature_rgb_matrix.md

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

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
2020-12-22 21:59:26 -08:00
Ibnu Daru Aji d5f3f7c126 [Keyboard] corrected VID/PID and layout for squiggle (#11198)
* corrected the pid and added a new layout.

* following drashna's suggestion.
2020-12-22 21:53:14 -08:00
Rustam Zagirov e9ed5d7571 ergodox_ez/stamm update (#11236) 2020-12-23 16:34:33 +11:00
Ryan 806aa9bc67 Remove comments about custom ldscript for Teensy LC (#11224) 2020-12-23 15:01:44 +11:00
Takeshi ISHII dc7081a823 [Keymap] fix and update helix/rev3_5rows:five_rows (#11191)
* [Keymap] fix and update helix/rev3_5rows:five_rows

* fix rgblight animation selection
* use `DEBUG_MATRIX_SCAN_RATE_ENABLE` insted of keyboard_post_init_user_scan.c

* Change the initial value of the ENCODER_ENABLE to 'no' in 'keymaps/five_rows/rules.mk'

* Add 'HELIX=debug/no-debug' option into 'rev3_5rows/keymaps/five_rows/rules.mk'

* Add '#define OLED_UPDATE_INTERVAL 100' 'rev3_5rows/keymaps/five_rows/config.h'

* add LED_ANIMATIONS_LEVEL macro into rev3_5rows/keymaps/five_rows/

* Change OLED_UPDATE_INTERVAL value in rev3_5rows/keymaps/five_rows/config.h
2020-12-23 11:50:12 +09:00
Reza Jelveh fd177582ad chibios: honor PLATFORMASM in chibios build (#11219) 2020-12-23 11:44:49 +11:00
Kishor PrinsandRyan dee506c096 Updated Raw HID docs to clarify packet/report length (#11211)
Co-authored-by: Ryan <[email protected]>
2020-12-23 08:04:55 +11:00
Ryan 78b2f120e5 V-USB: Fix initial dropped keypress (#11263) 2020-12-23 07:33:04 +11:00
SpacebarRacecar ce7d3855f4 Update to personal keymaps (#11171) 2020-12-23 06:28:34 +11:00
Nathan13888 4eebefada7 [Keyboard] YMD75 rev 3: fix BACKLIGHT_PIN (#11172)
* YMD75 rev 3:  fix BACKLIGHT_PIN

Update backlight LED pin used by QMK to control the per-key backlight for YMD75 rev 3

* YMD75 rev 3: fix BACKLIGHT_PIN - fix comments

* YMD75: move BACKLIGHT_PIN definitions to the respective versions

Signed-off-by: Nathan13888 <[email protected]>
2020-12-22 11:27:27 -08:00
cjcodell1andRyan 71b52416d8 [Keyboard] Add Nimrod (#11141)
Co-authored-by: Ryan <[email protected]>
2020-12-22 19:39:29 +01:00
Dmitry NosachevandRyan bf324c38e3 [Keyboard] add ASkeyboard Sono1 (#11114)
* handwired/sono1

* readme: addition

* Apply suggestions from code review

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

Co-authored-by: Ryan <[email protected]>
2020-12-22 10:10:56 -08:00
Joshua Diamond f40b564683 Partial fix for Issue #9405 - Caps Lock not working with Unicode Map's XP on Linux (#11232) 2020-12-23 04:51:47 +11:00
Jack 2843e7f995 [Keyboard] Add VIA keymap for the reviung41 (#11102)
* Add VIA keymap for reviung41

* Change VID for compatibility

* Add GPL header to config.h

* Enable link time optimization

* Remove config since it might not be needed
2020-12-22 09:40:04 -08:00
Joshua DiamondandRyan 54e2bf3ede Fix Issue #9533 - Delayed shift state handling (#11220)
Co-authored-by: Ryan <[email protected]>
2020-12-22 18:23:09 +01:00
kb-elmo 9453573080 [Keyboard] Add Axolstudio Yeti (#11051) 2020-12-22 01:14:28 -08:00
Zach White c0dcee96a8 Initial list of keyboards to exclude from CI (#11213) 2020-12-21 15:38:39 +01:00
4e0718a3b7 [Keyboard] add Lily58L keymap (#9870)
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Erovia <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-12-21 15:34:40 +01:00
EroviaandRyan a380a26ad2 Split of the doctor codebase (#11255)
Co-authored-by: Ryan <[email protected]>
2020-12-21 13:29:36 +01:00
Ryan e3211e307e Fix small typo in V-USB configuration descriptor (#11253) 2020-12-21 13:12:07 +11:00
RyanandErovia 0239ce025a Doctor: add check for .git folder (#11208)
Co-authored-by: Erovia <[email protected]>
2020-12-20 15:46:01 +01:00
Nick Brassel 13bbeefc5a Follow symlinks when listing keyboards. (#11250) 2020-12-20 19:08:39 +11:00
Takeshi ISHII 63362a9c5e [Keymap] fix keyboards/helix/rev2/keymaps/default/oled_display.c (#11228)
Fixed the OLED display on the right side as it was showing some garbage.
右側のOLEDディスプレイにゴミが表示されていたのを修正しました。
2020-12-20 13:27:54 +11:00
MechMerlin 25b1367806 VIA Support: MF68 (#11030)
* add via support to mf68 pcb

* add license header
2020-12-19 13:14:41 -08:00
Zach White 624cafbfd2 Change keyboard json format to bring it inline with the current api (#11231) 2020-12-19 19:46:30 +01:00
5619b1d3db [Keyboard] Add drashna's dactyl manuform 5x6 with trackball (#11062)
Co-authored-by: James Young <[email protected]>
Co-authored-by: Erovia <[email protected]>
2020-12-19 19:43:00 +01:00
Zach White bded5f473c simplify qmk doctor to make room for #11208 (#11242) 2020-12-18 16:42:30 -08:00
precondition 6890090fbb Updated usage of qmk c2json (#11148) 2020-12-18 21:56:23 +01:00
Zach White 03cbee8637 Add the ability to exclude keyboards from travis builds (#11178)
* add the ability to exclude keyboards from travis builds

* add filtering to make all:

* only skip keyboards during make all:

* working implementation

* forego a CI_KEYBOARDS variable

* optimize the startup by only listing keyboards once

* add sort -u to all list_keyboard invocations

* move the if else if tree back to 1 level
2020-12-18 12:17:53 -08:00
Joel Challis a9f7d4dccc Various compilation fixes for avr-gcc 10 (#9269) 2020-12-18 17:28:29 +00:00
Ryan 6ea4b06f9f Run cformat and dos2unix manually (#11235) 2020-12-17 14:06:30 +00:00
maikong d9dcb716bf [Keyboard] add MT64RGB (#10865)
* Create mt64

* Create mt84rgb

* Delete mt64

* Add files via upload

* Create MK84RGB

* gx84

* add new keyboard

* new keyboard

* Delete MK84RGB

* Delete config.h

* Delete mt84.c

* Delete mt84.h

* Delete mt84rgb

* Delete rules.mk

* add info json

* Add files via upload

* Delete config.h

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete info.json

* Delete mt64rgb.c

* Delete mt64rgb.h

* Delete rules.mk

* add keyboard

* Delete config.h

* Delete info.json

* Delete mt64rgb.c

* Delete mt64rgb.h

* Delete rules.mk

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete config.h

* Delete mt84.c

* Delete mt84.h

* Delete rules.mk

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete info.json

* Add files via upload

* Delete keymap.c

* Add files via upload

* Delete keymap.c

* Add files via upload

* Delete rules.mk

* Add files via upload

* Delete config.h

* Add files via upload

* Update config.h

* Update keymap.c

* Update keymap.c

* Update and rename keyboards/mt64rgb/keymaps/default/keymap.c to 键盘/mt64rgb/按键图/默认/keymap.c

* Update mt64rgb.h

* Update mt64rgb.c

* Update and rename keyboards/mt64rgb/rules.mk to 键盘/mt64rgb/rules.mk

* Update config.h

* Update rules.mk

* Update readme.md

* Update keymap.c

* Create rules.mk

* Update keymap.c

* Create keymap.c

* Delete keymap.c

* Update keymap.c

* Update keymap.c

* Update mt64rgb.h

* Delete rules.mk

* Update readme.md

* Update rules.mk

* Update readme.md

* Update info.json

* Update keymap.c

* Update mt64rgb.c

* Update config.h

* Update keymap.c

* Update readme.md

* Update rules.mk

* Update keymap.c

* Update config.h

* Update readme.md

* Update rules.mk

* Update readme.md

* Update config.h
2020-12-17 01:50:42 -08:00
hekekee 8346151fe0 [Keymap] ISO layout for KBD67 rev 2.0 (#11136) 2020-12-16 22:47:12 -08:00
dc4c80eef4 [Keyboard] add Labyrinth75 (#11135)
* added Labyrinth75

* changed to lowercase inline with the PR checklist

* added a correctly formatted image to readme.md

* fixed imgur link

* fixed info.json

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

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

* Update keyboards/labyrinth75/labyrinth75.h

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

* remove superfluous backslashes

* Update keyboards/labyrinth75/config.h

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

Co-authored-by: ridingqwerty <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-12-16 22:45:21 -08:00
r-pufky c4aae0e93b [Keymap] Update based on massdrop/ctrl core changes n(#11134) 2020-12-16 22:43:49 -08:00
haierwangwei2005 49b6c5fd83 [Keyboard] Update config for 10 ble oled usbhub pad (#11066) 2020-12-16 21:56:17 -08:00
7938921f9e [Keyboard] Add POS78 keyboard (#11024)
* Add pos78 keyboard

* tidy up links

* Added missing commas

The missing commas were causing a compile error (Travis CI, #41934 failed).

* Added trailing commas 

On lines 10-14, just missed last line (15).

* Travis CI errors

Trying to correct errors from Travis CI #41951 failed

* Corrected(?) TG(_FN) from Travis CI failure

* Revert readme.md to original format

Fauxpark

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

* Remove trailing \ from keymap.c

Fauxpark

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

* Change Vendor and Product ID

How do I update the Product ID search tool if 0x7878 is used/good?

* Add  LAYOUT_ortho_6x13 Update keyboards/pos78/pos78.h

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

* I bow to drashna's superior knowledge. Update keyboards/pos78/info.json

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

* I bow to drashna's superior knowledge.  Update keyboards/pos78/keymaps/default/keymap.c

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

* I bow to drashna's superior knowledge.   Update keyboards/pos78/keymaps/default/keymap.c

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

* Added pic

* Add picture properly. Update keyboards/pos78/readme.md

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

* Remove Bootmagic_enable (fauxpark)

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

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
2020-12-16 21:45:11 -08:00
58107ebedf [Keyboard] Add program_yoink (#10963)
* Add new keyboard: program_yoink

* Updated rules.mk

* Updated split_space keymap

Fixed split_space keymap and now builds with no errors.

* Update keyboards/program_yoink/config.h

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

* Update keyboards/program_yoink/config.h

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

* Update keyboards/program_yoink/rules.mk

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

* Update keyboards/program_yoink/program_yoink.h

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

* Update keyboards/program_yoink/program_yoink.h

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

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

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

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

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

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

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

* Update readme.md

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Update keyboards/program_yoink/readme.md

per code review

* Apply suggestions from code review

* Update keyboards/program_yoink/rules.mk

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

* Update keyboards/program_yoink/config.h

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

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-12-16 21:27:47 -08:00
d82ab56a14 [Keyboard] Box75 (#10949)
* Initial BOX75 PCB v1.0.6 PCB support

* New prototype firmware

* Correct column pin assignment

* Update README

* Update keyboards/box75/config.h

Remove USB description

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

* Update keyboards/box75/rules.mk

Remove comment lines from BLUETOOTH_ENABLE and AUDIO_ENABLE

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

* Add VIA support

* Remove KC_NO define and use traditional one

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

Move KC_HOME location on keymap.c

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

* Update keyboards/box75/box75.h

Move HOME key location on keymap.c

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

* Changed F13 to print screen in default VIA firmware

Co-authored-by: Gondolindrim <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-12-16 21:26:03 -08:00
Álvaro A. VolpatoandGondolindrim 14024fabeb [Keyboard] Iron180 (#10948)
* Initial CK60i support

* Initial Iron180 support

* Add PWM support

* Feedback from PCB protos

* Update README

* Remove CK60i references

* Remove KC_NO ____ definition and replaced with predefined

* Remove description field in USD descriptors

* Shorten bluetooth enable and audio output comments on rules.mk

* Initial VIA support

Co-authored-by: Gondolindrim <[email protected]>
2020-12-16 21:24:59 -08:00
d60031b321 [Keyboard] Technika (#10946)
* Initial technika support

* Updated README

* Update keyboards/technika/config.h

Remove DESCRIPTION from usb desciptor fields

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

* Update keyboards/technika/rules.mk

Remove words from comments in rules.mk

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

* Remove old KC_NO definitions and used default one

* Use defines for num, caps and scroll lock LED pins

* Fix underscore KC_NO substitution in keymap

Co-authored-by: Gondolindrim <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-12-16 21:21:37 -08:00
Joel Challis c807695035 Yet another stab at trying to get github actions to push (#11230) 2020-12-16 23:00:02 +00:00
Alabahuy 11669bb45b [Keyboard] Add rart/rart4x4 with VIA support (#11095)
* Create config.h

* Create info.json

* Create rart4x4.c

* Create rart4x4.h

* Create readme.md

* Create rules.mk

* Create keymap.c

* Create keymap.c

* Rename keyboards/rart/rart4x4/default/keymap.c to keyboards/rart/rart4x4/keymaps/default/keymap.c

* Rename keyboards/rart/rart4x4/via/keymap.c to keyboards/rart/rart4x4/keymaps/via/keymap.c

* Create rules.mk

* Update info.json

* Update keymap.c

* Update rart4x4.h

* Update rules.mk
2020-12-16 13:02:47 -08:00
3295ac90ee New keyboard: wsk/alpha9 (#10430)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

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

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Add keyboard: wsk/alpha9

* Cleaned up default keymap

* Removed misleading keymap README

* Slight tweak to default keymap.c

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

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/alpha9.c

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

* Update keyboards/wsk/alpha9/rules.mk

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

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

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

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/info.json

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

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/rules.mk

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

* Update keyboards/wsk/alpha9/alpha9.c

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

* Update keyboards/wsk/alpha9/config.h

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

Co-authored-by: worldspawn00 <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
2020-12-16 12:47:56 -05:00
0d42d7b87b Added Split Backspace Support for the Nemui (#11131)
* added nemui layout

* via support working

* added license headers for c and h files

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

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

* Update keyboards/nemui/nemui.c

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

* Update keyboards/nemui/config.h

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

* Update keyboards/nemui/readme.md

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

* Update keyboards/nemui/rules.mk

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

* removed nemui.json as it was supposed to only be in via repo

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

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

* Update keyboards/nemui/info.json

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

* Update keyboards/nemui/info.json

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

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

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

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

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

* added split backspace support for the nemui

* need to also update the qmk keymap

* fixed info.json to have the new keys

* vusb changes shouldn't have happened

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>
2020-12-16 12:36:57 -05:00
Ryan 9366ed7282 Normalise include statements in keyboard code (#11185) 2020-12-16 14:27:23 +11:00
37fb14f1b5 CLI-ify rgblight_breathing_table_calc.c (#11174)
Co-authored-by: Takeshi ISHII <[email protected]>
Co-authored-by: Zach White <[email protected]>
2020-12-16 14:24:42 +11:00
Ryan 3925ff5342 gh60/satan: fix indicator LED define (#11216) 2020-12-15 17:26:18 +00:00
MakotoKurauchiandmtei 0831a3181a [Keymap] Helix default keymap oled update (#11152)
* update keyboards/helix/rev2/local_features.mk - Improved parsing of the `HELIX =` option

* add 'is_mac_mode()' into keyboards/helix/rev2/rev2.c

* update helix/rev2/keymaps/default/keymap.c: use rgblight query functions

* Makes the OLED driver used by the helix:default keymap switchable.

* use TOP/drivers/oled/oled_driver.c
  `make  helix:default`
  or
  `make OLED_SELECT=core  helix:default`
* use helix/local_drivers/ssd1306.c
  `make OLED_SELECT=local  helix:default`

* Separated the OLED related code from keymap.c and moved it to oled_display.c.

* Change the 'led_test' keymap to follow the changes in the 'default' keymap.

* update helix/rev2/keymaps/default/oled_display.c

* add '#define OLED_UPDATE_INTERVAL 50' into keyboards/helix/rev2/config.h

* Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks

* add readme.md for helix/rev2

* Apply drashna's suggestions to rev2.c.

* Apply drashna's suggestions to rev3_4rows.c, rev3_5rows.c.

Co-authored-by: mtei <[email protected]>
2020-12-15 20:14:14 +09:00
labahuy ac8cddda22 [Keyboard] rart/rart45 (#11096)
* Create config.h

* Create info.json

* Create rart45.c

* Create rart45.h

* Create readme.md

* Create rules.mk

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Update config.h

* Update rart45.c

* Update rart45.h

* Update rules.mk

* Update readme.md

* Update info.json
2020-12-14 14:26:30 -08:00
Yan-Fa Li e6217b6aa6 Selectively enable command and console for yanfali userspace (#11212)
* Remove command and console

 - these options prevent community layouts from being built on other
   keyboards. Selectively enable it on keyboards I own rather than on
   everything.

* Update users/yanfali/rules.mk
2020-12-14 11:13:00 -08:00
Joel Challis 795e82074d Another attempt to fix formatting workflow (#11187) 2020-12-13 21:47:20 +00:00
Xelus22andJoel Challis 70f40339c2 Add i2c 24LC64 eeprom (#11200)
* add 24LC64 eeprom

* docs update

* Update docs/eeprom_driver.md

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

Co-authored-by: Joel Challis <[email protected]>
2020-12-14 05:50:50 +11:00
Takeshi ISHII 10e4487ba3 Fix incorrect search order for rgblight_breathe_table.h that rgblight.c includes. (#11192)
When `rgblight.c` includes `rgblight_breathe_table.h`, the search order should be as follows.

* `keyboards/KEYBOARD/keymaps/USER/rgblight_breathe_table.h`
* `users/USER/rgblight_breathe_table.h`
* `quantum/rgblight_breathe_table.h`

However, the current implementation was wrong, so I fixed it.
2020-12-13 03:19:15 +09:00
1022 changed files with 21167 additions and 3454 deletions

No files matched your search

+4 -1
View File
@@ -15,6 +15,8 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@@ -29,6 +31,7 @@ jobs:
- name: Commit files - name: Commit files
uses: stefanzweifel/git-auto-commit-action@v4 uses: stefanzweifel/git-auto-commit-action@v4
with: with:
commit_message: "Format code according to conventions for ${GITHUB_SHA}" commit_message: Format code according to conventions for $GITHUB_SHA
commit_user_name: QMK Bot commit_user_name: QMK Bot
commit_user_email: [email protected] commit_user_email: [email protected]
commit_author: QMK Bot <[email protected]>
+7 -102
View File
@@ -68,71 +68,15 @@ PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
# Initialize the path elements list for further processing # Initialize the path elements list for further processing
$(eval $(call NEXT_PATH_ELEMENT)) $(eval $(call NEXT_PATH_ELEMENT))
# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
# variables depending on which directory you stand in.
# It's really a very simple if else chain, if you squint enough,
# but the makefile syntax makes it very verbose.
# If we are in a subfolder of keyboards
#
# *** No longer needed **
#
# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYBOARD := $(CURRENT_PATH_ELEMENT)
# $(eval $(call NEXT_PATH_ELEMENT))
# # If we are in a subfolder of keymaps, or in other words in a keymap
# # folder
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYMAP := $(CURRENT_PATH_ELEMENT)
# # else if we are not in the keyboard folder itself
# else ifneq ($(CURRENT_PATH_ELEMENT),)
# # the we can assume it's a subproject, as no other folders
# # should have make files in them
# SUBPROJECT := $(CURRENT_PATH_ELEMENT)
# $(eval $(call NEXT_PATH_ELEMENT))
# # if we are inside a keymap folder of a subproject
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYMAP := $(CURRENT_PATH_ELEMENT)
# endif
# endif
# endif
define GET_KEYBOARDS
ifndef ALT_GET_KEYBOARDS
All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/rules.mk))
KEYMAPS_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
else
KEYBOARDS := $(shell find keyboards/ -type f -iname "rules.mk" | grep -v keymaps | sed 's!keyboards/\(.*\)/rules.mk!\1!' | sort | uniq)
endif
endef
$(eval $(call GET_KEYBOARDS))
# Only consider folders with makefiles, to prevent errors in case there are extra folders
#KEYBOARDS += $(patsubst $(ROOD_DIR)/keyboards/%/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
# Phony targets to enable a few simple make commands outside the main processing below.
.PHONY: list-keyboards .PHONY: list-keyboards
list-keyboards: list-keyboards:
echo $(KEYBOARDS) util/list_keyboards.sh | sort -u | tr '\n' ' '
define PRINT_KEYBOARD
$(info $(PRINTING_KEYBOARD))
endef
.PHONY: generate-keyboards-file .PHONY: generate-keyboards-file
generate-keyboards-file: generate-keyboards-file:
$(foreach PRINTING_KEYBOARD,$(KEYBOARDS),$(eval $(call PRINT_KEYBOARD))) util/list_keyboards.sh | sort -u
.PHONY: clean .PHONY: clean
clean: clean:
@@ -158,8 +102,6 @@ endif
# Uncomment these for debugging # Uncomment these for debugging
# $(info Keyboard: $(KEYBOARD)) # $(info Keyboard: $(KEYBOARD))
# $(info Keymap: $(KEYMAP)) # $(info Keymap: $(KEYMAP))
# $(info Subproject: $(SUBPROJECT))
# $(info Keyboards: $(KEYBOARDS))
# Set the default goal depending on where we are running make from # Set the default goal depending on where we are running make from
@@ -217,7 +159,6 @@ endef
# A recursive helper function for finding the longest match # A recursive helper function for finding the longest match
# $1 The list to be checked # $1 The list to be checked
# It works by always removing the currently matched item from the list # It works by always removing the currently matched item from the list
# and call itself recursively, until a match is found
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2 define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
# Stop the recursion when the list is empty # Stop the recursion when the list is empty
ifneq ($1,) ifneq ($1,)
@@ -294,7 +235,7 @@ define PARSE_RULE
$$(eval $$(call PARSE_TEST)) $$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue # If the rule starts with the name of a known keyboard, then continue
# the parsing from PARSE_KEYBOARD # the parsing from PARSE_KEYBOARD
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true) else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(shell util/list_keyboards.sh | sort -u)),true)
KEYBOARD_RULE=$$(MATCHED_ITEM) KEYBOARD_RULE=$$(MATCHED_ITEM)
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM))) $$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
# Otherwise use the KEYBOARD variable, which is determined either by # Otherwise use the KEYBOARD variable, which is determined either by
@@ -411,26 +352,9 @@ endef
# if we are going to compile all keyboards, match the rest of the rule # if we are going to compile all keyboards, match the rest of the rule
# for each of them # for each of them
define PARSE_ALL_KEYBOARDS define PARSE_ALL_KEYBOARDS
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS))) $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
endef endef
# $1 Subproject
# When entering this, the keyboard and subproject are known, so now we need
# to determine which keymaps are going to get compiled
# define PARSE_SUBPROJECT
# endef
# If we want to parse all subprojects, but the keyboard doesn't have any,
# then use defaultsp instead
# define PARSE_ALL_SUBPROJECTS
# ifeq ($$(SUBPROJECTS),)
# $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
# else
# $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
# endif
# endef
# Prints a list of all known keymaps for the given keyboard # Prints a list of all known keymaps for the given keyboard
define LIST_ALL_KEYMAPS define LIST_ALL_KEYMAPS
COMMAND_true_LIST_KEYMAPS := \ COMMAND_true_LIST_KEYMAPS := \
@@ -572,12 +496,12 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
endef endef
# Let's match everything, we handle all the rule parsing ourselves # Catch everything and parse the command line ourselves.
.PHONY: % .PHONY: %
%: %:
# Check if we have the CMP tool installed # Check if we have the CMP tool installed
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi; cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that bin/qmk works. This will be a failing check after the next develop merge on 2020 Aug 29. # Ensure that bin/qmk works. This will be a failing check after the next develop merge
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# Check if the submodules are dirty, and display a warning if they are # Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT ifndef SKIP_GIT
@@ -608,25 +532,6 @@ endif
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST)) $(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi; if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# These no longer work because of the colon system
# All should compile everything
# .PHONY: all
# all: all-keyboards test-all
# Define some shortcuts, mostly for compatibility with the old syntax
# .PHONY: all-keyboards
# all-keyboards: all\:all\:all
# .PHONY: all-keyboards-defaults
# all-keyboards-defaults: all\:default
# .PHONY: test
# test: test-all
# .PHONY: test-clean
# test-clean: test-all-clean
lib/%: lib/%:
git submodule sync $? git submodule sync $?
git submodule update --init $? git submodule update --init $?
+1 -1
View File
@@ -30,4 +30,4 @@ $(TEST)_SRC += $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
$(TEST)_DEFS=$(TMK_COMMON_DEFS) $(OPT_DEFS) $(TEST)_DEFS=$(TMK_COMMON_DEFS) $(OPT_DEFS)
$(TEST)_CONFIG=$(TEST_PATH)/config.h $(TEST)_CONFIG=$(TEST_PATH)/config.h
VPATH+=$(TOP_DIR)/tests/test_common VPATH+=$(TOP_DIR)/tests/test_common
+2 -3
View File
@@ -17,7 +17,7 @@ OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
GTEST_INC := \ GTEST_INC := \
$(LIB_PATH)/googletest/googletest/include\ $(LIB_PATH)/googletest/googletest/include\
$(LIB_PATH)/googletest/googlemock/include\ $(LIB_PATH)/googletest/googlemock/include\
GTEST_INTERNAL_INC :=\ GTEST_INTERNAL_INC :=\
$(LIB_PATH)/googletest/googletest\ $(LIB_PATH)/googletest/googletest\
$(LIB_PATH)/googletest/googlemock $(LIB_PATH)/googletest/googlemock
@@ -27,7 +27,7 @@ $(GTEST_OUTPUT)_SRC :=\
googletest/src/gtest_main.cc\ googletest/src/gtest_main.cc\
googlemock/src/gmock-all.cc googlemock/src/gmock-all.cc
$(GTEST_OUTPUT)_DEFS := $(GTEST_OUTPUT)_DEFS :=
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC) $(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
LDFLAGS += -lstdc++ -lpthread -shared-libgcc LDFLAGS += -lstdc++ -lpthread -shared-libgcc
@@ -66,4 +66,3 @@ include $(TMK_PATH)/rules.mk
$(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null) $(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
$(shell mkdir -p $(TEST_OBJ) 2>/dev/null) $(shell mkdir -p $(TEST_OBJ) 2>/dev/null)
-1
View File
@@ -50,4 +50,3 @@ This document marks the inaugural Breaking Change merge. A list of changes follo
* `KC_DELT` was a redundant, undocumented alias for `KC_DELETE` * `KC_DELT` was a redundant, undocumented alias for `KC_DELETE`
* It has been removed and all its uses replaced with the more common `KC_DEL` alias * It has been removed and all its uses replaced with the more common `KC_DEL` alias
* Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result * Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result
+1 -1
View File
@@ -24,7 +24,7 @@ Totally new to QMK? There are two ways to get started:
## Make It Yours ## Make It Yours
QMK has lots of [features](features.md) to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md). QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
## Need help? ## Need help?
+11 -1
View File
@@ -175,7 +175,7 @@ Creates a keymap.json from a keymap.c.
**Usage**: **Usage**:
``` ```
qmk c2json [--no-cpp] [-o OUTPUT] filename qmk c2json -km KEYMAP -kb KEYBOARD [-q] [--no-cpp] [-o OUTPUT] filename
``` ```
## `qmk lint` ## `qmk lint`
@@ -296,6 +296,16 @@ This command allows you to generate QMK documentation locally. It can be uses fo
qmk generate-docs qmk generate-docs
``` ```
## `qmk generate-rgb-breathe-table`
This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/`.
**Usage**:
```
qmk generate-rgb-breathe-table [-q] [-o OUTPUT] [-m MAX] [-c CENTER]
```
## `qmk kle2json` ## `qmk kle2json`
This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite. This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite.
+37 -8
View File
@@ -14,16 +14,11 @@ Some keyboards may have specific instructions for entering the bootloader. For e
To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button. To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button.
Alternatively, hold `BOOT` while inserting the USB cable. Alternatively, hold `BOOT` while inserting the USB cable.
Zadig will automatically detect the bootloader device. You may sometimes need to check **Options → List All Devices**. Zadig should automatically detect the bootloader device, but you may sometimes need to check **Options → List All Devices** and select the device from the dropdown instead.
- For keyboards with Atmel AVR MCUs, the bootloader will be named something similar to `ATm32U4DFU`, and have a Vendor ID of `03EB`.
- USBasp bootloaders will appear as `USBasp`, with a VID/PID of `16C0:05DC`.
- AVR keyboards flashed with the QMK-DFU bootloader will be named `<keyboard name> Bootloader` and will also have the VID `03EB`.
- For most ARM keyboards, it will be called `STM32 BOOTLOADER`, and have a VID/PID of `0483:DF11`.
!> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case! !> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case!
If the arrow appears green, select the driver, and click **Install Driver**. The `libusb-win32` driver will usually work for AVR, and `WinUSB` for ARM, but if you still cannot flash the board, try installing a different driver from the list. USBAspLoader devices must use the `libusbK` driver. If the arrow appears green, select the driver, and click **Install Driver**. See the [list of known bootloaders](#list-of-known-bootloaders) for the correct driver to install.
![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png) ![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png)
@@ -43,6 +38,40 @@ Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driv
![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png) ![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png)
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat the process until Zadig reports the correct driver.
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver. ?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver.
## List of Known Bootloaders
This is a list of known bootloader devices and their USB vendor and product IDs, as well as the correct driver to assign for flashing with QMK. Note that the usbser and HidUsb drivers are built in to Windows, and cannot be assigned with Zadig - if your device has an incorrect driver, you must use the Device Manager to uninstall it as described in the previous section.
The device name here is the name that appears in Zadig, and may not be what the Device Manager or QMK Toolbox displays.
|Bootloader |Device Name |VID/PID |Driver |
|-------------|------------------------------|--------------|-------|
|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |libusb0|
|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |libusb0|
|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |libusb0|
|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |libusb0|
|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |libusb0|
|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |libusb0|
|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|libusb0|
|`halfkay` |*none* |`16C0:0478` |HidUsb |
|`caterina` |Pro Micro 3.3V |`1B4F:9203` |usbser |
|`caterina` |Pro Micro 5V |`1B4F:9205` |usbser |
|`caterina` |LilyPadUSB |`1B4F:9207` |usbser |
|`caterina` |Pololu A-Star 32U4 Bootloader |`1FFB:0101` |usbser |
|`caterina` |Arduino Leonardo |`2341:0036` |usbser |
|`caterina` |Arduino Micro |`2341:0037` |usbser |
|`caterina` |Adafruit Feather 32u4 |`239A:000C` |usbser |
|`caterina` |Adafruit ItsyBitsy 32u4 3V |`239A:000D` |usbser |
|`caterina` |Adafruit ItsyBitsy 32u4 5V |`239A:000E` |usbser |
|`caterina` |Arduino Leonardo |`2A03:0036` |usbser |
|`caterina` |Arduino Micro |`2A03:0037` |usbser |
|`bootloadHID`|HIDBoot |`16C0:05DF` |HidUsb |
|`USBasp` |USBasp |`16C0:05DC` |libusbK|
|`apm32-dfu` |??? |`314B:0106` |WinUSB |
|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB |
|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB |
|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB |
+1
View File
@@ -40,6 +40,7 @@ Module | Equivalent `#define` | Source
-----------------|---------------------------------|------------------------------------------ -----------------|---------------------------------|------------------------------------------
CAT24C512 EEPROM | `#define EEPROM_I2C_CAT24C512` | <https://www.sparkfun.com/products/14764> CAT24C512 EEPROM | `#define EEPROM_I2C_CAT24C512` | <https://www.sparkfun.com/products/14764>
RM24C512C EEPROM | `#define EEPROM_I2C_RM24C512C` | <https://www.sparkfun.com/products/14764> RM24C512C EEPROM | `#define EEPROM_I2C_RM24C512C` | <https://www.sparkfun.com/products/14764>
24LC64 EEPROM | `#define EEPROM_I2C_24LC64` | <https://www.microchip.com/wwwproducts/en/24LC64>
24LC128 EEPROM | `#define EEPROM_I2C_24LC128` | <https://www.microchip.com/wwwproducts/en/24LC128> 24LC128 EEPROM | `#define EEPROM_I2C_24LC128` | <https://www.microchip.com/wwwproducts/en/24LC128>
24LC256 EEPROM | `#define EEPROM_I2C_24LC256` | <https://www.sparkfun.com/products/525> 24LC256 EEPROM | `#define EEPROM_I2C_24LC256` | <https://www.sparkfun.com/products/525>
MB85RC256V FRAM | `#define EEPROM_I2C_MB85RC256V` | <https://www.adafruit.com/product/1895> MB85RC256V FRAM | `#define EEPROM_I2C_MB85RC256V` | <https://www.adafruit.com/product/1895>
-1
View File
@@ -33,4 +33,3 @@ Soporte para hasta 2 controladores. Cada controlador implementa 2 matrices charl
## IS31FL3733 ## IS31FL3733
Soporte para hasta un solo controlador con espacio para expansión. Cada controlador puede controlar 192 LEDs individuales o 64 LEDs RGB. Para obtener más información sobre cómo configurar el controlador, consulta la página de [Matriz RGB](feature_rgb_matrix.md). Soporte para hasta un solo controlador con espacio para expansión. Cada controlador puede controlar 192 LEDs individuales o 64 LEDs RGB. Para obtener más información sobre cómo configurar el controlador, consulta la página de [Matriz RGB](feature_rgb_matrix.md).
-1
View File
@@ -148,4 +148,3 @@ The following old names for existing algorithms will continue to be supported, h
* eager_pk - old name for sym_eager_pk * eager_pk - old name for sym_eager_pk
* sym_pk - old name for sym_defer_pk * sym_pk - old name for sym_defer_pk
* eager_pr - old name for sym_eager_pr * eager_pr - old name for sym_eager_pr
+1 -1
View File
@@ -209,7 +209,7 @@ SEND_STRING(".."SS_TAP(X_END));
There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro, if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple. There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro, if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple.
?> You can also use the functions described in [Useful function](ref_functions.md) for additional functionality. For example `reset_keyboard()` allows you to reset the keyboard as part of a macro. ?> You can also use the functions described in [Useful functions](ref_functions.md) for additional functionality. For example `reset_keyboard()` allows you to reset the keyboard as part of a macro.
### `record->event.pressed` ### `record->event.pressed`
+1 -1
View File
@@ -29,7 +29,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
} }
``` ```
`raw_hid_receive` can receive variable size packets from host with maximum length `RAW_EPSIZE`. `raw_hid_send` on the other hand can send packets to host of exactly `RAW_EPSIZE` length, therefore it should be used with data of length `RAW_EPSIZE`. These two functions send and receive packets of length `RAW_EPSIZE` bytes to and from the host (32 on LUFA/ChibiOS/V-USB, 64 on ATSAM).
Make sure to flash raw enabled firmware before proceeding with working on the host side. Make sure to flash raw enabled firmware before proceeding with working on the host side.
+6
View File
@@ -306,6 +306,12 @@ To declare new effects, create a new `rgb_matrix_user/kb.inc` that looks somethi
`rgb_matrix_user.inc` should go in the root of the keymap directory. `rgb_matrix_user.inc` should go in the root of the keymap directory.
`rgb_matrix_kb.inc` should go in the root of the keyboard directory. `rgb_matrix_kb.inc` should go in the root of the keyboard directory.
To use custom effects in your code, simply prepend `RGB_MATRIX_CUSTOM_` to the effect name specified in `RGB_MATRIX_EFFECT()`. For example, an effect declared as `RGB_MATRIX_EFFECT(my_cool_effect)` would be referenced with:
```c
rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_cool_effect);
```
```c ```c
// !!! DO NOT ADD #pragma once !!! // // !!! DO NOT ADD #pragma once !!! //
-1
View File
@@ -85,4 +85,3 @@ While the tempo defines the absolute speed at which the sequencer goes through t
|`void sequencer_activate_track(uint8_t track);` |Activate the `track` | |`void sequencer_activate_track(uint8_t track);` |Activate the `track` |
|`void sequencer_deactivate_track(uint8_t track);` |Deactivate the `track` | |`void sequencer_deactivate_track(uint8_t track);` |Deactivate the `track` |
|`void sequencer_toggle_single_active_track(uint8_t track);` |Set `track` as the only active track or deactivate all | |`void sequencer_toggle_single_active_track(uint8_t track);` |Set `track` as the only active track or deactivate all |
-1
View File
@@ -129,4 +129,3 @@ As defined in `keymap_steno.h`.
|`STN_RES1`||(GeminiPR only)| |`STN_RES1`||(GeminiPR only)|
|`STN_RES2`||(GeminiPR only)| |`STN_RES2`||(GeminiPR only)|
|`STN_PWR`||(GeminiPR only)| |`STN_PWR`||(GeminiPR only)|
-1
View File
@@ -47,4 +47,3 @@ This configuration is from usbasploader's Makefile.
# | | +----- LB 2..1 (No memory lock features enabled) # | | +----- LB 2..1 (No memory lock features enabled)
# | +--------- BLB0 2..1 (No restrictions for SPM or LPM accessing the Application section) # | +--------- BLB0 2..1 (No restrictions for SPM or LPM accessing the Application section)
# +--------------- BLB1 2..1 (No restrictions for SPM or LPM accessing the Boot Loader section) # +--------------- BLB1 2..1 (No restrictions for SPM or LPM accessing the Boot Loader section)
+1 -1
View File
@@ -64,4 +64,4 @@
``` ```
מקמו את התיעוד שלכם בתוך `docs/feature_<my_cool_feature>.md`, והוסיפו קישור לקובץ זה במקום המתאים ב `docs/_sidebar.md`. אם הוספתם קודי מקשים נוספים, תקפידו להוסיף אותם ל- `docs/keycodes.md` עם לינק לעמוד היכולת שלכם. מקמו את התיעוד שלכם בתוך `docs/feature_<my_cool_feature>.md`, והוסיפו קישור לקובץ זה במקום המתאים ב `docs/_sidebar.md`. אם הוספתם קודי מקשים נוספים, תקפידו להוסיף אותם ל- `docs/keycodes.md` עם לינק לעמוד היכולת שלכם.
</div> </div>
+1 -1
View File
@@ -5,4 +5,4 @@
* [בנייה או קומפילציה של QMK](faq_build.md) * [בנייה או קומפילציה של QMK](faq_build.md)
* [דיבאגינג ופתרון בעיות של QMK](faq_debug.md) * [דיבאגינג ופתרון בעיות של QMK](faq_debug.md)
* [מיפוי מקשים](faq_keymap.md) * [מיפוי מקשים](faq_keymap.md)
</div> </div>
+1 -1
View File
@@ -14,4 +14,4 @@ TMK עוצב ומומש במקור ע״י [Jun Wako](https://github.com/tmk). QM
מנק׳ מבט של הפרוייקט וניהול הקהילה, TMK מנהל את כל המקלדות הנתמכות בעצמו, עם מעט תמיכה מהקהילה. כל אחד יכול לעשות פורק מהפרוייקט עבור מקלדות אחרות. רק מס׳ מיפויי מקשים נמצאים בברירת המחדל כך שאנשים בד״כ לא משתפים מיפויי מקשים זה עם זה. QMK מעודד את השיתוף של המקלדות וקודי המקשים דרך רפוזיטורי בניהול מרכזי, אשר מקבל את כל בקשות ה- Pull Requests שעומדות בסטנדרט האיכות. רובם מנוהלות ע״י הקהילה, אבל הצוות של QMK עוזר כשנדרש. מנק׳ מבט של הפרוייקט וניהול הקהילה, TMK מנהל את כל המקלדות הנתמכות בעצמו, עם מעט תמיכה מהקהילה. כל אחד יכול לעשות פורק מהפרוייקט עבור מקלדות אחרות. רק מס׳ מיפויי מקשים נמצאים בברירת המחדל כך שאנשים בד״כ לא משתפים מיפויי מקשים זה עם זה. QMK מעודד את השיתוף של המקלדות וקודי המקשים דרך רפוזיטורי בניהול מרכזי, אשר מקבל את כל בקשות ה- Pull Requests שעומדות בסטנדרט האיכות. רובם מנוהלות ע״י הקהילה, אבל הצוות של QMK עוזר כשנדרש.
לשתי הגישות יש יתרונות וחסרונות וקוד עובר בחופשיות בין TMK ל- QMK כשצריך. לשתי הגישות יש יתרונות וחסרונות וקוד עובר בחופשיות בין TMK ל- QMK כשצריך.
</div> </div>
+1 -1
View File
@@ -14,4 +14,4 @@
## סוגיות GitHub ## סוגיות GitHub
ניתן לפתוח [סוגייה ב-GitHub](https://github.com/qmk/qmk_firmware/issues). הדבר שימושי במיוחד כאשר הסוגיה דורשת דיון עמוק וארוך או דיבאגינג. ניתן לפתוח [סוגייה ב-GitHub](https://github.com/qmk/qmk_firmware/issues). הדבר שימושי במיוחד כאשר הסוגיה דורשת דיון עמוק וארוך או דיבאגינג.
</div> </div>
+1 -1
View File
@@ -7,4 +7,4 @@ QMK רצה על מגוון של חומרות. אם המעבד שלך יכול ל
* [מעבדי AVR](hardware_avr.md) * [מעבדי AVR](hardware_avr.md)
* מעבדי ARM (TBD) * מעבדי ARM (TBD)
* [מנהלי התקנים](hardware_drivers.md) * [מנהלי התקנים](hardware_drivers.md)
</div> </div>
+1 -1
View File
@@ -13,4 +13,4 @@
מקורות לפקודות שורה (Command Line): מקורות לפקודות שורה (Command Line):
* [מדריך טוב על Command Line](https://www.codecademy.com/learn/learn-the-command-line) * [מדריך טוב על Command Line](https://www.codecademy.com/learn/learn-the-command-line)
</div> </div>
+5
View File
@@ -126,6 +126,10 @@
headings: 'h1, h2', headings: 'h1, h2',
title: 'Table of Contents', title: 'Table of Contents',
}, },
tabs: {
persist : false,
tabComments: false,
},
plugins: [ plugins: [
function (hook, vm) { function (hook, vm) {
hook.beforeEach(function (html) { hook.beforeEach(function (html) {
@@ -148,6 +152,7 @@
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script> <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script> <script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/emoji.min.js"></script> <script src="//unpkg.com/docsify/lib/plugins/emoji.min.js"></script>
<script src="//unpkg.com/docsify-tabs@1"></script>
<script src="//unpkg.com/docsify-copy-code@2"></script> <script src="//unpkg.com/docsify-copy-code@2"></script>
<script src="//unpkg.com/[email protected]/dist/toc.js"></script> <script src="//unpkg.com/[email protected]/dist/toc.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script> <script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>
-2
View File
@@ -43,5 +43,3 @@ endif
* eager_pk - キーごとにデバウンスします。状態が変化すると、応答は即座に行われ、その後そのキーは ```DEBOUNCE``` ミリ秒の間入力されません。 * eager_pk - キーごとにデバウンスします。状態が変化すると、応答は即座に行われ、その後そのキーは ```DEBOUNCE``` ミリ秒の間入力されません。
* sym_g - キーボードごとにデバウンスします。状態が変化すると、グローバルタイマが設定されます。```DEBOUNCE``` ミリ秒の間何も変化がなければ、全ての入力の変更がプッシュされます。 * sym_g - キーボードごとにデバウンスします。状態が変化すると、グローバルタイマが設定されます。```DEBOUNCE``` ミリ秒の間何も変化がなければ、全ての入力の変更がプッシュされます。
* sym_pk - キーごとにデバウンスします。状態が変化すると、キーごとのタイマーが設定されます。```DEBOUNCE``` ミリ秒の間そのキーに変化がなければ、キーの状態の変更がプッシュされます。 * sym_pk - キーごとにデバウンスします。状態が変化すると、キーごとのタイマーが設定されます。```DEBOUNCE``` ミリ秒の間そのキーに変化がなければ、キーの状態の変更がプッシュされます。
-1
View File
@@ -171,4 +171,3 @@
* `device` 関連するデバイス * `device` 関連するデバイス
* `func` 登録するコールバック関数 * `func` 登録するコールバック関数
+11 -11
View File
@@ -124,17 +124,17 @@ See also: [Basic Keycodes](keycodes_basic.md)
|`KC_F22` | |F22 |✔ | |✔ | |`KC_F22` | |F22 |✔ | |✔ |
|`KC_F23` | |F23 |✔ | |✔ | |`KC_F23` | |F23 |✔ | |✔ |
|`KC_F24` | |F24 |✔ | |✔ | |`KC_F24` | |F24 |✔ | |✔ |
|`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ | |`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ |
|`KC_HELP` | |Help | | |✔ | |`KC_HELP` | |Help | | |✔ |
|`KC_MENU` | |Menu | | |✔ | |`KC_MENU` | |Menu | | |✔ |
|`KC_SELECT` |`KC_SLCT` |Select | | |✔ | |`KC_SELECT` |`KC_SLCT` |Select | | |✔ |
|`KC_STOP` | |Stop | | |✔ | |`KC_STOP` | |Stop | | |✔ |
|`KC_AGAIN` |`KC_AGIN` |Again | | |✔ | |`KC_AGAIN` |`KC_AGIN` |Again | | |✔ |
|`KC_UNDO` | |Undo | | |✔ | |`KC_UNDO` | |Undo | | |✔ |
|`KC_CUT` | |Cut | | |✔ | |`KC_CUT` | |Cut | | |✔ |
|`KC_COPY` | |Copy | | |✔ | |`KC_COPY` | |Copy | | |✔ |
|`KC_PASTE` |`KC_PSTE` |Paste | | |✔ | |`KC_PASTE` |`KC_PSTE` |Paste | | |✔ |
|`KC_FIND` | |Find | | |✔ | |`KC_FIND` | |Find | | |✔ |
|`KC__MUTE` | |Mute | |✔ |✔ | |`KC__MUTE` | |Mute | |✔ |✔ |
|`KC__VOLUP` | |Volume Up | |✔ |✔ | |`KC__VOLUP` | |Volume Up | |✔ |✔ |
|`KC__VOLDOWN` | |Volume Down | |✔ |✔ | |`KC__VOLDOWN` | |Volume Down | |✔ |✔ |
+71 -71
View File
@@ -144,48 +144,48 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
## Commands ## Commands
|Key |Aliases |Description | |Key |Aliases |Description |
|------------------|------------------------------|------------------------------| |------------------|------------------------------|--------------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen | |`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) | |`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
|`KC_INSERT` |`KC_INS` |Insert | |`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home | |`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up | |`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete | |`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End | |`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down | |`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |Right Arrow | |`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_LEFT` | |Left Arrow | |`KC_LEFT` | |Left Arrow |
|`KC_DOWN` | |Down Arrow | |`KC_DOWN` | |Down Arrow |
|`KC_UP` | |Up Arrow | |`KC_UP` | |Up Arrow |
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)| |`KC_APPLICATION` |`KC_APP` |Application (Windows Context Menu Key)|
|`KC_POWER` | |System Power (macOS/Linux) | |`KC_POWER` | |System Power |
|`KC_EXECUTE` |`KC_EXEC` |Execute | |`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help | |`KC_HELP` | |Help |
|`KC_MENU` | |Menu | |`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select | |`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop | |`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again | |`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |Undo | |`KC_UNDO` | |Undo |
|`KC_CUT` | |Cut | |`KC_CUT` | |Cut |
|`KC_COPY` | |Copy | |`KC_COPY` | |Copy |
|`KC_PASTE` |`KC_PSTE` |Paste | |`KC_PASTE` |`KC_PSTE` |Paste |
|`KC_FIND` | |Find | |`KC_FIND` | |Find |
|`KC__MUTE` | |Mute (macOS) | |`KC__MUTE` | |Mute |
|`KC__VOLUP` | |Volume Up (macOS) | |`KC__VOLUP` | |Volume Up |
|`KC__VOLDOWN` | |Volume Down (macOS) | |`KC__VOLDOWN` | |Volume Down |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase | |`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention | |`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel | |`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear | |`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior | |`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return | |`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator | |`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out | |`KC_OUT` | |Out |
|`KC_OPER` | |Oper | |`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again | |`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props | |`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel | |`KC_EXSEL` | |ExSel |
## Media Keys ## Media Keys
@@ -193,34 +193,34 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
?> Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes `KC_MEDIA_FAST_FORWARD`, `KC_MEDIA_REWIND`, `KC_MEDIA_NEXT_TRACK` and `KC_MEDIA_PREV_TRACK` skip within the current track when held, but skip the entire track when tapped. ?> Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes `KC_MEDIA_FAST_FORWARD`, `KC_MEDIA_REWIND`, `KC_MEDIA_NEXT_TRACK` and `KC_MEDIA_PREV_TRACK` skip within the current track when held, but skip the entire track when tapped.
|Key |Aliases |Description | |Key |Aliases |Description |
|-----------------------|---------|-----------------------------| |-----------------------|---------|-------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down | |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep | |`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake | |`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute | |`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up | |`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down | |`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track | |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track | |`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track (Windows) | |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track | |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player (Windows)| |`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) | |`KC_MEDIA_EJECT` |`KC_EJCT`|Eject |
|`KC_MAIL` | |Launch Mail (Windows) | |`KC_MAIL` | |Launch Mail |
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator (Windows) | |`KC_CALCULATOR` |`KC_CALC`|Launch Calculator |
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer (Windows) | |`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer |
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search (Windows) | |`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search |
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home (Windows) | |`KC_WWW_HOME` |`KC_WHOM`|Browser Home |
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back (Windows) | |`KC_WWW_BACK` |`KC_WBAK`|Browser Back |
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward (Windows) | |`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward |
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop (Windows) | |`KC_WWW_STOP` |`KC_WSTP`|Browser Stop |
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh (Windows) | |`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh |
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites (Windows) | |`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) | |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track |
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) | |`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track |
|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up | |`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down | |`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
## Number Pad ## Number Pad
@@ -248,7 +248,7 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
## Special Keys ## Special Keys
In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK. In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use.
|Key |Aliases |Description | |Key |Aliases |Description |
|----------------|--------------------|---------------------------------------| |----------------|--------------------|---------------------------------------|
+76 -14
View File
@@ -37,26 +37,45 @@ We've tried to make QMK as easy to set up as possible. You only have to prepare
[Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br> [Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br>
[Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html) [Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### Windows <!-- tabs:start -->
You will need to install MSYS2, Git, and the QMK CLI. ### ** Windows **
Follow the installation instructions on the [MSYS2 homepage](http://www.msys2.org). Close any open MSYS terminals and open a new MinGW 64-bit terminal. **NOTE: This is *not* the same as the MSYS terminal that opens when installation is completed.** #### Prerequisites
Then, run the following: You will need to install MSYS2, Git and Python. Follow the installation instructions on https://www.msys2.org.
Once MSYS2 is installed, close any open MSYS terminals and open a new MinGW 64-bit terminal.
!> **NOTE:** The MinGW 64-bit terminal is *not* the same as the MSYS terminal that opens when installation is completed. Your prompt should say "MINGW64" in purple text, rather than "MSYS". See [this page](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems) for more information on the differences.
Then run the following command:
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip
#### Installation
Install the QMK CLI by running:
python3 -m pip install qmk python3 -m pip install qmk
### macOS ### ** macOS **
You will need to install Homebrew. Follow the instructions on the [Homebrew homepage](https://brew.sh). QMK maintains a Homebrew tap and formula which will automatically install the CLI and all necessary dependencies.
After Homebrew is installed run this command: #### Prerequisites
You will need to install Homebrew. Follow the instructions on https://brew.sh.
#### Installation
Install the QMK CLI by running:
brew install qmk/qmk/qmk brew install qmk/qmk/qmk
### Linux ### ** Linux/WSL **
#### Prerequisites
You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them: You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them:
@@ -66,30 +85,63 @@ You will need to install Git and Python. It's very likely that you already have
* Void: `sudo xbps-install -y git python3-pip` * Void: `sudo xbps-install -y git python3-pip`
* Solus: `sudo eopkg -y install git python3` * Solus: `sudo eopkg -y install git python3`
* Sabayon: `sudo equo install dev-vcs/git dev-python/pip` * Sabayon: `sudo equo install dev-vcs/git dev-python/pip`
* Gentoo: `sudo emerge dev-vcs/git dev-python/pip`
Install the global CLI to bootstrap your system: #### Installation
`python3 -m pip install --user qmk` (on Arch-based distros you can also try the `qmk` package from AUR (**note**: it's maintained by a community member): `yay -S qmk`) Install the QMK CLI by running:
### FreeBSD python3 -m pip install --user qmk
On Arch-based distros you can also try the `qmk` package from AUR (**NOTE**: this package is maintained by a community member, and at the time of writing marks some dependencies as optional that should not be):
yay -S qmk
### ** FreeBSD **
#### Prerequisites
You will need to install Git and Python. It's possible that you already have both, but if not, run the following commands to install them: You will need to install Git and Python. It's possible that you already have both, but if not, run the following commands to install them:
pkg install git python3 pkg install git python3
Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally install Python packages are available. Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally installed Python packages are available.
Once installed, you can install QMK CLI: #### Installation
Install the QMK CLI by running:
python3 -m pip install --user qmk python3 -m pip install --user qmk
<!-- tabs:end -->
## 3. Run QMK Setup :id=set-up-qmk ## 3. Run QMK Setup :id=set-up-qmk
<!-- tabs:start -->
### ** Windows **
After installing QMK you can set it up with this command: After installing QMK you can set it up with this command:
qmk setup qmk setup
In most situations you will want to answer Yes to all of the prompts. In most situations you will want to answer `y` to all of the prompts.
### ** macOS **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
### ** Linux/WSL **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
?>**Note on Debian, Ubuntu and their derivatives**: ?>**Note on Debian, Ubuntu and their derivatives**:
It's possible, that you will get an error saying something like: `bash: qmk: command not found`. It's possible, that you will get an error saying something like: `bash: qmk: command not found`.
@@ -97,12 +149,22 @@ This is due to a [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155)
Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562). Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562).
Luckily, the fix is easy. Run this as your user: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc` Luckily, the fix is easy. Run this as your user: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`
### ** FreeBSD **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
?>**Note on FreeBSD**: ?>**Note on FreeBSD**:
It is suggested to run `qmk setup` as a non-`root` user to start with, but this will likely identify packages that need to be installed to your It is suggested to run `qmk setup` as a non-`root` user to start with, but this will likely identify packages that need to be installed to your
base system using `pkg`. However the installation will probably fail when run as an unprivileged user. base system using `pkg`. However the installation will probably fail when run as an unprivileged user.
To manually install the base dependencies, run `./util/qmk_install.sh` either as `root`, or with `sudo`. To manually install the base dependencies, run `./util/qmk_install.sh` either as `root`, or with `sudo`.
Once that completes, re-run `qmk setup` to complete the setup and checks. Once that completes, re-run `qmk setup` to complete the setup and checks.
<!-- tabs:end -->
?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>/qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message. ?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>/qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message.
## 4. Test Your Build Environment ## 4. Test Your Build Environment
+1 -1
View File
@@ -61,4 +61,4 @@ To implement your own version of this function, in your keyboard's source files:
void board_init(void) { void board_init(void) {
// initialize anything that requires ChibiOS // initialize anything that requires ChibiOS
} }
``` ```
+17
View File
@@ -27,3 +27,20 @@
.markdown-section hr, .search { .markdown-section hr, .search {
border-bottom: 1px solid #777 !important; border-bottom: 1px solid #777 !important;
} }
:root {
--docsifytabs-border-color: #555;
--docsifytabs-tab-highlight-color: var(--theme-color,#ea6f5a);
--docsifytabs-tab-background: #444;
--docsifytabs-tab-background-active: #3f3f3f;
}
.docsify-tabs__tab:focus {
outline: none !important;
}
.docsify-tabs__content .anchor {
transition: none;
}
+17
View File
@@ -28,3 +28,20 @@
.markdown-section pre { .markdown-section pre {
padding: 0; padding: 0;
} }
:root {
--docsifytabs-border-color: #ddd;
--docsifytabs-tab-highlight-color: var(--theme-color, #0074d9);
--docsifytabs-tab-background: #f8f8f8;
--docsifytabs-tab-background-active: transparent;
}
.docsify-tabs__tab:focus {
outline: none !important;
}
.docsify-tabs__content .anchor {
transition: none;
}
+2 -4
View File
@@ -1,5 +1,3 @@
#ifndef LCD_H
#define LCD_H
/************************************************************************* /*************************************************************************
Title : C include file for the HD44780U LCD library (lcd.c) Title : C include file for the HD44780U LCD library (lcd.c)
Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury
@@ -43,6 +41,8 @@
*/ */
#pragma once
#include <inttypes.h> #include <inttypes.h>
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
@@ -346,5 +346,3 @@ extern void lcd_data(uint8_t data);
#define lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) #define lcd_puts_P(__s) lcd_puts_p(PSTR(__s))
/**@}*/ /**@}*/
#endif // LCD_H
+1 -4
View File
@@ -17,8 +17,7 @@
* GitHub repository: https://github.com/g4lvanix/I2C-master-lib * GitHub repository: https://github.com/g4lvanix/I2C-master-lib
*/ */
#ifndef I2C_MASTER_H #pragma once
#define I2C_MASTER_H
#define I2C_READ 0x01 #define I2C_READ 0x01
#define I2C_WRITE 0x00 #define I2C_WRITE 0x00
@@ -42,5 +41,3 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16
i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout); i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
void i2c_stop(void); void i2c_stop(void);
#endif // I2C_MASTER_H
+1 -4
View File
@@ -20,8 +20,7 @@
Read or write to the necessary buffer according to the opperation. Read or write to the necessary buffer according to the opperation.
*/ */
#ifndef I2C_SLAVE_H #pragma once
#define I2C_SLAVE_H
#define I2C_SLAVE_REG_COUNT 30 #define I2C_SLAVE_REG_COUNT 30
@@ -29,5 +28,3 @@ extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT];
void i2c_slave_init(uint8_t address); void i2c_slave_init(uint8_t address);
void i2c_slave_stop(void); void i2c_slave_stop(void);
#endif // I2C_SLAVE_H
+1 -4
View File
@@ -1,5 +1,4 @@
#ifndef SSD1306_H #pragma once
#define SSD1306_H
#include <stdbool.h> #include <stdbool.h>
#include <stdio.h> #include <stdio.h>
@@ -86,5 +85,3 @@ void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c);
void matrix_write(struct CharacterMatrix *matrix, const char *data); void matrix_write(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data); void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix); void matrix_render(struct CharacterMatrix *matrix);
#endif
+1 -1
View File
@@ -1,6 +1,6 @@
#include "quantum.h" #include "quantum.h"
#include "serial.h" #include "serial.h"
#include "printf.h" #include "print.h"
#include <ch.h> #include <ch.h>
#include <hal.h> #include <hal.h>
+6 -6
View File
@@ -118,7 +118,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit)) # define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit))
/** /**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
@@ -130,7 +130,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit)) # define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit))
/** /**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
@@ -142,7 +142,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit)) # define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
/** /**
@@ -155,7 +155,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 0, (bit)) # define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 0, (bit))
/** /**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
@@ -167,7 +167,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 1, (bit)) # define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 1, (bit))
/** /**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
@@ -179,7 +179,7 @@
* *
* @return The bit index * @return The bit index
*/ */
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit)) # define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
#endif #endif
/* --- PRIVATE VARIABLES ---------------------------------------------------- */ /* --- PRIVATE VARIABLES ---------------------------------------------------- */
+1 -1
View File
@@ -69,7 +69,7 @@ static void set_led_color_rgb(LED_TYPE color, int pos) {
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j); for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j);
#endif #endif
} }
+5
View File
@@ -49,6 +49,11 @@
# define EXTERNAL_EEPROM_PAGE_SIZE 64 # define EXTERNAL_EEPROM_PAGE_SIZE 64
# define EXTERNAL_EEPROM_ADDRESS_SIZE 2 # define EXTERNAL_EEPROM_ADDRESS_SIZE 2
# define EXTERNAL_EEPROM_WRITE_TIME 5 # define EXTERNAL_EEPROM_WRITE_TIME 5
#elif defined(EEPROM_I2C_24LC64)
# define EXTERNAL_EEPROM_BYTE_COUNT 8192
# define EXTERNAL_EEPROM_PAGE_SIZE 32
# define EXTERNAL_EEPROM_ADDRESS_SIZE 2
# define EXTERNAL_EEPROM_WRITE_TIME 5
#elif defined(EEPROM_I2C_MB85RC256V) #elif defined(EEPROM_I2C_MB85RC256V)
# define EXTERNAL_EEPROM_BYTE_COUNT 32768 # define EXTERNAL_EEPROM_BYTE_COUNT 32768
# define EXTERNAL_EEPROM_PAGE_SIZE 128 # define EXTERNAL_EEPROM_PAGE_SIZE 128
+1 -4
View File
@@ -21,8 +21,6 @@
#include <math.h> #include <math.h>
uint8_t DRV2605L_transfer_buffer[2]; uint8_t DRV2605L_transfer_buffer[2];
uint8_t DRV2605L_tx_register[0];
uint8_t DRV2605L_read_buffer[0];
uint8_t DRV2605L_read_register; uint8_t DRV2605L_read_register;
void DRV_write(uint8_t drv_register, uint8_t settings) { void DRV_write(uint8_t drv_register, uint8_t settings) {
@@ -32,8 +30,7 @@ void DRV_write(uint8_t drv_register, uint8_t settings) {
} }
uint8_t DRV_read(uint8_t regaddress) { uint8_t DRV_read(uint8_t regaddress) {
i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, DRV2605L_read_buffer, 1, 100); i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, &DRV2605L_read_register, 1, 100);
DRV2605L_read_register = (uint8_t)DRV2605L_read_buffer[0];
return DRV2605L_read_register; return DRV2605L_read_register;
} }
+1 -1
View File
@@ -403,4 +403,4 @@ typedef union DRVREG_CTRL5 { /* register 0x1F */
uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; uint8_t C5_LRA_AUTO_OPEN_LOOP : 1;
uint8_t C5_AUTO_OL_CNT : 2; uint8_t C5_AUTO_OL_CNT : 2;
} Bits; } Bits;
} DRVREG_CTRL5; } DRVREG_CTRL5;
+1 -1
View File
@@ -75,7 +75,7 @@ uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}};
#elif LED_DRIVER_COUNT == 4 #elif LED_DRIVER_COUNT == 4
uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}}; uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}};
#endif #endif
bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false};
// This is the bit pattern in the LED control registers // This is the bit pattern in the LED control registers
// (for matrix A, add one to register for matrix B) // (for matrix A, add one to register for matrix B)
+1 -1
View File
@@ -32,7 +32,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "util/font5x7.h" #include "util/font5x7.h"
#include "util/font8x16.h" #include "util/font8x16.h"
#include "string.h" #include <string.h>
#define TOTALFONTS 2 #define TOTALFONTS 2
const unsigned char* fonts_pointer[] = {font5x7, font8x16}; const unsigned char* fonts_pointer[] = {font5x7, font8x16};
+1 -1
View File
@@ -1,3 +1,3 @@
GFXINC += drivers/ugfx/gdisp/is31fl3731c GFXINC += drivers/ugfx/gdisp/is31fl3731c
GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK
View File
Whitespace-only changes.
+1 -1
View File
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
/* key matrix size */ /* key matrix size */
#define MATRIX_ROWS 4 #define MATRIX_ROWS 4
#define MATRIX_COLS 3 #define MATRIX_COLS 3
#define MATRIX_ROW_PINS { F6, F5, F4, F1 } #define MATRIX_ROW_PINS { F0, F5, F4, F6 }
#define MATRIX_COL_PINS { D6, D7, B5 } #define MATRIX_COL_PINS { D6, D7, B5 }
#define UNUSED_PINS #define UNUSED_PINS
Whitespace-only changes.
+2 -2
View File
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xCEEB #define VENDOR_ID 0x3430 // "40"
#define PRODUCT_ID 0x0510 #define PRODUCT_ID 0x4D68 // "M68"
#define DEVICE_VER 0x0101 #define DEVICE_VER 0x0101
#define MANUFACTURER di0ib #define MANUFACTURER di0ib
#define PRODUCT MF68 #define PRODUCT MF68
@@ -0,0 +1,49 @@
/* Copyright 2020 MechMerlin
*
* 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_68_ansi(
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_INS, 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_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_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, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_68_ansi(
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_BSPC, KC_VOLU, KC_HOME,
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, _______, KC_VOLD, KC_END,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
),
[2] = LAYOUT_68_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_68_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+1 -1
View File
@@ -16,7 +16,7 @@
{ K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \ { K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \ { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
{ K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \ { K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \
{ K70, K71, K72, K73, K74 } \ { K70, K71, K72, K73, K74, KC_NO, KC_NO, KC_NO, KC_NO } \
} }
#define LAYOUT_kc( \ #define LAYOUT_kc( \
+2 -2
View File
@@ -14,7 +14,7 @@ BOOTLOADER = caterina
# Build Options # Build Options
# change yes to no to disable # change yes to no to disable
# #
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug CONSOLE_ENABLE = no # Console for debug
@@ -22,7 +22,7 @@ COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 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 # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI controls MIDI_ENABLE = no # MIDI controls
+1 -1
View File
@@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <avr/io.h> #include <avr/io.h>
#include "stdint.h" #include <stdint.h>
#include "led.h" #include "led.h"
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
@@ -0,0 +1,10 @@
{
"keyboard": "abacus",
"keymap": "default",
"layout": "LAYOUT",
"layers": [
["KC_ESCAPE", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPACE", "KC_TAB", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCOLON", "KC_BSLASH", "KC_LSHIFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMMA", "KC_DOT", "KC_UP", "KC_DELETE", "KC_LCTRL", "KC_LGUI", "MO(1)", "KC_SPACE", "KC_ENTER", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT"],
["KC_GRAVE", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_LBRACKET", "KC_RBRACKET", "KC_QUOTE", "KC_SLASH", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MINUS", "KC_EQUAL", "KC_TRNS", "KC_TRNS", "KC_LALT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_HOME", "KC_TRNS", "KC_END"],
["KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_TRNS", "KC_TRNS", "KC_F11", "KC_F12", "RGB_MODE_PLAIN", "RGB_MODE_BREATHE", "RGB_MODE_RAINBOW", "RGB_MODE_SWIRL", "RGB_MODE_SNAKE", "RGB_MODE_KNIGHT", "RGB_MODE_GRADIENT", "KC_NO", "RGB_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUI", "KC_CAPS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
]
}
@@ -0,0 +1 @@
UNICODEMAP_ENABLE = yes
-1
View File
@@ -29,7 +29,6 @@ MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6 AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
UNICODEMAP_ENABLE = yes
ENCODER_ENABLE = yes ENCODER_ENABLE = yes
DIP_SWITCH_ENABLE = yes DIP_SWITCH_ENABLE = yes
LTO_ENABLE = yes LTO_ENABLE = yes
View File
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
+1 -1
View File
@@ -1,3 +1,3 @@
#pragma once #pragma once
#include <common/matrix.h> #include "common/matrix.h"
-2
View File
@@ -208,8 +208,6 @@ uint32_t layer_state_set_kb(uint32_t state) {
if (is_keyboard_master()) if (is_keyboard_master())
{ {
current_layer = biton32(state);
serial_m2s_buffer.current_layer = biton32(state); serial_m2s_buffer.current_layer = biton32(state);
// If left half, do the LED toggle thing // If left half, do the LED toggle thing
-2
View File
@@ -56,8 +56,6 @@
{ R40, R41, R42, R43, R44, R45, KC_NO } \ { R40, R41, R42, R43, R44, R45, KC_NO } \
} }
uint8_t current_layer;
extern void led_toggle(int id, bool on); extern void led_toggle(int id, bool on);
void set_all_leds(bool leds[6]); void set_all_leds(bool leds[6]);
extern void set_layer_indicators(uint8_t layer); extern void set_layer_indicators(uint8_t layer);
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once #pragma once
#include <common/matrix.h> #include "common/matrix.h"
#define ROWS_PER_HAND (MATRIX_ROWS/2) #define ROWS_PER_HAND (MATRIX_ROWS/2)
@@ -16,8 +16,8 @@
* generator plugin. Do not edit manually. * generator plugin. Do not edit manually.
*/ */
#include "hal.h" #include <hal.h>
#include "stm32_gpio.h" #include <stm32_gpio.h>
/*===========================================================================*/ /*===========================================================================*/
/* Driver local definitions. */ /* Driver local definitions. */
+54
View File
@@ -0,0 +1,54 @@
{
"keyboard_name": "aleth42",
"url": "http://www.sho-k.co.uk/tech/aleth42",
"maintainer": "monksoffunk",
"width": 12,
"height": 4,
"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":0, "y":1, "w":1.25},
{"x":1.25, "y":1},
{"x":2.25, "y":1},
{"x":3.25, "y":1},
{"x":4.25, "y":1},
{"x":5.25, "y":1},
{"x":6.25, "y":1},
{"x":7.25, "y":1},
{"x":8.25, "y":1},
{"x":9.25, "y":1},
{"x":10.25, "y":1, "w":1.75},
{"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, "w":1.25},
{"x":0, "y":3, "w":1.25},
{"x":1.25, "y":3},
{"x":2.25, "y":3, "w":1.25},
{"x":3.5, "y":3, "w":2.75},
{"x":6.25, "y":3, "w":2.25},
{"x":8.5, "y":3, "w":1.25},
{"x":9.75, "y":3},
{"x":10.75, "y":3, "w":1.25}]
}
}
}
+149
View File
@@ -0,0 +1,149 @@
/* Copyright 2020 monksoffunk
*
* 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 {
_QWERTY,
_LOWER,
_RAISE,
_ADJUST,
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QWERTY = SAFE_RANGE,
LOWER,
RAISE,
ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default Layer
* ,-----------------------------------------------------------.
* | Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
* |-----------------------------------------------------------|
* | Tab | A | S | D | F | G | H | J | K | L | Ent |
* |-----------------------------------------------------------|
* | LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
* |-----------------------------------------------------------|
* | LCtl | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
* `-----------------------------------------------------------'
*/
[_QWERTY] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(_ADJUST, KC_SLSH),
KC_LCTL, KC_LALT , KC_LGUI, LT(_LOWER, KC_SPC), LT(_RAISE, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL
),
/* Lower Layer
* ,-----------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
* |-----------------------------------------------------------|
* | | | | | | | _ | + | { | } | Pipe |
* |-----------------------------------------------------------|
* | | | | | | | | ; | ' | Up | |
* |-----------------------------------------------------------|
* | | | | | |Left|Down|Right |
* `-----------------------------------------------------------'
*/
[_LOWER] = LAYOUT(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
_______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_UP, _______,
_______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Raise Layer
* ,-----------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
* |-----------------------------------------------------------|
* | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
* |-----------------------------------------------------------|
* | F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
* |-----------------------------------------------------------|
* | | | | | | | | |
* `-----------------------------------------------------------'
*/
[_RAISE] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
/* Adjust Layer
* ,-----------------------------------------------------------.
* |Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
* |-----------------------------------------------------------|
* | |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
* |-----------------------------------------------------------|
* | Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
* |-----------------------------------------------------------|
* |SLEEP| | | | | | | |
* `-----------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, BL_TOGG, BL_STEP, BL_INC, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12,
KC_CAPS, RESET, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______,
KC_SLEP, _______, _______, _______, _______, _______, _______, _______
),
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* Left encoder */
switch (get_highest_layer(layer_state)) {
case _QWERTY:
if (clockwise) {
tap_code(KC_TAB);
} else {
tap_code16(S(KC_TAB));
}
break;
case _RAISE:
if (clockwise) {
// tap_code(KC_VOLU);
if(keymap_config.swap_lalt_lgui==false){
tap_code(KC_LANG2);
}else {
tap_code16(A(KC_GRV));
}
} else {
if(keymap_config.swap_lalt_lgui==false){
tap_code(KC_LANG1);
} else {
tap_code16(A(KC_GRV));
}
}
break;
case _ADJUST:
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
} else if (index == 1) { /* Right encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
}
@@ -0,0 +1,50 @@
# The default keymap for aleth42
Default Layer
,-----------------------------------------------------------.
| Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
|-----------------------------------------------------------|
| Tab | A | S | D | F | G | H | J | K | L | Ent |
|-----------------------------------------------------------|
| LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
|-----------------------------------------------------------|
| Lctl | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
`-----------------------------------------------------------'
Lower Layer = fn0
,-----------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
|-----------------------------------------------------------|
| | | | | | | _ | + | { | } | Pipe |
|-----------------------------------------------------------|
| | | | | | | | ; | ' | Up | |
|-----------------------------------------------------------|
| | | | | |Left|Down|Right |
`-----------------------------------------------------------'
Raise Layer = fn1
,-----------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
|-----------------------------------------------------------|
| F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
|-----------------------------------------------------------|
| F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
|-----------------------------------------------------------|
| | | | | | | | |
`-----------------------------------------------------------'
Adjust Layer = fn
,-----------------------------------------------------------.
|Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
|-----------------------------------------------------------|
| |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
|-----------------------------------------------------------|
| Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
|-----------------------------------------------------------|
|SLEEP| | | | | | | |
`-----------------------------------------------------------'
+22
View File
@@ -0,0 +1,22 @@
/* Copyright 2020 monksoffunk
*
* 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
// place overrides here
// #define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define ENCODER_RESOLUTION 2
+149
View File
@@ -0,0 +1,149 @@
/* Copyright 2020 monksoffunk
*
* 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 {
_QWERTY,
_LOWER,
_RAISE,
_ADJUST,
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QWERTY = SAFE_RANGE,
LOWER,
RAISE,
ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default Layer
* ,-----------------------------------------------------------.
* | Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
* |-----------------------------------------------------------|
* | Tab | A | S | D | F | G | H | J | K | L | Ent |
* |-----------------------------------------------------------|
* | LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
* |-----------------------------------------------------------|
* | Esc | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
* `-----------------------------------------------------------'
*/
[_QWERTY] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
MT(MOD_LCTL, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(_ADJUST, KC_SLSH),
MT(MOD_LCTL, KC_ESC), KC_LALT , KC_LGUI, LT(_LOWER, KC_SPC), LT(_RAISE, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL
),
/* Lower Layer
* ,-----------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
* |-----------------------------------------------------------|
* | | | | | | | _ | + | { | } | Pipe |
* |-----------------------------------------------------------|
* | | | | | | | | ; | ' | Up | |
* |-----------------------------------------------------------|
* | | | | | |Left|Down|Right |
* `-----------------------------------------------------------'
*/
[_LOWER] = LAYOUT(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
_______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_UP, _______,
_______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Raise Layer
* ,-----------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
* |-----------------------------------------------------------|
* | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
* |-----------------------------------------------------------|
* | F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
* |-----------------------------------------------------------|
* | | | | | | | | |
* `-----------------------------------------------------------'
*/
[_RAISE] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
/* Adjust Layer
* ,-----------------------------------------------------------.
* |Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
* |-----------------------------------------------------------|
* | |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
* |-----------------------------------------------------------|
* | Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
* |-----------------------------------------------------------|
* |SLEEP| | | | | | | |
* `-----------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, BL_TOGG, BL_STEP, BL_INC, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12,
KC_CAPS, RESET, BL_BRTG, BL_DEC, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______,
KC_SLEP, _______, _______, _______, _______, _______, _______, _______
),
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* Left encoder */
switch (get_highest_layer(layer_state)) {
case _QWERTY:
if (clockwise) {
tap_code(KC_TAB);
} else {
tap_code16(S(KC_TAB));
}
break;
case _RAISE:
if (clockwise) {
// tap_code(KC_VOLU);
if(keymap_config.swap_lalt_lgui==false){
tap_code(KC_LANG2);
}else {
tap_code16(A(KC_GRV));
}
} else {
if(keymap_config.swap_lalt_lgui==false){
tap_code(KC_LANG1);
} else {
tap_code16(A(KC_GRV));
}
}
break;
case _ADJUST:
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
} else if (index == 1) { /* Right encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
}
+56
View File
@@ -0,0 +1,56 @@
# The VIA keymap for aleth42
Default Layer
,-----------------------------------------------------------.
| Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
|-----------------------------------------------------------|
| Tab*| A | S | D | F | G | H | J | K | L | Ent |
|-----------------------------------------------------------|
| LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
|-----------------------------------------------------------|
| Esc* | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
`-----------------------------------------------------------'
Tab* would activate Left Control when held, and send Tab when tapped.
Esc* would activate Left Control when held, and send Escape when tapped.
Esc* is useful with a rotary encoder @ upper-left Esc location.
Lower Layer = fn0
,-----------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
|-----------------------------------------------------------|
| | | | | | | _ | + | { | } | Pipe |
|-----------------------------------------------------------|
| | | | | | | | ; | ' | Up | |
|-----------------------------------------------------------|
| | | | | |Left|Down|Right |
`-----------------------------------------------------------'
Raise Layer = fn1
,-----------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
|-----------------------------------------------------------|
| F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
|-----------------------------------------------------------|
| F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
|-----------------------------------------------------------|
| | | | | | | | |
`-----------------------------------------------------------'
Adjust Layer = fn
,-----------------------------------------------------------.
|Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
|-----------------------------------------------------------|
| |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
|-----------------------------------------------------------|
| Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
|-----------------------------------------------------------|
|SLEEP| | | | | | | |
`-----------------------------------------------------------'
+2
View File
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
CONSOLE_ENABLE = no
+15
View File
@@ -0,0 +1,15 @@
# ALETH42
![ALETH42](https://i.imgur.com/6hJVBQl.png)
40% keyboard with rotary encoder (optional)
* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP)
* Hardware Supported: ALETH42 PCB
* Hardware Availability: [twitter](https://twitter.com/monksoffunkJP), [Booth](https://25keys.booth.pm/items/2420095)
Make example for this keyboard (after setting up your build environment):
make aleth42: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).
+82
View File
@@ -0,0 +1,82 @@
/*
Copyright 2020 monksoffunk
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 0xEAC8
#define DEVICE_VER 0x0000
#define MANUFACTURER 25KEYS
#define PRODUCT ALETH42
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, C2, C4, C5, C6 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define ENCODERS_PAD_A { B6, B5 } // located @ upper left
#define ENCODERS_PAD_B { B7, B4 } // located @ bottom left
#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#define RGBLED_NUM 6
#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
/* 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
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
+15
View File
@@ -0,0 +1,15 @@
# ALETH42
![ALETH42](https://i.imgur.com/6hJVBQl.png)
40% keyboard with rotary encoder (optional)
* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP)
* Hardware Supported: ALETH42 PCB
* Hardware Availability: [twitter](https://twitter.com/monksoffunkJP)
Make example for this keyboard (after setting up your build environment):
make aleth42: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).
@@ -1,4 +1,4 @@
/* Copyright 2018 Alexander Fougner <fougner89 at gmail.com> /* Copyright 2020 monksoffunk
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once #include "rev0.h"
// place overrides here
+54
View File
@@ -0,0 +1,54 @@
/* Copyright 2020 monksoffunk
*
* 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"
// for readability
#define XXX KC_NO
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
/* ALETH42 layout
* ,-----------------------------------------------------------.
* | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 38 |
* |-----------------------------------------------------------|
* | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A |
* |-----------------------------------------------------------|
* | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A |
* |-----------------------------------------------------------|
* | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
* `-----------------------------------------------------------'
*/
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k38,\
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,\
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,\
k30, k31, k32, k33, k34, k35, k36, k37\
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A },\
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A },\
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A },\
{ k30, k31, k32, k33, k34, k35, k36, k37, XXX, XXX, k38 }\
}
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u2
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # 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 = yes # Enable keyboard RGB underglow
ENCODER_ENABLE = yes
TAP_DANCE_ENABLE = no
+82
View File
@@ -0,0 +1,82 @@
/*
Copyright 2020 monksoffunk
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 0xEAC8
#define DEVICE_VER 0x0001
#define MANUFACTURER 25KEYS
#define PRODUCT ALETH42
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B0, B2, B1 }
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, D6, D4, F7, F0, F1, F4 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define ENCODERS_PAD_A { B5, F5 }
#define ENCODERS_PAD_B { B6, F6 }
#define BACKLIGHT_PIN C6
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 8
#define RGB_DI_PIN B3
#ifdef RGB_DI_PIN
#define RGBLED_NUM 8
#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
/* 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
+15
View File
@@ -0,0 +1,15 @@
# ALETH42
![ALETH42](https://i.imgur.com/6hJVBQl.png)
40% keyboard with rotary encoder (optional)
* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP)
* Hardware Supported: ALETH42 PCB
* Hardware Availability: [twitter](https://twitter.com/monksoffunkJP), [Booth](https://25keys.booth.pm/items/2420095)
Make example for this keyboard (after setting up your build environment):
make aleth42: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).
@@ -1,5 +1,4 @@
/* /* Copyright 2020 monksoffunk
* Copyright 2017 skully <skullydazed@gmail.com>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -13,8 +12,6 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "hal.h" #include "rev1.h"
#include "led.h"
#include "printf.h"
+54
View File
@@ -0,0 +1,54 @@
/* Copyright 2020 monksoffunk
*
* 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"
// for readability
#define XXX KC_NO
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
/* ALETH42 layout
* ,-----------------------------------------------------------.
* | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 38 |
* |-----------------------------------------------------------|
* | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A |
* |-----------------------------------------------------------|
* | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A |
* |-----------------------------------------------------------|
* | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
* `-----------------------------------------------------------'
*/
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k38,\
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,\
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,\
k30, k31, k32, k33, k34, k35, k36, k37\
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A },\
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A },\
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A },\
{ k30, k31, k32, k33, k34, k35, k36, k37, XXX, XXX, k38 }\
}
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # 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 = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
ENCODER_ENABLE = yes
TAP_DANCE_ENABLE = no
+1
View File
@@ -0,0 +1 @@
DEFAULT_FOLDER = aleth42/rev1
View File
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
+18
View File
@@ -0,0 +1,18 @@
/*
Copyright 2020 David Doan
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 "1x4p1.h"
+26
View File
@@ -0,0 +1,26 @@
/*
Copyright 2020 David Doan
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_ortho_1x5( \
k01, k02, k03, k04, k05\
) { \
{ k01, k02, k03, k04, k05} \
}
+41
View File
@@ -0,0 +1,41 @@
/*
Copyright 2020 David Doan
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 0x4152 // "AR"
#define PRODUCT_ID 0x4F46 // "OF"
#define DEVICE_VER 0x0001
#define MANUFACTURER Array Peripherals
#define PRODUCT [1x4] + 1 Macropad
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
#define DIRECT_PINS { \
{ C7, B7, D6, F5, F7} \
}
#define UNUSED_PINS
/* rotary encoder*/
#define ENCODERS_PAD_A {F0}
#define ENCODERS_PAD_B {F1}
@@ -0,0 +1,18 @@
{
"keyboard_name": "[1 x 4] + 1 Macropad",
"url": "https://github.com/daviddoan",
"maintainer": "David Doan",
"width": 5,
"height": 1,
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [
{"label": "K01", "x":0, "y":0},
{"label": "K02", "x":1, "y":0},
{"label": "K03", "x":2, "y":0},
{"label": "K04", "x":3, "y":0},
{"label": "K05", "x":4, "y":0}
]
}
}
}
@@ -0,0 +1,39 @@
/*
Copyright 2020 David Doan
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
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_MS_WH_UP);
} else {
tap_code(KC_MS_WH_DOWN);
}
}
}
//
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //button closest to usb is first
[0] = LAYOUT_ortho_1x5(
KC_ESC, KC_TAB, KC_LSHIFT, KC_LCTRL, TG(1)
),
[1] = LAYOUT_ortho_1x5(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(0)
)
};
Loaded 100 of 1022 files, more files were not shown because too many files have changed in this diff. Show more