Compare commits

...

175 Commits

Author SHA1 Message Date
Ryan
aa0e33eca0 Add support for shared EP on V-USB boards (#11103) 2021-01-11 19:46:30 +11:00
James Young
407e5be34d [Keyboard] whale/sk/v3: Configurator fix (#11490)
* whale/sk/v3: info.json debug linting

* LAYOUT_all key sequence fix

* remove `key_count` key

* LAYOUT_right_half_only dead-space removal

Removes the dead space from the QMK Configurator rendering.
2021-01-11 00:29:44 -08:00
Joshua Diamond
4d96b85b6f Lighting Layers should be disabled when suspended (#11442)
* Lighting Layers should be disabled when suspended

* bugfixes
2021-01-11 00:07:09 -08:00
Callum Hart
d877f40b70 [Keyboard] Add Borsdorf keyboard (#11474)
* Add Borsdorf

* Delete config.h

* Add basic VIA keymap

* Update default keymap

* Default now uses layout_all
* Default now has layer with reset key

* Fix missing comma in borsdorf keymap

* Update rules.mk to be less specific

* Update chibiOS files

* Update keymaps to swap GUI and Alt keys

* Delete unnecessary readme

* Update VIA keymap to match default

* Remove boilerplate from readme

* Udate Copyright message

* Remove unused key from LAYOUT_rshift

* Update borsdorf.c

Remove unnecessary boiler plate

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

* Add copyright message to VIA keymap

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

* Fix missing directory in readme

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

* Fix incorrect rules.mk

* Update BOOTMAGIC_ENABLE to the preferred lite

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

* Remove redundant description from config

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

* Update keyboards/cutie_club/borsdorf/keymaps/default/keymap.c

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

* Update keyboards/cutie_club/borsdorf/keymaps/via/keymap.c

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-11 00:04:28 -08:00
Ben
ebfe668fff [Keyboard] Add Kimiko keyboard (#11458)
* add keycapsss/kimiko split keyboard

* add kimiko rgb matrix keymap (only master working)

* move rgb_matrix_driver definiton to rev1 folder

* add comments to rgb matrix code

* add power draw limitation for ios

* add SPLIT_TRANSPORT_MIRROR to kimiko

* Add oled code and font for kimiko

* Edit default keymap and add copyright entries

* Improve typo style

* Add info.json for Kimiko

* Add readme

* Remove split matrix code

* Add image and more feature informations

* Fix indention

* Add make command example

* Update keyboards/keycapsss/kimiko/readme.md

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

* Update keyboards/keycapsss/kimiko/rules.mk

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

* Update keyboards/keycapsss/kimiko/rules.mk

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

* Update keyboards/keycapsss/kimiko/rules.mk

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

* Update keyboards/keycapsss/kimiko/readme.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 23:55:42 -08:00
Álvaro A. Volpato
e71f7a1c9f [Keyboard] CK60i support (#11432)
* Initial CK60i support

* Update README, add HAL_PWM and remove AUDIO and BLUETOOTH from rules.mk

* VIA support

* Fix VIA_ENABLE to 'yes'

* Remove CONSOLE_ENABLE from rules.mk

* attribute weak for encoder callback

* Remove KC_NO definition from default keymap

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
2021-01-10 23:40:26 -08:00
Christian Eiden
2e0f4d7e2a [Keymap] own Redox keymap (#11394)
Signed-off-by: Christian Eiden <christian@eiden.ch>
2021-01-10 23:12:39 -08:00
Giorgi Chavchanidze
83176b748a [Keymap] Georgian linear keymap for idobo (#11386)
* Georgian linear layout for idobo keyboard

* fixup! Keymap formatting

Co-authored-by: Giorgi Chavchanidze <giorgi@vivaldi.com>
2021-01-10 23:12:07 -08:00
Rob Hilgefort
0728200e28 [Keymap] revamped rjhilgefort planck keymap (#11385) 2021-01-10 23:11:42 -08:00
Rob Hilgefort
8e70c4d943 [Keymap] rjhilgefort's Corne KBD (#11381)
* initial crkbd rjhilgefort keymap

* finished v1 of rjhilgefort's crkbd keymap

* Update keyboards/crkbd/keymaps/rjhilgefort/readme.md

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

* Update keyboards/crkbd/keymaps/rjhilgefort/readme.md

* Update keyboards/crkbd/keymaps/rjhilgefort/readme.md

* Update keyboards/crkbd/keymaps/rjhilgefort/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 23:11:17 -08:00
Nick Blyumberg
68b58624d6 [Docs] Update feature_rgblight.md (#11363)
* Update feature_rgblight.md

The note is meant to let people know that this is specific to RGB Backlight and does not work with RGB Matrix based implementations.

* Update docs/feature_rgblight.md

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-10 23:05:11 -08:00
stanrc85
4ae5c3a905 [Keymap] stanrc85 Keymap/userspace updates (#11349)
* keymap updates

* adding fanfare back
2021-01-10 23:03:12 -08:00
misonoworks
4c48518a4e [Keyboard] Add Karina keyboard (#11347)
* add karina keymap

* Update info.json

* Add files via upload

* Update readme.md

* Update info.json

* Update info.json

* Update keyboards/misonoworks/karina/rules.mk

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

* Update keyboards/misonoworks/karina/rules.mk

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

* Update keyboards/misonoworks/karina/config.h

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

Co-authored-by: autumnisacutie <63772942+autumnisacutie@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 23:01:35 -08:00
Daniel Rodríguez Rivero
135d28d2fb [Keymap] Danielo515/redox_w (#11340)
* chore: pulled the latest from master

Bring my redox layout from my latest redox branch
Bring my latest user stuff from my redox branch

* Update users/danielo515/config.h

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

* chore: some more layouts

* feat: add gaming layer (has a bug)

* chore: more gaming layout

* chore: deactivate gaming layer when switching

* chore: simplify gaming toggle

* Update .vscode/settings.json

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-10 22:55:20 -08:00
jackytrabbit
fd80b2581e [Keyboard] Add the 'THE40' (#11317)
* Add support for keyboard 'THE40'

Add support for keyboard 'THE40'

* Update keyboards/lazydesigners/the40/the40.c

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

* Update keyboards/lazydesigners/the40/readme.md

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

* Update the40.h

Add layout option.

* Update info.json

Add layout option.

* Update keymap.c

Change for layout option.

* Update keyboards/lazydesigners/the40/readme.md

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

* Update keyboards/lazydesigners/the40/readme.md

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

* Update keyboards/lazydesigners/the40/readme.md

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

* Update keyboards/lazydesigners/the40/config.h

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-10 22:40:24 -08:00
Eshan
beace23bca [Keymap] Adding my Planck Keymap (#11315)
* Adding keymap files

* Added compatible license header to config file

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 22:38:06 -08:00
Moritz
abda419f5a [Keyboard] Add isometria 75 keyboard (#11210)
* added isometria_75

* added missing license header

* added reset explanation

* Update keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c

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

* Update keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c

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

* Update keyboards/ebastler/isometria_75/rev1/config.h

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

* Update keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c

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

* Update keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c

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

* renamed uppercase readme

* Update keyboards/ebastler/isometria_75/rev1/info.json

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

* Update keyboards/ebastler/isometria_75/rev1/rules.mk

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

* Update keyboards/ebastler/isometria_75/rev1/rules.mk

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

* Update keyboards/ebastler/isometria_75/rev1/rev1.c

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

* changed configs to only necessary lines

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 22:26:34 -08:00
Carsten Rose
29fcd5418a [Keyboard] Add support for idobao id80 iso layout (#11246)
* add support for idobao id80 iso layout

* This change is required as there is a logic bug on the board that C7
(capslock) is inverted thus lowercase is with light on. Mind the ! in
the write to the pin.

* Apply suggestions from code review

All fine for me, thanks for the additional information!

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

* move device information to separate config.h for id80 iso and ansi

* commit via keymap similar to default. There is a problem with mapping compiling vor via, resulting in KC_ENT residing on KC_PGDN. Switching off via support in rules.mk makes the keyboard behave fine

* change KC_BSLS to KC_NUHS as this is an iso board

Co-authored-by: Carsten <modebm@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-01-10 22:22:44 -08:00
johannesk
3f6de1ef54 [Keyboard] wheatfield/split75 with ISO layout (#11271)
The pcb used for wheatfield/split75 supports ANSI and ISO layout. This
commit adds the ISO variant.

With suggestions from code review:
Co-authored-by: Drashna Jael're <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-01-10 22:21:27 -08:00
NightlyBoards
b1419742a5 [Keyboard] Add the [n]40-o (#11286)
* Create Alter folder

* Revert "Create Alter folder"

This reverts commit 361103b821.

* Added the n40_o folder

* Edited info.json, n40_o.h and rules.mk

* Edited readme as per comment
2021-01-10 22:18:28 -08:00
Andrew Kannan
65d8ac4759 [Keyboard] Add Onyx keyboard to QMK (#11292)
* Add Onyx keyboard to QMK

* Apply suggestions from code review

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 22:18:01 -08:00
Ramon Imbao
8657f54f9e [Keyboard] Add Herringbone Pro, re-organize herringbone folder (#11115)
* Add Herringbone Pro, reorganize herringbone folder

* Finish encoder functionality

* Change image in readme

* Fix info.json

* Flip encoder direction

* Update keyboards/ramonimbao/herringbone/pro/config.h

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/readme.md

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

* Add OLED support, split space, default folder

* Fix LAYOUT_all in info.json

* Remove WPM feature

* Add readme to top level herringbone folder

* Re-add WPM because now the OLED won't turn back on lol

* Add missing timer_read32

* Add OLED wakeup on knob use

* Update keyboards/ramonimbao/herringbone/v1/rules.mk

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

* Update keyboards/ramonimbao/herringbone/v1/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Add small QoL improvments for tapping

* Update keyboards/ramonimbao/herringbone/readme.md

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

* Add bootloader instructions and improve LAYOUT_all a bit

* Update keyboards/ramonimbao/herringbone/pro/pro.h

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

* Update keyboards/ramonimbao/herringbone/pro/info.json

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

* Update keyboards/ramonimbao/herringbone/pro/info.json

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

* Update keyboards/ramonimbao/herringbone/pro/keymaps/iso/keymap.c

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

* Update keyboards/ramonimbao/herringbone/v1/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-01-10 21:55:32 -08:00
Roger
466424c3c2 [Keymap] Quefrency layout for rogthefrog (#11140)
* noop; indent and comment cleanup

* config for rogthefrog layout

* removed encoder function as there is no encoder on this pcb

* removed unnecessary declaration

* replaced individual constants with an enum for extensibility

* removed unused enum

* Added GPL license language

* added copyright for my changes, per GPL

* noop; removed unneeded line continuations; fixed indentation
2021-01-10 21:49:19 -08:00
L. K. Post
efbaf68d5a Fix documentation of lsusb behaviour (#10903) 2021-01-10 21:48:29 -08:00
Álvaro A. Volpato
e688f2286f Alpine65 (#11223)
* Initial ALPINE65 support

* Fix RGB LED number

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
2021-01-11 00:41:53 -05:00
Alexander Tulloh
ffd8ff642d [Keyboard] Oddball keyboard and optical sensor update (#10450)
* Add oddballl v2

- add CPI options
- add scroll support
- add click-and-drag support
- PMW3360 implementation
- ADNS9800 improvements

* Set default make directory

* Update readme with PMW config

* Change bootloader

* Update unused pins on v2

* Remove diode switch

* Move bootloader selection to keyboard version level

* Change default keyboard folder to v1

* Move sensor selection to keymap

* Remove PK debounce

* Change to only send mouse report on change

* Change CPI function cpi type

* Remove EEPROM state check

* Update CPI to only change on key down

* Fix incorrect F8 in keymap

* Add v2.1 with more convenient controller pinout

* Add keyboard readmes

* Update keyboards/oddball/pmw/pmw3360_srom_0x04.h

Remove direct AVR reference

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

* Remove direct AVR reference

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

Co-authored-by: Alexander Tulloh <alex@riberry.io>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-10 19:13:47 -08:00
scottywei
6edbd845eb [Keyboard] Add BIOI Keyboards (#9602)
* Add BIOI Keyboards

Add keyboards from BIOI, including dual-mode G60, Morgan65, and S65

* Update keyboards/bioi/g60/config.h

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

* Update keyboards/bioi/g60/config.h

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

* Update keyboards/bioi/g60/g60.c

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

* Update keyboards/bioi/g60/config.h

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

* Apply suggestions from code review

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

* Rename rule.mk to rules.mk

* Rename rule.mk to rules.mk

* Rename rule.mk to rules.mk

* Update readme.md

* Apply suggestions from code review

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

* Update ble.h

* Update config.h

Change VenderID to 8101

* Update config.h

* Update config.h

* Update ble.c

* Update ble.h

* Add license headers

* Apply suggestions from code review

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

* Add license header in keymap files

* Fix year in  license header

* Update keyboards/bioi/s65/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-10 18:57:58 -08:00
James Young
46b3245d66 freoduo: define RGBLight config at keyboard level (#11491)
Configurator compiles fail without the number of LEDs defined here. Included the rest to match the default keymap's settings.
2021-01-10 23:00:17 +00:00
Joel Challis
d58d7dd192 manually run formatting job (#11503) 2021-01-10 22:15:29 +00:00
Matthias Bertschy
acdcc62202 [Keymap] Add new atreus keymap to planck keyboard (#11420) 2021-01-09 20:01:09 -08:00
Joshua Diamond
9d10c66cf0 Correct descriptions of rgblight functions (#11429) 2021-01-09 20:00:12 -08:00
Koichi Katano
6caef353a5 Update Bakeneko65 readme (#11485) 2021-01-10 12:31:06 +11:00
Koichi Katano
c85e2a8822 Update Bakeneko60 readme (#11483) 2021-01-10 12:30:26 +11:00
James Young
3dc5e5af38 tunks/ergo33: info.json fixes (#11488)
* tunks/ergo33: info.json fixes

Fix layout macro reference and key sequence.

* fix make command in readme
2021-01-09 20:08:34 +00:00
James Young
0500a2e0f1 Add 96% ANSI Community Layouts (#11453) 2021-01-10 05:15:15 +11:00
Monksoffunk
d54289db58 Add VIA keymap for Zinc (#9299)
* Add VIA keymap

* Update Document files

Update readme of VIA keymaps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Add copyright license header
2021-01-08 22:46:15 -08:00
Toban Wiebe
95a1496ebc Fix AUR package name (#11416)
On Arch, `qmk` is now in the official repos, whereas only `qmk-git` is in AUR.
2021-01-09 11:37:42 +11:00
Erkki Halinen
06a6b23e60 Update available pohjolaworks/louhi layouts and RGB config(#11466) 2021-01-08 22:19:35 +00:00
Pascal Pfeil
1be7485fa4 VIA Support: LFKPad (#11461)
* VIA Support: LFKPad

* Condense two mostly redundant rules.mk files

* Set BOOTMAGIC_ENABLE to lite as advised by VIA tutorial
2021-01-08 22:16:21 +00:00
kb-elmo
19e2bb272e Added Odelia (#11362)
* add odelia keyboard

* Update readme.md

* Update info.json
2021-01-08 21:28:35 +00:00
Joel Challis
6d9b4c7b4f Suggest 'QMK MSYS' as the default windows platform (#11321)
* Suggest 'QMK MSYS' as the default windows platform

* Review comments
2021-01-08 11:09:28 -08:00
Joel Challis
b609a07b45 Implement matrix_io_delay abstraction for Drop boards (#11472) 2021-01-08 02:26:39 +00:00
Atsushi Morimoto
2574bc2791 [Keyboard] Add Sparrow62 (#11387)
* add sparrow62

* fix split hand pin

* fix default keymap back space

* add via firmware

* add 74th keymap
fix for coding style

* Update keyboards/sparrow62/readme.md

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

* Update keyboards/sparrow62/keymaps/74th/keymap.c

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

* Update keyboards/sparrow62/keymaps/74th/keymap.c

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

* fix typo

* remove macro for LOCK

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-07 18:12:50 -08:00
Ryan
985b8cab7c [Keyboard] JM60 refactor (#11421) 2021-01-07 11:39:38 -08:00
Jane Bernhardt
581368596e name change 2021-01-07 13:23:31 -05:00
Xyverz
832a6e150a [Keymap] Xyverz's crkbd keymap (#11299)
* Initial commit for my Corne keyboard layout.

* Updates to Corne, etc.

Finished working on primary layout for Corne keyboard.
Cleaned up some comments for my 4x12 Ortho layout.

* Changes for crkbd layout

* Fixed the config.h to reflect using ee_hands

* Added RGB configs to crkbd/corne layout

Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld>
2021-01-06 10:04:43 -08:00
Jay Greco
8b735d35aa [Keymap] Update NIBBLE ISO keymap (#11295) 2021-01-06 10:03:06 -08:00
Craig Gardner
b7b82d509b [Keyboard] add support for bigknob (#11291)
* add support for bigknob

Add support for bigknob macropad

* corrected files

* Apply suggestions from code review

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

* corrected tap dance

* Update config.h

* correct image link

* Apply suggestions from code review

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

* added GPL headers

* Update readme.md

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-06 10:00:05 -08:00
Brandon Claveria
bf959d79dc [Keyboard] add joypad keyboard (#11283)
* add joypad

* add joypad keymaps

* change pid

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Update keyboards/handwired/swiftrax/joypad/joypad.h

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

* Update keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c

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

* Update keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c

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

* Apply suggestions from code review

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

Co-authored-by: Swiftrax <swiftrax@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-06 09:58:55 -08:00
Erkki Halinen
bca88177d3 [Keyboard] Add Louhi keyboard (#11244)
* Add Louhi QMK config

* Modify info.json layout

* change compile and flash examples

* Tweak layout, change picture

* Change pictures to Imgur hosted

* Update keyboards/pohjolaworks/louhi/louhi.h

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

* Update keyboards/pohjolaworks/louhi/louhi.h

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

* Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c

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

* Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c

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

* Update keyboards/pohjolaworks/louhi/info.json

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

* Update keyboards/pohjolaworks/louhi/info.json

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

* Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c

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

* Update keyboards/pohjolaworks/louhi/readme.md

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

* Update keyboards/pohjolaworks/louhi/rules.mk

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

* Update keyboards/pohjolaworks/louhi/keymaps/default/readme.md

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

* Update keyboards/pohjolaworks/louhi/readme.md

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

Co-authored-by: Erkki Halinen <erkki-eemeli.halinen@cgi.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-06 09:53:04 -08:00
Damien
515cea4b78 [Keymap] Dbroqua alps64 poker (#11254)
* [Apple M5120] First iteration

* Cleaned apple_m5120 files

* Changes requested by PR

* Update keyboards/apple_m5120/iso/rules.mk

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

* Update keyboards/apple_m5120/iso/keymaps/default/keymap.c

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

* Added dbroqua keymap for ALPS64

* Removed other keyboard

* Added volume keys

* Added licence

* Update keyboards/alps64/keymaps/dbroqua/keymap.c

Co-authored-by: dbroqua <dbroqua@mousur.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-06 09:50:50 -08:00
Barabas
748b3ac82a [Keymap] Added my lily58 keymap (#11258)
* added my keymap

* Tidy up

Add readme, run clang-format, remove some comments

* Fixed some formatting issues

* Update after reading PR checklist

Add GPL header to keymap.c, remove backslash in LAYOUT macro

* Use integer constants for switch labels

* Remove unneeded code, remove F-keys from raise layer

* Use program memory for some text on OLED

* Fixed left over debug code

* tidy up config.h and rules.mk

Remove all unused defines from config.h, and remove options which are the same as the keyboard level make file. Enabled command to be able to toggle NKRO.
2021-01-06 09:50:11 -08:00
Taylore101
634eac82e8 [Keyboard] Adding "Bigmac" 5x17 handwired by Taylore101 (#11204)
* Adding bigmac handwired by taylore101

* Adding bigmac handwired by taylore101

* Updated Big Mac pin layout

* Updated files from kbfirmware to newer qmk. Thanks drashna

* Updated config file to have product and manufacturer info. Thanks again drashna

* Update readme.md

added missing picture of board layout

* Update keyboards/handwired/bigmac/readme.md

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

Co-authored-by: Taylor Graves <taylorgraves@BOS0005.local>
Co-authored-by: Taylor Graves <taylorgraves@BOS0005.lan>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-06 09:40:33 -08:00
KgOfHedgehogs
11599bea93 [Keymap] Add jian/keymaps/left_hand (#11196)
* Add jian/keymaps/left_hand

* Add jian/rev2/readme.md

* Remove mod tap on mirrored layer

* Add GPL2+ license header

* Add gb version to readme
2021-01-05 21:52:51 -08:00
mechlovin
115aa95788 [Keyboard] Add TMKL PCB (#11173)
* add

* update

* update indicator LED

* Update keyboards/mechlovin/tmkl/keymaps/default/keymap.c

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

* Update keyboards/mechlovin/tmkl/readme.md

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

Co-authored-by: vuhopkep <boy9x0@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-05 21:44:19 -08:00
umi
340fc9dce3 [Docs] Japanese translation of feature_rawhid.md (#10858)
* add feature_rawhid.md translation

* update files based on comments

* update files based on comments

* update files based on comments
2021-01-06 14:08:21 +09:00
umi
db8e88aae0 [Docs] Japanese translation of feature_led_indicators.md (#10960)
* add feature_led_indicators.md translation

* update related document

* add link on _summary
2021-01-06 14:07:07 +09:00
Andrew Kannan
495a61ad7a [Keyboard] Sagittarius (#10896)
* Sagittarius keyboard

* Update Sagittarius keyboard

* fix

* remove info.json as it's very hard to make

* Add license and address PR comments

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Add info json, update keymap

* Fix info json

* Update keymap

* Update keyboards/cannonkeys/sagittarius/info.json

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-05 20:23:35 -08:00
Álvaro A. Volpato
dd356f90b0 [Keyboard] Evolv75 (#10947)
* Initial support for Evolv75

* Fix encoder directional and layer support

* Invert knob directions

* Remove info.json and updated README

* Update keyboards/evolv/evolv.c

Update encoder_update call

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

* Update keyboards/evolv/config.h

Remove description field from USB descriptors

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

* Remove KC_NO define from default keymap

* Update config.h

New USB descriptor ID numbers

* Update keyboards/evolv/rules.mk

Remove words from bluetooth and audio enable comments

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

* Update keyboards/evolv/rules.mk

Enable full bootmagic

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

* Add info.json for QMK Configurator

* Edit copyright info, add VIA initial support

* Fix KC_NO seven underscores issue in keymap definitions

* Update info.json

* Update info.json

* ANSI and ISO layouts, info.json file with both

* Reorganized layouts to match info.json order

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-05 20:22:45 -08:00
kb-elmo
6009e7d8b5 [Keyboard] add dz96 (#11252)
* add dz96

* Apply suggestions from code review

* Update keyboards/dztech/dz96/keymaps/iso/keymap.c

* add image to readme
2021-01-05 14:51:10 -08:00
Takeshi ISHII
3edfb93d5d Add build debug option to tmk_core/rules.mk (#11324)
* Add DUMP_C_MACROS to tmk_core/rules.mk

* update DUMP_C_MACROS

* add VERBOSE_LD_CMD, VERBOSE_AS_CMD

* add VERBOSE_C_CMD, VERBOSE_C_INCLUDE

* update DUMP_C_MACROS, VERBOSE_C_INCLUDE, VERBOSE_C_CMD
2021-01-06 07:27:10 +09:00
Zach White
34513b4665 enable LTO to bring firmware size down 2021-01-05 13:13:47 -08:00
Drashna Jael're
3d1e7bd36f [Keyboard] Disable music mode on OctoPad to reduce size 2021-01-05 10:55:28 -08:00
Drashna Jaelre
375ef0b8c3 [Keyboard] Fix compiler errors for Kingly Key boards (#11100) 2021-01-05 15:14:10 +11:00
Joel Challis
f03b10b6c1 Migrate python tests away from onekey (#11367)
* Migrate python tests away from onekey

* Add stub files to stop lint complaints

* Make all the pytest keymaps compile
2021-01-05 00:52:31 +00:00
Drashna Jaelre
810eafad12 Fix Tap-Hold Configs (#11127)
* Add proper prototypes for Tap-Hold Per Key functions

* Fix handwired/tennie default keymap

* Remove unneeded references

* Fix tapping term per key check in space cadet

* Pre-emptive fix for tap dance

* Fix marksard/leftover30

* Replace hard coded tapping term with define
2021-01-04 16:37:20 -08:00
fauxpark
c38fe49242 Update MXSS custom rgblight and fix compilation error 2021-01-04 16:27:16 -08:00
YangPiCui
d1e10a067b [Keyboard] Add handwired/evk (#11034)
* Add the Ergonomic Vertical Keyboards

* generic update

* Update readme.md

* Update readme.md

* Update readme.md

* Update info.json

* put into handwired

* Update readme.md

* Update readme.md

* i

* Change copy author from RedForty to Yang Cui

* add version 1.3

* rename keyboard version

* Update config.h

* j

* h

* fix bugs

* Update config.h

* Update config.h

* Update keymap.c

* update default keymap

* Update keymap.c

* Add handwired/evk

* Add handwired/evk

* Update v1_3.c

* Update keyboards/handwired/evk/v1_3/config.h

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

* Update keyboards/handwired/evk/v1_3/rules.mk

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

* Update keyboards/handwired/evk/v1_3/v1_3.c

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

* Update config.h

* Commit change requests from the pull request

* remove copy right

* Update v1_3.c

* Update v1_3.c

* Update keyboards/handwired/evk/v1_3/config.h

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

* Update keyboards/handwired/evk/v1_3/rules.mk

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

* Update keyboards/handwired/evk/v1_3/rules.mk

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

* Update keyboards/handwired/evk/v1_3/info.json

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

* Update keyboards/handwired/evk/info.json

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

* Update info.json

* change all names to YangPiCui

* Update keyboards/handwired/evk/v1_3/keymaps/default/keymap.c

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

* Update keyboards/handwired/evk/v1_3/readme.md

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

* Update keyboards/handwired/evk/v1_3/config.h

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

* Delete config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-04 10:58:36 -08:00
Ryan
acec174fde Homebrew install: ignore pinned formulae in brew upgrade (#11423) 2021-01-03 20:30:59 +00:00
Joel Elkins
070240f212 arm_atsam: Use PROGRAM_CMD for :flash target if set (#11424) 2021-01-04 07:30:22 +11:00
Ryan
f3ac792c09 Align ChibiOS spi_master behaviour with AVR (#11404)
* Align ChibiOS spi_master behaviour with AVR

* Rollback `spi_transmit()` and `spi_receive()` to preserve DMA
2021-01-03 14:53:53 +11:00
Joshua Diamond
b3de903a3d Fix broken Lighting Layers when RGBLIGHT_MAX_LAYERS > 16 (#11406)
* fix incorrect bit math when RGBLIGHT_MAX_LAYERS > 16

* with 1UL cast is not needed

* ...but just casting works and is even more efficient

* cformat
2021-01-02 13:42:48 -08:00
Zach White
c07543133a Return the make exit code for qmk compile and flash (#11402) 2021-01-02 17:27:35 +00:00
Felix Jen
2e9d091960 [Keyboard] Added LDK65 based off BKS65 (#11335) 2021-01-02 00:46:25 -08:00
npspears
13efa8290e Update quark pin config (#11398) 2021-01-02 12:38:50 +11:00
Michael Overman
988715910c [Docs] Fix typo in hand_wire.md (#11297) 2021-01-01 17:36:17 -08:00
Felix Jen
8da9219c16 [Keyboard] Added Phantom Solder PCB and KBD8X HS PCB Variants (#11282)
* Added config for phantom solder all layout via only

* fixed matrix def

* Added KBD8X

* changed info name

* lowercase instances of LAYOUT_ALL and edited rules.mk

* edited kbd8x results

* fixed kbd8x rules

* removed trailing comma in kbd8x info

* Update keyboards/lucid/kbd8x_hs/config.h

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

* Update keyboards/lucid/kbd8x_hs/kbd8x_hs.h

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

* Update keyboards/lucid/kbd8x_hs/readme.md

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

* Update keyboards/lucid/kbd8x_hs/rules.mk

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

* Update keyboards/lucid/phantom_solder/info.json

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

* Update keyboards/lucid/phantom_solder/readme.md

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

* Update keyboards/lucid/phantom_solder/rules.mk

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

* Fixed info.json key mismatch

Co-authored-by: Joel Challis <git@zvecr.com>
2021-01-01 16:44:45 -08:00
smssmssms
d321cb3f8b [Keyboard] Pos78 update (#11274)
* Added LED hardware pin numbers

CAPS and NUM lock LEDs

* Added "LED_PIN_ON_STATE 1"

* Make MATRIX_ROW/COL pins match reality
2021-01-01 15:27:13 -08:00
gkeyboard
8ed9eb9c7f [Keyboard] Add GKB-M16 Macro Pad (#11262)
* Add GKB-M16 Macro Pad

Add GKB-M16 (gkb_m16) Macro Pad under gkeyboard

* Update keyboards/gkeyboard/gkb_m16/config.h

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

* Update keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c

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

* Update keyboards/gkeyboard/gkb_m16/info.json

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

* Update keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-01 15:26:00 -08:00
Kyle McCreery
1d2a9a1cdb [Keyboard] New Keyboard - Mercutio (#11214)
* Initial commit on new clean branch. Testing out functionality of oled and encoder for default features.

* Cleaned up the initial push and removed the fancy keymap until the extra features and functionality can be tested and made more user friendly.

* Cleaned up the readme some more, compiled and tested both default and via keymaps, and did another round of checks to prepare for starting the PR.

* Cleaning up the keymap to meet expected formatting in a couple places and also adding in the TAP_CODE_DELAY after newly encoutnered encoder issues and inconsistencies.

* Apply suggestions from code review

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

* Update keyboards/mechwild/mercutio/readme.md

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

* Fixing json syntax.

* Update keyboards/mechwild/mercutio/rules.mk

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-01 15:16:00 -08:00
Ross Montsinger
fcd921f3aa [Keyboard] Rebound, adding files for VIA compat (#11193)
* changes for via

* add manu to product name

* remove manu from product value

* remove description

* i m licensed
2021-01-01 15:05:02 -08:00
MURAOKA Taro
e11d3d524d speed up list_keyboards.sh 2021-01-01 10:08:32 -08:00
Ryan
c01a8b030e O4L 5x12 refactor (#11392)
* O4L 5x12 refactor

* Remove config.h
2021-01-01 16:32:21 +00:00
Ryan
b5fc6f0682 Fix rart4x4 info.json (#11390) 2021-01-01 14:58:55 +00:00
s-maurice
08fdf086b7 Fix typo in hand wiring guide (#11388)
ridid -> rigid
2021-01-01 14:57:02 +00:00
Ryan
aab056a4a6 Manta60 refactor (#11378) 2021-01-02 00:52:49 +11:00
Joel Challis
565a038a3d Fix layout ortho_4x12 macro for montsinger/rebound/rev4 (#11382) 2021-01-01 13:42:36 +00:00
Ryan
53e9213a22 Quark refactor (#11377) 2021-01-01 05:04:00 +11:00
Joel Challis
a68d289fa5 Manually run formatting CI process (#11375) 2021-01-01 03:50:32 +11:00
npspears
4ef4347543 Quark PCB for Planck/Preonic (#11206)
* Quark PCB for Planck/Preonic

Quark provides alternate bottom row layouts for both the OLKB Planck and Preonic

* Rename rules.mk.txt to rules.mk

* added Tapping Toggle

removed tapping toggle from keymap level

* Update info.json

took out } as requested

* update config.h

added GPL2+ license and #pragma once

* update info.json again

cleaned up syntax

* Apply suggestions from code review

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

* update config.h

added GPL2+ License

* Update info.json - and again

fixed it - oops

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-31 10:00:08 -05:00
Chas
028d2c91dc Fixed typo in readme.md (#11333)
* Fixed typo in readme.md

censor -> sensor

* Censor -> Sensor in the Ploopy Trackball Readme
2020-12-31 14:53:06 +00:00
Álvaro A. Volpato
9f690c94b8 Change PRODUCT_ID descriptors for M80S and M80H (#11371)
* Change PRODUCT_ID descriptors for M80S and M80H

* Update config.h

* Update config.h

* Update config.h

* Remove PRODUCT_ID from root config.h
2020-12-31 12:58:59 +00:00
Takeshi ISHII
6169b47e82 Add target 'check-md5' to build_keyboard.mk (#11338)
* Add target 'build-for-compare' to `build_keyboard.mk`

The `build-for-compare` target provides an easy way to check the md5 checksum of the generated binary.

You can easily see if there is any change in the generated binaries between the two versions, as in the example below.

```
$ git checkout 0.11.0
M	build_keyboard.mk
M	tmk_core/rules.mk
Note: checking out '0.11.0'.
HEAD is now at c66df1664 2020 November 28 Breaking Changes Update (#11053)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = 01f603dc46bcf9094d7e106831d8f5b1
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba

$ git checkout 0.11.1
M	build_keyboard.mk
M	tmk_core/rules.mk
Previous HEAD position was c66df1664 2020 November 28 Breaking Changes Update (#11053)
HEAD is now at cc08e3082 nix-shell: add milc dependency (#11086)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = d848383adfd7463b138c6da179cf1436
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba
```

* make builds reproducable by default

* update build_keyboard.mk: remove 'build-for-compare' target

* GNU make (3.81) on macOS 10.14(Mojave) does not have the 'undefine' directive.

* Adopted fauxpark's suggestion.

* Update tmk_core/rules.mk

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

* update tmk_core/rules.mk

* fix tmk_core/rules.mk

Co-authored-by: Zach White <skullydazed@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-31 15:20:56 +09:00
Ryan
10096fc42e Zadig docs: add APM32 device name (#11356) 2020-12-30 16:35:06 +00:00
Nick Blyumberg
5e5ee3f8de Correct encoder pins on BDN9v2 (#11357)
* Update config.h

Wrong pin used for the left encoder, should be A4

* Update config.h

Added a media keys fix as well
2020-12-30 16:34:40 +00:00
Ryan
7071900407 Missed a couple more #pragma onces (#11351) 2020-12-30 15:44:53 +00:00
Reibl János Dániel
6f6e28b4c7 Add Arch / Manjaro section for Linux setup instructions (#10509) 2020-12-30 15:02:24 +01:00
Ryan
411b92e206 Remove useless wait in AVR suspend code (#11352) 2020-12-30 20:58:57 +11:00
Enoch
1aa8a3b424 [Keymap] Yd60mq add 64 key layout (#11207)
* 64 key layout

* add license

* add license

add name
2020-12-30 01:06:02 -08:00
Maurizio Porrato
0f5f6a6a75 Add libusb-devel dependency for fedora (#11287)
On fedora 33, libusb-devel is required to build BootloadHID
2020-12-30 15:12:02 +11:00
swampmonster
a038b712d0 [Keyboard] Add support to Kyria for the 2x2u layout (#11227)
* Adding support for the 2 x 2u layout.

This adds a macro to support the 2 x 2u layout which facilitates
a cleaner looking layout configuration for the people using it.

* Update keyboards/kyria/kyria.h

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

Co-authored-by: swampmonster <>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-29 19:55:40 -08:00
André Cruz
ca8df55858 Added mac variant of portuguese keymap extras (#11260)
* Added mac variant of portuguese keymap

This keymap is very similar to the existing portuguese keymap, but
some symbols are moved around.

Apply suggestions from code review

Corrected whitespace and implemented some suggested changes.

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

Converted some spaces to nbsp

Added sendstring ISO version

* Apply suggestions from code review

Added suggestions from code review

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

* Replaced space with nbsp

* Corrected 2 chars in ascii_to_shift_lut

{ and } require shift

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 19:40:58 -08:00
ReFil
fda514bbd7 [Keyboard] Polarity works CRBN support (#11107)
* Initial CRBN compatibility

Updated readme.md too

* formatting tweaks to meet requirements

* Update crbn.c

* Create readme.md

* Required fixes and licence header

* Fixes

* Apply suggestions from code review

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

* Update keyboards/crbn/rules.mk

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

* Update keyboards/readme.md

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

* Update crbn.c

* Update keyboards/crbn/crbn.c

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

* Licence headers

* Create info.json

* Apply suggestions from code review

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

* Configurator support

* Update keymap.c

* Update keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-29 19:26:16 -08:00
Joshua Diamond
c9156b50d9 [Keymap] spidey3 keymap for DMQDesign Spin (#11194)
* My first cut at firmware for te DMQDesign Spin

* Turn off underglow when computer sleeps

* dmqdesigns spin - a little more refined keymap now

* a few more refinements for spin

* missing key up event for CH_CPNL and CH_ASST

* better naming for keymap

* cformat

* Apply suggestions from code review

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

* Old #include habits die hard... :)

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 19:21:44 -08:00
Jonathan Paugh
992380a5dd Add missing Debian/Ubuntu dependency to the install script (#11348)
To successfully compile bootloadHID, we must have the libusb-config tool, which comes from the libusb-dev package. This package is available in both Ubuntu Groovy and Debian Buster

Co-authored-by: Jonathan Paugh <jpaugh@gmx.com>
2020-12-30 02:21:00 +00:00
kb-elmo
b4ea0a70be Add Axolstudio Helpo (#11117)
* add axolstudio helpo

* reverse matrix

* fix path in readme

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/axolstudio/helpo/readme.md

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-30 02:05:48 +00:00
cole smith
c89930ca01 The mark: 65 (#11060)
* added main keyboard files

* working default and iso maps

* add via config

* made default ansi map

* fixed info.json and made readme

* renamed folders

* reincluding the folders I renamed

* Apply suggestions from code review

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

* I made a change before PR to clean up VIA map that broke it now its fixed

* Apply suggestions from code review

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

* Update keyboards/boardsource/the_mark/the_mark.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-30 01:49:13 +00:00
Suschman
a94044c15c 40percentclub sixpack support (#11007)
* QMK support for 40percentclub SixPack

* Update readme.md

* QMK support for 40percentclub SixPack

* fix info.json

* Apply suggestions from code review

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

* update PRODUCT name and change BL levels to 6

* Add Fkeys keymap

* correct readme

* add via keymap

* correct readme

* change indentation

* Apply suggestions from code review

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

* requested change and more cleanup

* Update keyboards/40percentclub/sixpack/sixpack.h

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

* Apply suggestions from code review

Co-authored-by: Suschman <suschman@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-30 01:46:16 +00:00
Álvaro A. Volpato
457042f179 Mode80 support (#10945)
* Add default mode eighty firmware

* Add via keymap

* Mode80 firmware upgrades

- Removed SPI and PWM drivers from MCU configuration, HAL configuration and Chibi configuration as neither peripherals are being used
- Included second backspace key (row 5, col 14) which should solve the non-appearance of the backspace key on the hotswap PCB

* Add default mode eighty firmware

* Add via keymap

* Update keyboards/mode/eighty/config.h

Remove comment lines from config.h

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

* Update keyboards/mode/eighty/config.h

Remove comments from config.h

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

* Update eighty.c

Add GPLv2 header

* Update eighty.h

Add GPLv2 license header

* Update readme.md

Update README

* Update keyboards/mode/eighty/config.h

Remove keyboard description

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

* Delete config.h

Delete config.h in keynap folder

* Update keyboards/mode/eighty/rules.mk

Remove feature disabling in rules.mk

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

* Move rules.mk to VIA folder

* Update keyboards/mode/eighty/keymaps/via/rules.mk

Use LTO_ENABLE as short for LINK_TIME_OPTIMIZATION_ENABLE

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

* Update keyboards/mode/eighty/readme.md

Puts a single image embedded in the readme, and links to the full gallery

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

* Update keyboards/mode/eighty/readme.md

Use * for markdown list

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

* Apply suggestions from code review

Correct comment characters

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

* Adjusted copyright name, USB descriptor and removed info.json

* Separate Mode80 S and H firwares into subfolders

* Added info.json files for QMK Configurator

* Lowercase folder and filenames

* Remove config definition macros in M80H

* Remove config definition macros in M80S and root

* Change definitions to lowercase parameters

* Moce chconf and mcuconf chibiOS files to root folder

* Move halconf to root folder, keymaps to subfolders

* Update readme for building/flashing guide

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

* Add layers to VIA keymaps, remove CONSOLE_ENABLE

* Push master changes to lib/

* Retrieve lufa and googletest submodules to previous heads at master

* Disabled LTO in VIA keymaps

* Fix layout declaration to lowercase in m80s default keymap

* Added readme's for each M80S and M80H

Co-authored-by: Jaicob <jaicob@icloud.com>
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-30 01:27:33 +00:00
LongerHV
944feb2da5 [REDOX] Fix default keymap formatting (#11288) 2020-12-30 12:13:37 +11:00
TJ
b49c657ac1 [Keyboard] Add via support for le chiffren (#10597)
* add Via support and improve default keymap

* Update OLED widgets with Sickbabies updates. Add license headers

* Add led matrix config

* Add g_led_config

* Fix rules for matrix

* rules.mk updates

* Fix key lock state widgets
rebase on master

* Rules fixes

* remove LED_MAP
2020-12-29 17:06:52 -08:00
NightlyBoards
ac433b218d [Keyboard] Add the Octopad (#9946)
* Create Alter folder

* Revert "Create Alter folder"

This reverts commit 361103b821.

* Add octopad folder

* Added a new keyboard, the Octopad

* Edited files based on requested changes

* Moved encoder code in keyboard level

* Updated the readme

* Corrected the rows and columns of encoders on config.h

* Changed the Vendor ID to D812 since the first one was already taken

* Added support for ast1109MLTRQ speakers

* Increased number of layers to 8 on VIA keymap

* Edited files based on comments

* Edited rules.mk as per comment

* Edited readme.md as per comment
2020-12-29 16:58:14 -08:00
Naoto Takai
8ee03f6a6b Update Choco60 firmware to support new PCB (#11218)
* Update vendor and product info

* Add rev2 for Choco60

* Add keymap for VIA

* Add readme.md for rev1 and rev2

* Use list instead of new line

* Remove DESCRIPTION

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

* Update rev1/readme.md to specify rev1 directly.

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

* Remove some definitions

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

* Remove comments

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-30 00:05:48 +00:00
Jacqueline Liang
0c4663a802 Add 6key to keyboards/handwired (#11226)
* Add 6key to keyboards/handwired

* Add keyboards/handwired/6key folder
* Add 6key.c
* Add 6key.h
* Add config.h
* Add keymaps/default/keymap.c
* Add readme.md
* Add rules.mk

* Add info.json

* Apply suggestions from code review

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

* Make changes based on pr comments

* Apply formatting suggestions from code review

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

* Update keyboards/handwired/6key/rules.mk

Co-authored-by: jyliang2 <jyliang2@illinois.edu>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-30 00:03:35 +00:00
Brandon Claveria
5d0c0e7c12 add nodu keyboard (#11233)
* add nodu keyboard

* fix info.json

* limit via to 3 layers

Co-authored-by: Swiftrax <swiftrax@gmail.com>
2020-12-30 00:03:09 +00:00
Andrew Kannan
bea897caf1 Tsukuyomi Keyboard (#10898)
* Add Tsukuyomi PCB

* Remove unncessary file

* Fix

* update config

* Tsukuyomi info.json

* Update readme

* add license header and add dfu suffix args

* Apply suggestions from code review

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

* Update info.json

* Apply suggestions from code review

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 23:43:46 +00:00
Nick Krichevsky
e85d904fe1 Add convenience method for setting Nibble's big LED RGB (#11257) 2020-12-29 23:23:50 +00:00
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
Monksoffunk
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 <fauxpark@gmail.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Use tap_code16 function

* Remove empty config file

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Ryan <fauxpark@gmail.com>
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 af732776a5.
2020-12-28 20:06:07 -08:00
David Doan
5fde2d730c 1x4p1 (#11186)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
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 Challis
bbf0f65284 Simplify the visual flow of the getting started page (#11316)
* Add tabs to getting started page

* Review comments

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

* Align with current theme

* Update docs/newbs_getting_started.md

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

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
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
kiwikey
7ca4b61922 First commit of Kawii9 (#11201)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-26 01:44:32 +11:00
Jonathon Carstens
b7f640ca76 Adding new keyboard: Tenkey++ (tenkey_plusplus) (#11197)
Co-authored-by: Ryan <fauxpark@gmail.com>
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-Freather
cd0d2d0de5 new repo: create cmm.studio folder, add saka qmk firmware (#11248)
Co-authored-by: Ryan <fauxpark@gmail.com>
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
Barry Huang
cc4b93b330 Helen 80 addition (#11133)
Co-authored-by: james sa <james@keto.tw>
Co-authored-by: James Sa <james.sa.2013@gmail.com>
2020-12-23 10:22:31 +01:00
Perry Hargrave
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 <fauxpark@gmail.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* keymap:tofu65: remove unneeded config.h

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

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

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 22:27:55 -08:00
Anthony Marin
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 <git@zvecr.com>

* Update keyboards/hidtech/bastyl/rules.mk

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

* Update keyboards/hidtech/bastyl/config.h

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

* move json, remove via files

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

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

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

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

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

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

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

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

* add GPL to c and h files

* Update keyboards/hidtech/bastyl/info.json

Change order to match layout macro

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

* Update keyboards/hidtech/bastyl/config.h

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

* 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 <qlebastard@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-22 22:23:29 -08:00
Blake
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 <git@zvecr.com>

* Update keyboards/draytronics/scarlet/rules.mk

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

* Update keyboards/draytronics/scarlet/readme.md

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

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

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keymap.c

* Update config.h

* Update scarlet.h

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/scarlet.h

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

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

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

* 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 <blake@Euclid.ghost7.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-22 22:00:55 -08:00
Daniele De Vincenti
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 <fauxpark@gmail.com>

* Update docs/feature_rgb_matrix.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
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 Prins
dee506c096 Updated Raw HID docs to clarify packet/report length (#11211)
Co-authored-by: Ryan <fauxpark@gmail.com>
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 <29968201+Nathan13888@users.noreply.github.com>
2020-12-22 11:27:27 -08:00
cjcodell1
71b52416d8 [Keyboard] Add Nimrod (#11141)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 19:39:29 +01:00
Dmitry Nosachev
bf324c38e3 [Keyboard] add ASkeyboard Sono1 (#11114)
* handwired/sono1

* readme: addition

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
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 Diamond
54e2bf3ede Fix Issue #9533 - Delayed shift state handling (#11220)
Co-authored-by: Ryan <fauxpark@gmail.com>
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
Ben
4e0718a3b7 [Keyboard] add Lily58L keymap (#9870)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-21 15:34:40 +01:00
Erovia
a380a26ad2 Split of the doctor codebase (#11255)
Co-authored-by: Ryan <fauxpark@gmail.com>
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
Ryan
0239ce025a Doctor: add check for .git folder (#11208)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
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
Drashna Jaelre
5619b1d3db [Keyboard] Add drashna's dactyl manuform 5x6 with trackball (#11062)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
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
1499 changed files with 55878 additions and 5775 deletions

View File

@@ -68,37 +68,8 @@ PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
# Initialize the path elements list for further processing
$(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
# Phony targets to enable a few simple make commands outside the main processing below.
.PHONY: list-keyboards
list-keyboards:
util/list_keyboards.sh | sort -u | tr '\n' ' '
@@ -131,7 +102,6 @@ endif
# Uncomment these for debugging
# $(info Keyboard: $(KEYBOARD))
# $(info Keymap: $(KEYMAP))
# $(info Subproject: $(SUBPROJECT))
# Set the default goal depending on where we are running make from
@@ -189,7 +159,6 @@ endef
# A recursive helper function for finding the longest match
# $1 The list to be checked
# 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
# Stop the recursion when the list is empty
ifneq ($1,)
@@ -386,23 +355,6 @@ define PARSE_ALL_KEYBOARDS
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
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
define LIST_ALL_KEYMAPS
COMMAND_true_LIST_KEYMAPS := \
@@ -544,12 +496,12 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
endef
# Let's match everything, we handle all the rule parsing ourselves
# Catch everything and parse the command line ourselves.
.PHONY: %
%:
# 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;
# 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
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
@@ -580,25 +532,6 @@ endif
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
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/%:
git submodule sync $?
git submodule update --init $?

View File

@@ -30,4 +30,4 @@ $(TEST)_SRC += $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
$(TEST)_DEFS=$(TMK_COMMON_DEFS) $(OPT_DEFS)
$(TEST)_CONFIG=$(TEST_PATH)/config.h
VPATH+=$(TOP_DIR)/tests/test_common
VPATH+=$(TOP_DIR)/tests/test_common

View File

@@ -368,6 +368,7 @@ endif
build: elf cpfirmware
check-size: build
check-md5: build
objs-size: build
include show_options.mk

View File

@@ -17,7 +17,7 @@ OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
GTEST_INC := \
$(LIB_PATH)/googletest/googletest/include\
$(LIB_PATH)/googletest/googlemock/include\
GTEST_INTERNAL_INC :=\
$(LIB_PATH)/googletest/googletest\
$(LIB_PATH)/googletest/googlemock
@@ -27,7 +27,7 @@ $(GTEST_OUTPUT)_SRC :=\
googletest/src/gtest_main.cc\
googlemock/src/gmock-all.cc
$(GTEST_OUTPUT)_DEFS :=
$(GTEST_OUTPUT)_DEFS :=
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
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 $(TEST_OBJ) 2>/dev/null)

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`
* 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

View File

@@ -24,7 +24,7 @@ Totally new to QMK? There are two ways to get started:
## 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?

View File

@@ -175,7 +175,7 @@ Creates a keymap.json from a keymap.c.
**Usage**:
```
qmk c2json [--no-cpp] [-o OUTPUT] filename
qmk c2json -km KEYMAP -kb KEYBOARD [-q] [--no-cpp] [-o OUTPUT] filename
```
## `qmk lint`

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.
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**.
- 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`.
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.
!> 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)
@@ -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)
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.
## 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` |APM32 DFU ISP Mode |`314B:0106` |WinUSB |
|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB |
|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB |
|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB |

View File

@@ -33,4 +33,3 @@ Soporte para hasta 2 controladores. Cada controlador implementa 2 matrices charl
## 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).

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
* sym_pk - old name for sym_defer_pk
* eager_pr - old name for sym_eager_pr

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

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.

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_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
// !!! DO NOT ADD #pragma once !!! //

View File

@@ -187,6 +187,8 @@ const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
## Lighting Layers
?> **Note:** Lighting Layers is an RGB Light feature, it will not work for RGB Matrix. See [RGB Matrix Indicators](feature_rgb_matrix.md?indicators) for details on how to do so.
By including `#define RGBLIGHT_LAYERS` in your `config.h` file you can enable lighting layers. These make
it easy to use your underglow LEDs as status indicators to show which keyboard layer is currently active, or the state of caps lock, all without disrupting any animations. [Here's a video](https://youtu.be/uLGE1epbmdY) showing an example of what you can do.
@@ -368,14 +370,14 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2
|`rgblight_increase_hue_noeeprom()` |Increase the hue for effect range LEDs. This wraps around at maximum hue (not written to EEPROM) |
|`rgblight_decrease_hue()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue |
|`rgblight_decrease_hue_noeeprom()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue (not written to EEPROM) |
|`rgblight_increase_sat()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation |
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation (not written to EEPROM) |
|`rgblight_decrease_sat()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation |
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation (not written to EEPROM) |
|`rgblight_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value |
|`rgblight_increase_val_noeeprom()` |Increase the value for effect range LEDs. This wraps around at maximum value (not written to EEPROM) |
|`rgblight_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value |
|`rgblight_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This wraps around at minimum value (not written to EEPROM) |
|`rgblight_increase_sat()` |Increase the saturation for effect range LEDs. This stops at maximum saturation |
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This stops at maximum saturation (not written to EEPROM) |
|`rgblight_decrease_sat()` |Decrease the saturation for effect range LEDs. This stops at minimum saturation |
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This stops at minimum saturation (not written to EEPROM) |
|`rgblight_increase_val()` |Increase the value for effect range LEDs. This stops at maximum value |
|`rgblight_increase_val_noeeprom()` |Increase the value for effect range LEDs. This stops at maximum value (not written to EEPROM) |
|`rgblight_decrease_val()` |Decrease the value for effect range LEDs. This stops at minimum value |
|`rgblight_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This stops at minimum value (not written to EEPROM) |
|`rgblight_sethsv(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 |
|`rgblight_sethsv_noeeprom(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |

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

View File

@@ -129,4 +129,3 @@ As defined in `keymap_steno.h`.
|`STN_RES1`||(GeminiPR only)|
|`STN_RES2`||(GeminiPR only)|
|`STN_PWR`||(GeminiPR only)|

View File

@@ -47,4 +47,3 @@ This configuration is from usbasploader's Makefile.
# | | +----- LB 2..1 (No memory lock features enabled)
# | +--------- 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)

View File

@@ -78,7 +78,7 @@ Established materials and techniques include:
| Short lengths of wire | [u/xicolinguada's ortho build](https://www.reddit.com/r/MechanicalKeyboards/comments/c39k4f/my_first_hand_wired_keyboard_its_not_perfect_but/) | Easier to strip the wire | More difficult to place | ![individual wire lengths](https://i.imgur.com/mBe5vkL.jpg)
| Magnet/Enamelled wire | [Brett Kosinski's handwired alpha](http://blog.b-ark.ca/Blog-2019-01-27) and [fknraiden's custom board](https://geekhack.org/index.php?topic=74223.0) | Can be directly soldered onto (insulation burns off with heat) | Appearance? | ![Magnet wire](https://i.imgur.com/b4b7KDb.jpg)
| Bending the legs of the diodes for the rows | [Matt3o's Brownfox](https://deskthority.net/viewtopic.php?f=7&t=6050) | Fewer solder joints required | Uninsulated | ![Bent diode legs](https://i.imgur.com/aTnG8TV.jpg)
| Using ridid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](https://i.imgur.com/CnASmPo.jpg)
| Using rigid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](https://i.imgur.com/CnASmPo.jpg)
| Bare wire with insulation added after (e.g. kapton tape) | [Matt3o's 65% on his website](https://matt3o.com/hand-wiring-a-custom-keyboard/) | Easier (no wire stripping required) | Not as attractive | ![Bare wire](https://i.imgur.com/AvXZShD.jpg)
| Copper tape | [ManuForm Dactyl](https://github.com/tshort/dactyl-keyboard) | Very easy | Only really works when your plate/case aligns with the bottom of your switches | ![Copper tape](https://i.imgur.com/RFyNMlL.jpg)
@@ -121,7 +121,7 @@ Letting the diode rest, grab your solder, and touch both it and the soldering ir
The smoke that the rosin releases is harmful, so be careful not to breath it or get it in your eyes/face.
After soldering things in place, it may be helpful to blow on the joint to push the smoke away from your face, and cool the solder quicker. You should see the solder develop a matte (not shiny) surface as it solidifies. Keep in mind that it will still be very hot afterwards, and will take a couple minutes to be cool to touch. Blow on it will accelerate this process.
After soldering things in place, it may be helpful to blow on the joint to push the smoke away from your face, and cool the solder quicker. You should see the solder develop a matte (not shiny) surface as it solidifies. Keep in mind that it will still be very hot afterwards, and will take a couple minutes to be cool to touch. Blowing on it will accelerate this process.
When the first diode is complete, the next one will need to be soldered to both the keyswitch, and the previous diode at the new elbow. That will look something like this:

View File

@@ -77,7 +77,7 @@ Do change the `MANUFACTURER` and `PRODUCT` lines to accurately reflect your keyb
#define PRODUCT my_awesome_keyboard
```
?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead takes these from the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html) by default. `lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in.
?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead prefers the values in the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html). By default, it will only use `MANUFACTURER` and `PRODUCT` if the list does not contain that `VENDOR_ID` / `PRODUCT_ID`. `sudo lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in.
### Keyboard Matrix Configuration

View File

@@ -64,4 +64,4 @@
```
מקמו את התיעוד שלכם בתוך `docs/feature_<my_cool_feature>.md`, והוסיפו קישור לקובץ זה במקום המתאים ב `docs/_sidebar.md`. אם הוספתם קודי מקשים נוספים, תקפידו להוסיף אותם ל- `docs/keycodes.md` עם לינק לעמוד היכולת שלכם.
</div>
</div>

View File

@@ -5,4 +5,4 @@
* [בנייה או קומפילציה של QMK](faq_build.md)
* [דיבאגינג ופתרון בעיות של QMK](faq_debug.md)
* [מיפוי מקשים](faq_keymap.md)
</div>
</div>

View File

@@ -14,4 +14,4 @@ TMK עוצב ומומש במקור ע״י [Jun Wako](https://github.com/tmk). QM
מנק׳ מבט של הפרוייקט וניהול הקהילה, TMK מנהל את כל המקלדות הנתמכות בעצמו, עם מעט תמיכה מהקהילה. כל אחד יכול לעשות פורק מהפרוייקט עבור מקלדות אחרות. רק מס׳ מיפויי מקשים נמצאים בברירת המחדל כך שאנשים בד״כ לא משתפים מיפויי מקשים זה עם זה. QMK מעודד את השיתוף של המקלדות וקודי המקשים דרך רפוזיטורי בניהול מרכזי, אשר מקבל את כל בקשות ה- Pull Requests שעומדות בסטנדרט האיכות. רובם מנוהלות ע״י הקהילה, אבל הצוות של QMK עוזר כשנדרש.
לשתי הגישות יש יתרונות וחסרונות וקוד עובר בחופשיות בין TMK ל- QMK כשצריך.
</div>
</div>

View File

@@ -14,4 +14,4 @@
## סוגיות GitHub
ניתן לפתוח [סוגייה ב-GitHub](https://github.com/qmk/qmk_firmware/issues). הדבר שימושי במיוחד כאשר הסוגיה דורשת דיון עמוק וארוך או דיבאגינג.
</div>
</div>

View File

@@ -7,4 +7,4 @@ QMK רצה על מגוון של חומרות. אם המעבד שלך יכול ל
* [מעבדי AVR](hardware_avr.md)
* מעבדי ARM (TBD)
* [מנהלי התקנים](hardware_drivers.md)
</div>
</div>

View File

@@ -13,4 +13,4 @@
מקורות לפקודות שורה (Command Line):
* [מדריך טוב על Command Line](https://www.codecademy.com/learn/learn-the-command-line)
</div>
</div>

View File

@@ -126,6 +126,10 @@
headings: 'h1, h2',
title: 'Table of Contents',
},
tabs: {
persist : false,
tabComments: false,
},
plugins: [
function (hook, vm) {
hook.beforeEach(function (html) {
@@ -148,6 +152,7 @@
<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/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-toc@1.0.0/dist/toc.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>

View File

@@ -103,6 +103,7 @@
* [DIP スイッチ](ja/feature_dip_switch.md)
* [エンコーダ](ja/feature_encoders.md)
* [触覚フィードバック](ja/feature_haptic_feedback.md)
* [LED インジケータ](ja/feature_led_indicators.md)
* [Proton C 変換](ja/proton_c_conversion.md)
* [PS/2 マウス](ja/feature_ps2_mouse.md)
* [分割キーボード](ja/feature_split_keyboard.md)

View File

@@ -1,8 +1,8 @@
# キーボードの挙動をカスタマイズする方法
<!---
original document: 0.10.33:docs/custom_quantum_functions.md
git diff 0.10.33 HEAD -- docs/custom_quantum_functions.md | cat
original document: 0.10.52:docs/custom_quantum_functions.md
git diff 0.10.52 HEAD -- docs/custom_quantum_functions.md | cat
-->
多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。
@@ -93,106 +93,6 @@ keyrecord_t record {
}
```
# LED 制御
QMK は HID 仕様で定義された5つの LED の読み取りメソッドを提供します:
* Num Lock
* Caps Lock
* Scroll Lock
* Compose
* Kana
ロック LED の状態を取得するには2つの方法があります:
* `bool led_update_kb(led_t led_state)` あるいは `_user(led_t led_state)` を実装する、または
* `led_t host_keyboard_led_state()` を呼び出す
!> `host_keyboard_led_state()``led_update_user()` が呼ばれる前に新しい値を既に反映している場合があります。
LED の状態を `uint8_t` として提供する2つの非推奨の関数があります:
* `uint8_t led_set_kb(uint8_t usb_led)``_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
## `led_update_user()`
この関数はこれら5つの LED のいずれかの状態が変化すると呼ばれます。LED の状態を構造体のパラメータとして受け取ります。
慣例により、`led_update_kb()` にそのコードを実行するようフックさせるために `led_update_user()` から `true` を返し、`led_update_kb()` でコードを実行したくない場合は `false` を返します。
以下はいくつかの例です:
- レイヤー表示のような何かのために LED を使うために LED を上書きする
- `_kb()` 関数を実行したくないので、`false` を返します。これはレイヤーの挙動を上書きするためです。
- LED がオンあるいはオフになった時に音楽を再生する。
- `_kb` 関数を実行したいので、`true` を返します。これはデフォルトの LED の挙動に追加されます。
?> `led_set_*` 関数は `bool` の代わりに `void` を返すため、キーボードの LED 制御を上書きすることができません。従って、代わりに `led_update_*` を使うことをお勧めします。
### `led_update_kb()` の実装例
```c
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
// writePin は 1 でピンを high に、0 で low に設定します。
// この例では、ピンは反転していて、
// low/0 は LED がオンになり、high/1 は LED がオフになります。
// この挙動は、LED がピンと VCC の間にあるか、ピンと GND の間にあるかどうかに依存します。
writePin(B0, !led_state.num_lock);
writePin(B1, !led_state.caps_lock);
writePin(B2, !led_state.scroll_lock);
writePin(B3, !led_state.compose);
writePin(B4, !led_state.kana);
}
return res;
}
```
### `led_update_user()` の実装例
この不完全な例は Caps Lock がオンまたはオフになった場合に音を再生します。また LED の状態を保持する必要があるため、`true` を返します。
```c
#ifdef AUDIO_ENABLE
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
#endif
bool led_update_user(led_t led_state) {
#ifdef AUDIO_ENABLE
static uint8_t caps_state = 0;
if (caps_state != led_state.caps_lock) {
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
caps_state = led_state.caps_lock;
}
#endif
return true;
}
```
### `led_update_*` 関数のドキュメント
* キーボード/リビジョン: `bool led_update_kb(led_t led_state)`
* キーマップ: `bool led_update_user(led_t led_state)`
## `host_keyboard_led_state()`
最後に受信した LED の状態を `led_t` として取得するためにこの関数を呼びます。これは、`led_update_*` の外部から、例えば [`matrix_scan_user()`](#matrix-scanning-code) の中で LED の状態を読み取るのに便利です。
## 物理的な LED の状態の設定
一部のキーボードの実装は、物理的な LED の状態を設定するための便利なメソッドを提供しています。
### Ergodox キーボード
Ergodox の実装は、個々の LED をオンあるいはオフにするために `ergodox_right_led_1`/`2`/`3_on`/`off()` と、インデックスによってそれらをオンあるいはオフにするために `ergodox_right_led_on`/`off(uint8_t led)` を提供します。
さらに、LED の明度を指定することができます。全ての LED に同じ明度を指定するなら `ergodox_led_all_set(uint8_t n)` を使い、個別の LED の明度を指定するなら `ergodox_right_led_1`/`2`/`3_set(uint8_t n)` を使い、LED のインデックスを指定して明度を指定するには `ergodox_right_led_set(uint8_t led, uint8_t n)` を使います。
Ergodox キーボードは、最低の明度として `LED_BRIGHTNESS_LO` を、最高の輝度(これはデフォルトです)として `LED_BRIGHTNESS_HI` も定義しています。
# キーボードの初期化コード
キーボードの初期化プロセスには幾つかのステップがあります。何をしたいかによって、どの関数を使うべきかに影響します。
@@ -347,7 +247,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
```
特定のレイヤーの状態を確認するには、 `IS_LAYER_ON_STATE(state, layer)``IS_LAYER_OFF_STATE(state, layer)` マクロを使います。
特定のレイヤーの状態を確認するには、`IS_LAYER_ON_STATE(state, layer)``IS_LAYER_OFF_STATE(state, layer)` マクロを使います。
`layer_state_set_*` 関数の外では、グローバルなレイヤー状態を確認するために `IS_LAYER_ON(layer)``IS_LAYER_OFF(layer)` マクロを使えます。

View File

@@ -43,5 +43,3 @@ endif
* eager_pk - キーごとにデバウンスします。状態が変化すると、応答は即座に行われ、その後そのキーは ```DEBOUNCE``` ミリ秒の間入力されません。
* sym_g - キーボードごとにデバウンスします。状態が変化すると、グローバルタイマが設定されます。```DEBOUNCE``` ミリ秒の間何も変化がなければ、全ての入力の変更がプッシュされます。
* sym_pk - キーごとにデバウンスします。状態が変化すると、キーごとのタイマーが設定されます。```DEBOUNCE``` ミリ秒の間そのキーに変化がなければ、キーの状態の変更がプッシュされます。

View File

@@ -0,0 +1,119 @@
# LED インジケータ
<!---
original document: 0.10.52:docs/feature_led_indicators.md
git diff 0.10.52 HEAD -- docs/feature_led_indicators.md | cat
-->
QMK は HID 仕様で定義された5つの LED の読み取りメソッドを提供します:
* Num Lock
* Caps Lock
* Scroll Lock
* Compose
* Kana
ロック LED の状態を取得するには3つの方法があります:
* `config.h` で設定オプションを指定する
* `bool led_update_kb(led_t led_state)` あるいは `_user(led_t led_state)` を実装する、または
* `led_t host_keyboard_led_state()` を呼び出す
!> `host_keyboard_led_state()``led_update_user()` が呼ばれる前に新しい値を既に反映している場合があります。
LED の状態を `uint8_t` として提供する2つの非推奨の関数があります:
* `uint8_t led_set_kb(uint8_t usb_led)``_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
## 設定オプション
インジケータを設定するには、`config.h` で以下の `#define` をします:
| 定義 | 既定値 | 説明 |
|-----------------------|------------|----------------------------------|
| `LED_NUM_LOCK_PIN` | *定義なし* | `Num Lock` LED を制御するピン |
| `LED_CAPS_LOCK_PIN` | *定義なし* | `Caps Lock` LED を制御するピン |
| `LED_SCROLL_LOCK_PIN` | *定義なし* | `Scroll Lock` LED を制御するピン |
| `LED_COMPOSE_PIN` | *定義なし* | `Compose` LED を制御するピン |
| `LED_KANA_PIN` | *定義なし* | `Kana` LED を制御するピン |
| `LED_PIN_ON_STATE` | `1` | LED が "オン" の時のインジケータピンの状態 - high の場合は`1`、low の場合は`0` |
独自のキーボードを設計しているわけではない限り、通常は上記の設定オプションを変更する必要はありません。
## `led_update_*()`
設定オプションが十分な柔軟性を提供しない場合は、提供される API フックにより LED の挙動の独自の制御ができます。これらの関数はこれら5つの LED のいずれかの状態が変化すると呼ばれます。LED の状態を構造体のパラメータとして受け取ります。
慣例により、`led_update_kb()` にそのコードを実行するようフックさせるために `led_update_user()` から `true` を返し、`led_update_kb()` でコードを実行したくない場合は `false` を返します。
以下はいくつかの例です:
- レイヤー表示のような何かのために LED を使うために LED を上書きする
- `_kb()` 関数を実行したくないので、`false` を返します。これはレイヤーの挙動を上書きするためです。
- LED がオンあるいはオフになった時に音楽を再生する。
- `_kb` 関数を実行したいので、`true` を返します。これはデフォルトの LED の挙動に追加されます。
?> `led_set_*` 関数は `bool` の代わりに `void` を返すため、キーボードの LED 制御を上書きすることができません。従って、代わりに `led_update_*` を使うことをお勧めします。
### `led_update_kb()` の実装例
```c
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
// writePin は 1 でピンを high に、0 で low に設定します。
// この例では、ピンは反転していて、
// low/0 は LED がオンになり、high/1 は LED がオフになります。
// この挙動は、LED がピンと VCC の間にあるか、ピンと GND の間にあるかどうかに依存します。
writePin(B0, !led_state.num_lock);
writePin(B1, !led_state.caps_lock);
writePin(B2, !led_state.scroll_lock);
writePin(B3, !led_state.compose);
writePin(B4, !led_state.kana);
}
return res;
}
```
### `led_update_user()` の実装例
この不完全な例は Caps Lock がオンまたはオフになった場合に音を再生します。また LED の状態を保持する必要があるため、`true` を返します。
```c
#ifdef AUDIO_ENABLE
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
#endif
bool led_update_user(led_t led_state) {
#ifdef AUDIO_ENABLE
static uint8_t caps_state = 0;
if (caps_state != led_state.caps_lock) {
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
caps_state = led_state.caps_lock;
}
#endif
return true;
}
```
### `led_update_*` 関数のドキュメント
* キーボード/リビジョン: `bool led_update_kb(led_t led_state)`
* キーマップ: `bool led_update_user(led_t led_state)`
## `host_keyboard_led_state()`
最後に受信した LED の状態を `led_t` として取得するためにこの関数を呼びます。これは、`led_update_*` の外部から、例えば [`matrix_scan_user()`](#matrix-scanning-code) の中で LED の状態を読み取るのに便利です。
## 物理的な LED の状態の設定
一部のキーボードの実装は、物理的な LED の状態を設定するための便利なメソッドを提供しています。
### Ergodox キーボード
Ergodox の実装は、個々の LED をオンあるいはオフにするために `ergodox_right_led_1`/`2`/`3_on`/`off()` と、インデックスによってそれらをオンあるいはオフにするために `ergodox_right_led_on`/`off(uint8_t led)` を提供します。
さらに、LED の明度を指定することができます。全ての LED に同じ明度を指定するなら `ergodox_led_all_set(uint8_t n)` を使い、個別の LED の明度を指定するなら `ergodox_right_led_1`/`2`/`3_set(uint8_t n)` を使い、LED のインデックスを指定して明度を指定するには `ergodox_right_led_set(uint8_t led, uint8_t n)` を使います。
Ergodox キーボードは、最低の明度として `LED_BRIGHTNESS_LO` を、最高の輝度(これはデフォルトです)として `LED_BRIGHTNESS_HI` も定義しています。

74
docs/ja/feature_rawhid.md Normal file
View File

@@ -0,0 +1,74 @@
# Raw HID
<!---
original document: 0.10.47:docs/feature_rawhid.md
git diff 0.10.47 HEAD -- docs/feature_rawhid.md | cat
-->
Raw HID は、HID インタフェースを介して QMK とホストコンピュータ間の双方向通信を可能にします。これには、キーマップをその場で切り替えたり、RGB LED の色とモードを変更したりなど、多くの潜在的な使用方法があります。
キーボードで raw HID を機能させるには、2つの主要なコンポーネントがあります。
## キーボードファームウェア
ファームウェアの実装はとても簡単です。
`rules.mk` に以下を追加します:
```make
RAW_ENABLE = yes
```
`keymap.c``"raw_hid.h"` を include し、以下を実装します:
```C
void raw_hid_receive(uint8_t *data, uint8_t length) {
// ここにコードを書きます。data はホストから受信したパケットです。
}
```
`"raw_hid.h"` ヘッダは、キーボードからホストにパケットを送信できる `void raw_hid_send(uint8_t *data, uint8_t length);` も宣言します。例として、全てのデータをホストに返すことで、ホストアプリケーションを構築する時のデバッグに使うこともできます。
```C
void raw_hid_receive(uint8_t *data, uint8_t length) {
raw_hid_send(data, length);
}
```
`raw_hid_receive` はホストから最大長 `RAW_EPSIZE` の可変サイズのパケットを受信することができます。一方、`raw_hid_send` はパケットを厳密に `RAW_EPSIZE` の長さで送信するため、長さ `RAW_EPSIZE` のデータを使う必要があります。
ホスト側での作業を進める前に、raw 対応のファームウェアを書き込むようにしてください。
## ホスト (Windows/macOS/Linux)
これは幾つかの掘り下げが必要になるため、より複雑な部分です。
ホストコンピュータを raw HID を使ってキーボードに接続するには、キーボードについての4つの情報が必要です。
1. Vendor ID
2. Product ID
3. Usage Page
4. Usage
前半の2つは、キーボードのメインディレクトリにあるキーボードの `config.h` で、`VENDOR_ID``PRODUCT_ID` で簡単に見つかります。
後半の2つは、キーボードのメインディレクトリにあるキーボードの `config.h` で、値を再定義することで上書きすることができます: `#define RAW_USAGE_PAGE 0xFF60``#define RAW_USAGE_ID 0x61`
デフォルトでは、**Usage Page** は `0xFF60` で、**Usage** は `0x61` です。
### ホストの構築
独自に作成したくない場合は、利用可能な HID 実装ライブラリがある任意の言語を使ってホストを構築することができます。人気のある言語でよく使われるライブラリは以下の通りです:
* Node: [node-hid](https://github.com/node-hid/node-hid)。
* C: [hidapi](https://github.com/libusb/hidapi)。
* Java: [purejavahidapi](https://github.com/nyholku/purejavahidapi) と [hid4java](https://github.com/gary-rowe/hid4java)。
* Python: [pyhidapi](https://pypi.org/project/hid/)。
これは完全なクロスプラットフォームのリストではありませんが、最初に始めるのに十分なはずです。raw HID を使うための特別な要件は無いため、どの HID ライブラリでも動作するはずです。
これで、キーボードへの HID インタフェースを開くために必要な4つの情報全てが揃いました。必要なのは、ライブラリの利用可能な関数を使って ID パラメータを使ってデバイスを開くことだけです。
Vendor ID と Product ID はデバイスを開くために実際には必要ないことに注意してください。それらは接続した多くの HID デバイスから特定のデバイスをフィルターするためだけに使われます。多くのライブラリでは、代わりに製品名と製造元名を使ってデバイスを開くオプションがあります。`node-hid` が代表的な例です。これは USB ハブが組み込まれているデバイスや、同じ製品名または同じ製造元の複数のインタフェースがある特別な HID インタフェースで問題になります。Product ID と Vendor ID を合わせると単一のインタフェースの固有名を作成できるため、この問題を防げます。したがって、ライブラリで必要が無い場合でも、この問題を防ぐためにそれらを使うことをお勧めします。
ただし、Vendor ID や Product ID と異なり、Usage Page と Usage は通信を成功させるために必要です。
言うまでもなく、使っているライブラリに関係なく、終了したらインタフェースを必ず閉じる必要があります。オペレーティングシステムと特定の環境によっては、明示的に接続が閉じられていない場合、後で他のクライアントまたは同じクライアントの他のインスタンスに接続しなおした時に問題が発生する可能性があります。

View File

@@ -171,4 +171,3 @@
* `device` 関連するデバイス
* `func` 登録するコールバック関数

View File

@@ -51,6 +51,7 @@ HID Keyboard/Keypad usage ページでは 256 未満の usage が定義されて
| Norwegian | `keymap_norwegian.h` |
| Polish | `keymap_polish.h` |
| Portuguese | `keymap_portuguese.h` |
| Portuguese (macOS, ISO) | `keymap_portuguese_osx_iso.h` |
| Portuguese (Brazil) | `keymap_br_abnt2.h` |
| Romanian | `keymap_romanian.h` |
| Russian* | `keymap_russian.h` |

View File

@@ -124,17 +124,17 @@ See also: [Basic Keycodes](keycodes_basic.md)
|`KC_F22` | |F22 |✔ | |✔ |
|`KC_F23` | |F23 |✔ | |✔ |
|`KC_F24` | |F24 |✔ | |✔ |
|`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ |
|`KC_HELP` | |Help | | |✔ |
|`KC_MENU` | |Menu | | |✔ |
|`KC_SELECT` |`KC_SLCT` |Select | | |✔ |
|`KC_STOP` | |Stop | | |✔ |
|`KC_AGAIN` |`KC_AGIN` |Again | | |✔ |
|`KC_UNDO` | |Undo | | |✔ |
|`KC_CUT` | |Cut | | |✔ |
|`KC_COPY` | |Copy | | |✔ |
|`KC_PASTE` |`KC_PSTE` |Paste | | |✔ |
|`KC_FIND` | |Find | | |✔ |
|`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ |
|`KC_HELP` | |Help | | |✔ |
|`KC_MENU` | |Menu | | |✔ |
|`KC_SELECT` |`KC_SLCT` |Select | | |✔ |
|`KC_STOP` | |Stop | | |✔ |
|`KC_AGAIN` |`KC_AGIN` |Again | | |✔ |
|`KC_UNDO` | |Undo | | |✔ |
|`KC_CUT` | |Cut | | |✔ |
|`KC_COPY` | |Copy | | |✔ |
|`KC_PASTE` |`KC_PSTE` |Paste | | |✔ |
|`KC_FIND` | |Find | | |✔ |
|`KC__MUTE` | |Mute | |✔ |✔ |
|`KC__VOLUP` | |Volume Up | |✔ |✔ |
|`KC__VOLDOWN` | |Volume Down | |✔ |✔ |

View File

@@ -144,48 +144,48 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
## Commands
|Key |Aliases |Description |
|------------------|------------------------------|------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
|`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_LEFT` | |Left Arrow |
|`KC_DOWN` | |Down Arrow |
|`KC_UP` | |Up Arrow |
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
|`KC_POWER` | |System Power (macOS/Linux) |
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help |
|`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |Undo |
|`KC_CUT` | |Cut |
|`KC_COPY` | |Copy |
|`KC_PASTE` |`KC_PSTE` |Paste |
|`KC_FIND` | |Find |
|`KC__MUTE` | |Mute (macOS) |
|`KC__VOLUP` | |Volume Up (macOS) |
|`KC__VOLDOWN` | |Volume Down (macOS) |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out |
|`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel |
|Key |Aliases |Description |
|------------------|------------------------------|--------------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
|`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_LEFT` | |Left Arrow |
|`KC_DOWN` | |Down Arrow |
|`KC_UP` | |Up Arrow |
|`KC_APPLICATION` |`KC_APP` |Application (Windows Context Menu Key)|
|`KC_POWER` | |System Power |
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help |
|`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |Undo |
|`KC_CUT` | |Cut |
|`KC_COPY` | |Copy |
|`KC_PASTE` |`KC_PSTE` |Paste |
|`KC_FIND` | |Find |
|`KC__MUTE` | |Mute |
|`KC__VOLUP` | |Volume Up |
|`KC__VOLDOWN` | |Volume Down |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out |
|`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel |
## 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.
|Key |Aliases |Description |
|-----------------------|---------|-----------------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track (Windows) |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player (Windows)|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
|`KC_MAIL` | |Launch Mail (Windows) |
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator (Windows) |
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer (Windows) |
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search (Windows) |
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home (Windows) |
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back (Windows) |
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward (Windows) |
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop (Windows) |
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh (Windows) |
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites (Windows) |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
|Key |Aliases |Description |
|-----------------------|---------|-------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject |
|`KC_MAIL` | |Launch Mail |
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator |
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer |
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search |
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home |
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back |
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward |
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop |
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh |
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track |
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track |
|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
## Number Pad
@@ -248,7 +248,7 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
## 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 |
|----------------|--------------------|---------------------------------------|

View File

@@ -37,26 +37,60 @@ 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>
[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.**
QMK maintains a Bundle of MSYS2, the CLI and all necessary dependencies. It also provides a handy `QMK MSYS` terminal shortcut to boot you directly into the correct environment.
Then, run the following:
#### Prerequisites
You will need to install `QMK MSYS`. The latest release is available at https://msys.qmk.fm/.
Alternatively, if you'd like to manually install msys2, the following section will walk you through the process.
<details>
<summary>Manual Install</summary>
?> Ignore the following steps if you use `QMK MSYS`.
#### Prerequisites
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
#### Installation
Install the QMK CLI by running:
python3 -m pip install qmk
### macOS
</details>
You will need to install Homebrew. Follow the instructions on the [Homebrew homepage](https://brew.sh).
### ** macOS **
After Homebrew is installed run this command:
QMK maintains a Homebrew tap and formula which will automatically install the CLI and all necessary dependencies.
#### 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
### 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:
@@ -66,30 +100,71 @@ You will need to install Git and Python. It's very likely that you already have
* Void: `sudo xbps-install -y git python3-pip`
* Solus: `sudo eopkg -y install git python3`
* 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
#### Community Packages
These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.
On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):
sudo pacman -S qmk
You can also try the `qmk-git` package from AUR:
yay -S qmk-git
### ** 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:
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
<!-- tabs:end -->
## 3. Run QMK Setup :id=set-up-qmk
<!-- tabs:start -->
### ** Windows **
After installing QMK you can set it up with this command:
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**:
It's possible, that you will get an error saying something like: `bash: qmk: command not found`.
@@ -97,12 +172,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).
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**:
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.
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.
<!-- 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.
## 4. Test Your Build Environment

View File

@@ -61,4 +61,4 @@ To implement your own version of this function, in your keyboard's source files:
void board_init(void) {
// initialize anything that requires ChibiOS
}
```
```

View File

@@ -27,3 +27,20 @@
.markdown-section hr, .search {
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;
}

View File

@@ -28,3 +28,20 @@
.markdown-section pre {
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;
}

View File

@@ -46,6 +46,7 @@ To use these, simply `#include` the corresponding [header file](https://github.c
|Norwegian |`keymap_norwegian.h` |
|Polish |`keymap_polish.h` |
|Portuguese |`keymap_portuguese.h` |
|Portuguese (macOS, ISO) |`keymap_portuguese_osx_iso.h` |
|Portuguese (Brazil) |`keymap_br_abnt2.h` |
|Romanian |`keymap_romanian.h` |
|Russian* |`keymap_russian.h` |

View File

@@ -1,5 +1,3 @@
#ifndef LCD_H
#define LCD_H
/*************************************************************************
Title : C include file for the HD44780U LCD library (lcd.c)
Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury
@@ -43,6 +41,8 @@
*/
#pragma once
#include <inttypes.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))
/**@}*/
#endif // LCD_H

View File

@@ -17,8 +17,7 @@
* GitHub repository: https://github.com/g4lvanix/I2C-master-lib
*/
#ifndef I2C_MASTER_H
#define I2C_MASTER_H
#pragma once
#define I2C_READ 0x01
#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_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
void i2c_stop(void);
#endif // I2C_MASTER_H

View File

@@ -20,8 +20,7 @@
Read or write to the necessary buffer according to the opperation.
*/
#ifndef I2C_SLAVE_H
#define I2C_SLAVE_H
#pragma once
#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_stop(void);
#endif // I2C_SLAVE_H

View File

@@ -1,5 +1,4 @@
#ifndef SSD1306_H
#define SSD1306_H
#pragma once
#include <stdbool.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_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
#endif

View File

@@ -115,11 +115,17 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
return true;
}
spi_status_t spi_write(uint8_t data) { return spi_transmit(&data, 1); }
spi_status_t spi_write(uint8_t data) {
uint8_t rxData;
spiExchange(&SPI_DRIVER, 1, &data, &rxData);
return rxData;
}
spi_status_t spi_read(void) {
uint8_t data = 0;
spi_receive(&data, 1);
spiReceive(&SPI_DRIVER, 1, &data);
return data;
}

View File

@@ -403,4 +403,4 @@ typedef union DRVREG_CTRL5 { /* register 0x1F */
uint8_t C5_LRA_AUTO_OPEN_LOOP : 1;
uint8_t C5_AUTO_OL_CNT : 2;
} Bits;
} DRVREG_CTRL5;
} DRVREG_CTRL5;

View File

@@ -1,3 +1,3 @@
GFXINC += drivers/ugfx/gdisp/is31fl3731c
GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK
GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK

View File

View File

View File

@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xCEEB
#define PRODUCT_ID 0x0510
#define VENDOR_ID 0x3430 // "40"
#define PRODUCT_ID 0x4D68 // "M68"
#define DEVICE_VER 0x0101
#define MANUFACTURER di0ib
#define PRODUCT MF68

View File

@@ -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(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

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

View File

@@ -16,7 +16,7 @@
{ K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
{ 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( \

View File

@@ -14,7 +14,7 @@ BOOTLOADER = caterina
# Build Options
# 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
EXTRAKEY_ENABLE = yes # Audio control and System control
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
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
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI controls

View File

@@ -0,0 +1,122 @@
/*
Copyright 2020
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 0x3430 // "40"
#define PRODUCT_ID 0x5350 // "SP"
#define DEVICE_VER 0x1001
#define MANUFACTURER di0ib
#define PRODUCT Six Pack
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
// #define MATRIX_ROW_PINS { B0 } // B0 equivalents the ground pin
// #define MATRIX_COL_PINS { E6, D7, C6, D4 }
#define DIRECT_PINS { \
{ D4, C6, D7 }, \
{ E6, B4, B5 } \
}
#define UNUSED_PINS { D1, D0, C4, C5, B1, B2, B3 } // TX, RX, SDA, SCL, PB1, PB2, PB3 on expansion connector
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Backlight */
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 6
#define BACKLIGHT_PINS { F4, F5 } // Top Row, Bottom Row
// #define RGB_DI_PIN B1 // PB1 on expansion connector
// #ifdef RGB_DI_PIN
// #define RGBLED_NUM 16
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
// #define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #define RGBLIGHT_EFFECT_SNAKE
// #define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
// /*==== use exp() and sin() ====*/
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
// #endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,15 @@
{
"keyboard_name": "sixpack",
"url": "https://www.40percent.club/2017/05/six-pack-11.html",
"maintainer": "qmk",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0},
{"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}
]
}
}
}

View File

@@ -0,0 +1,31 @@
/* Copyright 2020
*
* 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] = {
/* Default 2x3 layout
* .--------------------------.
* | MUTE | UP | PLAY |
* |--------+--------+--------+
* | LEFT | DOWN | RIGHT |
* '--------------------------'
*/
[0] = LAYOUT_ortho_2x3(/* Default */
KC_MUTE, KC_UP, KC_MPLY,
KC_LEFT, KC_DOWN, KC_RGHT),
};

View File

@@ -0,0 +1 @@
# The default keymap for Six Pack

View File

@@ -0,0 +1,50 @@
/* Copyright 2020
*
* 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
// Tap Dance declarations
enum {
F13F19,
F14F20,
F15F21,
F16F22,
F17F23,
F18F24,
};
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
// Tap once for F13 to F18, twice for F19 to F24
[F13F19] = ACTION_TAP_DANCE_DOUBLE(KC_F13, KC_F19), [F14F20] = ACTION_TAP_DANCE_DOUBLE(KC_F14, KC_F20), [F15F21] = ACTION_TAP_DANCE_DOUBLE(KC_F15, KC_F21),
[F16F22] = ACTION_TAP_DANCE_DOUBLE(KC_F16, KC_F22), [F17F23] = ACTION_TAP_DANCE_DOUBLE(KC_F17, KC_F23), [F18F24] = ACTION_TAP_DANCE_DOUBLE(KC_F18, KC_F24)
};
// Add tap dance item in place of a key code
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 2x3 layout
* .-----------------------------.
* | F13/F19 | D14/F20 | F15/F21 |
* |---------+---------+---------+
* | F16/F22 | D17/F23 | F18/F24 |
* '-----------------------------'
*/
[0] = LAYOUT_ortho_2x3(/* F13 to F24 */
TD(F13F19), TD(F14F20), TD(F15F21),
TD(F16F22), TD(F17F23), TD(F18F24)
),
};

View File

@@ -0,0 +1 @@
# F13 to F24 keymap with Tap Dance for Six Pack

View File

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

View File

@@ -0,0 +1,41 @@
/* Copyright 2020
*
* 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] = {
/* Default 2x3 layout with 6 Layers
* .--------------------------.
* | MUTE | UP | PLAY |
* |--------+--------+--------+
* | LEFT | DOWN | RIGHT |
* '--------------------------'
*/
[0] = LAYOUT_ortho_2x3(KC_MUTE, KC_UP , KC_MPLY,
KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS),
[4] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS),
[5] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS),
};

View File

@@ -0,0 +1,21 @@
# Six Pack
![sixpack](https://4.bp.blogspot.com/-sCUGxPAmcu4/WQj4cd9ZlAI/AAAAAAACBhs/174XLIHIfzISucFFEgo53H73HdVJfn3ZwCLcB/s640/IMG_0265.JPG)
A 6-key macropad PCB with its switch and LED pins wired directly to microcontroller IO pins.
You can find the main blog post about this macropad [here](http://www.40percent.club/2017/05/six-pack-11.html), also the Gerber files and other documentation is located [here](https://git.40percent.club/di0ib/Misc/src/branch/master/Six%20Pack).
* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: Six Pack PCB, Pro Micro
* Hardware Availability: [40percent.club](https://git.40percent.club/di0ib/Misc/src/branch/master/Six%20Pack)
Make example for this macropad (after setting up your build environment):
make 40percentclub/sixpack:default
Flashing example for this keyboard:
make 40percentclub/sixpack:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

View File

@@ -0,0 +1,24 @@
/* Copyright 2020
*
* 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 "sixpack.h"
void matrix_init_kb(void) {
setPinOutput(B6); // Backlight cathodes Col.3
setPinOutput(F6); // Backlight cathodes Col.2
setPinOutput(F7); // Backlight cathodes Col.1
matrix_init_user();
}

View File

@@ -0,0 +1,34 @@
/* Copyright 2020
*
* 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"
/* This 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.
*/
#define LAYOUT_ortho_2x3( \
k00, k01, k02, \
k10, k11, k12 \
) { \
{ k00, k01, k02 }, \
{ k10, k11, k12 } \
}

View File

0
keyboards/7skb/.noci Normal file
View File

0
keyboards/8pack/.noci Normal file
View File

View File

View File

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

View File

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

View File

@@ -29,7 +29,6 @@ MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
UNICODEMAP_ENABLE = yes
ENCODER_ENABLE = yes
DIP_SWITCH_ENABLE = yes
LTO_ENABLE = yes

0
keyboards/adkb96/.noci Normal file
View File

View File

View File

View File

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

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

View File

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

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

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

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| | | | | | | |
`-----------------------------------------------------------'

View File

@@ -0,0 +1,2 @@
VIA_ENABLE = yes
CONSOLE_ENABLE = no

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

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

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

View File

@@ -0,0 +1,17 @@
/* 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 "rev0.h"

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

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

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

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

View File

@@ -0,0 +1,17 @@
/* 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 "rev1.h"

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

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

View File

@@ -0,0 +1 @@
DEFAULT_FOLDER = aleth42/rev1

View File

@@ -0,0 +1,18 @@
/*
Copyright 2020 Álvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "alpine65.h"

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