ncurses keyname()
This table maps the result of the ncurses function keyname() when a function key is pressed in various terminals. It covers the most commonly used keyboards today (ISO and ANSI layouts in Windows and Mac variants).
Linux console

6.17
WezTerm

20240203
xterm

#402
xterm
sunKeyboard:true
#402
PuTTY

0.83
mlterm

3.9.4
Tera Term

5.5.0
st

0.9.3
Konsole

25.08.1
Terminology

1.14.0
Apple Terminal
(nsterm)
2.15
Windows Console

10 22H2
Esc ^[ ^[ ^[ ^[ ^[ ^[ ^[ ^[ ^[ ^[ ^[ ^[
Tab ^I ^I ^I ^I ^I ^I ^I ^I ^I ^I ^I ^I
Backspace KEY_BACKSPACE KEY_BACKSPACE (GNU)
^? (other)
KEY_BACKSPACE (GNU)
^? (other)
KEY_BACKSPACE (GNU)
^? (other)
KEY_BACKSPACE KEY_BACKSPACE KEY_BACKSPACE KEY_BACKSPACE KEY_BACKSPACE (GNU)
^? (other)
KEY_BACKSPACE KEY_BACKSPACE ^?
Enter ^J ^J ^J ^J ^J ^J ^J ^J ^J ^J ^J ^J
Menu (not on Mac) ^[ [ 2 9 ~ KEY_F(16) ^[ [ 2 9 ~ ^[ [ 2 9 ~
F1 KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) KEY_F(1) ^[ O P
F2 KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) KEY_F(2) ^[ O Q
F3 KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) KEY_F(3) ^[ O R
F4 KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) KEY_F(4) ^[ O S
F5 KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5) KEY_F(5)
F6 KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6) KEY_F(6)
F7 KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7) KEY_F(7)
F8 KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8) KEY_F(8)
F9 KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9) KEY_F(9)
F10 KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10) KEY_F(10)
F11 KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11) KEY_F(11)
F12 KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12) KEY_F(12)
F13 (Mac only) KEY_F(13) ^[ [ 2 5 ~ ^[ [ 2 5 ~ KEY_F(13) KEY_F(13) ^[ [ 2 5 ~ KEY_F(13) KEY_F(13) KEY_F(13)
F14 (Mac only) KEY_F(14) ^[ [ 2 6 ~ ^[ [ 2 6 ~ KEY_F(14) KEY_F(14) ^[ [ 2 6 ~ KEY_F(14) KEY_F(14) KEY_F(14)
F15 (Mac only) KEY_F(15) ^[ [ 2 8 ~ ^[ [ 2 8 ~ KEY_F(15) KEY_F(15) ^[ [ 2 8 ~ KEY_F(15) KEY_F(15) KEY_F(15)
F16 (Mac only) KEY_F(16) ^[ [ 2 9 ~ ^[ [ 2 9 ~ KEY_F(16) KEY_F(16) ^[ [ 2 9 ~ KEY_F(16) KEY_F(16) KEY_F(16)
F17 (Mac only) KEY_F(17) ^[ [ 3 1 ~ ^[ [ 3 1 ~ KEY_F(17) KEY_F(17) ^[ [ 3 1 ~ KEY_F(17) KEY_F(17) KEY_F(17)
F18 (Mac only) KEY_F(18) ^[ [ 3 2 ~ ^[ [ 3 2 ~ KEY_F(18) KEY_F(18) ^[ [ 3 2 ~ KEY_F(18) KEY_F(18) KEY_F(18)
F19 (Mac only) KEY_F(19) ^[ [ 3 3 ~ ^[ [ 3 3 ~ KEY_F(19) KEY_F(19) ^[ [ 3 3 ~ KEY_F(19) KEY_F(19) KEY_F(19)
Insert (not on Mac) KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC KEY_IC
Delete KEY_DC KEY_DC KEY_DC KEY_DC KEY_DC KEY_DC ^? KEY_DC KEY_DC KEY_DC KEY_DC KEY_DC
Home KEY_HOME KEY_HOME KEY_HOME KEY_HOME KEY_HOME KEY_HOME KEY_FIND KEY_HOME KEY_HOME KEY_HOME KEY_HOME ^[ [ H
End KEY_END KEY_END KEY_END KEY_END KEY_END KEY_END KEY_SELECT KEY_END KEY_END KEY_END KEY_END ^[ [ F
Page Up KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE KEY_PPAGE
Page Down KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE KEY_NPAGE
Up KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP KEY_UP
Down KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN KEY_DOWN
Right KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT KEY_RIGHT
Left KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT KEY_LEFT
Pause (not on Mac) ^[ [ P KEY_SUSPEND ^Z
Num Lock (not on Mac) kpNUM
Num Clear (Mac only) kpNUM
Num = (Mac only) = = =
^[ O X
=
^[ O X
= = = = = =
Num / / / /
kpDIV
/
kpDIV
kpDIV /
^[ O o
kpDIV / / / / /
Num * * * *
kpMUL
*
kpMUL
kpMUL *
^[ O j
kpMUL * * * * *
Num - - - -
kpSUB
-
kpSUB
kpSUB -
^[ O m
kpSUB - - - -
^[ O m
-
Num + + + +
kpADD
,
kpCMA
kpADD +
^[ O k
kpADD + + + +
^[ O l
+
Num Enter ^J ^J ^J
KEY_ENTER
^J
KEY_ENTER
KEY_ENTER ^J KEY_ENTER ^J ^J ^J KEY_ENTER ^J
Num . .
KEY_DC
.
KEY_DC
.
KEY_DC
.
kpDOT
KEY_C3 .
KEY_C3
kpDOT .
KEY_DC
.
KEY_DC
.
KEY_DC
.
KEY_C3
.
KEY_DC
Num 0 0
KEY_IC
0
KEY_IC
0
KEY_IC
0
kpZRO
KEY_C1 0
KEY_C1
kpZRO 0
KEY_IC
0
KEY_IC
0
KEY_IC
0
KEY_C1
0
KEY_IC
Num 1 1
KEY_END
1
KEY_END
1
KEY_END
1
KEY_C1
KEY_A1 1
KEY_A1
KEY_C1 1
KEY_END
1
KEY_END
1
KEY_END
1
KEY_A1
1
^[ [ F
Num 2 2
KEY_DOWN
2
KEY_DOWN
2
KEY_DOWN
2
kc2
KEY_B2 2
KEY_B2
kc2 2
^[ O r
2
KEY_DOWN
2
KEY_DOWN
2
KEY_B2
2
KEY_DOWN
Num 3 3
KEY_NPAGE
3
KEY_NPAGE
3
KEY_NPAGE
3
KEY_C3
KEY_A3 3
KEY_A3
KEY_C3 3
KEY_NPAGE
3
KEY_NPAGE
3
KEY_NPAGE
3
KEY_A3
3
KEY_NPAGE
Num 4 4
KEY_LEFT
4
KEY_LEFT
4
KEY_LEFT
4
kb1
kp4 4
^[ O t
kb1 4
^[ O t
4
KEY_LEFT
4
KEY_LEFT
4
^[ O t
4
KEY_LEFT
Num 5 5
KEY_B2
5 5
KEY_BEG
5
KEY_B2
kp5 5
^[ O u
KEY_B2 5
^[ [ E
5
^[ [ E
5
^[ O E
5
^[ O u
5
Num 6 6
KEY_RIGHT
6
KEY_RIGHT
6
KEY_RIGHT
6
kb3
kp6 6
^[ O v
kb3 6
^[ O v
6
KEY_RIGHT
6
KEY_RIGHT
6
^[ O v
6
KEY_RIGHT
Num 7 7
KEY_HOME
7
KEY_HOME
7
KEY_HOME
7
KEY_A1
kp7 7
^[ O w
KEY_A1 7
KEY_HOME
7
KEY_HOME
7
KEY_HOME
7
^[ O w
7
^[ [ H
Num 8 8
KEY_UP
8
KEY_UP
8
KEY_UP
8
ka2
kp8 8
^[ O x
ka2 8
^[ O x
8
KEY_UP
8
KEY_UP
8
^[ O x
8
KEY_UP
Num 9 9
KEY_PPAGE
9
KEY_PPAGE
9
KEY_PPAGE
9
KEY_A3
KEY_F(0) 9
^[ O y
KEY_F(0) 9
KEY_PPAGE
9
KEY_PPAGE
9
KEY_PPAGE
9
^[ O y
9
KEY_PPAGE
Legend:
Correct mapping
Correct mapping (emulation of another key
on the same physical position)
Incorrect or no mapping
Mapping to non-standard/duplicate capability
Key not sent by terminal
Key not recognized by operating system

 

Numpad keys with two values per key produce the upper string when Num Lock is on and the lower string when Num Lock is off (toggled by Clear key on Mac keyboard).
Based on terminfo database from ncurses 6.5.20250720

 

By: Jakub Horký (contact)