use utf8;
use strict;
use warnings;
do './keyboard/altgr/groups.inc.pl';

my @az = ('A'..'Z', 'a'..'z');
my @letters = qw(
	Á B ¢ Ð É F G H Í J Œ Ø µ Ñ Ó Ö Ä ® § Þ Ú V Å X Ü Æ
	á b © ð é f g h í j œ ø µ ñ ó ö ä ® ß þ ú v å x ü æ
);
my %xkb = (
	'@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
	'#' => "\N{COMBINING MACRON}",
	'%' => "\N{COMBINING CEDILLA}",
	'&' => "\N{COMBINING HORN}",
	'*' => "\N{COMBINING OGONEK}",
	'(' => "\N{COMBINING BREVE}",
	')' => "\N{COMBINING RING ABOVE}",
	'_' => "\N{COMBINING DOT BELOW}",
	'>' => "\N{COMBINING CARON}",
	'.' => "\N{COMBINING DOT ABOVE}",
	'?' => "\N{COMBINING HOOK ABOVE}",
);

my %rows = (
	'~' => "\N{COMBINING TILDE}",
	'`' => "\N{COMBINING GRAVE ACCENT}",
	'!' => '¹',
	'1' => '¡',
	'2' => '²',
	'3' => '³',
	'$' => '£',
	'4' => '¤',
	'5' => '€',
	'^' => "\N{COMBINING CIRCUMFLEX ACCENT}",
	'6' => '¼',
	'7' => '½',
	'8' => '¾',
	'9' => '‘',
	'0' => '’',
	'-' => '¥',
	'+' => '÷',
	'=' => '×',
	'{' => '“',
	'}' => '”',
	'[' => '«',
	']' => '»',
	':' => '°',
	';' => '¶',
	"'" => "\N{COMBINING ACUTE ACCENT}",
	'"' => "\N{COMBINING DIAERESIS}",
	'<' => 'Ç',
	',' => 'ç',
	'/' => '¿',
	'|' => '¦',
	'\\'=> '¬',
	%xkb,
	map {
		($az[$_] eq $letters[$_]) ? () :
		($az[$_] => $letters[$_])
	} 0 .. $#az
);

my $groups = kbchars(\%rows);
$groups->{def}{''}{$_} .= ' ext' for keys %xkb;
$groups->{flag}{ext} = ['xkb', 'unofficial extensions added in Linux (Gnome, KDE)'];

+{
	%{$groups},
	title => 'Windows AltGr',
	version => '1.4',
	intro => join("\n",
		'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
		'while pressing the AltGr modifier',
		'with the Windows US international layout.',
		'Macs have <a href="/keyboard/altgr/macos">option</a> options instead.',
	),
	description => [
		"Windows US international keyboard layout table",
		"with the AltGr modifier key.",
	],
	image => 'keyboard/altgr/ku2971b-usint.jpg',
}
