keyboard/altgr: separate keyspos include of key positions
authorMischa POSLAWSKY <perl@shiar.org>
Thu, 14 Mar 2024 22:21:12 +0000 (23:21 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 8 Apr 2024 15:39:26 +0000 (17:39 +0200)
keyspos.inc.pl [new file with mode: 0644]
tools/mkkeyboard-xkb-symbols

diff --git a/keyspos.inc.pl b/keyspos.inc.pl
new file mode 100644 (file)
index 0000000..3e26a17
--- /dev/null
@@ -0,0 +1,56 @@
+use strict;
+use warnings;
+use utf8;
++{
+       TLDE => ["`", "~"],
+       AE01 => ['1', "!"],
+       AE02 => ['2', "\@"],
+       AE03 => ['3', "#"],
+       AE04 => ['4', "\$"],
+       AE05 => ['5', "%"],
+       AE06 => ['6', "^"],
+       AE07 => ['7', "&"],
+       AE08 => ['8', "*"],
+       AE09 => ['9', "("],
+       AE10 => ['0', ")"],
+       AE11 => ["-", "_"],
+       AE12 => ["=", "+"],
+
+       AD01 => ["q", "Q"],
+       AD02 => ["w", "W"],
+       AD03 => ["e", "E"],
+       AD04 => ["r", "R"],
+       AD05 => ["t", "T"],
+       AD06 => ["y", "Y"],
+       AD07 => ["u", "U"],
+       AD08 => ["i", "I"],
+       AD09 => ["o", "O"],
+       AD10 => ["p", "P"],
+       AD11 => ["[", "{"],
+       AD12 => ["]", "}"],
+
+       AC01 => ["a", "A"],
+       AC02 => ["s", "S"],
+       AC03 => ["d", "D"],
+       AC04 => ["f", "F"],
+       AC05 => ["g", "G"],
+       AC06 => ["h", "H"],
+       AC07 => ["j", "J"],
+       AC08 => ["k", "K"],
+       AC09 => ["l", "L"],
+       AC10 => [";", ":"],
+       AC11 => ["'", '"'],
+
+       LSGT => ["§", "±"], # mac
+       AB01 => ["z", "Z"],
+       AB02 => ["x", "X"],
+       AB03 => ["c", "C"],
+       AB04 => ["v", "V"],
+       AB05 => ["b", "B"],
+       AB06 => ["n", "N"],
+       AB07 => ["m", "M"],
+       AB08 => [",", "<"],
+       AB09 => [".", ">"],
+       AB10 => ["/", "?"],
+       BKSL => ["\\","|"],
+}
index ba65b7a3b2cfa20e6f034d57fab46b8ce97ac3c2..8e1f9e1dba8aac45e59f862338a430791d90b925 100755 (executable)
@@ -15,59 +15,8 @@ my $symname = eval {
        return JSON->new->decode(readline $keysymh);
 } or die "Could not read keysym definitions: $@\n";
 
-my %geochar = (
-       TLDE => ["`", "~"],
-       AE01 => ['1', "!"],
-       AE02 => ['2', "\@"],
-       AE03 => ['3', "#"],
-       AE04 => ['4', "\$"],
-       AE05 => ['5', "%"],
-       AE06 => ['6', "^"],
-       AE07 => ['7', "&"],
-       AE08 => ['8', "*"],
-       AE09 => ['9', "("],
-       AE10 => ['0', ")"],
-       AE11 => ["-", "_"],
-       AE12 => ["=", "+"],
-
-       AD01 => ["q", "Q"],
-       AD02 => ["w", "W"],
-       AD03 => ["e", "E"],
-       AD04 => ["r", "R"],
-       AD05 => ["t", "T"],
-       AD06 => ["y", "Y"],
-       AD07 => ["u", "U"],
-       AD08 => ["i", "I"],
-       AD09 => ["o", "O"],
-       AD10 => ["p", "P"],
-       AD11 => ["[", "{"],
-       AD12 => ["]", "}"],
-
-       AC01 => ["a", "A"],
-       AC02 => ["s", "S"],
-       AC03 => ["d", "D"],
-       AC04 => ["f", "F"],
-       AC05 => ["g", "G"],
-       AC06 => ["h", "H"],
-       AC07 => ["j", "J"],
-       AC08 => ["k", "K"],
-       AC09 => ["l", "L"],
-       AC10 => [";", ":"],
-       AC11 => ["'", '"'],
-
-       LSGT => ["§", "±"], # mac
-       AB01 => ["z", "Z"],
-       AB02 => ["x", "X"],
-       AB03 => ["c", "C"],
-       AB04 => ["v", "V"],
-       AB05 => ["b", "B"],
-       AB06 => ["n", "N"],
-       AB07 => ["m", "M"],
-       AB08 => [",", "<"],
-       AB09 => [".", ">"],
-       AB10 => ["/", "?"],
-       BKSL => ["\\","|"],
-);
+my $geochar = do './keyspos.inc.pl'
+       or die "Could not read keyboard position names: $@\n";
 
 my %res;
 while (readline) {
@@ -85,7 +34,7 @@ while (readline) {
                else {
                        warn "unknown symbol $chr at $pos\n";
                }
-               $res{$geochar{$pos}->[$shift] // $pos} = $chr;
+               $res{$geochar->{$pos}->[$shift] // $pos} = $chr;
                #$res{$pos}[$shift] = $symname->{$chr} // $chr; # geochar
        }
 }