JohnRigoni / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families

Home Page:https://qmk.fm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RETRO_TAPPING Retrofittings

This fork contains a fix for dropped characters when key rolling and the edition of RETRO_TAPPING_TIMEOUT.
It has exclusively been tested with the setting RETRO_TAPPING enabled and with all modifier keys being invoked by dual funtion keys (the layout below). No testing has been done on RETRO_TAPPING_PER_KEY, AUTO_SHIFT_ENABLE, or RETRO_SHIFT.

Please see the other branches in the repository for the isolated modifications.

Key Roll Fix

Fix the condition found with RETRO_TAPPING enabled when key rolling. The dual function keys's retro tap keycode is not fired when a different key has been released between the dual function keys's down and up events.

Any modifiers held during the key down event of a dual function key will be applied if/when the retro tap keycode is sent.

RETRO_TAPPING_TIMEOUT

With RETRO_TAPPING enabled, holding and releasing a dual function key without pressing another key will result in the key's tap keycode being sent even if outside the tapping term. With RETRO_TAPPING_TIMEOUT enabled as well, holding a dual function key for longer than the specified timeout duration will result in no keycode being sent when the key is released.

This setting can be enabled in 'keyboards/<>/keymaps/config.h' with RETRO_TAPPING and takes an integer that is the timeout duration in milliseconds.

#define RETRO_TAPPING_TIMEOUT 500

Aside

I use a tapping term of 180ms on my bottom-row-mods and 150ms on the thumb keys. This will likely work for RETRO_TAPPING_PER_KEY.

Media

Before Key Roll Fix: Single to Dual Function

single-dual_before

After Key Roll Fix: Single to Dual Function

sigle-dual_after

Before Key Roll Fix: Dual to Dual Function

dual-dual_before

After Key Roll Fix: Dual to Dual Function

dual-dual_after

Before RETRO_TAPPING_TIMEOUT

retro-timeout_before

After RETRO_TAPPING_TIMEOUT 😴

retro-timeout_after

Quantum Mechanical Keyboard Firmware

Current Version 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.

About

Open-source keyboard firmware for Atmel AVR and Arm USB families

https://qmk.fm

License:GNU General Public License v2.0


Languages

Language:C 91.2%Language:C++ 3.9%Language:Makefile 3.7%Language:Python 1.1%Language:Shell 0.1%Language:Nix 0.0%Language:Assembly 0.0%Language:Go 0.0%Language:SourcePawn 0.0%Language:Dockerfile 0.0%