Compare commits

..

65 Commits

Author SHA1 Message Date
bd1c048a76 Add qmk info -l to show the layouts too (#10882) 2020-11-07 19:36:47 +00:00
4d33d72975 New command: qmk lint (#10761)
* Basic qmk lint command

* check for keymap readme

* change the workflow from qmk info to qmk lint

* add a strict mode

* parsing -> parse

* document qmk lint

* small info logging cleanup

* Apply suggestions from code review

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

* honor --strict in more places

* change the job name to lint

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-11-07 09:56:08 -08:00
7ce5402417 Updates to Talljoe's Keymaps (#10115)
* Minor Tweak

* Refactor spacebar defines.

* Add TMO50 layout

* Rename Atreus keymap.

* Refactor Atreus for readability.

* Eliminate tapdance quote and tweak maltroff.

* Factor out tapdance.

* Add some fancy combos and keys.

* Remove combos for now because they cause pain.

* WIP visualizer

* Alternate method for reset

* WIP2 visualizer

* Layer text tweak.

* Add made-up layout Nortron as a combination of Norman and Maltron.

* Add backspace.

* Add Talljoe keymap to Prime E.

* Fix double-colon so it doesn't press enter if shift is released early.

* Use new make command.

* Bring some modern standards into code and add licenses.

* Remove QMK_KEYBOARD_CONFIG_H and fixup QMK_KEYBOARD_H.

* Move from `biton32` to `get_highest_layer`.

* Remove PREVENT_STUCK_MODIFIERS

* Update keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h
2020-11-06 17:16:22 -08:00
b5ebdf1b3a [Keymap] bcat keymaps and userspace (#10705)
Add Eco keymap, factor Crkbd keymap to community layout, other minor tweaks

* Remove outdated Crkbd Ctrl key positioning info

* Add Left Alt key to Lily58 keymap

* Lily58 no longer overrides default TAPPING_TERM

* Refactor Crkbd keymap to use new community layout

* Fix underglow animations for Crkbd w/ Split Common

* Add initial Eco keymap

* Update outdated reference to Crkbd layout

* Add keymap links to userspace readme

* Add copyright notices to files changed in this PR
2020-11-05 22:41:06 -08:00
d7c90d805f add dp60 indicator mode (#8801)
* add dp60 indicator mode

* update according to #7720

* added license header and move the ws2812 codes to a seperate c file

* fixed conflict with master
2020-11-05 21:36:04 -08:00
5f2c434954 E85 backlight & LED indicator updates (#10678)
* Enable in-switch backlight on e85 for VIA keymaps.

Update LED indicator code for e85 hotswap/soldered PCBs.
2020-11-05 20:58:00 -08:00
f2eb080aa2 Add support for 4 IS31FL3731 devices (#10860)
This is a simple change.Support for IS31FL3731 has been changed from 2 to 4.
2020-11-05 19:58:46 +00:00
f12dcb0659 [Keymap] add brandonschlack userspace and keymaps (#10411) 2020-11-04 21:55:03 -08:00
262a607334 [Keymap] add ai03/polaris:mekberg (#10508)
* Add keymap for Polaris

* Change back to KC_NUBS for <> key

* Add GPL header from default files

* Change to new way of flashing in readme
2020-11-04 13:49:49 -08:00
7ef98e7f61 CLI: Add qmk clean (#10785) 2020-11-04 19:18:47 +00:00
d46fa2274c Adds support for XD84 Pro (#9750)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: katawajojo <vibri@localhost>
Co-authored-by: katawajojo <katawajojo@vibri.local>
2020-11-04 11:39:12 +11:00
e024147ce5 Freyr refactor (#10833) 2020-11-04 10:39:11 +11:00
c60cafae41 KC60 refactor (#10834) 2020-11-02 16:55:22 -08:00
38162af5a7 [Keyboard] Fixes for PloopyCo mouse and readmes (#10841) 2020-11-03 00:17:05 +00:00
e680af98d2 Enable extrakeys, mousekeys for all VIA keymaps. (#10740) 2020-11-02 21:23:05 +00:00
4ba0cb7ebc Add OLED support for Riblee F411 (#10778)
* Add OLED support for Riblee F422

* Fix typo
2020-11-02 21:20:22 +00:00
4b839db384 NK65 eeprom compatibility with 128KB and 256KB (#10804)
* NK65 define hack for 128kb 256kb versions of F303

* Updated to chibios define
2020-11-03 06:09:48 +11:00
e041ec1655 Add support for Noxary Vulcan (#10822)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: ai03 <sarcaphx510@gmail.com>
2020-11-03 00:45:02 +11:00
75201c73a0 Enable media keys support for Canoe VIA keymap (#10829) 2020-11-03 00:35:38 +11:00
8e71d3d053 Phantom refactor (#10805) 2020-11-02 20:23:54 +11:00
e69da2db2c qmk info: Add --ascii flag (#10793)
* `qmk info`: Add `--ascii` flag

* Fix typo

* Force ASCII for Windows/MSYS2

* Make it gooder

* Remove redundant windows check

* ...And this too

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

* Update trinityxttkl.c

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

... and update via keymap accordingly.

* compress info.json LAYOUT_all tree

Only changes the white space.

* rebuild info.json LAYOUT_all tree

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

* unify code styles

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

* correct LAYOUT_iso key sequence

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

* minor cleanups

* Update keyboards/exent/config.h

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

* Update keyboards/exent/config.h

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

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

* Moved freebird60 keyboard. Added VIA keymap.

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

* Update keyboards/keebsforall/freebird60/readme.md

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

* Update keyboards/keebsforall/freebird60/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-11-01 11:13:34 -08:00
c1e69bcef0 add 65_ansi_split_bs to default community layouts (#10770)
* add 65_ansi_split_bs to default community layouts

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

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

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

* Change PID

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

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

Co-authored-by: Swiftrax <swiftrax@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-11-01 10:57:30 -08:00
76bc235508 [Keyboard] Add keysofkings folder and twokey keyboard (#10754)
* Add keysofkings folder and twokey keyboard

* Update readme.md

* Update readme.md

* Update config.h

* Update config.h

* Update keymap.c

* Update twokey.c

* Update twokey.h

* Update keyboards/keysofkings/twokey/config.h

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

* Update keyboards/keysofkings/twokey/readme.md

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

* Update keyboards/keysofkings/twokey/rules.mk

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

* Update keyboards/keysofkings/twokey/rules.mk

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

* Update keyboards/keysofkings/twokey/readme.md

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

* Update info.json

* Update keymap.c

* Update keyboards/keysofkings/twokey/info.json

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

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

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

* Added MACLOCK macro to keymap.c

* Updates to Keyboardio Atreus keymap and readme.

* Adding arrows to bottom row of RAISE and LOWER layers

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

* Changes to my KeyboardIO Atreus keymap & readme

* Changes to keymap.

* Adding Evan Travers' Keyboardio Atreus branch.

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

* Added MACLOCK macro to keymap.c

* Updates to Keyboardio Atreus keymap and readme.

* Adding arrows to bottom row of RAISE and LOWER layers

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

* Changes to my KeyboardIO Atreus keymap & readme

* Changes to keymap.

* Added GPL2+ compatible license header.

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

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

* Remove define that should go in config.h

* Removed define that should be in config.h

* Removed LTO_ENABLE as suggested - has issues on ARM

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

* Added the correct define for OLED screen size

* Applied suggested change to remove description

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

* Made suggested change to remove backslashes

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

* Suggested change made to rgblight

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

* Suggested change made to rgblight

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

* Suggested change made to remove backslashes

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

* Suggested change made to rgblight

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

* Update keyboards/rocketboard_16/rocketboard_16.c

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

* Added suggested comments

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

* Made suggested changes to rules file

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

* Added suggested change to rgblight

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

* Added info.json for QMK configurator

* Update readme.md

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

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

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

* Fixed tab issues

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

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

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/readme.md

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

* Update readme.md

* Update info.json

update the name of layout to consistent the keyboard.

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/info.json

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

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

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

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

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

* Add Z70Ultra

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

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

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

* Update keyboards/melgeek/z70ultra/config.h

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

* remove excessive arguments from LAYOUT_split_space

* Update keyboards/melgeek/z70ultra/info.json

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

* Update keyboards/melgeek/z70ultra/info.json

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

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

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

* Update keyboards/melgeek/z70ultra/z70ultra.h

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Use macro replace with the literal for CS & SW

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/mj61.c

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

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

* Update keyboards/melgeek/mj61/readme.md

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

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

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

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

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Update keyboards/melgeek/mj61/mj61.c

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

* Add GPL for files

* Update keymaps/default/keymap.c

* Update keymaps/via/keymap.c

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

* Update keyboards/melgeek/z70ultra/z70ultra.c

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

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-11-01 10:38:08 -08:00
f450bdbb41 [Keyboard] Add The Railroad (rev 0) (#10474)
* Add The Railroad keyboard, rev 0

* Update keyboards/nopunin10did/railroad/config.h

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

* Update keyboards/nopunin10did/railroad/config.h

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

* Update config.h

* Update keyboards/nopunin10did/railroad/rules.mk

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

* Update keyboards/nopunin10did/railroad/config.h

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

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

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

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

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

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

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

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

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

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

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

* Update keyboards/nopunin10did/railroad/rules.mk

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

* Update rules.mk

* Update config.h

* Update keymap.c

* Update keyboards/nopunin10did/railroad/railroad.h

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

* Update railroad.h

* Update keyboards/nopunin10did/railroad/railroad.c

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

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

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

* Update keyboards/nopunin10did/railroad/rules.mk

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

* Update keyboards/nopunin10did/railroad/config.h

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

* Update keyboards/nopunin10did/railroad/readme.md

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

* Updates from peer review to correct render

* Update keyboards/nopunin10did/railroad/info.json

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

* Update keyboards/nopunin10did/railroad/readme.md

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

* Update keyboards/nopunin10did/railroad/info.json

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

* Relocate most files inside rev0

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-11-01 10:21:09 -08:00
4fa1924bd7 add beegboy keyboard (#10762)
* add layout macro

* add beegboy keymaps

* fix matrix pins

* Change PID

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

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

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

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

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

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

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

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

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

* Fix name typo

* clean up via file and move to via pull

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

* Adding readme and expanding programs

* Updating readme

* adding spirit guide

* changes based on review

* Updating config name and readme

* Update keyboards/littlealby/mute/rules.mk

Update tabbing

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

* Update keyboards/littlealby/mute/rules.mk

Remove other boards

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

* Changes based on review

* Update keyboards/littlealby/mute/config.h

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

* Update keyboards/littlealby/mute/rules.mk

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

* Update keyboards/littlealby/readme.md

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

* Update keyboards/littlealby/readme.md

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

* Update keyboards/littlealby/mute/config.h

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

* Adding unique vendor and Product IDs

* Update keyboards/littlealby/mute/config.h

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

* 0x4D55 = MU

* Adding default map

Co-authored-by: Alby Barber <albybarber@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-29 01:15:38 -07:00
5cecc1ea1e Add brightness level API to OLED driver (#10772)
* Add brightness level API to OLED driver

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

* Added via keymaps and changed config Product and Vendor ID

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

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

* Update keyboards/exclusive/e65/config.h

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

* Refactored via/keymap.c to use LAYOUT_all

* Refactored e65.h to remove nested matrix layouts

* Previous commit missed LAYOUT_65_ansi_blocker. Fixed

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

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

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

* add image to readme

* tidy-up Configurator layout data

Key positioning was not true to the assembled board.

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

* New default layout with RESET mapped

* Add Via keymap

* Update README

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

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

* Update keyboards/tg4x/config.h

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

* Delete config.h

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

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-28 18:04:47 -07:00
8685409784 GEN ONE Eclipse_65 keyboard addition (#10669)
* Add files via upload

* Add files via upload

* Add files via upload

* Update config.h

* Update rules.mk

* Update config.h

* Update config.h

* Update config.h

* Update config.h

* Add files via upload

* Removing duplicate files

* Resolve VID and PID collisions as requested

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

* add a GPL2+ compatible license header as requested

Added the GPL2+ header to keymap.c file

* Update keyboards/genone/eclipse_65/config.h

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

* Update keyboards/genone/eclipse_65/readme.md

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

* Update keyboards/genone/eclipse_65/eclipse_65.c

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

* Update keyboards/genone/eclipse_65/rules.mk

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

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

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

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

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

* Update keyboards/genone/eclipse_65/eclipse_65.h

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

* Corrected items on rules.mk as suggested 

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

* Deleted genone_main.c file

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

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

* add LAYOUT_alice support to projectkb/alice/rev2

* add addition BSPC key to default layout

* add define to support LAYOUT_default
2020-10-27 10:35:38 -07:00
1ba93875ba [Keyboard] Add handwired F411 (#10504)
Co-authored-by: Janos Daniel Reibl <janos.daniel.reibl@protonmail.com>
2020-10-28 01:39:51 +11:00
33074bcbad [Keyboard] Bug fixes and improvements to PloopyCo devices (#10573)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-27 17:09:11 +11:00
329eb4b8df [Keymap] Add OBS keymap for ANAVI Macro Pad 8
OBS keymap for ANAVI Macro Pad 8 with the following shortcuts:

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

Signed-off-by: Leon Anavi <leon@anavi.org>
2020-10-24 10:00:47 +03:00
508 changed files with 22972 additions and 5716 deletions

View File

@ -13,6 +13,9 @@ jobs:
runs-on: ubuntu-latest
container: qmkfm/base_container
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v2
with:
@ -22,6 +25,10 @@ jobs:
- name: Generate API Data
run: qmk generate-api
- name: Install rsync
run: |
apt-get update && apt-get install -y rsync
- name: Upload API Data
uses: JamesIves/github-pages-deploy-action@3.7.1
with:

View File

@ -6,7 +6,7 @@ on:
- 'keyboards/**'
jobs:
info:
lint:
runs-on: ubuntu-latest
container: qmkfm/base_container
@ -27,7 +27,7 @@ jobs:
echo ${{ github.event.pull_request.base.sha }}
echo '${{ steps.file_changes.outputs.files}}'
- name: Run qmk info
- name: Run qmk lint
shell: 'bash {0}'
run: |
QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.files}}')
@ -45,10 +45,7 @@ jobs:
if [[ $KEYMAP_ONLY -gt 0 ]]; then
echo "linting ${KB}"
# TODO: info info always returns 0 - right now the only way to know failure is to inspect log lines
qmk info -l -kb ${KB} 2>&1 | tee /tmp/$$
!(grep -cq ☒ /tmp/$$)
: $((exit_code = $exit_code + $?))
qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB}
fi
done
exit $exit_code

View File

@ -178,6 +178,24 @@ Creates a keymap.json from a keymap.c.
qmk c2json [--no-cpp] [-o OUTPUT] filename
```
## `qmk lint`
Checks over a keyboard and/or keymap and highlights common errors, problems, and anti-patterns.
**Usage**:
```
qmk lint [-km KEYMAP] [-kb KEYBOARD] [--strict]
```
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
**Examples**:
Do a basic lint check:
qmk lint -kb rominronin/katana60/rev2
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`
@ -212,6 +230,16 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk clean`
This command cleans up the `.build` folder. If `--all` is passed, any .hex or .bin files present in the `qmk_firmware` directory will also be deleted.
**Usage**:
```
qmk clean [-a]
```
---
# Developer Commands
@ -299,4 +327,3 @@ This command runs the python test suite. If you make changes to python code you
```
qmk pytest
```

View File

@ -140,8 +140,8 @@ void oled_task_user(void) {
|---------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------|
|`OLED_DISPLAY_ADDRESS` |`0x3C` |The i2c address of the OLED Display |
|`OLED_FONT_H` |`"glcdfont.c"` |The font code file to use for custom fonts |
|`OLED_FONT_START` |`0` |The starting characer index for custom fonts |
|`OLED_FONT_END` |`223` |The ending characer index for custom fonts |
|`OLED_FONT_START` |`0` |The starting character index for custom fonts |
|`OLED_FONT_END` |`223` |The ending character index for custom fonts |
|`OLED_FONT_WIDTH` |`6` |The font width |
|`OLED_FONT_HEIGHT` |`8` |The font height (untested) |
|`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
@ -149,6 +149,7 @@ void oled_task_user(void) {
|`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. |
|`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. |
|`OLED_COLUMN_OFFSET` |`0` |(SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC.|
|`OLED_BRIGHTNESS` |`255` |The default brightness level of the OLED, from 0 to 255. |
## 128x64 & Custom sized OLED Displays
@ -304,6 +305,12 @@ bool oled_off(void);
// not
bool is_oled_on(void);
// Sets the brightness level of the display
uint8_t oled_set_brightness(uint8_t level);
// Gets the current brightness level of the display
uint8_t oled_get_brightness(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void);

View File

@ -3,6 +3,25 @@
Since starting, QMK has grown by leaps and bounds thanks to people like you who contribute to creating and maintaining our community keyboards. As we've grown we've discovered some patterns that work well, and ask that you conform to them to make it easier for other people to benefit from your hard work.
## Use QMK Lint
We have provided a tool, `qmk lint`, which will let you check over your keyboard for problems. We suggest using it frequently while working on your keyboard and keymap.
Example passing check:
```
$ qmk lint -kb rominronin/katana60/rev2
Ψ Lint check passed!
```
Example failing check:
```
$ qmk lint -kb clueboard/66/rev3
☒ Missing keyboards/clueboard/66/rev3/readme.md
☒ Lint check failed!
```
## Naming Your Keyboard/Project
All keyboard names are in lower case, consisting only of letters, numbers, and underscore (`_`). Names may not begin with an underscore. Forward slash (`/`) is used as a sub-folder separation character.

View File

@ -107,6 +107,7 @@ OLED_BLOCK_TYPE oled_dirty = 0;
bool oled_initialized = false;
bool oled_active = false;
bool oled_scrolling = false;
uint8_t oled_brightness = OLED_BRIGHTNESS;
uint8_t oled_rotation = 0;
uint8_t oled_rotation_width = 0;
uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values
@ -193,7 +194,7 @@ bool oled_init(uint8_t rotation) {
}
}
static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, 0x8F, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x40, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) {
print("display_setup2 failed\n");
return false;
@ -550,6 +551,20 @@ bool oled_off(void) {
bool is_oled_on(void) { return oled_active; }
uint8_t oled_set_brightness(uint8_t level) {
uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level};
if (oled_brightness != level) {
if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) {
print("set_brightness cmd failed\n");
return oled_brightness;
}
oled_brightness = level;
}
return oled_brightness;
}
uint8_t oled_get_brightness(void) { return oled_brightness; }
// Set the specific 8 lines rows of the screen to scroll.
// 0 is the default for start, and 7 for end, which is the entire
// height of the screen. For 128x32 screens, rows 4-7 are not used.

View File

@ -141,6 +141,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if !defined(OLED_FONT_HEIGHT)
# define OLED_FONT_HEIGHT 8
#endif
// Default brightness level
#if !defined(OLED_BRIGHTNESS)
# define OLED_BRIGHTNESS 255
#endif
#if !defined(OLED_TIMEOUT)
# if defined(OLED_DISABLE_TIMEOUT)
@ -261,6 +265,12 @@ bool oled_off(void);
// not
bool is_oled_on(void);
// Sets the brightness of the display
uint8_t oled_set_brightness(uint8_t level);
// Gets the current brightness of the display
uint8_t oled_get_brightness(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void);

View File

@ -1,3 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = no
CONSOLE_ENABLE = no

View File

@ -1,2 +1 @@
VIA_ENABLE = yes
MOUSEKEY_ENABLE = no

View File

@ -1,5 +1,8 @@
#include "rev2.h"
// Tested and verified working on ext65rev2
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
#ifdef OLED_DRIVER_ENABLE
void board_init(void) {
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;

View File

@ -0,0 +1,22 @@
/*
Copyright 2019 Ryota Goto
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// Define some configuration for modtap behavior
// #define TAPPING_TERM 150
#define PERMISSIVE_HOLD

View File

@ -0,0 +1,97 @@
/* Copyright 2019 Ryota Goto
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
enum layer_names {
_BASE,
_NAV,
_FN
};
#define MY_LOCK C(LCMD(KC_L)) // Mac: Custom lock hotkey in BTT (when Alt/Command have been swapped in macOS)
/*
KBD6x ANSI physical layout
1u == 8chars
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
| | | | | | | | | | | | | | | |
|─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
| 1,5u | | | | | | | | | | | | | 1,5u |
|─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
| 1,75u | | | | | | | | | | | | 1,25u |
|─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
| 2,25u | | | | | | | | | | | 1,75u | |
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
| | 1,25u | | 1,25u | |
└────────────────────────────────────────────────────────────────────────────────────────────────────┘
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_60_tsangan_hhkb(
// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
// | | | | | | | | | | | | | | | |
KC_GESC, 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_NUBS, KC_RBRC,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,5u | | | | | | | | | | | | | 1,5u |
LT(_NAV,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_NUHS, KC_BSPC,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,75u | | | | | | | | | | | | 1,25u |
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,25u | | | | | | | | | | | 1,75u | |
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
// | | 1,25u | | 1,25u | |
XXXXXXX, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, XXXXXXX
// └────────────────────────────────────────────────────────────────────────────────────────────────────┘
),
[_NAV] = LAYOUT_60_tsangan_hhkb(
// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
// | | | | | | | | | | | | | | | |
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_BSPC,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,5u | | | | | | | | | | | | | 1,5u |
_______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, _______, _______, KC_DEL,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,75u | | | | | | | | | | | | 1,25u |
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,25u | | | | | | | | | | | 1,75u | |
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
// | | 1,25u | | 1,25u | |
XXXXXXX, _______, _______, _______, _______, _______, XXXXXXX
// └────────────────────────────────────────────────────────────────────────────────────────────────────┘
),
[_FN] = LAYOUT_60_tsangan_hhkb(
// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
// | | | | | | | | | | | | | | | |
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,5u | | | | | | | | | | | | | 1,5u |
_______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,75u | | | | | | | | | | | | 1,25u |
KC_RCTL, KC_VOLD, KC_VOLU, KC_MUTE, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, MY_LOCK,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,25u | | | | | | | | | | | 1,75u | |
_______, BL_TOGG, BL_INC, BL_DEC, BL_STEP, _______, _______, _______, KC_MRWD, KC_MFFD, _______, _______, _______,
// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
// | | 1,25u | | 1,25u | |
XXXXXXX, _______, _______, KC_MPLY, _______, _______, XXXXXXX
// └────────────────────────────────────────────────────────────────────────────────────────────────────┘
),
};

View File

@ -0,0 +1,14 @@
# General Information
This is more or less a HHKB base layout, but with completely different Fn layers. I don't use most of the HHKB secondary key positions because, honestly, they make no sense to me at all.
Fn key layer is focused mostly on keyboard firmware features (like RGB) as well as some of the necessary alternate functions. It also hold media controls, F-keys and Reset.
Left Tab-Hold layer is focused on nav cluster functionality, and turns Backspace into Delete (and moves Backspace up into the top right 1u position).
# Build instructions
To simply build the firmware file: `make clean && make ai03/polaris:mekberg`
To build and immediately flash: `make clean && make ai03/polaris:mekberg:flash`

View File

@ -0,0 +1,2 @@
BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Disable keyboard RGB underglow

View File

@ -0,0 +1,117 @@
/* Copyright 2020 Leon Anavi <leon@anavi.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#define _SCH 0
#define _PCB 1
#define _FN 2
#define KC_X0 LT(_FN, KC_ESC)
#ifdef RGBLIGHT_ENABLE
// How long (in ms) to wait between animation steps for the rainbow mode
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15};
// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4};
#endif
/*
* The keymap contains 2 layers for KiCad hotkeys and a 3rd layer
* for controlling the backlighting and the underlighting.
*
* - Layer for KiCad Schematic hotkeys:
* m - to move selected component
* r - to rotate selected component
* w - to wire components
* v - to edit component value
* F1 - zoom in
* F2 - zoom out
* F4 - zoom center
*
* - Layer for KiCad PCB layout hotkets:
* m - to move selected component
* r - to rotate selected component
* x - to route a new track
* v - to add a via
* F1 - zoom in
* F2 - zoom out
* F4 - zoom center
*
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SCH] = LAYOUT_ortho_2x4(
KC_M, KC_R, KC_W, KC_V,
KC_F1, KC_F2, KC_F4, TO(_PCB)
),
[_PCB] = LAYOUT_ortho_2x4(
KC_M, KC_R, KC_X, KC_V,
KC_F1, KC_F2, KC_F4, TO(_FN)
),
[_FN] = LAYOUT_ortho_2x4(
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
BL_TOGG, BL_STEP, BL_BRTG, TO(_SCH)
)
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
}
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _SCH:
oled_write_ln_P(PSTR("KiCad Schema"), false);
break;
case _PCB:
oled_write_ln_P(PSTR("KiCad PCB"), false);
break;
case _FN:
oled_write_ln_P(PSTR("FN "), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("N/A"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("Num Lock: "), false);
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Caps Lock: "), false);
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Scroll Lock: "), false);
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Backlit: "), false);
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
#ifdef RGBLIGHT_ENABLE
static char rgbStatusLine1[26] = {0};
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
oled_write_ln(rgbStatusLine1, false);
static char rgbStatusLine2[26] = {0};
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
oled_write_ln(rgbStatusLine2, false);
#endif
}
#endif

View File

@ -0,0 +1,97 @@
/* Copyright 2020 Leon Anavi <leon@anavi.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#define _MAIN 0
#define _FN 1
#define KC_X0 LT(_FN, KC_ESC)
#ifdef RGBLIGHT_ENABLE
// How long (in ms) to wait between animation steps for the rainbow mode
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15};
// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4};
#endif
/*
* This keymap contains the following shortcuts for OBS:
*
* - Shortcuts useful for switching scenes on the 1st row:
* Hold Left Control, Shift, Alt and GUI and press F9
* Hold Left Control, Shift, Alt and GUI and press F10
* Hold Left Control, Shift, Alt and GUI and press F11
* Hold Left Control, Shift, Alt and GUI and press F12
* - Center to screen: Ctrl+D
* - Fit to screen: Ctrl+F
* - Move source to top of sources list: Ctrl+Home
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_2x4(
HYPR(KC_F9), HYPR(KC_F10), HYPR(KC_F11), HYPR(KC_F12),
LCTL(KC_D), LCTL(KC_F), LCTL(KC_HOME), MO(_FN)
),
[_FN] = LAYOUT_ortho_2x4(
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
BL_TOGG, BL_STEP, BL_BRTG, _______
)
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
}
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
oled_write_P(PSTR("Active layer: "), false);
switch (get_highest_layer(layer_state)) {
case _MAIN:
oled_write_ln_P(PSTR("OBS"), false);
break;
case _FN:
oled_write_ln_P(PSTR("FN"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("N/A"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("Num Lock: "), false);
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Caps Lock: "), false);
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Scroll Lock: "), false);
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
oled_write_P(PSTR("Backlit: "), false);
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
#ifdef RGBLIGHT_ENABLE
static char rgbStatusLine1[26] = {0};
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
oled_write_ln(rgbStatusLine1, false);
static char rgbStatusLine2[26] = {0};
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
oled_write_ln(rgbStatusLine2, false);
#endif
}
#endif

View File

@ -1,2 +1 @@
VIA_ENABLE = yes
MOUSEKEY_ENABLE = no

View File

@ -1,42 +0,0 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include QMK_KEYBOARD_CONFIG_H
#define PREVENT_STUCK_MODIFIERS
#define SPACE_COUNT 2
#define TEMPLATE( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
) LAYOUT( \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
K10, K41, K42, K30, K44, K1D, K20, K45, K3C, K0D, K2B, K3D \
)
#define TEMPLATE_NUM( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
) LAYOUT( \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
K10, K41, K42, K30, K44, K1D, K20, K45, K48, K49, K2B, K3D \
)
#define TEMPLATE_RESET LAYOUT( \
RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
)
#endif

View File

@ -0,0 +1,53 @@
/* Copyright 2020 Joseph Wasson
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SPACE_COUNT 3
#define TEMPLATE_TKL( \
KESC, KF01, KF02, KF03, KF04, KF05, KF06, KF07, KF08, KF09, KF10, KF11, KF12, KSCL, KPRS, KADJ, \
KGRV, K_1 , K_2 , K_3 , K_4 , K_5 , K_6 , K_7 , K_8 , K_9 , K_0 , KMIN, KEQL, KBSP, KINS, KHOM, KPUP, \
KTAB, K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , KLBR, KRBR, KBLS, KDEL, KEND, LPDN, \
KCAP, K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, KQUO, KENT, \
KLSH, K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, KRSH, K_UP, \
KLCT, KLOS, KLAL, KSP3, KSP2, KSP1, KRAL, KROS, KRCT, KPTT, K_LT, K_DN, K_RT \
) LAYOUT( \
K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , \
K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, \
K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, \
KTAB, KLOS, KLAL, KLSH, KSP3, KSP2, KCAP, KSP1, KRSH, KBLS, KQUO, KADJ \
)
#define TEMPLATE_NUM( \
KGRV, K_1 , K_2 , K_3 , K_4 , K_5 , K_6 , K_7 , K_8 , K_9 , K_0 , KMIN, KEQL, KBSL, KESC, \
KTAB, K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , KLBR, KRBR, KBSP, \
KCAP, K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, KQUO, KENT, \
KLSH, K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, KRSH, KADJ, \
KLCT, KLOS, KLAL, KSP3, KSP2, KSP1, KRAL, KROS, KRCT, KPTT \
) LAYOUT( \
K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , \
K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, \
K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, \
KTAB, KLOS, KLAL, KLSH, KSP3, KSP2, KCAP, KSP1, KRAL, KROS, KQUO, KADJ \
)
#define TEMPLATE_RESET LAYOUT( \
RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
)

View File

@ -1,4 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
EXTRAKEY_ENABLE = no
CONSOLE_ENABLE = no

View File

@ -0,0 +1,173 @@
/* Copyright 2020 Brandon Schlack
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "brandonschlack.h"
/**
* Layer Names
*
* Layers mostly used for macro keys
*/
#define _REEDER _M1
#define _NAV _M2
#define _MOUSE _M3
/**
* Keycodes & Macros
*/
#define TG_BASE TO(_BASE)
#define TG_REDR TO(_REEDER)
#define TG_NAV TO(_NAV)
#define TG_MOUS TO(_MOUSE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/**
* Base
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Esc│││Tab   Q  W  E  R  T  Y  U  I  O  P │{ [│} ]│Bck│
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │PgU│││HyEsc  A  S  D  F  G  H  J  K  L │: ;│" '│ Enter│
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │PgD│││Shift    Z  X  C  V  B  N  M │< ,│> .│? /│Shft│ Fn│
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │End│││││││││││Opt│Cmd                      Cmd│Ctl│││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_BASE] = LAYOUT_default(
KC_ESC, 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_BSPC, \
KC_PGUP, HY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_PGDN, KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, PLY_FN1, \
KC_END, KC_LOPT, KC_LCMD, SPC_RAI, SPC_RAI, KC_RCMD, KC_RCTL \
),
/**
* Reeder
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │ P │││                                            
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ K │││                                             
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │ J │││                                             
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │ N │││││││││││                                  │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_REEDER] = LAYOUT_default( \
KC_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_K, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_J, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_N, _______, _______, _______, _______, _______, _______ \
),
/**
* Nav
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │ → │││     │   │   │   │   │   │   │   │   │   │   │   │   │   │
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ ↑ │││      │   │   │   │   │   │   │   │   │   │   │   │      │
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │ ↓ │││        │   │   │   │   │   │   │   │   │   │   │    │   │
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │ ← │││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_NAV] = LAYOUT_default( \
KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_LEFT, _______, _______, _______, _______, _______, _______ \
),
/**
* Mouse
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │WhU│││                                            
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ ↑ │││      │   │   │   │   │   │   │   │   │   │   │   │      │
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │ ↓ │││        │   │   │   │   │   │   │   │   │   │   │    │   │
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │WhD│││││││││││                                  │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_MOUSE] = LAYOUT_default( \
MC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
MC_WH_D, _______, _______, _______, _______, _______, _______ \
),
/**
* Lower
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Nxt│││Del  │BrD│BrU│Msn│LHP│                    │Mut│SlD│
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │VlU│││HyCaps│      │NxW│PvT│Bck│Fwd│NxT│           Play 
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │VlD│││                 │1PX│1Ps│                     
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │Prv│││││││││││                                  │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_LOWER] = LAYOUT_default( \
KC_MNXT, KC_DELT, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, _______, _______, _______, KC_UP, KC_MUTE, MC_SLPD, \
KC_VOLU, HY_CAPS, _______, _______, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, _______, _______, KC_LEFT, KC_RGHT, KC_MPLY, \
KC_VOLD, _______, XXXXXXX, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, KC_DOWN, _______, _______, \
KC_MPRV, _______, _______, _______, _______, _______, _______ \
),
/**
* Raise
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Hom│││~ `  │! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│   │
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │PgU│││       F1│ F2│ F3│ F4│ F5│ F6│_ -│+ =│   │   │   │      │
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │PgD│││         F7│ F8│ F9│F10│F11│F12│         │| \│    │   │
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │End│││││││││││                                  │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_RAISE] = LAYOUT_default( \
KC_HOME, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, \
KC_PGUP, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, _______, _______, _______, _______, \
KC_PGDN, _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______, \
KC_END, _______, _______, _______, _______, _______, _______ \
),
/**
* Adjust
* ┌───┬┬┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Bse│││Make       │EEP│RST│                           
* ├───┼┼┼─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │Rdr│││                                             
* ├───┼┼┼──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┤
* │Nav│││                                             
* ├───┼┼┼┬┬┬┬┬┬┬┬┴──┬┴───┴┬──┴───┴─┬─┴───┴───┴┬──┴──┬┴──┬┼┬┬┬┬┼┬┬┬┤
* │Mse│││││││││││                                  │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_ADJUST] = LAYOUT_default( \
TG_BASE, QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_NAV, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_MOUS, _______, _______, _______, _______, _______, _______ \
),
};
void keyboard_post_init_keymap(void) {
rgblight_disable_noeeprom();
}
layer_state_t layer_state_set_keymap(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@ -19,17 +19,17 @@
{"label":"K09 (D2,B1)", "x":9, "y":0},
{"label":"K0A (D2,F7)", "x":10, "y":0},
{"label":"K0B (D2,F6)", "x":11, "y":0},
{"label":"K10 (D3,D4)", "x":0, "y":1, "w":1.25},
{"label":"K11 (D3,C6)", "x":1.25, "y":1},
{"label":"K12 (D3,D7)", "x":2.25, "y":1},
{"label":"K13 (D3,E6)", "x":3.25, "y":1},
{"label":"K14 (D3,B4)", "x":4.25, "y":1},
{"label":"K15 (D3,B5)", "x":5.25, "y":1},
{"label":"K16 (D3,B6)", "x":6.25, "y":1},
{"label":"K17 (D3,B2)", "x":7.25, "y":1},
{"label":"K18 (D3,B3)", "x":8.25, "y":1},
{"label":"K19 (D3,B1)", "x":9.25, "y":1},
{"label":"K1B (D3,F6)", "x":10.25, "y":1, "w":1.75},
{"label":"K10 (D3,D4)", "x":0, "y":1, "w":1.5},
{"label":"K11 (D3,C6)", "x":1.5, "y":1},
{"label":"K12 (D3,D7)", "x":2.5, "y":1},
{"label":"K13 (D3,E6)", "x":3.5, "y":1},
{"label":"K14 (D3,B4)", "x":4.5, "y":1},
{"label":"K15 (D3,B5)", "x":5.5, "y":1},
{"label":"K16 (D3,B6)", "x":6.5, "y":1},
{"label":"K17 (D3,B2)", "x":7.5, "y":1},
{"label":"K18 (D3,B3)", "x":8.5, "y":1},
{"label":"K19 (D3,B1)", "x":9.5, "y":1},
{"label":"K1B (D3,F6)", "x":10.5, "y":1, "w":1.5},
{"label":"K20 (D0,D4)", "x":0, "y":2},
{"label":"K21 (D0,C6)", "x":1, "y":2},
{"label":"K22 (D0,D7)", "x":2, "y":2},

View File

@ -1,3 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = no

View File

@ -0,0 +1,60 @@
/* Copyright 2019 Brandon Schlack
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "brandonschlack.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
* │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
* │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤
* │Ctrl│ Opt│ Cmd│ Space │ Cmd │FnPly│Lef│Dow│Rig│
* └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
*/
[_BASE] = LAYOUT_65_ansi_2_right_mods( \
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_HOME, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, \
HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Function Layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Del │SlD│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
* │ │ │ │ │ │ │ │ │ │ │F13│F14│F15│ LHP │VlU│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │VlD│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
* │ │ │ │ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤
* │ │ │ │ │ │ │Hom│PgD│End│
* └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
*/
[_FN1] = LAYOUT_65_ansi_2_right_mods( \
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_DELT, MC_SLPD, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_LHPD, KC_VOLU, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
_______, _______, _______, _______, _______, RESET, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
)
};

View File

@ -1,3 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = no

View File

@ -0,0 +1,111 @@
/* Copyright 2020 Brandon Schlack
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "brandonschlack.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bspc│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │HyEsc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Enter│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤
* │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│ ?/Sft│
* ├────┬───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴─┬────┤
* │Ctrl│Opt│Cmd│ Space │ Cmd│Opt│ Lwr│
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
[_BASE] = LAYOUT_ansi_40( \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
HY_ESC, 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, SF_SLSH, \
KC_LCTL, KC_LOPT, KC_LCMD, SPC_RAI, KC_RCMD, KC_ROPT, LOWER \
),
/* Lower
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │Del │BrD│BrU│Msn│LHP│         │PgU│Hom│End│ SlpD│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │HyCaps│Mut│VlU│NxW│PvT│Bck│Fwd│NxT│PgD│  │ Play│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤
* │ │Prv│VlD│Nxt│1PX│1Ps│         │ │
* ├────┬───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴─┬────┤
* │ │ │ │ │ │ │ │
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
[_LOWER] = LAYOUT_ansi_40( \
KC_DELT, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, KC_PGUP, KC_HOME, KC_END, MC_SLPD, \
HY_CAPS, KC_MUTE, KC_VOLU, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, KC_PGDN, KC_UP, KC_MPLY, \
_______, KC_MPRV, KC_VOLD, KC_MNXT, PX_AFLL, OP_AFLL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, \
_______, _______, _______, _______, _______, _______, _______ \
),
/* Raise
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │~ `  │! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │     │ F1│ F2│ F3│ F4│ F5│ F6│_ -│+ =│: ;│ " '│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤
* │ │ F7│ F8│ F9│F10│F11│F12│   │{ [│} ]│ |\Sft│
* ├────┬───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴─┬────┤
* │ │ │ │ │    │   │    │
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
[_RAISE] = LAYOUT_ansi_40( \
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_LBRC, KC_RBRC, SF_BSLS, \
_______, _______, _______, _______, _______, _______, _______ \
),
/* Adjust/Macro Layer
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │Make       │EEP│RST│ │ │ │ │ │ │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │ │ │ │ │ │ │ │ │ │ │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤
* │ │ │ │ │ │ │ │ │ │ │ │
* ├────┬───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴─┬────┤
* │ │ │ │ │ │ │ │
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
[_ADJUST] = LAYOUT_ansi_40( \
QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______ \
)
/* Blank Layer
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ │ │ │ │ │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │ │ │ │ │ │ │ │ │ │ │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤
* │ │ │ │ │ │ │ │ │ │ │ │
* ├────┬───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴─┬────┤
* │ │ │ │ │ │ │ │
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
/*
[BLANK] = LAYOUT_ansi_40( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______ \
)
*/
};
layer_state_t layer_state_set_keymap(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@ -1,3 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = no

View File

@ -1,7 +0,0 @@
#pragma once
#define EE_HANDS
/* Limit max RGB LED current to avoid tripping controller fuse. */
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150

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