use utf8;
my @num = qw(^0 ^0 ^@ ^0 ^0 ^0 ^^ ^0 ^0 ^0 ^0);

dvorak => [[
	[qw/ `  1  2  3  4  5  6  7  8  9  0  [  ] /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  {  } /],
	[@num, qw/                           ^[ ^] /],
], [
	[qw( '  ,  .  p  y  f  g  c  r  l  /  = )],
	[qw/ "  <  >  P  Y  F  G  C  R  L  ?  + /],
	[qw/^0 ^0 ^0 ^p ^y ^f ^g ^c ^r ^l ^? ^0 /],
], [
	[qw/ a  o  e  u  i  d  h  t  n  s  -  \\ /],
	[qw/ A  O  E  U  I  D  H  T  N  S  _   | /],
	[qw/^a ^o ^e ^u ^i ^d ^h ^t ^n ^s ^_ ^\\ /],
], [
	[qw/ ;  q  j  k  x  b  m  w  v  z /],
	[qw/ :  Q  J  K  X  B  M  W  V  Z /],
	[qw/^0 ^q ^j ^k ^x ^b ^m ^w ^v ^z /],
]],

qwerty => [[
	[qw/ `  1  2  3  4  5  6  7  8  9  0  -  = /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  _  + /],
	[@num, qw/                           ^_ ^0 /],
], [
	[qw/ q  w  e  r  t  y  u  i  o  p  [  ] /],
	[qw/ Q  W  E  R  T  Y  U  I  O  P  {  } /],
	[qw/^q ^w ^e ^r ^t ^y ^u ^i ^o ^p ^[ ^] /],
], [
	[qw/ a  s  d  f  g  h  j  k  l  ;  '  \\ /],
	[qw/ A  S  D  F  G  H  J  K  L  :  "   | /],
	[qw/^a ^s ^d ^f ^g ^h ^j ^k ^l ^0 ^0 ^\\ /],
], [
	[qw( z  x  c  v  b  n  m  ,  .  / )],
	[qw( Z  X  C  V  B  N  M  <  >  ? )],
	[qw(^z ^x ^c ^v ^b ^n ^m ^0 ^0 ^? )],
]],

qwertz => [[
	[qw/ ^  1  2  3  4  5  6  7  8  9  0 /, $ascii ? ('ss', '^0') : ('ß', '´') ],
	[$ascii ? '^0' : '°', qw{ !  " }, $ascii ? '^0' : '§', qw{ $  %  &  /  (  )  =  ?  ` }],
	[qw/^^ ^0 ^0 ^0 ^0 ^0 ^0  {  [  ]  }              \\         ^0 /],
#	[qw{ °  !  "  §  $  %  &  /  (  )  =               ?          ` }],
], [
	[qw/ q  w  e  r  t  z  u  i  o  p /, $ascii ? 'ue' : 'ü', '+' ],
	[qw/ Q  W  E  R  T  Z  U  I  O  P /, $ascii ? 'UE' : 'Ü', '*' ],
	[qw/ @ ^w ^e ^r ^t ^z ^u ^i ^o ^p              ^0     ~      /],
	#    ^ show altgr-Q instead
], [
	[qw/ a  s  d  f  g  h  j  k  l /, $ascii ? ('oe', 'ae') : ('ö', 'ä'), '#' ],
	[qw/ A  S  D  F  G  H  J  K  L /, $ascii ? ('OE', 'AE') : ('Ö', 'Ä'), "'" ],
	[qw/^a ^s ^d ^f ^g ^h ^j ^k ^l               ^0    ^0                 ^0 /],
], [
	[qw/ y  x  c  v  b  n  m  ,  .  -  < /],
	[qw/ Y  X  C  V  B  N  M  ;  :  _  > /],
	[qw/^y ^x ^c ^v ^b ^n ^m ^0 ^0 ^_  | /],
]],

azerty => [[
	[qw/  <  & /, $ascii ? 'e\'' : 'é', qw/ "  '  (  - ^_  _ /, $ascii ? 'c,' : 'ç', qw/ @  )  = /],
	[qw/  >  1  2  3  4 ^[  6  7  8  9  0 ^]  + /], # 5 unused atm
#	[qw/  <  &  é  "  '  (  - ^_  _  ç  @  )  = /], # à→@→^@, è→^_
	[qw/^\\ ^0  ~  #  {  [  |  ` \\ ^0 ^@  ]  } /], # °→^]
], [
	[qw/ a  z  e  r  t  y  u  i  o  p  ^  $ /],
	[qw/ A  Z  E  R  T  Y  U  I  O  P /, $ascii ? (":'", 'Pd') : ('¨', '£')],
	[qw/^a ^z ^e ^r ^t ^y ^u ^i ^o ^p ^^ /, $ascii ? 'Cu' : '¤'],
], [
	[qw/ q  s  d  f  g  h  j  k  l  m /, $ascii ? 'u!' : 'ù', '*'],
	[qw/ Q  S  D  F  G  H  J  K  L  M /, '%', $ascii ? 'My' : 'µ'],
	[qw/^q ^s ^d ^f ^g ^h ^j ^k ^l ^m ^0 ^0 /],
], [
	[qw( w  x  c  v  b  n  ,  ;  :                     ! )],
	[qw( W  X  C  V  B  N  ?  .  / ), $ascii ? 'SE' : '§' ],
	[qw(^w ^x ^c ^v ^b ^n ^? ^0 ^0                    ^0 )],
]],

arensito => [[
	[qw/ `  1  2  3  4  5  6  7  8  9  0  [  ] /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  {  } /],
	[@num, qw/                           ^[ ^] /],
], [
	[qw( q  l  '  p  ,  .  f  u  d  k  /  = )],
	[qw( Q  L  "  P  <  >  F  U  D  K  ?  + )],
	[qw(^q ^l ^0 ^p ^0 ^0 ^f ^u ^d ^k ^? ^0 )],
], [
	[qw/ a  r  e  n  b  g  s  i  t  o  -  \\ /],
	[qw/ A  R  E  N  B  G  S  I  T  O  _   | /],
	[qw/^a ^r ^e ^n ^b ^g ^s ^i ^t ^o ^_ ^\\ /],
], [
	[qw/ z  w  ;  h  j  v  c  y  m  x /],
	[qw/ Z  W  :  H  J  V  C  Y  M  X /],
	[qw/^z ^w ^0 ^h ^j ^v ^c ^y ^m ^x /],
]],

abc => [[
	[qw/ `  1  2  3  4  5  6  7  8  9  0  -  = /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  _  + /],
	[@num, qw/                           ^_ ^0 /],
], [
	[qw/ a  b  c  d  e  f  g  h  i  j  [  ] /],
	[qw/ A  B  C  D  E  F  G  H  I  J  {  } /],
	[qw/^a ^b ^c ^d ^e ^f ^g ^h ^i ^j ^[ ^] /],
], [
	[qw/ k  l  m  n  o  p  q  r  s  ;  '  \\ /],
	[qw/ K  L  M  N  O  P  Q  R  S  :  "   | /],
	[qw/^k ^l ^m ^n ^o ^p ^q ^r ^s ^0 ^0 ^\\ /],
], [
	[qw' t  u  v  w  x  y  z  ,  .  / '],
	[qw' T  U  V  W  X  Y  Z  <  >  ? '],
	[qw'^t ^u ^v ^w ^x ^y ^z ^0 ^0 ^? '],
]],

