The previous implementation generated accents in NFKD -- e.g., i
followed by fn+e would generate í, which is actually an ordinary i
followed by U+0301 COMBINING ACUTE ACCENT. Unfortunately, it turns
out that a bunch of websites and apps (especially European ones
written in languages that use these a lot) were very poorly written,
and will misparse and/or crash if presented with Unicode NFKD. They
require and expect NFKC, with characters like í (U+00ED LATIN SMALL
I WITH ACUTE) that look visually identical -- and are in fact
normalization-equivalent -- but have to be encoded differently.
The new accent implementation handles this in a very flexible way.
Many new comments added as well, as it's also clear that this is going
to need a bit more expansion before it becomes a true polyglot keymap.
Co-authored-by: Yonatan Zunger <zunger@desiderata.lan>
* rework layout macro
Rework the layout macro so it's arranged the way the hardware is.
* info.json: use debug linting
* info.json: rebuild to correct key sequence
* white-space formatting
Makes the keymap and layout macro a bit more representative of where everything is.
* Add Borsdorf
* Delete config.h
* Add basic VIA keymap
* Update default keymap
* Default now uses layout_all
* Default now has layer with reset key
* Fix missing comma in borsdorf keymap
* Update rules.mk to be less specific
* Update chibiOS files
* Update keymaps to swap GUI and Alt keys
* Delete unnecessary readme
* Update VIA keymap to match default
* Remove boilerplate from readme
* Udate Copyright message
* Remove unused key from LAYOUT_rshift
* Update borsdorf.c
Remove unnecessary boiler plate
Co-authored-by: Joel Challis <git@zvecr.com>
* Add copyright message to VIA keymap
Co-authored-by: Joel Challis <git@zvecr.com>
* Fix missing directory in readme
Co-authored-by: Joel Challis <git@zvecr.com>
* Fix incorrect rules.mk
* Update BOOTMAGIC_ENABLE to the preferred lite
Co-authored-by: Joel Challis <git@zvecr.com>
* Remove redundant description from config
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/cutie_club/borsdorf/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/cutie_club/borsdorf/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial CK60i support
* Update README, add HAL_PWM and remove AUDIO and BLUETOOTH from rules.mk
* VIA support
* Fix VIA_ENABLE to 'yes'
* Remove CONSOLE_ENABLE from rules.mk
* attribute weak for encoder callback
* Remove KC_NO definition from default keymap
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
* chore: pulled the latest from master
Bring my redox layout from my latest redox branch
Bring my latest user stuff from my redox branch
* Update users/danielo515/config.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
* chore: some more layouts
* feat: add gaming layer (has a bug)
* chore: more gaming layout
* chore: deactivate gaming layer when switching
* chore: simplify gaming toggle
* Update .vscode/settings.json
Co-authored-by: Drashna Jaelre <drashna@live.com>
* add support for idobao id80 iso layout
* This change is required as there is a logic bug on the board that C7
(capslock) is inverted thus lowercase is with light on. Mind the ! in
the write to the pin.
* Apply suggestions from code review
All fine for me, thanks for the additional information!
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* move device information to separate config.h for id80 iso and ansi
* commit via keymap similar to default. There is a problem with mapping compiling vor via, resulting in KC_ENT residing on KC_PGDN. Switching off via support in rules.mk makes the keyboard behave fine
* change KC_BSLS to KC_NUHS as this is an iso board
Co-authored-by: Carsten <modebm@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
The pcb used for wheatfield/split75 supports ANSI and ISO layout. This
commit adds the ISO variant.
With suggestions from code review:
Co-authored-by: Drashna Jael're <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Create Alter folder
* Revert "Create Alter folder"
This reverts commit 361103b821.
* Added the n40_o folder
* Edited info.json, n40_o.h and rules.mk
* Edited readme as per comment
* Add Onyx keyboard to QMK
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Herringbone Pro, reorganize herringbone folder
* Finish encoder functionality
* Change image in readme
* Fix info.json
* Flip encoder direction
* Update keyboards/ramonimbao/herringbone/pro/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/pro/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/pro/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/pro/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Add OLED support, split space, default folder
* Fix LAYOUT_all in info.json
* Remove WPM feature
* Add readme to top level herringbone folder
* Re-add WPM because now the OLED won't turn back on lol
* Add missing timer_read32
* Add OLED wakeup on knob use
* Update keyboards/ramonimbao/herringbone/v1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/v1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/pro/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ramonimbao/herringbone/pro/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add small QoL improvments for tapping
* Update keyboards/ramonimbao/herringbone/readme.md
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* Add bootloader instructions and improve LAYOUT_all a bit
* Update keyboards/ramonimbao/herringbone/pro/pro.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ramonimbao/herringbone/pro/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ramonimbao/herringbone/pro/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ramonimbao/herringbone/pro/keymaps/iso/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ramonimbao/herringbone/v1/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* noop; indent and comment cleanup
* config for rogthefrog layout
* removed encoder function as there is no encoder on this pcb
* removed unnecessary declaration
* replaced individual constants with an enum for extensibility
* removed unused enum
* Added GPL license language
* added copyright for my changes, per GPL
* noop; removed unneeded line continuations; fixed indentation
* Add oddballl v2
- add CPI options
- add scroll support
- add click-and-drag support
- PMW3360 implementation
- ADNS9800 improvements
* Set default make directory
* Update readme with PMW config
* Change bootloader
* Update unused pins on v2
* Remove diode switch
* Move bootloader selection to keyboard version level
* Change default keyboard folder to v1
* Move sensor selection to keymap
* Remove PK debounce
* Change to only send mouse report on change
* Change CPI function cpi type
* Remove EEPROM state check
* Update CPI to only change on key down
* Fix incorrect F8 in keymap
* Add v2.1 with more convenient controller pinout
* Add keyboard readmes
* Update keyboards/oddball/pmw/pmw3360_srom_0x04.h
Remove direct AVR reference
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove direct AVR reference
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Alexander Tulloh <alex@riberry.io>
Co-authored-by: Ryan <fauxpark@gmail.com>
* add support for specifying BOARD in info.json
* move BOARD from rules.mk to info.json for clueboard
* fix keyboards that do not require board
* remove out of compliance values
* Initial commit for my Corne keyboard layout.
* Updates to Corne, etc.
Finished working on primary layout for Corne keyboard.
Cleaned up some comments for my 4x12 Ortho layout.
* Changes for crkbd layout
* Fixed the config.h to reflect using ee_hands
* Added RGB configs to crkbd/corne layout
Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld>
* add support for bigknob
Add support for bigknob macropad
* corrected files
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* corrected tap dance
* Update config.h
* correct image link
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* added GPL headers
* Update readme.md
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* added my keymap
* Tidy up
Add readme, run clang-format, remove some comments
* Fixed some formatting issues
* Update after reading PR checklist
Add GPL header to keymap.c, remove backslash in LAYOUT macro
* Use integer constants for switch labels
* Remove unneeded code, remove F-keys from raise layer
* Use program memory for some text on OLED
* Fixed left over debug code
* tidy up config.h and rules.mk
Remove all unused defines from config.h, and remove options which are the same as the keyboard level make file. Enabled command to be able to toggle NKRO.
* Sagittarius keyboard
* Update Sagittarius keyboard
* fix
* remove info.json as it's very hard to make
* Add license and address PR comments
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add info json, update keymap
* Fix info json
* Update keymap
* Update keyboards/cannonkeys/sagittarius/info.json
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial support for Evolv75
* Fix encoder directional and layer support
* Invert knob directions
* Remove info.json and updated README
* Update keyboards/evolv/evolv.c
Update encoder_update call
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/evolv/config.h
Remove description field from USB descriptors
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Remove KC_NO define from default keymap
* Update config.h
New USB descriptor ID numbers
* Update keyboards/evolv/rules.mk
Remove words from bluetooth and audio enable comments
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/evolv/rules.mk
Enable full bootmagic
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add info.json for QMK Configurator
* Edit copyright info, add VIA initial support
* Fix KC_NO seven underscores issue in keymap definitions
* Update info.json
* Update info.json
* ANSI and ISO layouts, info.json file with both
* Reorganized layouts to match info.json order
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add proper prototypes for Tap-Hold Per Key functions
* Fix handwired/tennie default keymap
* Remove unneeded references
* Fix tapping term per key check in space cadet
* Pre-emptive fix for tap dance
* Fix marksard/leftover30
* Replace hard coded tapping term with define
* Add GKB-M16 Macro Pad
Add GKB-M16 (gkb_m16) Macro Pad under gkeyboard
* Update keyboards/gkeyboard/gkb_m16/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/gkeyboard/gkb_m16/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial commit on new clean branch. Testing out functionality of oled and encoder for default features.
* Cleaned up the initial push and removed the fancy keymap until the extra features and functionality can be tested and made more user friendly.
* Cleaned up the readme some more, compiled and tested both default and via keymaps, and did another round of checks to prepare for starting the PR.
* Cleaning up the keymap to meet expected formatting in a couple places and also adding in the TAP_CODE_DELAY after newly encoutnered encoder issues and inconsistencies.
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/mechwild/mercutio/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Fixing json syntax.
* Update keyboards/mechwild/mercutio/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Quark PCB for Planck/Preonic
Quark provides alternate bottom row layouts for both the OLKB Planck and Preonic
* Rename rules.mk.txt to rules.mk
* added Tapping Toggle
removed tapping toggle from keymap level
* Update info.json
took out } as requested
* update config.h
added GPL2+ license and #pragma once
* update info.json again
cleaned up syntax
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* update config.h
added GPL2+ License
* Update info.json - and again
fixed it - oops
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Make parameters from info.json available to the build system
* move all clueboard settings to info.json
* code formatting
* make flake8 happy
* make flake8 happy
* make qmk lint happy
* Add support for specifying led indicators in json
* move led indicators to the clueboard info.json
* Apply suggestions from code review
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* add missing docstring
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* Adding support for the 2 x 2u layout.
This adds a macro to support the 2 x 2u layout which facilitates
a cleaner looking layout configuration for the people using it.
* Update keyboards/kyria/kyria.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: swampmonster <>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* My first cut at firmware for te DMQDesign Spin
* Turn off underglow when computer sleeps
* dmqdesigns spin - a little more refined keymap now
* a few more refinements for spin
* missing key up event for CH_CPNL and CH_ASST
* better naming for keymap
* cformat
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Old #include habits die hard... :)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* added main keyboard files
* working default and iso maps
* add via config
* made default ansi map
* fixed info.json and made readme
* renamed folders
* reincluding the folders I renamed
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* I made a change before PR to clean up VIA map that broke it now its fixed
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/boardsource/the_mark/the_mark.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Add default mode eighty firmware
* Add via keymap
* Mode80 firmware upgrades
- Removed SPI and PWM drivers from MCU configuration, HAL configuration and Chibi configuration as neither peripherals are being used
- Included second backspace key (row 5, col 14) which should solve the non-appearance of the backspace key on the hotswap PCB
* Add default mode eighty firmware
* Add via keymap
* Update keyboards/mode/eighty/config.h
Remove comment lines from config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/mode/eighty/config.h
Remove comments from config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update eighty.c
Add GPLv2 header
* Update eighty.h
Add GPLv2 license header
* Update readme.md
Update README
* Update keyboards/mode/eighty/config.h
Remove keyboard description
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Delete config.h
Delete config.h in keynap folder
* Update keyboards/mode/eighty/rules.mk
Remove feature disabling in rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Move rules.mk to VIA folder
* Update keyboards/mode/eighty/keymaps/via/rules.mk
Use LTO_ENABLE as short for LINK_TIME_OPTIMIZATION_ENABLE
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/mode/eighty/readme.md
Puts a single image embedded in the readme, and links to the full gallery
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/mode/eighty/readme.md
Use * for markdown list
Co-authored-by: Ryan <fauxpark@gmail.com>
* Apply suggestions from code review
Correct comment characters
Co-authored-by: Ryan <fauxpark@gmail.com>
* Adjusted copyright name, USB descriptor and removed info.json
* Separate Mode80 S and H firwares into subfolders
* Added info.json files for QMK Configurator
* Lowercase folder and filenames
* Remove config definition macros in M80H
* Remove config definition macros in M80S and root
* Change definitions to lowercase parameters
* Moce chconf and mcuconf chibiOS files to root folder
* Move halconf to root folder, keymaps to subfolders
* Update readme for building/flashing guide
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add layers to VIA keymaps, remove CONSOLE_ENABLE
* Push master changes to lib/
* Retrieve lufa and googletest submodules to previous heads at master
* Disabled LTO in VIA keymaps
* Fix layout declaration to lowercase in m80s default keymap
* Added readme's for each M80S and M80H
Co-authored-by: Jaicob <jaicob@icloud.com>
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Create Alter folder
* Revert "Create Alter folder"
This reverts commit 361103b821.
* Add octopad folder
* Added a new keyboard, the Octopad
* Edited files based on requested changes
* Moved encoder code in keyboard level
* Updated the readme
* Corrected the rows and columns of encoders on config.h
* Changed the Vendor ID to D812 since the first one was already taken
* Added support for ast1109MLTRQ speakers
* Increased number of layers to 8 on VIA keymap
* Edited files based on comments
* Edited rules.mk as per comment
* Edited readme.md as per comment
* 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>
* Update vendor and product info
* Add rev2 for Choco60
* Add keymap for VIA
* Add readme.md for rev1 and rev2
* Use list instead of new line
* Remove DESCRIPTION
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update rev1/readme.md to specify rev1 directly.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove some definitions
Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove comments
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>