FinQwerty Android Keyboard layouts

Suomalaiset näppäimistöasettelut tiettyihin näppäimistöllisiin Android-puhelimiin.

Layouts for the following phones are included (links direct to layout charts):

Suggestions, bug reports, custom layout requests and queries can be sent by e-mail (anssi.hannula@iki.fi) or via GitHub.

FinQwerty is available from Google Play: FinQwerty on Google Play. Alternatively, the APK can be downloaded here: finqwerty-v1.6.1.apk.

FinQwerty is open source: FinQwerty on GitHub.

Expand all layout charts

Collapse all layout charts

Motorola Droid 4, Motorola Photon Q

Finnish/Swedish

Changed function (dead key / combining diacritic)

The characters can be input using: <key> <shift+key> <alt+key> <alt+shift+key>. So e.g. the symbol selection popup will appear with <alt+s>

1 ! § ½2 @3 # £4 $ ¤5 %6 ^ ~7 & {8 * }9 ( [0 ) ]
' " ´ `q Qw We E r R ®t T y Y ¥u Ui I ~o O ^p P ¨<-
taba As S symd Df Fg Gh Hj Jk Kl Lenter
ctrlz Z <x X >c C ©v V |b Bn Nm Mö Öä Ä å Åup/ ? \
shiftalt- _ =, ; +space. :leftdownright

Samsung Galaxy S Relay 4G

Finnish/Swedish

Function present in stock keymap but not engraved on the key
Changed function (dead key / combining diacritic)

The characters can be input using: <key> <shift+key> <alt+key> <alt+shift+key>.

1 1 !2 2 @3 3 #4 4 $5 5 %6 6 ^7 7 &8 8 *9 9 (0 0 )<-
q Q ~w W |e E \r R {t T }y Y §u U _i I -o O +p P =enter
a A tabs S /d D [f F ]g G <h H >j J ½k K 'l L "ä Ä å Å
shiftz Z £x X c C v V ~b B ^n N ¨m M ;ö Ö ?upshift
altmailct ct find, ? symspace. : .comleftdownright

BlackBerry KEYone

FinQwerty works on BlackBerry KEYone when using Android 7.1 with the same layouts as Priv.

The FinQwerty layouts will not work on KEYone after Android 8 (Oreo) upgrade!

Note that, even without FinQwerty, BlackBerry settings on KEYone and KEY2 allow free customization of sym+X key combinations:

  1. Open Settings => System => Languages & input => Keyboard settings => BlackBerry Keyboard => Advanced => Symbol layout customization.
  2. Enable the Custom layout first option (so that sym+X works without opening the symbol keyboard).
  3. Press Customize layout.
  4. Add the characters you want to the on-screen layout. Lowercase characters like ä, ö can be found on the Accents tab, uppercase characters have to be added via the Custom tab using Unicode codepoints (e.g. Ä = U+00C4, Ö = U+00D6).

The configured characters can now be input using sym+X on the physical keyboard.

BlackBerry Priv

Note that BlackBerry phones reset the keyboard layout every time the phone is restarted. There is an option in the app to provide a boot shortcut to layout settings.

Also, If you have BlackBerry Keyboard enabled (the BlackBerry software keyboard that integrates nicely with the physical keyboard), please select the English (US) software layout in Settings => Language & input => BlackBerry Keyboard Settings => Input languages => English (United States) (and deselect other languages). Using other software layouts causes BlackBerry Keyboard occasionally reset the hardware keyboard layout (requiring FinQwerty to be reselected).

Function present in stock keymap but not engraved on the key
Changed function

The characters can be input using: <key> <shift+key> <alt+key> <sym+key>.

Expand all Collapse all

Finnish
q Q # ~w W 1 `e E 2 {r R 3 }t T ( [y Y ) ]u U _ <i I - >o O + ^p P @ %
a A * =s S 4 ÷d D 5 ±f F 6 g G / \h H : |j J ; &k K ' l L " <-
altz Z 7 ¥x X 8 c C 9 £v V ? ¿b B ! ¡n N , «m M . »ä Ä åÅ $enter
shift0 0 0 0spacesymö Ö $ € spk
Swedish
q Q 0 ~w W 1 `e E 2 {r R 3 }t T ( [y Y ) ]u U _ <i I - >o O + ^p P @ %
a A * =s S 4 ÷d D 5 ±f F 6 g G / \h H : |j J ; &k K ' l L " <-
altz Z 7 ¥x X 8 c C 9 £v V ? ¿b B ! ¡n N , «m M . »å Å $ $ spkenter
shiftsymspaceö Ö #ä Ä €
Norwegian
q Q 0 ~w W 1 `e E 2 {r R 3 }t T ( [y Y ) ]u U _ <i I - >o O + ^p P @ %
a A * =s S 4 ÷d D 5 ±f F 6 g G / \h H : |j J ; &k K ' l L " <-
altz Z 7 ¥x X 8 c C 9 £v V ? ¿b B ! ¡n N , «m M . »å Å $ $ spkenter
shiftsymspaceø Ø #æ Æ €
Danish
q Q 0 ~w W 1 `e E 2 {r R 3 }t T ( [y Y ) ]u U _ <i I - >o O + ^p P @ %
a A * =s S 4 ÷d D 5 ±f F 6 g G / \h H : |j J ; &k K ' l L " <-
altz Z 7 ¥x X 8 c C 9 £v V ? ¿b B ! ¡n N , «m M . »å Å $ $ spkenter
shiftsymspaceæ Æ #ø Ø €
German
q Q 0 ~w W 1 `e E 2 {r R 3 }t T ( [z Z ) ]u U _ <i I - >o O + ^p P @ %
a A * =s S 4 ÷d D 5 ±f F 6 g G / \h H : |j J ; &k K ' l L " <-
alty Y 7 ¥x X 8 c C 9 £v V ? ¿b B ! ¡n N , «m M . »ü Ü ß $ spkenter
shiftsymspaceö Ö #ä Ä €

