summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2022-11-18 08:46:47 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2022-11-18 08:46:47 -0300
commitcd7d8f721c804d8ed4fc22975826a6b2abad28c3 (patch)
treeecb55160e251f95ed516739a6ab86dfd0d51d26c
parent9cc1c511dfde62890a7fe5c58d1fe0b21326dd76 (diff)
downloadgnome-desktop-cd7d8f721c804d8ed4fc22975826a6b2abad28c3.tar.gz
Use more sensible default keyboard for es_US
This is fairly edge casey, but at Endless we've been shipping laptops to native Spanish speakers in the US, and these laptops have the standard US keyboard. To be able to meaningfully write in the Spanish language, it is necessary for the keyboard to treat special keys as dead keys. There is a locale to represent Spanish-speaking US, 'es_US', but sadly we don't pick a sensible keyboard for this locale, because: * 'default_input_sources' does not list es_US, so no curated keyboard is returned by gnome_get_input_source_from_locale() * Passing 'es_US' to gnome_xkb_info_get_layouts_for_language() returns us various combinations of {'es', 'latam'} x {'colemak', 'nodeadkeys', ...} * gnome_xkb_info_get_layouts_for_country() lists a bunch of 'latam' derived keymaps. None of these options actually return us the (likely) most appropriate layout, 'us+intl', which is the US keyboard but special characters are dead keys, which in turn allows Spanish speakers to write characters such as ñ. Hardcode 'es_US' in 'default_input_sources' to be 'us+intl'.
-rw-r--r--libgnome-desktop/default-input-sources.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libgnome-desktop/default-input-sources.h b/libgnome-desktop/default-input-sources.h
index bb5f10f5..04ba10be 100644
--- a/libgnome-desktop/default-input-sources.h
+++ b/libgnome-desktop/default-input-sources.h
@@ -26,6 +26,7 @@ static DefaultInputSource default_input_sources[] =
{ "es_ES", "xkb", "es" },
{ "es_GT", "xkb", "latam" },
{ "es_MX", "xkb", "latam" },
+ { "es_US", "xkb", "us+intl" },
{ "fr_BE", "xkb", "be" },
{ "fr_CH", "xkb", "ch+fr" },
{ "fr_FR", "xkb", "fr+oss" },