From ada87baf9947ff8d17f0099f29011313c7fbff34 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Tue, 30 Apr 2024 22:23:35 +0200 Subject: [PATCH] keyboard/altgr: atari graphics (atascii) Last of the big home computer systems with significant graphics glyphs, positioned at corresponding control codes, rarely indicated such as on this . --- keyboard/altgr/atari.eng.inc.pl | 46 +++++++++++++++++++++++++++++ keyboard/altgr/c64.eng.inc.pl | 3 +- keyboard/altgr/index.inc.pl | 2 +- keyboard/altgr/msx-graph.eng.inc.pl | 3 +- 4 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 keyboard/altgr/atari.eng.inc.pl diff --git a/keyboard/altgr/atari.eng.inc.pl b/keyboard/altgr/atari.eng.inc.pl new file mode 100644 index 0000000..e6bc674 --- /dev/null +++ b/keyboard/altgr/atari.eng.inc.pl @@ -0,0 +1,46 @@ +use utf8; +use strict; +use warnings; +no warnings 'qw'; +use Shiar_Sheet::KeyboardChars 'kbchars'; + +# card suits at 50,00,60,7B mapped differently depending on keyboard +my %rows = qw( + p ♣ , ♥ ; ♠ . ♦ + q ┌ w ┬ e ┐ r ─ t ● y ▌ u ▄ i ▗ o ▖ + a ├ s ┼ d ┤ f ╱ g ╲ h ◢ j ◣ k ▝ l ▘ + z └ x ┴ c ┘ v ▎ b 🮇 n ▂ m 🮂 +); + +my $groups = kbchars(\%rows); + +while (my ($k, $c) = each %rows) { + $groups->{def}{''}{$k}[0] = ( + $c =~ /\p{In=1.1}/ ? 'g2' : + $c =~ /\p{In=4.0}/ ? 'g3' : + $c =~ /[\x{1FB00}-\x{1FBFF}]/ ? 'g5' : # Age=V13.0 + 'g0' + ); +} + ++{ + %{ $groups }, + version => '1.0', + title => 'Atari graphics', + category => 'legacy/graph', + moderows => '1-', + intro => join("\n", + 'ATASCII', + 'characters from 8-bit Atari machines starting with the 1979 models 400 and 800,', + 'with modern Unicode equivalents.', + 'Similar to PETSCII', + 'and MSX graph.', + ), + image => 'data/keyboard/thumb/atari-130xe.jpg', + flag => { + g2 => ['standard' => 'original Unicode 1993'], + g3 => ['extended' => 'Unicode 4.0'], + g5 => ['legacy' => 'exceptional symbols for legacy computing in Unicode since 2020'], + g9 => ['color' => 'presentational controls represented by anachronistic hearts'], + }, +} diff --git a/keyboard/altgr/c64.eng.inc.pl b/keyboard/altgr/c64.eng.inc.pl index 47112e1..387b240 100644 --- a/keyboard/altgr/c64.eng.inc.pl +++ b/keyboard/altgr/c64.eng.inc.pl @@ -120,7 +120,8 @@ while (my ($k, $c) = each %rows) { 'PETSCII', 'characters designed for the 1977 PET 2001 machine', 'as found on the VIC-20 and C-64.', - 'See also MSX graph and', + 'See also MSX graph,', + 'ATASCII, and', 'modern Unicode.', ), image => 'data/keyboard/thumb/c64.jpg', diff --git a/keyboard/altgr/index.inc.pl b/keyboard/altgr/index.inc.pl index 30b6381..1f77fa7 100644 --- a/keyboard/altgr/index.inc.pl +++ b/keyboard/altgr/index.inc.pl @@ -8,7 +8,7 @@ my %cat = ( latin => [qw( ipa-ucl olpc boyeg drix )], science => [qw( symbolics apl spacecadet )], graph => [qw( unigraph emojiworks )], - extra => [qw( msx-graph c64 p8scii zoo )], + extra => [qw( msx-graph c64 atari p8scii zoo )], ); for my $name (map {@{$_}} values %cat) { diff --git a/keyboard/altgr/msx-graph.eng.inc.pl b/keyboard/altgr/msx-graph.eng.inc.pl index 72a999b..dd4a5b5 100644 --- a/keyboard/altgr/msx-graph.eng.inc.pl +++ b/keyboard/altgr/msx-graph.eng.inc.pl @@ -146,7 +146,8 @@ $groups->{flag}{g8} = ['legacy', 'of equivalent Unicode characters', "when the graph key is pressed on an MSX home computer", "(International model such as Toshiba HX10 or Phillips NMS 8245).", - 'Similar to PETSCII and', + 'Similar to PETSCII,', + 'ATASCII, and', 'modern Unicode.', 'See also letters and symbols', "from pressing code.", -- 2.30.0