Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Language Specific Keycodes for US International and Extended Layouts #11307

Merged
merged 15 commits into from
Jan 2, 2021

Conversation

spidey3
Copy link
Contributor

@spidey3 spidey3 commented Dec 26, 2020

Description

This pull request improves a corner of the Language Specific Keycodes:

  • Improvement for the US International keyboard layout [aka xkb:us:intl:eng - English (US, international with dead keys)]
    • Support for more symbols added
    • Fixed some confusion between dead-key accents and standalone counterparts (US_DGRV vs. US_GRV, US_DTIL vs. US_TILD, etc.)
    • Adds sendstring_us_international.h that will (if included) make send_char() / send_string() work correctly when the host is configured for this keyboard
  • Adds support for US Extended keyboard layout [aka xkb:us:altgr-intl:eng - English (international AltGr dead keys)]
  • Adds support in send_char() / send_string() for ASCII characters that can only be entered by typing a dead key followed by a space.

I've targeted this at the develop branch, because:

  • The change to send_char() increases firmware size slightly (by about 62 bytes) for all keyboards.
  • The changes in keymap_us_international.h make it more correct, but may break keymaps that depend on it (although I note, there doesn't seem to be anything in the qmk/qmk_firmware tree that uses it at present).

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@spidey3 spidey3 changed the title Improved keymaps for US International and Extended Layouts Improved Language Specific Keycodes for US International and Extended Layouts Dec 26, 2020
quantum/keymap_extras/keymap_us_international.h Outdated Show resolved Hide resolved
quantum/keymap_extras/keymap_us_international.h Outdated Show resolved Hide resolved
quantum/keymap_extras/keymap_us_international.h Outdated Show resolved Hide resolved
quantum/keymap_extras/keymap_us_international.h Outdated Show resolved Hide resolved
@spidey3
Copy link
Contributor Author

spidey3 commented Dec 26, 2020

@fauxpark, et. al.:
I've fleshed this out a lot more, resolving the following issues

  • Made send_string() work when only way to get an ASCII character is using a dead key. Note this costs ~60 bytes for all keyboards.
  • Separated the linux variant from the base version of US International. The Linux variant builds on the base version; it seemed inelegant to make an entirely new map that differed only for a few keys.
  • Addressed the ACUT vs. NDAC vs. DACU confusion. Bottom line: DACU is Double Acute; NDAC is non-dead Acute.

@spidey3 spidey3 marked this pull request as ready for review December 26, 2020 21:15
docs/reference_keymap_extras.md Outdated Show resolved Hide resolved
quantum/keymap_extras/keymap_us_international_linux.h Outdated Show resolved Hide resolved
quantum/quantum.c Outdated Show resolved Hide resolved
quantum/quantum.c Outdated Show resolved Hide resolved
quantum/quantum.h Outdated Show resolved Hide resolved
quantum/quantum.c Outdated Show resolved Hide resolved
quantum/keymap_extras/sendstring_us_international.h Outdated Show resolved Hide resolved
docs/reference_keymap_extras.md Outdated Show resolved Hide resolved
spidey3 and others added 2 commits December 27, 2020 00:02
Thanks for these suggestions!

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
@fauxpark fauxpark requested a review from a team December 27, 2020 05:25
@fauxpark
Copy link
Member

fauxpark commented Jan 2, 2021

Thanks!

@fauxpark fauxpark merged commit e190872 into qmk:develop Jan 2, 2021
@spidey3 spidey3 deleted the us_international branch January 14, 2021 20:34
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
… Layouts (qmk#11307)

Co-authored-by: Ryan <fauxpark@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants