From: Mischa POSLAWSKY Date: Thu, 14 Mar 2024 22:09:51 +0000 (+0100) Subject: keyboard/altgr: import weur layout from xorg us symbols X-Git-Tag: v1.19~36 X-Git-Url: http://git.shiar.net/sheet.git/commitdiff_plain/b13bb406f89eaebf04c8fd8ffe69cde30d5aa0bd keyboard/altgr: import weur layout from xorg us symbols --- diff --git a/keyboard/altgr/eurkey.eng.inc.pl b/keyboard/altgr/eurkey.eng.inc.pl index 5b9702c..d628ac1 100644 --- a/keyboard/altgr/eurkey.eng.inc.pl +++ b/keyboard/altgr/eurkey.eng.inc.pl @@ -279,7 +279,7 @@ my %rows = ( }, version => '1.1', title => 'EurKEY', - category => 'latin/thirdparty', + category => 'latin/thirdparty/xorg', intro => join("\n", 'Third-party proposal EurKEY', 'v1.3 by Steffen Brüntjen', diff --git a/keyboard/altgr/weur.eng.inc.pl b/keyboard/altgr/weur.eng.inc.pl new file mode 100644 index 0000000..6ef09eb --- /dev/null +++ b/keyboard/altgr/weur.eng.inc.pl @@ -0,0 +1,174 @@ +use utf8; +use strict; +use warnings; +use Shiar_Sheet::KeyboardChars 'kbmodes'; + +my %rows = ( + '' => { + '!' => "\N{COMBINING DOT ABOVE}", + '"' => "\N{COMBINING DIAERESIS}", + '#' => "\N{COMBINING MACRON}", + '$' => '¥', + '%' => '£', + '&' => '‚', + "'" => "\N{COMBINING ACUTE ACCENT}", + '(' => '‘', + ')' => '’', + '*' => 'µ', + '+' => "\N{COMBINING RING ABOVE}", + ',' => "\N{COMBINING CEDILLA}", + '-' => '–', + '.' => 'œ', + '/' => '¿', + '0' => '”', + '1' => '¡', + '2' => '²', + '3' => '³', + '4' => '¢', + '5' => '€', + '6' => "\N{COMBINING CIRCUMFLEX ACCENT}", + '7' => '„', + '8' => 'ß', + '9' => '“', + ':' => 'Ô', + ';' => 'ô', + '<' => "\N{COMBINING OGONEK}", + '=' => '°', + '>' => 'Œ', + '?' => "\N{COMBINING SHORT STROKE OVERLAY}", + '@' => "\N{COMBINING DOUBLE ACUTE ACCENT}", + '[' => '«', + "\\" => 'ij', + ']' => '»', + '^' => "\N{COMBINING CARON}", + '_' => '—', + '`' => "\N{COMBINING GRAVE ACCENT}", + 'a' => 'ä', + 'A' => 'Ä', + 'B' => 'Õ', + 'b' => 'õ', + 'C' => 'Ç', + 'c' => 'ç', + 'D' => 'É', + 'd' => 'é', + 'e' => 'ë', + 'E' => 'Ë', + 'F' => 'Ê', + 'f' => 'ê', + 'G' => 'Î', + 'g' => 'î', + 'h' => 'û', + 'H' => 'Û', + 'I' => 'Ï', + 'i' => 'ï', + 'j' => 'ú', + 'J' => 'Ú', + 'k' => 'í', + 'K' => 'Í', + 'L' => 'Ó', + 'l' => 'ó', + 'm' => 'ì', + 'M' => 'Ì', + 'n' => 'ñ', + 'N' => 'Ñ', + 'o' => 'ö', + 'O' => 'Ö', + 'P' => 'Ò', + 'p' => 'ò', + 'Q' => 'Å', + 'q' => 'å', + 'R' => 'È', + 'r' => 'è', + 'S' => 'À', + 's' => 'à', + 'T' => 'Ø', + 't' => 'ø', + 'u' => 'ü', + 'U' => 'Ü', + 'v' => 'ã', + 'V' => 'Ã', + 'W' => 'Æ', + 'w' => 'æ', + 'x' => 'â', + 'X' => 'Â', + 'Y' => 'Ù', + 'y' => 'ù', + 'z' => 'á', + 'Z' => 'Á', + '{' => '‹', + '|' => 'IJ', + '}' => '›', + '~' => "\N{COMBINING TILDE}", + }, + '*' => { + # dead_greek digraphs from data/xorg-compose + 'A' => 'Α', + 'a' => 'α', + 'B' => 'Β', + 'b' => 'β', + 'D' => 'Δ', + 'd' => 'δ', + 'E' => 'Ε', + 'e' => 'ε', + 'F' => 'Φ', + 'f' => 'φ', + 'G' => 'Γ', + 'g' => 'γ', + 'H' => 'Η', + 'h' => 'η', + 'I' => 'Ι', + 'i' => 'ι', + 'J' => 'Θ', + 'j' => 'θ', + 'K' => 'Κ', + 'k' => 'κ', + 'L' => 'Λ', + 'l' => 'λ', + 'M' => 'Μ', + 'm' => 'μ', + 'N' => 'Ν', + 'n' => 'ν', + 'O' => 'Ο', + 'o' => 'ο', + 'P' => 'Π', + 'p' => 'π', + 'Q' => 'Χ', + 'q' => 'χ', + 'R' => 'Ρ', + 'r' => 'ρ', + 'S' => 'Σ', + 's' => 'σ', + 'T' => 'Τ', + 't' => 'τ', + 'U' => 'Υ', + 'u' => 'υ', + 'W' => 'Ω', + 'w' => 'ω', + 'X' => 'Ξ', + 'x' => 'ξ', + 'Y' => 'Ψ', + 'y' => 'ψ', + 'Z' => 'Ζ', + 'z' => 'ζ', + '*' => 'µ', # MICRO SIGN at space and double mode + }, +); + ++{ + %{ kbmodes(\%rows) }, + mode => { + '' => 'altgr-shifted ⌥', + '*' => 'greek mode ⌥*', + }, + version => '1.0', # upstream v2.0 2021/04/12 + title => 'Western European', + category => 'latin/thirdparty/xorg', + intro => join("\n", + 'Layout (available for major OSes)', + 'to provide all accented characters commonly used', + 'in 10 Western European languages available through one AltGr keystroke.', + ), + description => [ + "QWERTY for Western European languages", + ], +} diff --git a/tools/mkkeyboard-xkb-symbols b/tools/mkkeyboard-xkb-symbols index a7049fa..ba65b7a 100755 --- a/tools/mkkeyboard-xkb-symbols +++ b/tools/mkkeyboard-xkb-symbols @@ -3,10 +3,11 @@ use 5.014; use warnings; use utf8; use re '/msx'; +use open IO => ':encoding(utf-8)', ':std'; use JSON (); use Data::Dump 'pp'; -our $VERSION = '1.00'; +our $VERSION = '1.01'; my $symname = eval { open my $keysymh, '<', 'data/keysymdef.json' or die $!; @@ -88,7 +89,7 @@ while (readline) { #$res{$pos}[$shift] = $symname->{$chr} // $chr; # geochar } } -say pp \%res; +say pp(\%res) =~ s/(?<=") \\x \{? ([0-9A-F]{2,6}) \}?/chr hex $1/reg; __END__