iPXE
keys.h File Reference

Key definitions. More...

Go to the source code of this file.

Macros

#define NUL   0x00
#define CTRL_A   0x01
#define CTRL_B   0x02
#define CTRL_C   0x03
#define CTRL_D   0x04
#define CTRL_E   0x05
#define CTRL_F   0x06
#define CTRL_G   0x07
#define CTRL_H   0x08
#define CTRL_I   0x09
#define CTRL_J   0x0a
#define CTRL_K   0x0b
#define CTRL_L   0x0c
#define CTRL_M   0x0d
#define CTRL_N   0x0e
#define CTRL_O   0x0f
#define CTRL_P   0x10
#define CTRL_Q   0x11
#define CTRL_R   0x12
#define CTRL_S   0x13
#define CTRL_T   0x14
#define CTRL_U   0x15
#define CTRL_V   0x16
#define CTRL_W   0x17
#define CTRL_X   0x18
#define CTRL_Y   0x19
#define CTRL_Z   0x1a
#define BACKSPACE   CTRL_H
#define TAB   CTRL_I
#define LF   CTRL_J
#define CR   CTRL_M
#define ESC   0x1b
#define DEL   0x7f
#define KEY_MIN   0x110000
 Minimum value for special keypresses.
#define KEY_REL(key)
 Construct relative key value for special key.
#define KEY_ANSI(n, terminator)
 Construct ANSI escape sequence key value.
#define KEY_ANSI_N(key)
 Extract ANSI escape sequence numeric portion.
#define KEY_ANSI_TERMINATOR(key)
 Extract ANSI escape sequence terminating character.
#define KEY_UP   KEY_ANSI ( 0, 'A' )
 Up arrow.
#define KEY_DOWN   KEY_ANSI ( 0, 'B' )
 Down arrow.
#define KEY_RIGHT   KEY_ANSI ( 0, 'C' )
 Right arrow.
#define KEY_LEFT   KEY_ANSI ( 0, 'D' )
 Left arrow.
#define KEY_END   KEY_ANSI ( 0, 'F' )
 End.
#define KEY_HOME   KEY_ANSI ( 0, 'H' )
 Home.
#define KEY_IC   KEY_ANSI ( 2, '~' )
 Insert.
#define KEY_DC   KEY_ANSI ( 3, '~' )
 Delete.
#define KEY_PPAGE   KEY_ANSI ( 5, '~' )
 Page up.
#define KEY_NPAGE   KEY_ANSI ( 6, '~' )
 Page down.
#define KEY_F5   KEY_ANSI ( 15, '~' )
 F5.
#define KEY_F6   KEY_ANSI ( 17, '~' )
 F6.
#define KEY_F7   KEY_ANSI ( 18, '~' )
 F7.
#define KEY_F8   KEY_ANSI ( 19, '~' )
 F8 (for PXE)
#define KEY_F9   KEY_ANSI ( 20, '~' )
 F9.
#define KEY_F10   KEY_ANSI ( 21, '~' )
 F10.
#define KEY_F11   KEY_ANSI ( 23, '~' )
 F11.
#define KEY_F12   KEY_ANSI ( 24, '~' )
 F12.
#define KEY_BACKSPACE   BACKSPACE
#define KEY_ENTER   LF

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)

Detailed Description

Key definitions.

Definition in file keys.h.

Macro Definition Documentation

◆ NUL

#define NUL   0x00

Definition at line 18 of file keys.h.

◆ CTRL_A

#define CTRL_A   0x01

Definition at line 19 of file keys.h.

Referenced by edit_string(), and EDITSTRING_TEST().

◆ CTRL_B

#define CTRL_B   0x02

Definition at line 20 of file keys.h.

Referenced by edit_string(), and shell_banner().

◆ CTRL_C

◆ CTRL_D

#define CTRL_D   0x04

Definition at line 22 of file keys.h.

Referenced by edit_string(), EDITSTRING_TEST(), and main_loop().

◆ CTRL_E

#define CTRL_E   0x05

Definition at line 23 of file keys.h.

Referenced by edit_string().

◆ CTRL_F

#define CTRL_F   0x06

Definition at line 24 of file keys.h.

Referenced by edit_string().

◆ CTRL_G

#define CTRL_G   0x07

Definition at line 25 of file keys.h.

◆ CTRL_H

#define CTRL_H   0x08

Definition at line 26 of file keys.h.

