From: Mischa POSLAWSKY Date: Sun, 3 Dec 2023 17:19:25 +0000 (+0100) Subject: keyboard: preliminary altgr subpage ukext with additional classes X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/29a9152f92330b53f37780b117a4c2a7259fb851 keyboard: preliminary altgr subpage ukext with additional classes Copied from table. --- diff --git a/altgr-ukext.eng.inc.pl b/altgr-ukext.eng.inc.pl new file mode 100644 index 0000000..0eb81c6 --- /dev/null +++ b/altgr-ukext.eng.inc.pl @@ -0,0 +1,115 @@ +use utf8; +our %rows = ( + '¬' => '◌', + '`' => '◌', + '~' => '¦', + '!' => '¡', + '1' => '¹', + '"' => '½', + '2' => '◌', + '£' => '⅓', + '3' => '³', + '$' => '¼', + '4' => '€', + '%' => '⅜', + '5' => '½', + '^' => '⅝', + '6' => '◌', + '&' => '⅞', + '7' => '{', + '*' => '™', + '8' => '[', + '(' => '±', + '9' => ']', + ')' => '°', + '0' => '}', + '_' => '¿', + '-' => '\\', + '+' => '◌', + '=' => '◌', + 'Q' => 'Ω', + 'q' => '@', + 'W' => 'Ẃ', + 'w' => 'ẃ', + 'E' => 'É', + 'e' => 'é', + 'R' => '®', + 'r' => '¶', + 'T' => 'Ŧ', + 't' => 'ŧ', + 'Y' => 'Ý', + 'y' => 'ý', + 'U' => 'Ú', + 'u' => 'ú', + 'I' => 'Í', + 'i' => 'í', + 'O' => 'Ó', + 'o' => 'ó', + 'P' => 'Þ', + 'p' => 'þ', + '{' => '◌', + '[' => '◌', + '}' => '◌', + ']' => '◌', + 'A' => 'Á', + 'a' => 'á', + 'S' => '§', + 's' => 'ß', + 'D' => 'Ð', + 'd' => 'ð', + 'F' => 'ª', + 'f' => 'đ', + 'G' => 'Ŋ', + 'g' => 'ŋ', + 'H' => 'Ħ', + 'h' => 'ħ', + 'J' => '◌', + 'j' => '◌', + 'K' => '&', + 'k' => 'ĸ', + 'L' => 'Ł', + 'l' => 'ł', + ':' => '◌', + ';' => '◌', + '@' => '◌', + '\'' => '◌', + '~' => '◌', + '#' => '◌', + '|' => '¦', + '\\'=> '|', + 'Z' => '<', + 'z' => '«', + 'X' => '>', + 'x' => '»', + 'C' => 'Ç', + 'c' => 'ç', + 'V' => '‘', + 'v' => '“', + 'B' => '’', + 'b' => '”', + 'N' => 'N', + 'n' => 'n', + 'M' => 'º', + 'm' => 'µ', + '<' => '×', + ',' => '─', + '>' => '÷', + '.' => '·', + '?' => '◌', + '/' => '◌', +); + ++{ + %{ do 'keyboard.eng.inc.pl' }, + title => 'UK-extended', + version => '1.0', + intro => join("\n", + "A Chrome OS extension", + "expanding on Windows' UK Extended QWERTY keyboard.", + 'Similar to the US international variant.', + ), + description => [ + "Google UK-Extended keyboard layout table for Chrome OS", + "with the AltGr modifier key.", + ], +} diff --git a/keyboard.eng.inc.pl b/keyboard.eng.inc.pl index efbdad1..1f372e3 100644 --- a/keyboard.eng.inc.pl +++ b/keyboard.eng.inc.pl @@ -9,11 +9,13 @@ use Text::Unidecode qw( unidecode ); my $v = $rows{$_}; my $class = ( !defined $v || $_ eq $v ? 1 # identical - : $v =~ /\A\p{Mn}+\z/ ? 8 # combining accent - : NFKD($v) =~ $_ ? 2 # decomposed equivalent - : $v =~ /^\p{Latin}/ ? 4 # latin script - : unidecode($v) =~ /^\W*\Q$_/ ? 5 # transliterated - : 7 + : $v =~ /\A\p{Mn}+\z/ ? 9 # combining accent + : $v =~ /\A[\p{Sk}\p{Lm}]+\z/ ? 8 # modifier symbol + : $v =~ /\A[\pM\pP]+\z/ ? 7 # mark + : NFKD($v) =~ /\Q$_/ ? 2 # decomposed equivalent + : unidecode($v) =~ /\Q$_\E+/i ? 4 # transliterated + : $v =~ /^\p{Latin}/ ? 5 # latin script + : 6 ); $_ => "g$class" } keys %rows @@ -23,9 +25,11 @@ use Text::Unidecode qw( unidecode ); flag => { g1 => ['unaltered', "same results as without modifier"], g2 => ['accented', "decomposes to the original letter with a combining accent"], - g4 => ['latin', "a different (accented) latin letter"], - g5 => ['similar', "transliterates (mostly) into the unmodified letter"], - g7 => ['other', "symbol not directly deducible from key"], - g8 => ['combining', "diacritical mark to be combined with a following character"], + g4 => ['similar', "transliterates (mostly) into the unmodified letter"], + g5 => ['latin', "a different (accented) latin letter"], + g6 => ['symbol', "other character not directly deducible from key"], + g7 => ['punctuation', "(punctuation) mark"], + g8 => ['mark', "modifier letter or mark (spacing diacritic)"], + g9 => ['combining', "diacritical mark to be combined with a following character"], }, }