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

dvorak => [[
	[@num, qw/                           ^[ ^] /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  {  } /],
	[qw/ `  1  2  3  4  5  6  7  8  9  0  [  ] /],
], [
	[qw/^0 ^0 ^0 ^p ^y ^f ^g ^c ^r ^l ^? ^0 /],
	[qw/ "  <  >  P  Y  F  G  C  R  L  ?  + /],
	[qw( '  ,  .  p  y  f  g  c  r  l  /  = )],
], [
	[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/^0 ^q ^j ^k ^x ^b ^m ^w ^v ^z /],
	[qw/ :  Q  J  K  X  B  M  W  V  Z /],
	[qw/ ;  q  j  k  x  b  m  w  v  z /],
]],

qwerty => [[
	[@num, qw/                           ^_ ^0 /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  _  + /],
	[qw/ `  1  2  3  4  5  6  7  8  9  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 ^0 ^0 ^\\ /],
	[qw/ A  S  D  F  G  H  J  K  L  :  "   | /],
	[qw/ a  s  d  f  g  h  j  k  l  ;  '  \\ /],
], [
	[qw(^z ^x ^c ^v ^b ^n ^m ^0 ^0 ^? )],
	[qw( Z  X  C  V  B  N  M  <  >  ? )],
	[qw( z  x  c  v  b  n  m  ,  .  / )],
]],

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

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

arensito => [[
	[@num, qw/                           ^[ ^] /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  {  } /],
	[qw/ `  1  2  3  4  5  6  7  8  9  0  [  ] /],
], [
	[qw(^q ^l ^0 ^p ^0 ^0 ^f ^u ^d ^k ^? ^0 )],
	[qw( Q  L  "  P  <  >  F  U  D  K  ?  + )],
	[qw( q  l  '  p  ,  .  f  u  d  k  /  = )],
], [
	[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 ^0 ^h ^j ^v ^c ^y ^m ^x /],
	[qw/ Z  W  :  H  J  V  C  Y  M  X /],
	[qw/ z  w  ;  h  j  v  c  y  m  x /],
]],

abc => [[
	[@num, qw/                           ^_ ^0 /],
	[qw/ ~  !  @  #  $  %  ^  &  *  (  )  _  + /],
	[qw/ `  1  2  3  4  5  6  7  8  9  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 ^0 ^0 ^\\ /],
	[qw/ K  L  M  N  O  P  Q  R  S  :  "   | /],
	[qw/ k  l  m  n  o  p  q  r  s  ;  '  \\ /],
], [
	[qw'^t ^u ^v ^w ^x ^y ^z ^0 ^0 ^? '],
	[qw' T  U  V  W  X  Y  Z  <  >  ? '],
	[qw' t  u  v  w  x  y  z  ,  .  / '],
]],

