X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/b13bb406f89eaebf04c8fd8ffe69cde30d5aa0bd..b85146b7eafcb24fa8b79b37ed465a628df1d63d:/keyboard/altgr/weur.eng.inc.pl?ds=sidebyside
diff --git a/keyboard/altgr/weur.eng.inc.pl b/keyboard/altgr/weur.eng.inc.pl
index 6ef09eb..9315bf6 100644
--- a/keyboard/altgr/weur.eng.inc.pl
+++ b/keyboard/altgr/weur.eng.inc.pl
@@ -1,8 +1,28 @@
use utf8;
use strict;
use warnings;
+no warnings 'qw';
use Shiar_Sheet::KeyboardChars 'kbmodes';
+my $greekc = '*';
+my %info = (
+ mode => {
+ '' => 'altgr-shifted â¥',
+ },
+ version => '1.0', # upstream v2.0 2021/04/12
+ title => 'Western European',
+ map => 'qwerty', # specific positioning
+ 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",
+ ],
+);
+
my %rows = (
'' => {
'!' => "\N{COMBINING DOT ABOVE}",
@@ -102,73 +122,47 @@ my %rows = (
},
'*' => {
# 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' => 'ζ',
+ qw(
+ a α b β d δ e ε f Ï g γ h η i ι j θ k κ l λ m μ
+ n ν o ο p Ï q Ï r Ï s Ï t Ï u Ï
w Ï x ξ y Ï 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",
- ],
+our %get;
+if ($get{map} and $get{map} eq 'dvorak') {
+ %info = (%info,
+ map => 'dvorak',
+ title => 'dWEURak',
+ intro => join("\n",
+ 'Layout for Western European languages',
+ 'repositioned for Dvorak letters instead of original Qwerty.',
+ ),
+ description => [
+ "Dvorak for Western European languages",
+ ],
+ );
+ $info{version} .= '.1';
+
+ my $dq = q{
+ 'z ,l .d pj yk fq gt r, l'
+ dv hb s8 tw 8.
+ ;s qp jr ky xm bx m; wf vh zg
+ };
+ my %dq = split //, $dq =~ s/\s//gr; # dvorak => qwerty key
+
+ my %uc = (qw{ ' " , < . > ; : - _ 8 * }, map {lc, uc} 'a'..'z');
+ $dq{ $uc{$_} } = $uc{ $dq{$_} } for keys %dq; # same shifted
+
+ @{ $rows{''} }{keys %dq} = map { $rows{''}{$_} } values %dq;
+ %{ $rows{S} } = (%{ delete $rows{$greekc} },
+ qw( q θ c Ï j Ï J Ï´ v Ï V â ),
+ );
+ $greekc = 'S';
}
+
+$info{mode}{$greekc} = "$rows{''}{$greekc} greek prefix â¥$greekc";
+$_ = { (map {uc} %{$_}), %{$_} } for $rows{$greekc}; # uppercase greek
+
++{ %{ kbmodes(\%rows) }, %info }