Gemini PDA

Function present in stock keymap but not engraved on the key
Changed function

The characters can be input using: <key> <shift+key> <Fn+key> <Fn+shift+key>.

Expand all Collapse all

Stock Finnish/Swedish
esc1 ! §2 " @3 # £4 ¤ $5 % €6 & *7 / {8 ( [9 ) ]0 = }<-
q Q ▶w W ⏪e E ⏩r R ^t T micy Y +u U -i I `o O ?p P å Åenter
tab tab capsa A xs S š Šd D xf F fltg G _h H xj J <k K >l L \ö Ö ä Ä
shiftz Z ž Žx X |c C vol-v V vol+b B di-n N di+m M '. : hymup up pgupshift
ctrlFnaltspace, ; symleft left homedown down pgdownright right end
FinQwerty Finnish/Swedish
esc1 ! §2 " @3 # £4 ~ $5 % €6 & *7 / {8 ( [9 ) ]0 = }<-
q Q ▶w W ⏪e E ⏩r R ^t T micy Y +u U -i I `o O ?p P å Åenter
tab tab capsa A xs S š Šd D xf F fltg G _h H xj J <k K >l L \ä Ä ö Ö
shiftz Z ž Žx X |c C vol-v V vol+b B di-n N di+m M '. : hymup up pgupshift
ctrlFnaltspace, ; symleft left homedown down pgdownright right end

F(x)tec Pro1

Stock function (dead key / combining diacritic)
Changed function (dead key / combining diacritic)

FinQwerty also adds Fn+esc = home, Fn+up = PageUp, Fn+down = PageDown, Fn+left = Home, Fn+right = End, alt+sym = trigger backlight.

Expand all Collapse all

Stock QWERTY
     
back 
     
1 !  
     
2 @  
     
3 #  
     
4 $  
     
5 %  
    ^
6 ^  
     
7 &  
     
8 *  
     
9 (  
     
0 )  
     
- _  
     
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
    ~
` ~ `
Q    
q    
W    
w    
E    
e   ´
R    
r    
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p /  
     
; :  
     
del  
     
caps 
     
\ |  
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
h    
J    
j    
K    
k    
L    
l ?  
     
' "  
     
enter
     
shift
     
