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

Add Canadian French input locale #21456

Merged
merged 9 commits into from
Jan 9, 2024
Merged

Conversation

Nebuleon
Copy link
Contributor

@Nebuleon Nebuleon commented Jul 5, 2023

Description

This pull request introduces the Canadian French input locale, otherwise known as French Canadian or French (Canada), to QMK. This is not the input locale called "Canadian French (Legacy)".

The commit includes declarations in the required .hjson file, the keymap header and the file for use with SEND_STRING, as well as the reference to those files in the documentation. Key names start with FC_ for French Canadian; as for their 4-character names, I have reused the names of keys that output the respective characters in any other existing input locale; and I have validated the key labels, keyboard diagrams, keycodes, Shift and AltGr use, as well as the lookup tables for the SEND_STRING macro. The input locale works on both Linux and Windows using both layers that output each individual key as well as a SEND_STRING that sends the entire ASCII table.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation
  • Other: Input locale (quantum/keymap_extras)

Issues Fixed or Closed by This PR

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).

@Nebuleon
Copy link
Contributor Author

Nebuleon commented Jul 5, 2023

GitHub Actions pointed out that the generated file had one extra newline compared to what is expected, so I removed it in a second commit, and now the regen check succeeds (and is no longer showing up in the list). This should now be good for review.

@drashna drashna requested review from fauxpark and a team July 6, 2023 04:41
docs/reference_keymap_extras.md Outdated Show resolved Hide resolved
quantum/keymap_extras/keymap_canadian_french.h Outdated Show resolved Hide resolved
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ \ │ ± │ @ │ £ │ ¢ │ ¤ │ ¬ │ ¦ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ │ │ € │ │ │ │ │ │ § │ ¶ │ [ │ ] │ │
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Windows OSK doesn't have a Euro symbol here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently the Euro symbol is a somewhat recent addition to the Canadian French layout — it appears in Windows 10.0.22598.1 (which is apparently a preview release of Windows 11 23H2, released in the Canary channel on 7 April 2023), but does not appear in Windows 10.0.17134.1 (Windows 10 1803). No idea whether that symbol appears there in any proper releases of Windows 10 and Windows 11 — kbdlayout.info does not have any intermediate versions between those two.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Euro symbol is indeed not output by AltGr+E on Windows 10 22H2 19045.3155, but KDE has had it for a while.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it policy to restrict input locale declarations in QMK to only what the most common released versions of Windows can do? If so, I can remove FR_EURO from the list.

@Nebuleon
Copy link
Contributor Author

Nebuleon commented Jul 9, 2023

And another commit because I realised that, while I had checked that everything that was in the keymap was emitting the correct keycodes, I had not checked whether everything that should have been there was indeed there. I missed FR_RABK, also known as >, and added it to 423b6bf.

Copy link

Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug, awaiting review, breaking_change, in progress, or on hold to prevent the issue from being re-flagged.

@github-actions github-actions bot added the stale Issues or pull requests that have become inactive without resolution. label Dec 10, 2023
@Nebuleon
Copy link
Contributor Author

Hi there.

This pull request is still relevant, and I have one outstanding question:

Is it policy to restrict input locale declarations in QMK to only what the most common released versions of Windows can do? If so, I can remove FR_EURO from the list.

@fauxpark
Copy link
Member

Basically, yes, because it's better to have keycodes "omitted" from the headers compared to Windows 11, than to have users complain about the keycodes not working on older versions. Perhaps this could be mitigated with notes in the docs, but I have observed many times already users not seeming to even notice or understand the last three columns of this table. So I have little faith it will do much.

@github-actions github-actions bot added the dd Data Driven Changes label Dec 10, 2023
@Nebuleon
Copy link
Contributor Author

Right. I have deleted FR_EURO from the data to ease that burden from user complaints. It's still easy for a user to use ALGR(FR_E) if they need the euro symbol in Canadian French.

I do notice that the PR Regenerate Files test fails, after using this command:
qmk generate-keycode-extras -l canadian_french -v 0.0.1 > quantum/keymap_extras/keymap_canadian_french.h
I'm not sure why PR Regenerate Files wants the final newline removed, but I will delete that too,

@Nebuleon Nebuleon requested a review from fauxpark December 10, 2023 08:12
@github-actions github-actions bot removed the stale Issues or pull requests that have become inactive without resolution. label Dec 11, 2023
@tzarc tzarc merged commit e67d2c2 into qmk:develop Jan 9, 2024
5 checks passed
Nebuleon added a commit to Nebuleon/qmk_userspace that referenced this pull request Jan 17, 2024
nuess0r pushed a commit to nuess0r/qmk_firmware that referenced this pull request Sep 8, 2024
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
Labels
core dd Data Driven Changes documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants