keyboard: Read key width from model

Handle a "width" property to key structs in the JSON files, and
use that (so far) to give the right width to space keys in layouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>
This commit is contained in:
Carlos Garnacho 2022-04-14 13:20:49 +02:00 committed by Florian Müllner
parent 6898522e63
commit a2674c1166
58 changed files with 272 additions and 52 deletions

View File

@ -210,6 +210,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -432,6 +433,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -643,6 +645,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -849,6 +852,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -884,4 +888,4 @@
], ],
"locale": "hy", "locale": "hy",
"name": "Armenian" "name": "Armenian"
} }

View File

@ -200,6 +200,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -428,6 +429,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -637,6 +639,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -679,4 +682,4 @@
], ],
"locale": "ar", "locale": "ar",
"name": "Arabic" "name": "Arabic"
} }

View File

@ -178,6 +178,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -376,6 +377,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -593,6 +595,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -786,6 +789,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -200,6 +200,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -419,6 +420,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -636,6 +638,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -829,6 +832,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -168,6 +168,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -356,6 +357,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -573,6 +575,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -765,6 +768,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -786,4 +790,4 @@
], ],
"locale": "bg", "locale": "bg",
"name": "Bulgarian" "name": "Bulgarian"
} }

View File

@ -174,6 +174,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -368,6 +369,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -585,6 +587,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -777,6 +780,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -798,4 +802,4 @@
], ],
"locale": "be", "locale": "be",
"name": "Belarusian" "name": "Belarusian"
} }

View File

@ -193,6 +193,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -406,6 +407,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -623,6 +625,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -815,6 +818,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -836,4 +840,4 @@
], ],
"locale": "fr-CA", "locale": "fr-CA",
"name": "French Canada" "name": "French Canada"
} }

View File

@ -178,6 +178,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -376,6 +377,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -593,6 +595,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -786,6 +789,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -178,6 +178,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -376,6 +377,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -593,6 +595,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -786,6 +789,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -200,6 +200,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -420,6 +421,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -637,6 +639,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -829,6 +832,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -850,4 +854,4 @@
], ],
"locale": "cs", "locale": "cs",
"name": "Czech" "name": "Czech"
} }

View File

@ -178,6 +178,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -376,6 +377,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -593,6 +595,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -786,6 +789,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -807,4 +811,4 @@
], ],
"locale": "de", "locale": "de",
"name": "German" "name": "German"
} }

View File

@ -194,6 +194,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -408,6 +409,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -625,6 +627,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -818,6 +821,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -839,4 +843,4 @@
], ],
"locale": "da", "locale": "da",
"name": "Danish" "name": "Danish"
} }

View File

@ -232,6 +232,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -484,6 +485,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -701,6 +703,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -894,6 +897,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -915,4 +919,4 @@
], ],
"locale": "et", "locale": "et",
"name": "Estonian" "name": "Estonian"
} }

View File

@ -251,6 +251,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -522,6 +523,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -739,6 +741,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -931,6 +934,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -952,4 +956,4 @@
], ],
"locale": "eo", "locale": "eo",
"name": "Esperanto" "name": "Esperanto"
} }

View File

@ -196,6 +196,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -411,6 +412,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -627,6 +629,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -821,6 +824,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -843,4 +847,4 @@
], ],
"locale": "ca", "locale": "ca",
"name": "Catalan" "name": "Catalan"
} }

View File

@ -194,6 +194,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -408,6 +409,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -625,6 +627,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -821,6 +824,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -845,4 +849,4 @@
], ],
"locale": "es", "locale": "es",
"name": "Spanish" "name": "Spanish"
} }

View File

@ -184,6 +184,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -388,6 +389,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -605,6 +607,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -798,6 +801,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -819,4 +823,4 @@
], ],
"locale": "fi", "locale": "fi",
"name": "Finnish" "name": "Finnish"
} }

View File

@ -202,6 +202,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -424,6 +425,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -641,6 +643,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -834,6 +837,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -855,4 +859,4 @@
], ],
"locale": "fr", "locale": "fr",
"name": "French" "name": "French"
} }

View File

@ -158,6 +158,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -375,6 +376,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -567,6 +569,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -588,4 +591,4 @@
], ],
"locale": "ka", "locale": "ka",
"name": "Georgian" "name": "Georgian"
} }

View File

@ -159,6 +159,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -338,6 +339,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -555,6 +557,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -748,6 +751,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -769,4 +773,4 @@
], ],
"locale": "el", "locale": "el",
"name": "Greek" "name": "Greek"
} }

View File

@ -159,6 +159,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -338,6 +339,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -555,6 +557,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -747,6 +750,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -768,4 +772,4 @@
], ],
"locale": "hr", "locale": "hr",
"name": "Croatian" "name": "Croatian"
} }

View File