[ {  
     
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m    
     
, <  
     
. >  
     
up   
     
shift
stock, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Stock QWERTZ
     
back 
     
1 !  
     
2 "  
     
3 §  
     
4 $  
     
5 %  
     
6 &  
     
7 /  
     
8 (  
     
9 )  
     
0 =  
?    
ß    
     
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
w ^  
E    
e    
R    
r    
T    
t    
Z    
z    
U    
u {  
I    
i [  
O    
o ]  
P    
p }  
Ü    
ü    
     
+ *  
     
del  
     
caps 
A    
a    
S    
s    
D    
d    
F    
f    
G    
g    
H    
h    
J    
j    
K    
k    
L    
l ?  
Ö    
ö    
Ä    
ä #  
     
enter
     
shift
     
< >  
Y    
y |  
X    
x    
C    
c    
V    
v    
B    
b    
N    
n    
M    
m    
     
, ;  
     
. :  
     
- _  
     
up   
     
shift
stock, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Bulgarian (phonetic) for physical QWERTY
     
esc
!   ¡
1 ! ¹
@
2 @ ²
# £
№ ³
$   £
€ ¤
%
5 % 
^   ^
6 ^ ¼
§
7 & ½
*
8 * ¾
(
9 ( 
)
0 ) 
_
- _  
+
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ч ~
ч `
Я   Ä
я   ä
В   Å
в   å
Е   É
е   é
Р
р ® ¤
Т   Þ
т   þ
Ъ   Ü
ъ   ü
У   Ú
у   ú
И   Í
и   í
О   Ó
о   ó
П   Ö
п / ö
:   °
; : ·
     
del  
fn+ctrl mostly works as fn+shift
     
caps 
Ю |
ю \
А   Á
а   á
С   §
с   ß
Д   Ð
д   ð
Ф
ф
Г
г
Х
х
Й   
й   ¿
К   Œ
к   œ
Л   Ø
л ? ø
"   ¦
' " ¬
     
enter
     
shift
Ш {
ш [
Щ }
щ ]
З   Æ
з   æ
ѝ
ь
Ц ¢ Ç
ц © ç
Ж
ж
Б
б
Н   Ñ
н   ñ
М
м   µ
<   Ç
, < ç
>   ˇ
. > ˙
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTY for physical QWERTY
     
esc
1    
+ !
2    
ě @
£
š #
4    
č $
5    
ř %
6   ^
ž ^
7    
ý &
8    
á *
9    
í (
0    
é )
=
- _  
ˇ
´ ˇ
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
q    
W    
w    
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
;
:
ú :
     
del  
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    
S    
s   ß
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
l ?  
"
ů "
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
<
, <  
>
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTY for physical QWERTZ
     
esc
1    
+ !
2    
ě "
£
š §
4    
č $
5    
ř %
6   ^
ž &
7    
ý /
8    
á (
9    
í )
0    
é =
%
= ?
ˇ
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
y
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
/
ú ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
'
"
ů \
'
¨ #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
?
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTZ for physical QWERTY
     
esc
1    
+ !
2    
ě @
£
š #
4    
č $
5    
ř %
6   ^
ž ^
7    
ý &
8    
á *
9    
í (
0    
é )
=
- _  
ˇ
´ ˇ
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
q    
W    
w    
E    
 ´
R    
r    
T    
t    
Z
z
U    
u   ¨
I    
i   ^
O    
o    
P    
;
:
ú :
     
del  
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    
S    
s   ß
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
l ?  
"
ů "
     
enter
     
shift
{
[ {  
}
] }  
Y
y
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
<
, <  
>
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTZ for physical QWERTZ
     
esc
1    
+ !
2    
ě "
£
š §
4    
č $
5    
ř %
6   ^
ž &
7    
ý /
8    
á (
9    
í )
0    
é =
%
= ?
ˇ
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Z    
z    
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
/
ú ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
'
"
ů \
'
¨ #
     
enter
     
shift
>
< >  
Y    
y |  
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
?
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Danish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 #  
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
- _  
     
del
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
´
W    
`
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
¨ ¨
I    
^ ^
O    
o    
P    
p /  
Å
å :
Ø
ø +
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    

ß ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
Æ
æ "
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
~ ~
M    
µ
;
, <  
:
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Danish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?    
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Æ
æ \
Ø
ø #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Finnish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 #  
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
- _  
     
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
´
W    
`
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
¨ ¨
I    
^ ^
Å
å
P    
p /  
Ä
ä :
     
del  
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    

ß ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
Ö
ö "
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
~ ~
M    
µ
;
, <  
:
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Finnish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?    
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \
Ä    
ä #  
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
German for physical QWERTZ
     
esc
!
1 !  
"
2 "  
§ £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?    
ß ? ẞ
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Z    
z    
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Ü    
ü ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \
Ä    
ä #  
     
enter
     
shift
>
< >  
Y    
y |  
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Greek for physical QWERTZ
     
esc
!
1 !  
@ ²
2 "  
# ³
3 §  
$ £
4 $  
% §
5 %  
^ ¶ ^
6 &  
&
7 /  
* ¤
8 (  
( ¦
9 )  
) °
0 =  
_
- ?
+
=
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
:
;
΅
ς
Ε
ε €
Ρ
ρ ®
Τ
τ
Υ
υ ¥
Θ
θ
Ι
ι
Ο
ο
Π
π
{
~ «
}
] * »
     
del  
fn+ctrl works as fn+shift
     
caps 
Α
α
Σ
σ
Δ
δ
Φ
φ
Γ
γ
Η
η
Ξ
ξ
Κ
κ
Λ
λ
΄
´ ΅
"
' #
     
enter
     
shift
> ¬
\ |
Ζ
ζ
Χ
χ
Ψ
ψ
Ω
ω
Β
β
Ν
ν
Μ
μ
<
, ;  
>
. :  
?
/ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Hungarian for physical QWERTY

Stock yellow characters accessible via <alt+key>.

     
esc
' ¹
~ !
˝
ˇ "
¯
^ §
! £
˘ $
¸
° %
/ ^ ^
˛ &

` /
˛
˙ (
˘
´ )
Ö §
ö 0 =
Ü 
ü ˝ ?
Ó ÷ `
ó × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
    ~
` ~ `
Ä
\ @
Å
^
É
é €
R    
¤ °
Þ
þ
Z Æ
z æ |
Ú
€ {
Í
í [
Ó
ó ]
Ö
ö }
É °
é $ \
     
del  
fn+ctrl works as fn+shift
     
caps 
Í ¦
í < >
Á
á
§
đ ß
Ð
Đ
F    
[
G    
]
H    
h   ~
J    
ű
Œ
Ű
Ø
Ł '
Á ¨
á β #
     
enter
     
shift
Ő “
ő ÷ ~
Ú ”
ú × *
Y Ü
y > |
X    
#
¢ Ç
& ç
V    
@
B    
{
Ñ
} ~
M    
µ µ
? Ç
; ;
ˇ
˙ :
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Hungarian for physical QWERTZ

Stock yellow characters accessible via <alt+key>.

     
esc
' ¹
~ !
˝
ˇ "
¯
^ §
! £
˘ $
¸
° %
/ ^ ^
˛ &

` /
˛
˙ (
˘
´ )
Ö §
ö 0 =
Ü 
ü ˝ ?
Ó ÷ `
ó × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
\ @
Å
^
É
é €
R    
¤ °
Þ
þ
Æ
æ |
Ú
€ {
Í
í [
Ó
ó ]
Ö
ö }
Ő “
ő ÷ ~
Ú ”
ú × *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
đ ß
Ð
Đ
F    
[
G    
]
H    
h   ~
J    
ű
Œ
Ű
Ø
Ł '
É °
é $ \
Á ¨
á β #
     
enter
     
shift
Í ¦
í < >
Ü
> |
X    
#
¢ Ç
& ç
V    
@
B    
{
Ñ
~
M    
µ µ
? Ç
, ; ;
ˇ
˙ :

*
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Italian for physical QWERTY

é is accessible via ctrl+fn+e.

     
esc
!
1 !  
"
2 @  
£
3 #  
$
4 $  
%
5 % 
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
- _  
^
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
    ~
` ~ `
Q    
q    
W    
w    
È
è ´
R    
r    
T    
t    
Y    
y    
Ù
ù ¨
Ì
ì ^
Ò
ò
P    
p /  
     
; :  
     
del  
     
caps 
|
\ |  
À
à
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
     
' "  
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, <  
:
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Norwegian for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 #  
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
- _  
     
del
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
´
W    
`
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
¨ ¨
I    
^ ^
O    
o    
P    
p /  
Å
å :
Æ
æ +
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    

ß ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
Ø
ø "
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
~ ~
M    
µ
;
, <  
:
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Norwegian for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?    
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ø
ø \
Æ
æ #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Polish (programmer's) for physical QWERTY
     
esc
! ¹
¡ !
˝
² @
¯
³ #
$ £
¤ $
¸
€ %
^ ^
¼ ^

½ &
˛
¾ *
˘
‘ (
˚
’ )

¥ _
+ ÷
× +
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~
` ~
Ä
ä
Å
å
Ę
ę ´
R    
¤
Þ
þ
Ü
ü
Ú
ú ¨
Í
í ^
Ó
ó
Ö
ö /
: °
· :
     
del  
fn+ctrl works as fn+shift
     
caps 
| ¦
¬ |
Ą
ą
Ś
ś ß
Ð
ð
F    
f    
G    
g    
H    
h   ~

¿
Œ
œ
Ł
ł ?
¨
´ "
     
enter
     
shift
{ “
« {
} ”
» }
Ż
ż
Ź
ź
Ć Ç
ć ç
V    
v    
B    
b    
Ń
ń ~
M    
µ
< Ç
ç <
ˇ
˙ >
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Portuguese for physical QWERTZ
     
esc
!
¡
"
@
#
3 §  
$
£
%
&   ^
¬
/
{
(
[
)
]
=
}
¿
? '
`
´ UNK4
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
\
W    
w    
E    
€ ´
R    
°
T    
t    
Y
y ¥
U    
u   ¨
I    
i   ^
Œ
œ
P    
/
     
ͦ ˘
*
°
     
del  
fn+ctrl works as fn+shift
     
caps 
Æ
æ
S    
s    
D    
d    
Đ
đ
G    
g    
H    
½
J    
K    
k    
L    
'
Ç Ñ
ç ñ
^
~ ˇ
     
enter
     
shift
>
|
Z
z
X    
x    
Ç
ç
V    
v    
B    
b    
Ñ
ñ ~
M    
µ
;
'
:
¨
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Slovakian for physical QWERTY
     
esc
1    
+ ~
2    
ľ ˇ
3    
š ^
4    
ċ ˘
5    
ť ˚
6    
ž ˛
7    
ý `
8    
á ˙
9    
í '
0    
é ˝
%
¨
´
ˇ ¸
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
˚
˚
Q    
\
W    
|
E    
R    
r    
T    
t    
Y    
y    
U    
u    
I    
i    
O    
o    
P    
p    
     
; :  
     
del  
     
caps 
)
ň ¤
A    
a    
S    
đ
D    
Ð
F    
[
G    
]
H    
h    
J    
j    
K    
ł
L    
Ł
"
ô $
     
enter
     
shift
/
ú ÷
!
§ ß
Z    
>
X    
#
C   Ç
c   ç
V    
@
B    
{
N    
}
M    
m    
?
?
:
:
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swedish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 #  
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
- _  
     
del
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~   ~
' ~ `
Q    
´
W    
`
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
¨ ¨
I    
^ ^
O    
o    
P    
p /  
Å
å :
Ä
ä +
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    

ß ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
Ö
ö "
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
~ ~
M    
µ
;
, <  
:
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swedish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?    
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \
Ä    
ä #  
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swiss French for physical QWERTZ
     
esc
+
1 ! ¦
"
2 " @
*
3 § #
ç
4 $ ¼
%
5 % ½
&   ^
6 & ¬
/
7 / |
(
8 ( ¢
)
9 )  
=
0 =  
?    
' ? ´
`
^   ~
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W   Ł
^ ł
E    
€ ´
R    
° ¶
T   Ŧ
t   ŧ
Z    
z   
U    
u { 
I    
i [ 
O   Œ
o ] œ
P   Þ
p } þ
È
è ~ [
!
¨ ! ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a   æ
ß
£ $
D   Ð
d   ð
F   Đ
f   đ
G   Ŋ
g   ŋ
H   Ħ
h   ħ
J    
j    
K    
k    
L   Ł
' ł
É
é \ {
À
à # }
     
enter
     
shift
>
\
¥
y | «
X    
x   »
Ç
ç ¢
V    
v   
B    
b   
Ñ
ñ ~
M    
µ
;
, ;  
:
. : ·
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Ukrainian for physical QWERTY
     
esc
!
1 !  
"
"
№ ₴ ₴
§ §
; € €
4 $ $
%
° °
:   ^
< <
?
> >
*
• •
( { {
[ [
) } }
] ]
_ − −
— —
+ ± ±
≠ ≠
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
ʼ ~ ~
' ` `
Й
й
Ц
ц
У Ў Ў
у ў ў
К
к ® ®
Е Ё Ё
е ё ё
Н
н
Г
г
Ш
ш
Щ
щ
З
з
Ж
ж
     
del  
     
caps 
Ґ | |
ґ \ \
Ф
ф
І Ы Ы
і ы ы
В
в
А
а
П
п
Р
р
О
о
Л
л
Д
д
Є Э Э
є э э
     
enter
     
shift
Х
х
Ї Ъ Ъ
ї ъ ъ
Я
я
Ч
ч
С
с © ©
М
м
И
и
Т
т ™ ™
Ь
ь
Б   
б , «
Ю   
ю . »
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. for physical QWERTY
     
esc
!
1 !  
@
2 @  
# £
3 #  
$
4 $  
%
5 %  
^   ^
6 ^  
&
7 &  
*
8 *  
(
9 (  
)
0 )  
_
- _  
+
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
? ` ~
/ ~ `
Q    
q    
W    
w    
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
?
p /  
:
; :  
     
del  
fn+ctrl works as fn+shift
     
caps 
|
\ |  
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ?  
"
' "  
     
enter
     
shift
{
[ {  
}
] }  
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
<
, <  
>
. >  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with dead keys for physical QWERTY

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

     
esc
! ¹
¡ !
˝
² @
¯
³ #
$ £
¤ $
¸
€ %
^ ^
¼ ^

½ &
˛
¾ *
˘
‘ (
˚
’ )

¥ _
+ ÷
× +
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~ ~
` ` ~
Ä
ä
Å
å
É
é ´
R    
¤
Þ
þ
Ü
ü
Ú
ú ¨
Í
í ^
Ó
ó
Ö
ö /
: °
· :
     
del  
fn+ctrl works as fn+shift
     
caps 
| ¦
¬ |
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~

¿
Œ
œ
Ø
ø ?
¨ "
´ ' "
     
enter
     
shift
{ “
« {
} ”
» }
Æ
æ
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
µ
< Ç
ç <
ˇ
˙ >
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with Fn dead keys for physical QWERTY

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

Dead characters on the grave and apostrophe keys are switched into Fn combinations on this variant.

     
esc
! ¹
¡ !
˝
² @
¯
³ #
$ £
¤ $
¸
€ %
^ ^
¼ ^

½ &
˛
¾ *
˘
‘ (
˚
’ )

¥ _
+ ÷
× +
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
~
` ~
Ä
ä
Å
å
É
é ´
R    
¤
Þ
þ
Ü
ü
Ú
ú ¨
Í
í ^
Ó
ó
Ö
ö /
: °
· :
     
del  
fn+ctrl works as fn+shift
     
caps 
| ¦
¬ |
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~

¿
Œ
œ
Ø
ø ?
¨
´ "
     
enter
     
shift
{ “
« {
} ”
» }
Æ
æ
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
µ
< Ç
ç <
ˇ
˙ >
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. for physical QWERTZ
     
esc
!
1 !  
@
2 "  
# £
3 §  
$
4 $  
%
5 %  
^   ^
6 &  
&
7 /  
*
8 (  
(
9 )  
)
0 =  
_
- ?
+
= `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
€ ´
R    
°
T    
t    
Y
y
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
{
[ ~
}
] *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
:
; \
"
' #
     
enter
     
shift
|
\ >
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
<
, ;  
>
. :  
?
/ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with dead keys for physical QWERTZ

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

     
esc
! ¹
¡ !
˝
² "
¯
³ §
$ £
¤ $
¸
€ %
^ ^
¼ &

½ /
˛
¾ (
˘
‘ )
˚
’ =

- ¥ ?
+ ÷ `
= × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
ä @
Å
å ^
É
é €
R    
¤ °
Þ
þ
Y Ü
y ü
Ú
ú {
Í
í [
Ó
ó ]
Ö
ö }
{ “
[ « ~
} ”
] » *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~
J    
~
Œ
œ
Ø
ø '
: °
; · \
¨ "
´ ' #
     
enter
     
shift
| ¦
\ ¬ >
Z Æ
z æ |
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
µ µ
< Ç
ç ;
ˇ
˙ :

/ ¿ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with Fn dead keys for physical QWERTZ

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

Dead characters on the apostrophe key are switched into Fn combinations on this variant.

     
esc
! ¹
¡ !
˝
² "
¯
³ §
$ £
¤ $
¸
€ %
^ ^
¼ &

½ /
˛
¾ (
˘
‘ )
˚
’ =

- ¥ ?
+ ÷ `
= × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
ä @
Å
å ^
É
é €
R    
¤ °
Þ
þ
Y Ü
y ü
Ú
ú {
Í
í [
Ó
ó ]
Ö
ö }
{ “
[ « ~
} ”
] » *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~
J    
~
Œ
œ
Ø
ø '
: °
; · \
¨
´ #
     
enter
     
shift
| ¦
\ ¬ >
Z Æ
z æ |
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
µ µ
< Ç
ç ;
ˇ
˙ :

/ ¿ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
wake
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right

F(x)tec Pro1 X

Stock function (dead key / combining diacritic)
Changed function (dead key / combining diacritic)

FinQwerty also adds Fn+esc = home, Fn+up = PageUp, Fn+down = PageDown, Fn+left = Home, Fn+right = End.

Expand all Collapse all

Stock QWERTY
     
back 
     
1 !  
     
2 @  
     
3 #  
     
4 $  
     
5 %  
    ^
6 ^  
     
7 &  
     
8 *  
     
9 (  
     
0 )  
     
- _  
     
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
e   ´
R    
r    
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
     
[ {  
     
] }  
     
del  
     
caps 
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
h    
J    
j    
K    
k    
L    
l ;  
     
? :  
     
' "  
     
enter
     
shift
    ~
` ~ `
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m    
     
, <  
     
. >  
     
/ |  
     
up   
     
shift
stock, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Stock QWERTZ
     
back 
     
1 !  
     
2 "  
     
3 §  
     
4 $  
     
5 %  
     
6 &  
     
7 /  
     
8 (  
     
9 )  
     
0 =  
     
ß ?  
     
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
w ^  
E    
e €  
R    
r °  
T    
t    
Z    
z    
U    
u {  
I    
i [  
O    
o ]  
P    
p }  
Ü    
ü ~  
     
+ *  
     
del  
     
caps 
A    
a    
S    
s    
D    
d    
F    
f    
G    
g    
H    
h    
J    
j    
K    
k    
L    
l    
Ö    
ö \  
Ä    
ä #  
     
enter
     
shift
     
< >  
Y    
y |  
X    
x    
C    
c    
V    
v    
B    
b    
N    
n    
M    
m µ  
     
, ;  
     
. :  
     
- _  
     
up   
     
shift
stock, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTY for physical QWERTZ
     
esc
1    
+ !
2    
ě "
£
š §
4    
č $
5    
ř %
6   ^
ž &
7    
ý /
8    
á (
9    
í )
0    
é =
%
= ?
ˇ
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
y
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
/
ú ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
'
"
ů \
'
¨ #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
?
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTZ for physical QWERTY
     
esc
1    
+ !
2    
ě @
£
š #
4    
č $
5    
ř %
6   ^
ž ^
7    
ý &
8    
á *
9    
í (
0    
é )
% -
= _
ˇ =
´ +
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
\
W    
|
E    
 ´
R    
r    
T    
t    
Z
z
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
/ [
ú {
( ]
) }
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
ß
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
l ;  
" ?
ů :
! '
§ "
     
enter
     
shift
˚ ` ~
; ~ `
Y
y
X    
#
C   Ç
& ç
V    
@
B    
{
N    
}
M    
µ
?
, <  
:
. >  
_ /
- |
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Czech QWERTZ for physical QWERTZ
     
esc
1    
+ !
2    
ě "
£
š §
4    
č $
5    
ř %
6   ^
ž &
7    
ý /
8    
á (
9    
í )
0    
é =
%
= ?
ˇ
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Z    
z    
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
/
ú ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
[
G    
]
H    
½
J    
j    
K    
k    
L    
'
"
ů \
'
¨ #
     
enter
     
shift
>
< >  
Y    
y |  
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
?
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Danish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 # £
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
+ _ -
`
´ + =
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
 ´
R    
°
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
Å
å { [
*
' } ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ;  
Æ
æ :
Ø
ø "
     
enter
     
shift
>
< ~ ~
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, <  
:
. >  
_
- | /
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Danish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Æ
æ \
Ø
ø #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Finnish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 # £
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
+ _ -
`
´ + =
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
 ´
R    
°
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
Å
å { [
*
' } ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ;  
Ö
ö :
Ä
ä "
     
enter
     
shift
>
< ~ ~
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, <  
:
. >  
_
- | /
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Finnish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \  
Ä    
ä #  
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
German for physical QWERTZ
     
esc
!
1 !  
"
2 "  
§ £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?
ß ? 
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Z    
z    
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Ü    
ü ~ ~
*
+ *  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s    
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \  
Ä    
ä #  
     
enter
     
shift
>
< >  
Y    
y |  
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Greek for physical QWERTZ
     
esc
!
1 !  
@ ²
2 "  
# ³
3 §  
$ £
4 $  
% §
5 %  
^ ¶ ^
6 &  
&
7 /  
* ¤
8 (  
( ¦
9 )  
) °
0 =  
_
- ?
+
=
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
:
;
΅
ς
Ε
ε €
Ρ
ρ ®
Τ
τ
Υ
υ ¥
Θ
θ
Ι
ι
Ο
ο
Π
π
{
~ «
}
] * »
     
del  
fn+ctrl works as fn+shift
     
caps 
Α
α
Σ
σ
Δ
δ
Φ
φ
Γ
γ
Η
η
Ξ
ξ
Κ
κ
Λ
λ
΄
´ ΅
"
' #
     
enter
     
shift
> ¬
\ |
Ζ
ζ
Χ
χ
Ψ
ψ
Ω
ω
Β
β
Ν
ν
Μ
μ
<
, ;  
>
. :  
?
/ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Hungarian for physical QWERTZ

Stock yellow characters accessible via <alt+key>.

     
esc
' ¹
~ !
˝
ˇ "
¯
^ §
! £
˘ $
¸
° %
/ ^ ^
˛ &

` /
˛
˙ (
˘
´ )
Ö §
ö 0 =
Ü 
ü ˝ ?
Ó ÷ `
ó × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
\ @
Å
^
É
é €
R    
¤ °
Þ
þ
Æ
æ |
Ú
€ {
Í
í [
Ó
ó ]
Ö
ö }
Ő “
ő ÷ ~
Ú ”
ú × *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
đ ß
Ð
Đ
F    
[
G    
]
H    
h   ~
J    
ű
Œ
Ű
Ø
Ł '
É °
é $ \
Á ¨
á β #
     
enter
     
shift
Í ¦
í < >
Ü
> |
X    
#
¢ Ç
& ç
V    
@
B    
{
Ñ
~
M    
m µ µ
? Ç
, ; ;
ˇ
˙ :

*
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Norwegian for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 # £
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
+ _ -
`
´ + =
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
 ´
R    
°
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
Å
å { [
*
' } ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ;  
Ø
ø :
Æ
æ "
     
enter
     
shift
>
< ~ ~
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, <  
:
. >  
_
- | /
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Norwegian for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ø
ø \
Æ
æ #
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Portuguese for physical QWERTZ
     
esc
!
¡
"
@
#
3 §  
$
£
%
&   ^
¬
/
{
(
[
)
]
=
}
¿
? '
`
´ UNK4
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
\
W    
w    
E    
e € ´
R    
r °  
T    
t    
Y
y ¥
U    
u   ¨
I    
i   ^
Œ
œ
P    
/
     
ͦ ˘
*
°
     
del  
fn+ctrl works as fn+shift
     
caps 
Æ
æ
S    
s    
D    
d    
Đ
đ
G    
g    
H    
½
J    
K    
k    
L    
'
Ç Ñ
ç ñ
^
~ ˇ
     
enter
     
shift
>
|
Z
z
X    
x    
Ç
ç
V    
v    
B    
b    
Ñ
ñ ~
M    
m µ  
;
'
:
¨
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swedish for physical QWERTY
     
esc
!
1 !  
"
2 @  
# £
3 # £
$
4 $  
%
5 %  
&   ^
6 ^  
/
7 &  
(
8 *  
)
9 (  
=
0 )  
?
+ _ -
`
´ + =
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
 ´
R    
°
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
Å
å { [
*
' } ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ;  
Ö
ö :
Ä
ä "
     
enter
     
shift
>
< ~ ~
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
;
, <  
:
. >  
_
- | /
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swedish for physical QWERTZ
     
esc
!
1 !  
"
2 "  
# £
3 §  
$
4 $  
%
5 %  
&   ^
6 &  
/
7 /  
(
8 (  
)
9 )  
=
0 =  
?
+ ?
`
´ `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
¨
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
Å
å ~ ~
*
' *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    

ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
Ö    
ö \  
Ä    
ä #  
     
enter
     
shift
>
< >  
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
;
, ;  
:
. :  
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
Swiss French for physical QWERTZ
     
esc
+
1 ! ¦
"
2 " @
*
3 § #
ç
4 $ ¼
%
5 % ½
&   ^
6 & ¬
/
7 / |
(
8 ( ¢
)
9 )  
=
0 =  
?
' ? ´
`
^   ~
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W   Ł
^ ł
E    
e € ´
R    
r ° 
T   Ŧ
t   ŧ
Z    
z   
U    
u { 
I    
i [ 
O   Œ
o ] œ
P   Þ
p } þ
È
è ~ [
!
¨ ! ]
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a   æ
ß
£ $
D   Ð
d   ð
F   Đ
f   đ
G   Ŋ
g   ŋ
H   Ħ
h   ħ
J    
j    
K    
k    
L   Ł
' ł
É
é \ {
À
à # }
     
enter
     
shift
>
\
¥
y | «
X    
x   »
Ç
ç ¢
V    
v   
B    
b   
Ñ
ñ ~
M    
m µ  
;
, ;  
:
. : ·
_
- _  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. for physical QWERTY
     
esc
!
1 !  
@
2 @  
# £
3 #  
$
4 $  
%
5 %  
^   ^
6 ^  
&
7 &  
*
8 *  
(
9 (  
)
0 )  
_
- _  
+
= +  
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q    
W    
w    
E    
 ´
R    
r    
T    
t    
Y    
y    
U    
u   ¨
I    
i   ^
O    
o    
P    
p \  
{
[ {  
}
] }  
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
l ;  
;
;
"
' "  
     
enter
     
shift
~   ~
` ~ `
Z    
z    
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
µ
<
, <  
>
. >  
|
/ |  
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. for physical QWERTZ
     
esc
!
1 !  
@
2 "  
# £
3 §  
$
4 $  
%
5 %  
^   ^
6 &  
&
7 /  
*
8 (  
(
9 )  
)
0 =  
_
- ?
+
= `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Q    
q @  
W    
^ ^
E    
e € ´
R    
r °  
T    
t    
Y
y
U    
u { ¨
I    
i [ ^
O    
o ]  
P    
p }  
{
[ ~
}
] *
     
del  
fn+ctrl works as fn+shift
     
caps 
A    
a    
S    
s   ß
D    
d    
F    
f    
G    
g    
H    
½
J    
j    
K    
k    
L    
'
:
; \
"
' #
     
enter
     
shift
|
\ >
Z
z |
X    
x    
C   Ç
c   ç
V    
v    
B    
b    
N    
n   ~
M    
m µ  
<
, ;  
>
. :  
?
/ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with dead keys for physical QWERTZ

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

     
esc
! ¹
¡ !
˝
² "
¯
³ §
$ £
¤ $
¸
€ %
^ ^
¼ &

½ /
˛
¾ (
˘
‘ )
˚
’ =

- ¥ ?
+ ÷ `
= × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
ä @
Å
å ^
É
é €
R    
¤ °
Þ
þ
Y Ü
y ü
Ú
ú {
Í
í [
Ó
ó ]
Ö
ö }
{ “
[ « ~
} ”
] » *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~
J    
~
Œ
œ
Ø
ø '
: °
; · \
¨ "
´ ' #
     
enter
     
shift
| ¦
\ ¬ >
Z Æ
z æ |
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
m µ µ
< Ç
ç ;
ˇ
˙ :

/ ¿ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right
U.S. international with Fn dead keys for physical QWERTZ

Stock yellow characters accessible via <alt+key>, international characters via <Fn+key> (PC AltGr), <Fn+shift+key> (PC AltGr+Shift). <ctrl+Fn+key> works as an alternative easier combo for <Fn+shift+key>.

Dead characters on the apostrophe key are switched into Fn combinations on this variant.

     
esc
! ¹
¡ !
˝
² "
¯
³ §
$ £
¤ $
¸
€ %
^ ^
¼ &

½ /
˛
¾ (
˘
‘ )
˚
’ =

- ¥ ?
+ ÷ `
= × `
     
<=   
shift  fn+shift  alt+shift
base   fn        alt
     
tab  
Ä
ä @
Å
å ^
É
é €
R    
¤ °
Þ
þ
Y Ü
y ü
Ú
ú {
Í
í [
Ó
ó ]
Ö
ö }
{ “
[ « ~
} ”
] » *
     
del  
fn+ctrl works as fn+shift
     
caps 
Á
á
§
ß ß
Ð
ð
F    
f    
G    
g    
H    
h   ~
J    
~
Œ
œ
Ø
ø '
: °
; · \
¨
´ #
     
enter
     
shift
| ¦
\ ¬ >
Z Æ
z æ |
X    
x    
¢ Ç
© ç
V    
v    
B    
b    
Ñ
ñ ~
M    
m µ µ
< Ç
ç ;
ˇ
˙ :

/ ¿ _
     
up   
     
shift
stock, combining
changed, combining
     
ctrl 
     
Fn   
     
home 
     
alt  
     
sym  
     
space
     
ctrl 
     
Fn   
     
left 
     
down 
     
right

-- 
Anssi Hannula
anssi.hannula@iki.fi