Go to file
yonatanzunger 554b937d21
[Keymap] Redo the accent implementation in melody96:zunger. (#11000)
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>
2021-01-11 01:21:44 -08:00
.github Yet another stab at trying to get github actions to push (#11230) 2020-12-16 23:00:02 +00:00
.vscode [Keyboard] add rhymestone by marksard (#9708) 2020-09-04 04:14:34 -07:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
bin Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
docs [Docs] Update feature_rgblight.md (#11363) 2021-01-10 23:05:11 -08:00
drivers Align ChibiOS spi_master behaviour with AVR (#11404) 2021-01-03 14:53:53 +11:00
keyboards [Keymap] Redo the accent implementation in melody96:zunger. (#11000) 2021-01-11 01:21:44 -08:00
layouts [Keymap] stanrc85 Keymap/userspace updates (#11349) 2021-01-10 23:03:12 -08:00
lib Migrate python tests away from onekey (#11367) 2021-01-05 00:52:31 +00:00
platforms/chibios Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
quantum Lighting Layers should be disabled when suspended (#11442) 2021-01-11 00:07:09 -08:00
tests Missed a couple more `#pragma once`s (#11351) 2020-12-30 15:44:53 +00:00
tmk_core Add support for shared EP on V-USB boards (#11103) 2021-01-11 19:46:30 +11:00
users [Keymap] stanrc85 Keymap/userspace updates (#11349) 2021-01-10 23:03:12 -08:00
util Homebrew install: ignore pinned formulae in `brew upgrade` (#11423) 2021-01-03 20:30:59 +00:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes Set eep files to binary mode 2016-08-27 18:37:28 +03:00
.gitignore Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
.gitmodules 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.travis.yml CI: Add workflow for codebase formatting (#7382) 2020-12-10 17:01:51 +00:00
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
Makefile remove some old and unused code from Makefile (#11336) 2020-12-29 19:42:09 +00:00
Vagrantfile Remove broken example from Makefile (#9159) 2020-05-21 20:33:20 +01:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Fix STM32duino bootloader (#10648) 2020-10-15 02:55:31 +01:00
build_full_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
build_json.mk Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
build_keyboard.mk Add target 'check-md5' to `build_keyboard.mk` (#11338) 2020-12-31 15:20:56 +09:00
build_layout.mk Allow for building layouts from keymap.json files. 2020-07-07 07:27:39 -07:00
build_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
common.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
common_features.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
doxygen-todo Remove iWRAP protocol (#9284) 2020-08-29 14:30:02 -07:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
message.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Revert "Branch point for 2020 Aug 29 Breaking Change" 2020-08-29 14:30:02 -07:00
requirements-dev.txt Use milc for config check, requirements fixes 2020-04-08 09:31:14 -07:00
requirements.txt 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
setup.cfg Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
shell.nix nix-shell: add milc dependency (#11086) 2020-11-30 21:03:03 +00:00
show_options.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
testlist.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00

readme.md

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.