* Rewrite APA102 support
The APA102 source was broken by commit 16a15c1cfc as it did not include the
quantum header. This commit addresses that, as well as other issues with
transferring bytes over the SPI interface, i.e. it was not setting the
clock pin back to low after sending a bit.
The deviation when sending the end frame is kept, but updated to the
latest from the referenced project.
Finally, these changes expose the global LED brightness parameter
of the APA102. Brightness values are configurable through
`APA102_DEFAULT_BRIGHTNESS` and `APA102_MAX_BRIGHTNESS`.
* Fix typo in led brightness extern
* Move driver out of AVR directory and add delay for ARM
* Experimental APA102 support on AVR and ARM
Co-authored-by: Alde Rojas <hello@alde.io>
* Refactor apa102_send_byte() calls to a loop
* Implement io_wait function for ARM
* Move APA102 drivers to own directory, fix copyright notice
* Add APA102 keymap to handwired/onekey
* Simplify RGBLIGHT_ENABLE/DRIVER option handling
Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
* fix abacus so it works with configurator
* create the keymap path if it doesn't exist
* bpiphany/unloved_bastard: remove the nested macros, move default keymap to json
* readd the unloved_bastard default keymap
* fix clueboard/card
* fixup handwired/2x5keypad
* fixup hub16
* matrix/noah: remove the broken matrix print code to fix compilation
* reinstate matrix_print with the right include
* Revert "create the keymap path if it doesn't exist"
This reverts commit af732776a539e8c6e2edf2e54f4d7f5ffa65b3a2.
* Added a dactyl promicro with a slightly different 6x6 layout
* updated keyboard layout
* Removed description as per code review
* refactored as per code review
* removed redundant config.h file
* removed and updated a couple of lines in rules.mk
* replaced symlink with copy of file
* removed lines in readme
* Update readme.md
Co-authored-by: ralphie02 <ralph.azucena@carbon60.com>
* Disable almost all ChibiOS subsystems.
* Modify ChibiOS config updater script to fixup mcuconf include, use develop as base instead of master.
* Add default early-init bootloader to F042/F072.
* Back to 100k freq.
* Add LAYOUT_alice support: fallacy
* Add LAYOUT_alice support: kb_elmo/sesame
* Add LAYOUT_alice support: cheshire/curiosity
* Add LAYOUT_alice support: evyd13/wonderland
* Add LAYOUT_alice support: mechlovin/adelais
* Update LAYOUT_alice support: projectkb/alice
The PR that added Alice community layout support for the projectkb/alice/rev2 simultaneously broke support for every other keyboard that supported LAYOUT_alice.
This commit partially reverts the offending PR. `LAYOUT_alice` for the projectkb/alice has been renamed to `LAYOUT_alice_split_bs`, and a correct 65-key `LAYOUT_alice` has been added.
Additionally, the `LAYOUTS` rule has been moved to keyboard level as the layout macros are shared between rev1 and rev2 boards, which means the layout options are the same for both revisions.
* Update ramonimbao/aelith info.json
Keyboard source was already correct to support LAYOUT_alice, but the layout tree was missing from info.json.
* Fork `alice` Community Layout...
... into Standard and Split Backspace versions
Also updates stanrc85's layout keymap to use 65 keys instead of the Split Backspace 66-key version.
* Update LAYOUT_alice support: sneakbox/aliceclone
Rework the sneakbox/aliceclone to use the Split Backspace Alice layout.
* Update LAYOUT_alice support: zoo/wampus
The layout macro that was `LAYOUT_alice` was 66 keys. This layout macro has been renamed to `LAYOUT_alice_split_bs`, and a 65-key `LAYOUT_alice` has been added.
Additionally, the 66-key macro has been rearranged to accept its keycodes in the intended order for Community Layout support.
* Update keyboards for `LAYOUT_alice_split_bs` support
* LAYOUT_alice_split_bs support: ergosaurus
* LAYOUT_alice_split_bs support: handwired/colorlice
* LAYOUT_alice(_split_bs) support: handwired/owlet60
* LAYOUT_alice_split_bs support: nightly_boards/alter/rev1
* LAYOUT_alice(_split_bs) support: sck/osa
* LAYOUT_alice_split_bs support: tgr/alice
* LAYOUT_alice(_split_bs) support: tkc/osav2
* LAYOUT_alice_split_bs support: xelus/valor/rev1
- Set all other ChibiOS defaults to 'off', when not targeting Proton-C
- Modified all existing F303 boards to point at the QMK_PROTON_C to ensure repeatable binary output
- Modified version.h generation so that SKIP_VERSION=yes generates the same output
* Branch point for 2020 November 28 Breaking Change
* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)
* Add support for soft serial to ATmega32U2 (#10204)
* Change MIDI velocity implementation to allow direct control of velocity value (#9940)
* Add ability to build a subset of all keyboards based on platform.
* Actually use eeprom_driver_init().
* Make bootloader_jump weak for ChibiOS. (#10417)
* Joystick 16-bit support (#10439)
* Per-encoder resolutions (#10259)
* Share button state from mousekey to pointing_device (#10179)
* Add hotfix for chibios keyboards not wake (#10088)
* Add advanced/efficient RGB Matrix Indicators (#8564)
* Naming change.
* Support for STM32 GPIOF,G,H,I,J,K (#10206)
* Add milc as a dependency and remove the installed milc (#10563)
* ChibiOS upgrade: early init conversions (#10214)
* ChibiOS upgrade: configuration file migrator (#9952)
* Haptic and solenoid cleanup (#9700)
* XD75 cleanup (#10524)
* OLED display update interval support (#10388)
* Add definition based on currently-selected serial driver. (#10716)
* New feature: Retro Tapping per key (#10622)
* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)
* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)
* Rescale both ChibiOS and AVR backlighting.
* Reduce Helix keyboard build variation (#8669)
* Minor change to behavior allowing display updates to continue between task ticks (#10750)
* Some GPIO manipulations in matrix.c change to atomic. (#10491)
* qmk cformat (#10767)
* [Keyboard] Update the Speedo firmware for v3.0 (#10657)
* Maartenwut/Maarten namechange to evyd13/Evy (#10274)
* [quantum] combine repeated lines of code (#10837)
* Add step sequencer feature (#9703)
* aeboards/ext65 refactor (#10820)
* Refactor xelus/dawn60 for Rev2 later (#10584)
* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)
* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)
* update chibios os usb for the otg driver (#8893)
* Remove HD44780 References, Part 4 (#10735)
* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)
* Fix cursor position bug in oled_write_raw functions (#10800)
* Fixup version.h writing when using SKIP_VERSION=yes (#10972)
* Allow for certain code in the codebase assuming length of string. (#10974)
* Add AT90USB support for serial.c (#10706)
* Auto shift: support repeats and early registration (#9826)
* Rename ledmatrix.h to match .c file (#7949)
* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)
* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)
* Merge point for 2020 Nov 28 Breaking Change
* added to handwired pill60
* Update keyboards/handwired/pill60/config.h and all other PR suggested changes
Deleted DESCRIPTION
Co-authored-by: Drashna Jaelre <drashna@live.com>
Update keyboards/handwired/pill60/readme.md
Smaller image in readme
Co-authored-by: Drashna Jaelre <drashna@live.com>
Update keyboards/handwired/pill60/info.json
Deleted key_count
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/keymaps/default/keymap.c
Deleted backslash on keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/pill60.h
Deleted led.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/blackpill_f401/rules.mk
Update stm32f401 rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/blackpill_f411/rules.mk
Update stm32f411 rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/bluepill/rules.mk
Update bluepill rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/rules.mk
Added comment on rules.mk to help ]
Co-authored-by: Ryan <fauxpark@gmail.com>
deleted bootloader_defs.h
added GPL2 + compatible license header
updated keymap readme
updated those that don't need common_config.h and deleted some unnecessary spaces in f411/rules.mk
updated default folder in rules.mk
* fix and simplify build files according to onekey example
* Added GPL2+ Compatible license header
By default the `i2c_master` driver for ChibiOS uses the B6 pin for
`I2C1_SCL` and the B7 pin for `I2C1_SDA`. However, the ChibiOS board
file used for the F401 Blackpill board (`ST_STM32F401C_DISCOVERY`)
configures B6 as `I2C1_SCL` and B9 as `I2C1_SDA`, and if that
configuration is left unchanged, enabling the `i2c_master` driver
results in having two pins (B7 and B9) configured as `I2C1_SDA` at the
same time, which does not work properly (experimental results show that
the B9 pin still works as `I2C1_SDA` in that case, and the B7 pin does
not work).
Configure the B9 pin as an input with pull-up in `board_init()`, so that
the B7 pin can be configured as `I2C1_SDA` by the I2C driver.
* Add pteron44
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* Apply suggestions from code review part 2
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add my own keymap
* Layer 0: Workman
* Layer 1: RSTHD (my own take on it)
* Layer 2: Mouse
* Layer 3: Navigation
* Layer 4: Symbols right
* Layer 5: Symbols left
* Layer 6: Fn keys
* Layer 7: Numbers
* Layer 8: Vim and misceallaneaous accessible from any other layer
* Move the current code to a 0.1 folder in preparation for upcoming changes
Version 0.2 is currently being prototyped and uses an arm chip which
will need its own firmware.
There is also the Ferris sweep which uses a pro-micro compatible board
which will need its own directory.
* Move Ferris out of handwired and into the light
The keyboard is now well out of the prototype phase as tens of them have
been produced and acquired by various people.
With 0.2 coming out, adoption is going to increase again as the board
will be available for sale at some recognized vendors.
Now is probably a good time to recognize its status as more than a
prototype :)
* Add code for the Ferris Sweep (a.k.a cradio)
The Ferris Sweep is a creation of the talented @davidphilipbarr, a.k.a DPB.
It has the key layout of a Ferris and uses a pro-micro connected to the
switches via direct pins so that diodes are not needed and the soldering
is minimal.
With their blessing, I took the code for it from DPB's own repo:
https://github.com/davidphilipbarr/36keys/tree/master/qmk/cradio
and did some adaptations such as removing commented out code, enabling
EE_HANDS and mouse keys for consistency with my existing Ferris code.
* Fix indentation in rules.mk
* Fix indentation in sweep's config
* Remove unnecessary lines from sweep's rules.mk
* Remove unnecessary lines from sweep's rules.mk
* Rename 0.1 to 0_1
This avoids the dot looking like the separation between a filename and
its extension.
In the same commit, bring matrix.c to the 0_1 folder as this was needed
for the code to compile properly (matrix.c is referred to in the readme
under `0_1` and is specific to that revision of the firmware).
* Update copyright statements for Sweep
* Clean LeftyNumpad code
* Fix typo in recently renamed file
* Fix issues with keymap layout
* Initial PR Feedback fixes
* Update keyboards/handwired/leftynumpad/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/leftynumpad/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add fixes based on PR feedback
* Update keyboards/handwired/leftynumpad/readme.md
Co-authored-by: Ryan <fauxpark@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>
* Basic keymap parsing finally works
* Add 'keymap.json' creation to the qmk.keymap module
* Add tests and fix formatting
* Fix/exclude flake8 errors
* Convert keymap.c to valid keymap.json
* Fix some errors
* Add tests
* Finalize keymap.json creation, add json template
* Add docs
* Move pygments to the standard requirements
* Add support for nameless layers, fix tests
* Fix things after rebase
* Add missing 'keymap' value.
* Fix missing layer numbers from advanced keycodes
Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!
* Apply suggestions from code review
* fixup tests
Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
* Move my custom functions and keymaps to userspace to be able to add the STM32F411 variant of my keyboard with mostly the same functionality
* Move keymaps to community layouts
* Remove keymaps from userspace readme.md
Co-authored-by: Janos Daniel Reibl <janos.daniel.reibl@protonmail.com>
* First pass at manuform layout.
* Updates from actual usage on my board. Fixed a couple of bugs, added a stormlight quote randomizer.
* Use a 32-bit timer that can actually hit 5 minutes.
* Some updates after a day of usage:
* Turn off WPM. It's too inaccurate and takes up a decent amount of space that can be devoted to quotes.
* Turn off the OLEDs after 5 minutes
* Move the keys around a bit.
* Add many more quotes.
* Adjust the quotes to make room for missing and misswritten WoT quote. Adjusted the keymap slightly. Adjust the mods display to include one_shots.
* Revert osm on lgui as it makes start menu search impossible to use.
* Use LTO_ENABLE flag.
* License all of my (333fred's) keymaps as MIT.
* Update users/333fred/rgb.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Create keymap.c
* Add files via upload
* Added files for handwired 3d printed clueboard 660
* create via layout files
* added layout files for via
* updated product ID to fix id conflicts
* change product ID to fix ID conflicts.
* fixed capitalization error that was causing issues
* fixed capitalization issues.
* fix syntax errors
* Fixed syntax errors (stray punctuation)
* Compatibility fixes
* Compatibility fixes
* Compatibility fixes
* Compatibility fixes
* capitalization fixes
* Compatibility fixes
* Compatibility fixes
* Compatibility Fixes
* Compatibility fixes
* Compatibility fixes
* Compatibility changes
* upkeep, fixing typos
* Update keyboards/handwired/3dp660/config.h
Removed Description line
* Update keyboards/handwired/3dp660/rules.mk
correct bootloader
* Update keyboards/handwired/3dp660/3dp660.h
fix case sensitive typos
* Update keyboards/handwired/3dp660/keymaps/default/keymap.c
change tab indentation to space indentations.
* Update keyboards/handwired/3dp660/keymaps/via/keymap.c
change tab indentations to space indentations
* Delete 3dp660.json
This file was for VIA, and shouldn't be in this repo. I placed it here so I wouldn't misplace it in my filesystem. My apologies.
* Update info.json
change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi".
* Update keymap.c
change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi".
* Update keymap.c
more capitalization fixes
* Update keyboards/handwired/3dp660/readme.md
shortened imgur url
* Update keyboards/handwired/3dp660/rules.mk
remove extraneous comments
* Delete config.h
* Update keyboards/handwired/3dp660/rules.mk
* Update 3dp660.c
add license headers to all .c and .h files
* Update 3dp660.h
added license header to all .c and .h files.
* Update keymap.c
added license header to all .c and .h files.
* Update keymap.c
added license header to all .c and .h files.
* Update keyboards/handwired/3dp660/readme.md
Add maintainer URL
* Update keyboards/handwired/3dp660/keymaps/default/keymap.c
remove extraneous default keymap layers
* Update keyboards/handwired/3dp660/keymaps/default/rules.mk
* Update rules.mk
Moved LTO to keyboard level.
* Update rules.mk
Moved LTO to keyboard level.
* Delete rules.mk
Made obsolete by LTO move to keyboard level.
* Update keyboards/handwired/3dp660/rules.mk
capitalization errors.
* Apply suggestions from code review
Housekeeping, changing code for readability.
Fix configs to make the `handwired/onekey/blackpill_f401:backlight` and
`handwired/onekey/blackpill_f411:backlight` examples actually compile
and work:
- Use `PWMD5` instead of `PWMD2` for backlight, which matches the
default value of `BACKLIGHT_PAL_MODE` (AF02 for pin A0 is `TIM5_CH1`)
and does not conflict with the default value of `STM32_ST_USE_TIMER`.
- Enable `HAL_USE_PWM` in halconf.h and `STM32_PWM_USE_TIM5` in
mcuconf.h, so that `PWMD5` could be used.
There is no way to invoke the command feature while having just a single
physical key, and disabling that feature fixes build for keymaps like
`handwired/onekey/promicro:rgb` without resorting to LTO (the command
feature consumes more than 4900 bytes with avr-gcc 8.4.0).
* Better handle LTO_ENABLE
Especially when calling from command line
* Replace LINK_TIME_OPTIMIZATION_ENABLE with LTO_ENABLE
* Remove long for LTO from show_options.mk
* add support for hid gamepad interface
add documentation for HID joystick
Add joystick_task to read analog axes values even when no key is pressed or release. update doc
Update docs/feature_joystick.md
Manage pin setup and read to maintain matrix scan after analog read
* Incorporates patches and changes to HID reporting
There are some patches provided by @a-chol incorporated on this commit,
and also some changes I made to the HID Report structure.
The most interesting is the one dealing with number of buttons: Linux
doesn't seem to care, but Windows requires the HID structure to be byte
aligned (that's in the spec). So if one declares 8/16/32... buttons they
should not have any issues, but this is what happens when you have 9
buttons:
```
bits |0|1|2|3|4|5|6|7|
|*|*|*|*|*|*|*|*| axis 0 (report size 8)
|*|*|*|*|*|*|*|*| ...
|*|*|*|*|*|*|*|*|
|*|*|*|*|*|*|*|*|
|*|*|*|*|*|*|*|*|
|*|*|*|*|*|*|*|*|
|*|*|*|*|*|*|*|*| axis 6
|*|*|*|*|*|*|*|*| first 8 buttons (report size 1)
|*| | | | | | | | last of 9 buttons, not aligned
```
So for that I added a conditonal that will add a number of reports with
size 1 to make sure it aligns to the next multiple of 8. Those reports
send dummy inputs that don't do anything aside from aligning the data.
Tested on Linux, Windows 10 and Street Fighter (where the joystick is
recognized as direct-input)
* Add save and restore of each pin used in reading joystick (AVR).
Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc
instead of an output pin from the MCU.
Fix joystick report id
Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes)
Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis.
Documentation fixes
* Fix port addressing for joystick analog read
* The other required set of changes
As per the PR, the changes still holding it up.
Add onekey for testing.
Fix ARM builds.
Fix device descriptor when either axes or buttons is zero.
Add compile-time check for at least one axis or button.
Move definition to try to fix conflict.
PR review comments.
qmk cformat
* avoid float functions to compute range mapping for axis adc reading
* Remove V-USB support for now. Updated docs accordingly.
* Update tmk_core/protocol/lufa/lufa.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios
* Fix HID joystick report sending for ChibiOS.
Add one analog axis to the onekey:joystick keymap.
Fix pin state save and restore during joystick analog read for STM32
MCUs.
* Update tmk_core/protocol/chibios/usb_main.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update tmk_core/protocol/lufa/lufa.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Add missing mcuconf.h and halconf.h to onekey:joystick keymap.
Add suggested fixes from PR.
* Switch saveState and restoreState signature to use pin_t type.
onekey:joystick : add a second axis, virtual and programmatically animated.
* Update docs/feature_joystick.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update docs/feature_joystick.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Add PR corrections
* Remove halconf.h and mcuconf.h from onekey keymaps
* Change ADC_PIN to A0
Co-authored-by: achol <allecooll@hotmail.com>
Co-authored-by: José Júnior <jose.junior@gmail.com>
Co-authored-by: a-chol <achol@notamail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial work for consolidation of board files and default ChibiOS configs.
* Migrate F401/F411 black pills for testing.
* Add early init bootloader jump flag.
* Add support for I2C in order to use i2c_scanner keymap.
* Add F401/F411 HSE bypass to get things booting.
* Exempt "hooked" ChibiOS conf files from updater script.
* Fix up ordering for bootloader_defs file check.
* Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
* setup handwired pteron38
* Clean up readme
* readme follow template
* c formatting conventions
* remove file size comments from rules.mk
* use direct link to imgur image
* Apply suggestions from code review
* add license
* cleaning up
* got some working bones
* working pretty well
* really livin' now
* all done
* copyright adjustments
* default keymap
* readme
* no descrip
* remove trailing slashes
* remove blank line
* remove trailing slashes
* clean up readme
* clean up rules spacing
* bootloader spacing
* made quick json from KLE converter
* remove postageboard mini references
* add actual manu and product values
* add make example
* rework
* remove double bootload define
* smoller image
* liscensed
* correct dimensions
* dimensions
* Added handwired/selene based on handwired/106_with_trackpoint
* now at least parially working
* Selene Firmware 1, ready
* Updated Readme to align more with Template
* Added URL to info.json
* Fix status Lights being wired incorrectly
* Update keyboards/handwired/selene/config.h
* Update keyboards/handwired/selene/keymaps/Bpendragon/keymap.c
* Update keyboards/handwired/selene/selene.c
* Update keyboards/handwired/selene/selene.h
* Changes for PR requested by fauxpark
* Adds `default` keymap
* Renames `Bpendragon` to `bpendragon`
* Removes uneeded descriptors and options
* Simplifies return statement in `keymap.c`
* Removes trailing slashes from layout in `keymap.c`
* Updates `readme.mk` to reflect default keymap
* Aligns comments in `rules.mk`
* Forced folder name update to lowercase
* Apply suggestions from code review
* Added a new handwired 2x3,2x4,2x5 keyboard called the Stream_cheap
stream cheap is a diy version of the El Gato Stream deck minus the LCD keys
but you can always get relegendable keycaps to change the icon if you want
* added missing commas in info.json files
* update config to change pin definition
* changed keymap.c for 2x4
was trying to add macros and multi key commands to the keymap,
i added 2 ctrl commands that have more than one key i.e. ctrl-k-c (visual studio comment hot key)
and i added a test string to see how type out a string with the press of a button
* testing more changes to the keymap to the 2x5
* Update keyboards/handwired/stream_cheap/2x3/2x3.c
* Update keyboards/handwired/stream_cheap/2x3/config.h
* Update keyboards/handwired/stream_cheap/2x3/rules.mk
* Update keyboards/handwired/stream_cheap/2x5/config.h
* Update keyboards/handwired/stream_cheap/2x5/info.json
* Update keyboards/handwired/stream_cheap/2x3/config.h
* Update keyboards/handwired/stream_cheap/2x3/info.json
* Update keyboards/handwired/stream_cheap/2x4/config.h
* Update keyboards/handwired/stream_cheap/2x4/info.json
* Update keyboards/handwired/stream_cheap/2x4/keymaps/default/keymap.c
* Update keyboards/handwired/stream_cheap/2x5/info.json
* Update keyboards/handwired/stream_cheap/2x5/config.h
* Update keyboards/handwired/stream_cheap/2x5/rules.mk
* Update keyboards/handwired/stream_cheap/2x4/2x4.c
* Update keyboards/handwired/stream_cheap/2x4/config.h
* Update keyboards/handwired/stream_cheap/2x4/info.json
* Update keyboards/handwired/stream_cheap/2x5/2x5.c
* Update keyboards/handwired/stream_cheap/2x4/rules.mk
* removed file as per request of user zvecr
* removed line in rules.mk for 2x5
* Update keyboards/handwired/stream_cheap/2x5/keymaps/default/keymap.c
* Apply suggestions from code review
changes suggested in code review
* I2C_TIMEOUT is not defined on arm teensy
* Work round teensy having different ChibiOS config options
* Stash OLED conf files
* update comment
* update comment
* Remove stm32 alias to allow teensy alt mode
* adding via support for Dactyl Manuform 5x7
* Changing Vendor ID from FEED to 444D (DM)
* Update keyboards/handwired/dactyl_manuform/4x6/config.h
Fixing typo in Dactyl Manuform 4x6 Product Id
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/dactyl_manuform/4x5/config.h
Fixing typo in Dactyl Manuform 4x5 Product Id
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Roland Bernau <roland@bernau.dev>
Co-authored-by: Joel Challis <git@zvecr.com>
* Write firmware for the Ferris keyboard
Took inspiration from the gergoplex and the ergodox_ez firmware for the
split matrix with io_expander on the right hand.
Cleaned up a lot of bit fiddling on the mcu side by taking inspiration
from the `split_custom` in quantum.
Still bit fiddling on the mcp side as it is particularly natural to do
so with the abstractions provided by the i2c protocol. Would be good to
clean that up and abstract away the wiring from the generic i2c code in
a similar fashion as quantum and the mcp side behave.
One improvement over the ergodox_ez and the gergoplex firmwares is that
the wiring is straight forward as opposed to swapping rows and columns
in two different places that end up cancelling out for some reason.
At this stage, I have flashed this firmware to a board and have verified
that all keys are behaving as intended by shorting pins.
I still have to solder in some switches and test that everything works
correctly at normal typing speeds, but I don't expect any major issues
given I'm building up on previous effort, including the debouncing code
from the ergodox_ez.
* Remove rotation from info.json and label the keys as per default keymap
* Comply with minor review feedback points
* Use CUSTOM_MATRIX=lite to remove boilerplate
* Update keyboards/handwired/ferris/info.json
Didn't play nicely in the configurator
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove MIDI_ENABLE from rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove FAUXCLICKY_ENABLE from rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Prefer wait_ms over _delay_ms
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove unused include
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove unused include
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove unused include
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove unused includeh
Co-authored-by: Ryan <fauxpark@gmail.com>
* Use dprint over print and remove include for print.h
* Remove all unused includes
* Remove unused code
* Cleanups thanks to code review
* Move more personal settings from the ferris config to the default keymap config
These setting happen to be unused in the default keymap at the moment,
as it has only one layer with no homerow modifiers and no mouse key; but
I would like to keep it there for two reasons:
* It can serve as an example to people creating their own keymap
* I plan to design a more usable default keymap that uses these features
once this PR which adds the Ferris keyboard is merged.
* Consolidate mcp logic inside matrix.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added Handwired Redragon Keyboard as well as default and via keymaps
* Update keyboards/handwired/boss566y/redragon_vara/info.json
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/handwired/boss566y/redragon_vara/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keymap.c
Removed defined keycodes from via keymap
* Update keymap.c
replaced defined keycodes in default keymap
* Update readme.md
Changed image to one that matches the physical keyboard
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Branch point for 2020 May 30 Breaking Change
* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)
* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)
* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)
* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)
* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)
* Convert V-USB usbdrv to a submodule (#8321)
* Unify Tap Hold functions and documentation (#8348)
* Changing board names to prevent confusion (#8412)
* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)
* Move spaceman keyboards (#8830)
* Migrate miscellaneous `fn_actions` entries (#8977)
* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)
* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)
* Refactor Lily58 to use split_common (#6260)
* Refactor zinc to use split_common (#7114)
* Add a message if bin/qmk doesn't work (#9000)
* Fix conflicting types for 'tfp_printf' (#8269)
* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)
* Refactor and updates to TKC1800 code (#8472)
* Switch to qmk forks for everything (#9019)
* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)
* Audio enable corrections (2/3) (#8903)
* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)
* Audio enable corrections (Part 4) (#8974)
* Fix typo from PR7114 (#9171)
* Augment future branch Changelogs (#8978)
* Revert "Branch point for 2020 May 30 Breaking Change"
* [Keyboard] Added D48 keyboard.
* Updated README.
* Cleanups.
* Moved d48 to handwired/
* Added link to build process album.
* Coding conventions cleanups.
* Added DS1307 RTC!
* Minor cleanups.
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Minor refactoring.
* Readme fix.
* Moved leftover keymap-specific code from keyboard space into keymap.
* Added encoder button pins to extra matrix row.
* Updated README, updated pinout & cleaned up the glcdfont
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update config.h
* Apply suggestions from code review
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Added default keymap. Refactored existing keymap.
* Update keyboards/handwired/d48/README.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Joel Challis <git@zvecr.com>
* Minor alignment fix.
* Update keyboards/handwired/d48/glcdfont_d48.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Changes as per PR.
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update to xealousbrown.
5-13ms Latency decrease, 4x scan rate improvement.
(CUSTOM_MATRIX = lite) is a really great feature!
* Updated Readme.md, added an extra speedhack.
* More optimizations
* Update keyboards/handwired/xealousbrown/rules.mk
* Update keyboards/handwired/xealousbrown/rules.mk
* Adding Novem keyboard (macropad) and demo layout
* Making changes suggested during pull request
* Removing keyboards/novem/keymaps/default/config.h as suggested during the pull request
* Moving keyboard to the handwired folder and changing the build line from readme in order to reflect this new location
* Add handwired BDN9-BLE
* Apply suggestions from code review
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update keyboards/handwired/bdn9_ble/rules.mk
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update keyboards/handwired/bdn9_ble/rules.mk
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Update keyboards/handwired/bdn9_ble/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>
* Set backlight and RGB pins for AVR onekeys
* Set pin for ADC as well
* Define ADC_PIN for F4 blackpills
* Use A0 for F4 ADCs
* Set ADC pins for F0 and F1
* Update switch to array to allow custom values
* Add adc keymap
* update docs to reflect alignment of default 10 bit
* start conversion to USE_ADCVn
* samplerate is hella wrong...stub out for now
* basic f1 and f4 functionality
* Tidy up current changes
* Restore old pinToMux function
* Add back sample rate for supported platforms
* F0 compile fixes
* wordsmithery
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Remove reference to avr only function
Co-authored-by: Ryan <fauxpark@gmail.com>