◆ CTRL_I

#define CTRL_I   0x09

Definition at line 27 of file keys.h.

◆ CTRL_J

#define CTRL_J   0x0a

Definition at line 28 of file keys.h.

◆ CTRL_K

#define CTRL_K   0x0b

Definition at line 29 of file keys.h.

Referenced by edit_string(), and EDITSTRING_TEST().

◆ CTRL_L

#define CTRL_L   0x0c

Definition at line 30 of file keys.h.

◆ CTRL_M

#define CTRL_M   0x0d

Definition at line 31 of file keys.h.

◆ CTRL_N

#define CTRL_N   0x0e

Definition at line 32 of file keys.h.

◆ CTRL_O

#define CTRL_O   0x0f

Definition at line 33 of file keys.h.

◆ CTRL_P

#define CTRL_P   0x10

Definition at line 34 of file keys.h.

◆ CTRL_Q

#define CTRL_Q   0x11

Definition at line 35 of file keys.h.

◆ CTRL_R

#define CTRL_R   0x12

Definition at line 36 of file keys.h.

◆ CTRL_S

#define CTRL_S   0x13

Definition at line 37 of file keys.h.

◆ CTRL_T

#define CTRL_T   0x14

Definition at line 38 of file keys.h.

◆ CTRL_U

#define CTRL_U   0x15

Definition at line 39 of file keys.h.

Referenced by edit_string(), and EDITSTRING_TEST().

◆ CTRL_V

#define CTRL_V   0x16

Definition at line 40 of file keys.h.

◆ CTRL_W

#define CTRL_W   0x17

Definition at line 41 of file keys.h.

Referenced by edit_string(), EDITSTRING_TEST(), EDITSTRING_TEST(), and EDITSTRING_TEST().

◆ CTRL_X

#define CTRL_X   0x18

Definition at line 42 of file keys.h.

Referenced by form_loop(), and main_loop().

◆ CTRL_Y

#define CTRL_Y   0x19

Definition at line 43 of file keys.h.

◆ CTRL_Z

#define CTRL_Z   0x1a

Definition at line 44 of file keys.h.

◆ BACKSPACE

#define BACKSPACE   CTRL_H

Definition at line 46 of file keys.h.

Referenced by usbkbd_map().

◆ TAB

#define TAB   CTRL_I

Definition at line 47 of file keys.h.

Referenced by jump_scroll_key(), and usbkbd_map().

◆ LF

#define LF   CTRL_J

Definition at line 48 of file keys.h.

Referenced by main_loop(), menu_loop(), pxe_menu_select(), readline_history(), and usbkbd_map().

◆ CR

#define CR   CTRL_M

Definition at line 49 of file keys.h.

Referenced by main_loop(), menu_loop(), pxe_menu_select(), and readline_history().

◆ ESC

#define ESC   0x1b

Definition at line 50 of file keys.h.

◆ DEL

#define DEL   0x7f

Definition at line 51 of file keys.h.

◆ KEY_MIN

#define KEY_MIN   0x110000

Minimum value for special keypresses.

This value is chosen to lie above the maximum Unicode code point value 0x10ffff.

Definition at line 70 of file keys.h.

Referenced by bios_inject(), parse_key(), pxe_menu_select(), usbkbd_consume(), and wgetch().

◆ KEY_REL

#define KEY_REL ( key)
Value:
( (key) - KEY_MIN )
union @162305117151260234136356364136041353210355154177 key
Sense key.
Definition scsi.h:3
#define KEY_MIN
Minimum value for special keypresses.
Definition keys.h:70

Construct relative key value for special key.

Parameters
keyKey value
Return values
rkeyRelative key value

Definition at line 78 of file keys.h.

Referenced by bios_inject().

◆ KEY_ANSI

#define KEY_ANSI ( n,
terminator )
Value:
( KEY_MIN + ( ( (n) + 1 ) << 8 ) + (terminator) )
struct eth_slow_terminator_tlv terminator
Terminator.
Definition eth_slow.h:9

Construct ANSI escape sequence key value.

Parameters
nANSI escape sequence numeric portion, or 0 for none
terminatorANSI escape sequence terminating character
Return values
keyKey value

Definition at line 87 of file keys.h.

87#define KEY_ANSI( n, terminator ) \
88 ( KEY_MIN + ( ( (n) + 1 ) << 8 ) + (terminator) )

Referenced by getkey().

