keyboard/altgr/ukext: distinguish microsoft compatibility
[sheet.git] / keyboard / altgr / ukext.eng.inc.pl
index 6a8e9148949bfc100fa9ca61a69aa6d30ac91209..972c01e2dcc5bb2567300ae0a7f2df502cf79ee8 100644 (file)
@@ -3,56 +3,72 @@ use strict;
 use warnings;
 use Shiar_Sheet::KeyboardChars 'kbchars';
 
-my %rows = (
-       '~' => '¦',
+my %win = (
+       '`' => '¦',
+       '~' => "\N{COMBINING GRAVE ACCENT}", # uk ¬ originally unshifted
+       '2' => "\N{COMBINING DIAERESIS}",
+       '4' => '€',
+       '6' => "\N{COMBINING CIRCUMFLEX ACCENT}",
+       'W' => 'Ẃ',
+       'w' => 'ẃ',
+       'E' => 'É',
+       'e' => 'é',
+       'Y' => 'Ý',
+       'y' => 'ý',
+       'U' => 'Ú',
+       'u' => 'ú',
+       'I' => 'Í',
+       'i' => 'í',
+       'O' => 'Ó',
+       'o' => 'ó',
+       'A' => 'Á',
+       'a' => 'á',
+       #'"' => '`',
+       "'" => "\N{COMBINING ACUTE ACCENT}",
+       '\\'=> "\N{COMBINING TILDE}", # uk #
+       'C' => 'Ç',
+       'c' => 'ç',
+);
+
+my %dup = (
+       # aliases to unmodified keys
+       '7' => '{',
+       '8' => '[',
+       '9' => ']',
+       '0' => '}',
+       '-' => '\\',
+       'q' => '@',
+       'K' => '&',
+);
+
+my %rows = (%win, %dup,
        '!' => '¡',
        '1' => '¹',
        '@' => '½', # uk "
-       '2' => "\N{COMBINING DIAERESIS}",
        '#' => '⅓', # uk £
        '3' => '³',
        '$' => '¼',
-       '4' => '€',
        '%' => '⅜',
-       '5' => ',
+       '5' => \'@',
        '^' => '⅝',
-       '6' => "\N{COMBINING CIRCUMFLEX ACCENT}",
        '&' => '⅞',
-       '7' => '{',
        '*' => '™',
-       '8' => '[',
        '(' => '±',
-       '9' => ']',
        ')' => '°',
-       '0' => '}',
        '_' => '¿',
-       '-' => '\\',
        '+' => "\N{COMBINING OGONEK}",
        '=' => "\N{COMBINING CEDILLA}",
        'Q' => 'Ω',
-       'q' => '@',
-       'W' => 'Ẃ',
-       'w' => 'ẃ',
-       'E' => 'É',
-       'e' => 'é',
        'R' => '®',
        'r' => '¶',
        'T' => 'Ŧ',
        't' => 'ŧ',
-       'Y' => 'Ý',
-       'y' => 'ý',
-       'U' => 'Ú',
-       'u' => 'ú',
-       'I' => 'Í',
-       'i' => 'í',
-       'O' => 'Ó',
-       'o' => 'ó',
        'P' => 'Þ',
        'p' => 'þ',
        '{' => "\N{COMBINING RING ABOVE}",
-       '}' => "\N{COMBINING MACRON}",
-       'A' => 'Á',
-       'a' => 'á',
+       '}' => "\N{COMBINING MACRON}", # originally |
+       '[' => \'2',
+       ']' => \'\\',
        'S' => '§',
        's' => 'ß',
        'D' => 'Ð',
@@ -65,24 +81,17 @@ my %rows = (
        'h' => 'ħ',
        'J' => "\N{COMBINING HORN}",
        'j' => "\N{COMBINING HOOK ABOVE}",
-       'K' => '&',
        'k' => 'ĸ',
        'L' => 'Ł',
        'l' => 'ł',
        ':' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
-       ';' => "\N{COMBINING ACUTE ACCENT}",
+       ';' => \"'",
        '"' => "\N{COMBINING CARON}", # uk @
-       "'" => "\N{COMBINING ACUTE ACCENT}", # same as ;?
-       '|' => "\N{COMBINING TILDE}",
-       '\\'=> "\N{COMBINING BREVE}",
-       '~' => "\N{COMBINING GRAVE ACCENT}",
-       '`' => '¦',
-       'Z' => '<',
+       '|' => "\N{COMBINING BREVE}", # uk ~ originally \
+       'Z' => '‹',
        'z' => '«',
-       'X' => '>',
+       'X' => '',
        'x' => '»',
-       'C' => 'Ç',
-       'c' => 'ç',
        'V' => '‘',
        'v' => '“',
        'B' => '’',
@@ -98,18 +107,22 @@ my %rows = (
        '?' => "\N{COMBINING DOT ABOVE}",
        '/' => "\N{COMBINING DOT BELOW}",
 );
-$rows{'['} = $rows{'2'};
-$rows{']'} = $rows{'#'};
+
+my $groups = kbchars(\%rows);
+
+$_->[0] .= ' ext'  for @{ $groups->{def}{''} }{keys %dup};
+$_->[0] .= ' more' for @{ $groups->{def}{''} }{keys %win};
+$groups->{flag}{more} = ['windows', "only a small subset is present on Microsoft's layout"];
 
 +{
-       %{ kbchars(\%rows) },
+       %{$groups},
        title => 'UK-extended',
        category => 'latin/thirdparty',
-       version => '1.0',
+       version => '1.1',
        intro => join("\n",
-               "A Chrome OS extension",
+               "A Chrome OS extension and Xorg option",
                "expanding on Windows' UK Extended QWERTY keyboard.",
-               'Similar to the <a href="/keyboard/altgr">US international</a> variant.',
+               'Distinct from the <a href="/keyboard/altgr/windows">US international</a> variant.',
        ),
        description => [
                "Google UK-Extended keyboard layout table for Chrome OS",