@ -183,6 +183,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -386,6 +387,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -603,6 +605,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -795,6 +798,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -816,4 +820,4 @@
], ],
"locale": "hu", "locale": "hu",
"name": "Hungarian" "name": "Hungarian"
} }

View File

@ -147,6 +147,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -314,6 +315,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -531,6 +533,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -723,6 +726,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -744,4 +748,4 @@
], ],
"locale": "id", "locale": "id",
"name": "Indonesian" "name": "Indonesian"
} }

View File

@ -171,6 +171,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -388,6 +389,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -582,6 +584,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -604,4 +607,4 @@
], ],
"locale": "he", "locale": "he",
"name": "Hebrew" "name": "Hebrew"
} }

View File

@ -196,6 +196,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -414,6 +415,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -607,6 +609,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -628,4 +631,4 @@
], ],
"locale": "hi", "locale": "hi",
"name": "Hindi" "name": "Hindi"
} }

View File

@ -179,6 +179,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -371,6 +372,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -599,6 +601,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -791,6 +794,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -200,6 +200,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -431,6 +432,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -641,6 +643,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -185,6 +185,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -390,6 +391,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -607,6 +609,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -799,6 +802,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -820,4 +824,4 @@
], ],
"locale": "is", "locale": "is",
"name": "Icelandic" "name": "Icelandic"
} }

View File

@ -183,6 +183,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -386,6 +387,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -603,6 +605,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -796,6 +799,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -817,4 +821,4 @@
], ],
"locale": "it", "locale": "it",
"name": "Italian" "name": "Italian"
} }

View File

@ -182,6 +182,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -384,6 +385,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -601,6 +603,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -793,6 +796,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -814,4 +818,4 @@
], ],
"locale": "sw", "locale": "sw",
"name": "Swahili" "name": "Swahili"
} }

View File

@ -177,6 +177,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -374,6 +375,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -591,6 +593,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -783,6 +786,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -804,4 +808,4 @@
], ],
"locale": "ky", "locale": "ky",
"name": "Kirghiz" "name": "Kirghiz"
} }

View File

@ -269,6 +269,7 @@
] ]
}, },
{ {
"width": 7,
"strings": [ "strings": [
" " " "
] ]
@ -487,6 +488,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -679,6 +681,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -700,4 +703,4 @@
], ],
"locale": "km", "locale": "km",
"name": "Khmer" "name": "Khmer"
} }

View File

@ -259,6 +259,7 @@
] ]
}, },
{ {
"width": 7,
"strings": [ "strings": [
" " " "
] ]
@ -477,6 +478,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -670,6 +672,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -691,4 +694,4 @@
], ],
"locale": "lo", "locale": "lo",
"name": "Lao" "name": "Lao"
} }

View File

@ -194,6 +194,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -408,6 +409,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -625,6 +627,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -820,6 +823,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -844,4 +848,4 @@
], ],
"locale": "es-US", "locale": "es-US",
"name": "Spanish United States" "name": "Spanish United States"
} }

View File

@ -217,6 +217,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -454,6 +455,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -671,6 +673,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -863,6 +866,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -884,4 +888,4 @@
], ],
"locale": "lt", "locale": "lt",
"name": "Lithuanian" "name": "Lithuanian"
} }

View File

@ -216,6 +216,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -452,6 +453,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -669,6 +671,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -861,6 +864,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -882,4 +886,4 @@
], ],
"locale": "lv", "locale": "lv",
"name": "Latvian" "name": "Latvian"
} }

View File

@ -174,6 +174,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -368,6 +369,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -585,6 +587,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -777,6 +780,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -798,4 +802,4 @@
], ],
"locale": "mk", "locale": "mk",
"name": "Macedonian" "name": "Macedonian"
} }

View File

@ -176,6 +176,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -372,6 +373,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -590,6 +592,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -783,6 +786,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -804,4 +808,4 @@
], ],
"locale": "mn", "locale": "mn",
"name": "Mongolian" "name": "Mongolian"
} }

View File

@ -147,6 +147,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -314,6 +315,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -531,6 +533,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -723,6 +726,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -744,4 +748,4 @@
], ],
"locale": "ms", "locale": "ms",
"name": "Malay" "name": "Malay"
} }

View File

@ -185,6 +185,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -390,6 +391,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -607,6 +609,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -800,6 +803,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -821,4 +825,4 @@
], ],
"locale": "nl", "locale": "nl",
"name": "Dutch" "name": "Dutch"
} }

View File

@ -194,6 +194,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -408,6 +409,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -625,6 +627,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -818,6 +821,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -147,6 +147,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -314,6 +315,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -531,6 +533,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -723,6 +726,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -744,4 +748,4 @@
], ],
"locale": "fil", "locale": "fil",
"name": "Filipino" "name": "Filipino"
} }

View File

@ -183,6 +183,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -386,6 +387,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -603,6 +605,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -795,6 +798,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -816,4 +820,4 @@
], ],
"locale": "pl", "locale": "pl",
"name": "Polish" "name": "Polish"
} }

View File

@ -185,6 +185,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -390,6 +391,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -607,6 +609,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -800,6 +803,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -821,4 +825,4 @@
], ],
"locale": "pt-PT", "locale": "pt-PT",
"name": "Portuguese Portugal" "name": "Portuguese Portugal"
} }

View File

@ -167,6 +167,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -354,6 +355,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -571,6 +573,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -763,6 +766,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -784,4 +788,4 @@
], ],
"locale": "ro", "locale": "ro",
"name": "Romanian" "name": "Romanian"
} }

View File

@ -174,6 +174,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -368,6 +369,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -585,6 +587,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -777,6 +780,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -798,4 +802,4 @@
], ],
"locale": "sr", "locale": "sr",
"name": "Serbian" "name": "Serbian"
} }

View File

@ -174,6 +174,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -368,6 +369,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -585,6 +587,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -777,6 +780,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -798,4 +802,4 @@
], ],
"locale": "ru", "locale": "ru",
"name": "Russian" "name": "Russian"
} }

View File

@ -211,6 +211,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -442,6 +443,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -659,6 +661,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -852,6 +855,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -873,4 +877,4 @@
], ],
"locale": "sv", "locale": "sv",
"name": "Swedish" "name": "Swedish"
} }

View File

@ -152,6 +152,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -324,6 +325,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -541,6 +543,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -734,6 +737,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -755,4 +759,4 @@
], ],
"locale": "sl", "locale": "sl",
"name": "Slovenian" "name": "Slovenian"
} }

View File

@ -217,6 +217,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -454,6 +455,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -671,6 +673,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -864,6 +867,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -885,4 +889,4 @@
], ],
"locale": "sk", "locale": "sk",
"name": "Slovak" "name": "Slovak"
} }

View File

@ -259,6 +259,7 @@
] ]
}, },
{ {
"width": 7,
"strings": [ "strings": [
" " " "
] ]
@ -532,6 +533,7 @@
] ]
}, },
{ {
"width": 7,
"strings": [ "strings": [
" " " "
] ]
@ -754,6 +756,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -947,6 +950,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]

View File

@ -176,6 +176,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -372,6 +373,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -589,6 +591,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -782,6 +785,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -803,4 +807,4 @@
], ],
"locale": "tr", "locale": "tr",
"name": "Turkish" "name": "Turkish"
} }

View File

@ -175,6 +175,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -370,6 +371,7 @@
] ]
}, },
{ {
"width": 6,
"strings": [ "strings": [
" " " "
] ]
@ -588,6 +590,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -781,6 +784,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -802,4 +806,4 @@
], ],
"locale": "uk", "locale": "uk",
"name": "Ukrainian" "name": "Ukrainian"
} }

View File

@ -181,6 +181,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -382,6 +383,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -599,6 +601,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -792,6 +795,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -813,4 +817,4 @@
], ],
"locale": "en-GB", "locale": "en-GB",
"name": "English Great Britain" "name": "English Great Britain"
} }

View File

@ -181,6 +181,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -382,6 +383,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -599,6 +601,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -791,6 +794,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -812,4 +816,4 @@
], ],
"locale": "en", "locale": "en",
"name": "English United States" "name": "English United States"
} }

View File

@ -214,6 +214,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -448,6 +449,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -666,6 +668,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -859,6 +862,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -880,4 +884,4 @@
], ],
"locale": "vi", "locale": "vi",
"name": "Vietnamese" "name": "Vietnamese"
} }

View File

@ -188,6 +188,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -396,6 +397,7 @@
] ]
}, },
{ {
"width": 5,
"strings": [ "strings": [
" " " "
] ]
@ -613,6 +615,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -805,6 +808,7 @@
] ]
}, },
{ {
"width": 3,
"strings": [ "strings": [
" " " "
] ]
@ -826,4 +830,4 @@
], ],
"locale": "af", "locale": "af",
"name": "Afrikaans" "name": "Afrikaans"
} }

View File

@ -1514,9 +1514,8 @@ var Keyboard = GObject.registerClass({
const {strings} = key; const {strings} = key;
let button = new Key(strings.shift(), strings); let button = new Key(strings.shift(), strings);
/* Space key gets special width, dependent on the number of surrounding keys */ if (key.width !== null)
if (button.key == ' ') button.setWidth(key.width);
button.setWidth(keys.length <= 3 ? 5 : 3);
button.connect('pressed', (actor, keyval, str) => { button.connect('pressed', (actor, keyval, str) => {
if (!Main.inputMethod.currentFocus || if (!Main.inputMethod.currentFocus ||