AvengeMedia / AvengeMedia/DankMaterialShell
Fix: Map ' + c to ç instead of ć for Portuguese and Brazilian users on US-Intl keyboards
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Feature Description
In the English (US, intl. with dead keys) layout, the standard Unicode behavior for the combination of ' (dead acute) + c is ć (C with acute). While technically correct for some languages, for the entire Portuguese-speaking community, the expected result is ç (C with cedilla).
In "heavy" desktop environments like GNOME, this is often handled by internal heuristics or legacy environment variables like GTK_IM_MODULE=cedilla. However, in modern and minimal Wayland-native setups (like the ones running niri), this "magic" disappears, forcing users to implement complex workarounds like installing fcitx5 or manually editing system-level XCompose files just to get a basic character to work.
### Use Case
The users drawn to DankMaterialShell are typically tech-savvy professionals, developers, and enthusiasts who value a clean, high-performance workflow. This specific profile often prefers high-end mechanical or ANSI-layout keyboards, as the regional availability for specialized ABNT2 (Brazilian) hardware is limited.
We have adapted to the ANSI hardware, but having to "patch" the OS for something as elementary as keyboard input feels out of place in such a sophisticated environment. It would be amazing to see DankMaterialShell lead the way in providing a "just works" experience for this demographic, matching the seamlessness of larger DEs without their bloat.
Why this matters
Your initiative with this project is fantastic—it brings a level of aesthetic and functional polish that the Wayland ecosystem deeply needs. Implementing a fix or an easier toggle for the "US-Intl Cedilla" behavior would remove the last bit of friction for many international power users, making this shell the definitive choice for those who want both beauty and a professional, "noise-zero" typing experience.
### Compositor(s)
Niri
### If Other, please specify
_No response_
### Proposed Solution
It would be great if the shell/theme could consider the following:
Observe System Locale: If the system language is set to pt_BR, automatically map ' + c to ç even when using the US International layout.
Specific Variant: Provide or support an intl-br variant that explicitly prioritizes the cedilla over the acute C.
Built-in Compose Rules: Include a pre-configured Compose table that addresses this common localization friction for Brazilian developers.
Current Workaround: I am currently forced to use fcitx5 with specific environment variables (GTK_IM_MODULE, QT_IM_MODULE, XMODIFIERS) just to get the cedilla working correctly in Chromium-based apps like Brave and VS Code.
### Alternatives/Existing Solutions
_No response_
Contributor guide
Research direction
No source file, test, or entry point is named. First determine whether DankMaterialShell or Quickshell owns keyboard compose handling for Wayland and Niri, then compare the requested pt_BR/US-Intl behavior with the documented fcitx5 workaround. Done should be a clearly scoped, testable way to provide the requested cedilla behavior without relying on unspecified system changes.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, localization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100