◆ KEY_ANSI_N

#define KEY_ANSI_N ( key)
Value:
( ( ( (key) >> 8 ) & 0xff ) - 1 )

Extract ANSI escape sequence numeric portion.

Parameters
keyKey value (or relative key value)
Return values
nANSI escape sequence numeric portion, or 0 for none

Definition at line 96 of file keys.h.

Referenced by bios_ansi_seq(), and usbkbd_consume().

◆ KEY_ANSI_TERMINATOR

#define KEY_ANSI_TERMINATOR ( key)
Value:
( (key) & 0xff )

Extract ANSI escape sequence terminating character.

Parameters
keyKey value (or relative key value)
Return values
terminatorANSI escape sequence terminating character

Definition at line 104 of file keys.h.

Referenced by bios_ansi_seq(), and usbkbd_consume().

◆ KEY_UP

#define KEY_UP   KEY_ANSI ( 0, 'A' )

Up arrow.

Definition at line 106 of file keys.h.

Referenced by jump_scroll_key(), pxe_menu_select(), readline_history(), and usbkbd_map().

◆ KEY_DOWN

#define KEY_DOWN   KEY_ANSI ( 0, 'B' )

Down arrow.

Definition at line 107 of file keys.h.

Referenced by jump_scroll_key(), pxe_menu_select(), readline_history(), and usbkbd_map().

◆ KEY_RIGHT

#define KEY_RIGHT   KEY_ANSI ( 0, 'C' )

Right arrow.

Definition at line 108 of file keys.h.

Referenced by edit_string(), EDITSTRING_TEST(), EDITSTRING_TEST(), EDITSTRING_TEST(), and usbkbd_map().

◆ KEY_LEFT

#define KEY_LEFT   KEY_ANSI ( 0, 'D' )

◆ KEY_END

#define KEY_END   KEY_ANSI ( 0, 'F' )

End.

Definition at line 110 of file keys.h.

Referenced by edit_string(), jump_scroll_key(), and usbkbd_map().

◆ KEY_HOME

#define KEY_HOME   KEY_ANSI ( 0, 'H' )

Home.

Definition at line 111 of file keys.h.

Referenced by edit_string(), EDITSTRING_TEST(), EDITSTRING_TEST(), jump_scroll_key(), and usbkbd_map().

◆ KEY_IC

#define KEY_IC   KEY_ANSI ( 2, '~' )

Insert.

Definition at line 112 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_DC

#define KEY_DC   KEY_ANSI ( 3, '~' )

Delete.

Definition at line 113 of file keys.h.

Referenced by edit_string(), EDITSTRING_TEST(), and usbkbd_map().

◆ KEY_PPAGE

#define KEY_PPAGE   KEY_ANSI ( 5, '~' )

Page up.

Definition at line 114 of file keys.h.

Referenced by jump_scroll_key(), and usbkbd_map().

◆ KEY_NPAGE

#define KEY_NPAGE   KEY_ANSI ( 6, '~' )

Page down.

Definition at line 115 of file keys.h.

Referenced by jump_scroll_key(), and usbkbd_map().

◆ KEY_F5

#define KEY_F5   KEY_ANSI ( 15, '~' )

F5.

Definition at line 116 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F6

#define KEY_F6   KEY_ANSI ( 17, '~' )

F6.

Definition at line 117 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F7

#define KEY_F7   KEY_ANSI ( 18, '~' )

F7.

Definition at line 118 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F8

#define KEY_F8   KEY_ANSI ( 19, '~' )

F8 (for PXE)

Definition at line 119 of file keys.h.

Referenced by pxe_menu_prompt_and_select(), and usbkbd_map().

◆ KEY_F9

#define KEY_F9   KEY_ANSI ( 20, '~' )

F9.

Definition at line 120 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F10

#define KEY_F10   KEY_ANSI ( 21, '~' )

F10.

Definition at line 121 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F11

#define KEY_F11   KEY_ANSI ( 23, '~' )

F11.

Definition at line 122 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_F12

#define KEY_F12   KEY_ANSI ( 24, '~' )

F12.

Definition at line 123 of file keys.h.

Referenced by usbkbd_map().

◆ KEY_BACKSPACE

#define KEY_BACKSPACE   BACKSPACE

◆ KEY_ENTER

#define KEY_ENTER   LF

Definition at line 129 of file keys.h.

Referenced by form_loop(), and wgetnstr().

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )