use utf8;
use strict;
use warnings;
use Shiar_Sheet::KeyboardChars 'kbchars';

my %rows = (
	'!' => "\N{COMBINING GRAVE ACCENT}",
	'#' => "\N{COMBINING CIRCUMFLEX ACCENT}",
	'$' => "\N{COMBINING DIAERESIS}",
	'%' => "\N{COMBINING RING ABOVE}",
	'&' => "\N{COMBINING CEDILLA}",
	'~' => "\N{COMBINING TILDE}",
	'(' => "\N{COMBINING CARON}",
	')' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
	'*' => "\N{COMBINING OGONEK}",
	'+' => "\x{2260}",
	'-' => "\"",
	'0' => "\x{2070}",
	'1' => "\xB9",
	'2' => "\xB2",
	'3' => "\xB3",
	'4' => "\x{2074}",
	'5' => "\x{2075}",
	'6' => "\x{2076}",
	'7' => "\x{2077}",
	'8' => "\x{2078}",
	'9' => "\x{2079}",
	'=' => "'",
	'@' => "\N{COMBINING ACUTE ACCENT}",
	'[' => "{",
	']' => "}",
	'^' => "\N{COMBINING MACRON}",
	'_' => "\xB1",
	'`' => "\xA3",
	'A' => "\x{2190}",
	'a' => "\xE6",
	'B' => "\x{20bf}",
	'b' => "\x{2642}",
	'c' => "\xA9",
	'C' => "\xA2",
	'd' => "\x{394}",
	'D' => "\x{2192}",
	'e' => "\x{20AC}",
	'E' => "\x{20AC}",
	'f' => "\x{192}",
	'F' => "\x{191}",
	#'g' => "g",
	#'G' => "G",
	#'H' => "H",
	#'h' => "h",
	'i' => "\x{2018}",
	'I' => "\x{2019}",
	'j' => "\x{201C}",
	'J' => "\x{201D}",
	'k' => "\x{201A}",
	'K' => "\x{201E}",
	'L' => "\x{3BB}",
	'l' => "\xA3",
	#'M' => "M",   # at :
	'm' => "\xB5", # at ;
	#'N' => "N",
	'n' => "\x{26a5}",
	'o' => "\x{153}",
	'O' => "\x{3A9}",
	'P' => "\x{20b1}",
	'p' => "\x{3C0}",
	'q' => "\xF8",
	'Q' => "\xD8",
	'R' => "\x{20bd}",
	'r' => "\xAE",
	's' => "\xDF",
	'S' => "\x{2193}",
	'T' => "\x{3C4}",
	't' => "\x{2122}",
	#'u' => "u",
	#'U' => "U",
	#'V' => "V",
	'v' => "\x{2640}",
	'W' => "\x{2191}",
	#'w' => "w",
	'x' => "\xD7",
	'X' => "\xF7",
	'y' => "\xA5",
	'Y' => "\xA5",
	'z' => "\xA7",
	'Z' => "\xB6",
	'{' => "\xAB",
	'}' => "\xBB",

	'"' => "\x{2030}", # unshifted %
	"'" => "~",        # unshifted #
	#'|' => '×',       # unshifted & at BKSL same as x
	#'\\'=> '$',       # unshifted * at bksl
	'|' => "≤",        # unshifted < at LSGT
	'\\'=> "≥",        # unshifted > at lsgt
	'<' => "\xB7",     # unshifted ,
	',' => "\x{2026}", # unshifted .
	'>' => "\xB4",     # unshifted ;
	'.' => "`",        # unshifted :
	'?' => "\xA6",     # unshifted \
	'/' => "|",
	':' => "\xBF",     # unshifted ? at M
	';' => "\xA1",     # unshifted ! at m
);

my $groups = kbchars(\%rows);
$groups->{def}{''}{$_} .= ' ext' for qw( ` E Y );

+{
	%{$groups},
	version => '1.0',
	title => 'Drix',
	category => 'latin',
	intro => join("\n",
		"European Latin layout version 3.1 providing",
		'<a href="/unicode">Unicode</a> characters while pressing AltGr,',
		'developed by Jerome Leclanche',
		'for <abbr title="distributed with X since 2019">Linux</abbr>.',
	),
	description => [
		"Drix EU Latin keyboard layout table",
		"with the AltGr modifier key: provides miscellaneous symbols",
		"and accents for some European languages.",
	],
}
