* 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>
* readded adelheid files
* reworked keymaps
- moved my personal keymap to a new folder
- added a new default keymap
* removed unnecessary backslash
* reenabled command rule
* bumped device number
* fixed layout for configurator
* applied suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Create Alter folder
* Revert "Create Alter folder"
This reverts commit 361103b821.
* Add Alter keyboard
* Fixed keymap.c
* Fixed another issue on the keymap.c
* Updated the files based on the comments
* Edited default keymap and enabled rgbanimations on config.h
* Updated the info.json
* via support for the skog lite
* some code cleanup before submission
* Update keyboards/percent/skog_lite/keymaps/via/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/percent/skog_lite/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update info.json
* Update keyboards/kbdfans/maja/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/kbdfans/maja/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* update keymap
* update ilpse template as well
* fix some key items
* move quote the first layer
* figure out brackets
* update ilpse keymap
* update arrow keys on alice
* change layers
* update layers again
* switch to vim keys
* add mouse keys
Co-authored-by: Khader Syed <khader.syed@aicure.com>
* Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros
* Add docs for IS_LAYER_ON/OFF(_STATE) macros
* Remove IS_LAYER_ON/OFF_STATE redefinition in userspace
* Run clang-format on quantum/quantum.h
* Redefine IS_LAYER_ON/OFF(_STATE) as aliases of existing layer functions
Also update relevant doc entries.
Needs testing to check if this breaks existing IS_LAYER_ON/OFF usage in certain
edge cases (namely calling the macros with 0).
* Reformat layer check function docs
* Add a function to set individual pixels
* Add documentation for oled_write_pixel
* use smaller data type for oled_write_pixel
* Fix boundary check edge case
* Update oled_write_pixel doc
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
- Fix typo in the default layout.
- Move esc and del to the navi layer.
- Fix issue with oneshot layers and double tap aka DBL_TAP.
- Add caps lock to the raise layer.
Was relying on a broken behavior for the double tap to work with
oneshot keys, i.e. the oneshot layer not being cleared after a key
press in `process_record_user`, which allowed me to first press an
oneshot key, then double tap and then a key. With the behavior fixed,
this no longer works. As the oneshot layer will be cleared when double
tap is pressed.
To make double tap useful again. I changed that any of the layer keys
does not clear the double tap. Which allows me for example to first
press double tap, then an oneshot key and then a key. So now I'm able
to type my double symbols again.
* Re-enable mouse keys to fix Chrome OS media keys
I'm not sure if there's a bug in Chrome OS, QMK, or both, but
EXTRAKEY_ENABLE isn't sufficient for media keys to work on Chrome OS.
Instead, MOUSEKEY_ENABLE is also required.
* Remove unnecessary SPLIT_USB_DETECT for Lily58
I've since swapped my Lily58 back to Elite-C v2 controllers with working
VBUS detection.
* Move Crkbd Esc and Ctrl keys; add some shortcuts
* Move MC_ALTT to userspace for cross-board support
* Sync Lily58 keymap with Crkbd
* Fix typos