Keyboard Input

# These settings control the way Lynx interprets user input.

Sub-headings within this document:


VI_KEYS_ALWAYS_ON

EMACS_KEYS_ALWAYS_ON

# Vi or Emacs movement keys, i.e. familiar hjkl or ^N^P^F^B .
# These are defaults, which can be changed in the Options Menu or .lynxrc .
#VI_KEYS_ALWAYS_ON:FALSE
#EMACS_KEYS_ALWAYS_ON:FALSE


DEFAULT_KEYPAD_MODE

# DEFAULT_KEYPAD_MODE may be set to NUMBERS_AS_ARROWS
#                                or LINKS_ARE_NOT_NUMBERED (the same)
#                                or LINKS_ARE_NUMBERED
#                                or LINKS_AND_FIELDS_ARE_NUMBERED
#                                or FIELDS_ARE_NUMBERED
# to specify whether numbers (e.g. [10]) appear next to all links,
# allowing immediate access by entering the number on the keyboard,
# or numbers on the numeric key-pad work like arrows;
# the "FIELDS" options cause form fields also to be numbered.
# This may be overridden by the keypad_mode setting in .lynxrc,
# and can also be changed via the Options Menu.
#
#DEFAULT_KEYPAD_MODE:NUMBERS_AS_ARROWS


NUMBER_LINKS_ON_LEFT

NUMBER_FIELDS_ON_LEFT

# Denotes the position for link- and field-numbers (whether it is on the left
# or right of the anchor).  These are subject to DEFAULT_KEYPAD_MODE, which
# determines whether numbers are shown.
#NUMBER_LINKS_ON_LEFT:TRUE
#NUMBER_FIELDS_ON_LEFT:TRUE


DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS

# Obsolete form of DEFAULT_KEYPAD_MODE,
# numbers work like arrows or numbered links.
# Set to TRUE, indicates numbers act as arrows,
# and set to FALSE indicates numbers refer to numbered links on the page.
# LINKS_AND_FIELDS_ARE_NUMBERED cannot be set by this option because
# it allows only two values (true and false).
#
#DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS:TRUE


CASE_SENSITIVE_ALWAYS_ON

# The default search type.
# This is a default that can be overridden by the user!
#
#CASE_SENSITIVE_ALWAYS_ON:FALSE


KEYBOARD_LAYOUT

# If your terminal (or terminal emulator, or operating system) does not
# support 8-bit input (at all or in easy way), you can use Lynx to
# generate 8-bit characters from 7-bit ones output by terminal.
#
# Currently available keyboard layouts:
#	ROT13'd keyboard layout
#	JCUKEN Cyrillic, for AT 101-key kbd
#	YAWERTY Cyrillic, for DEC LK201 kbd
#
# This feature is ifdef'd with EXP_KEYBOARD_LAYOUT.
#KEYBOARD_LAYOUT:JCUKEN Cyrillic, for AT 101-key kbd


KEYMAP

# Key remapping definitions!
#
# You may redefine the keymapping of any function in Lynx by
# using the KEYMAP option.  The basic form of KEYMAP is:
#  KEYMAP:<KEYSTROKE>:<LYNX FUNCTION>
# (See below for an extended format.)
#
# You must map upper and lowercase keys separately.
#
# A representative list of functions mapped to their default keys is
# provided below.  All of the mappings are commented out by default
# since they just repeat the default mappings, except for TOGGLE_HELP
# (see below).  See LYKeymap.c for the complete key mapping.  Use the
# 'K'eymap command when running Lynx for a list of the _current_ keymappings.
#
# (However, in contrast to the output of 'K' command,
# 'H'elp (lynx_help/*.html and lynx_help/keystrokes/*.html files) shows
# the default mapping unless you change that files manually,
# so you are responsible for possible deviations
# when you are changing any KEYMAP below).
#
#
# Keystrokes for special keys are represented by the following codes:
#         Up Arrow: 0x100
#       Down Arrow: 0x101
#      Right Arrow: 0x102
#       Left Arrow: 0x103
#        Page Down: 0x104
#          Page Up: 0x105
#      Keypad Home: 0x106 (see also 0x10A)
#       Keypad End: 0x107 (see also 0x10B)
#   Function key 1: 0x108
# vt100   Help Key: 0x108
# vt100     Do Key: 0x109
# vt100   Find Key: 0x10A (The key with label "Home" may be treated as Find)
# vt100 Select Key: 0x10B (The key with label "End" may be treated as Select)
#       Insert Key: 0x10C
# Remove (Del) Key: 0x10D
#      ignored key  0x10E (reserved for internal use, DO_NOTHING)
# Back (Shift) Tab: 0x10F
#    reserved code  0x11D (reserved for internal use with -use_mouse)
#    reserved code  0x290 (reserved for internal use with -use_mouse)
#
#
# Other codes not listed above may be available for additional keys,
# depending on operating system and libraries used to compile Lynx.
# On some systems, if compiled with recent versions of slang or ncurses
# (if macro USE_KEYMAPS was in effect during compilation), an additional
# level of key mapping is supported via an external ".lynx-keymaps" file.
# This file, if found in the home directory at startup, will always be
# used under those conditions; see lynx-keymaps distributed in the samples
# subdirectory for further explanation.  Note that mapping via
# .lynx-keymaps, if applicable, is a step that logically comes before the
# mappings done here: KEYMAP maps the result of that step (which still
# represents a key) to a function (which represents an action that Lynx
# should perform).
#
#
#KEYMAP:0x5C:SOURCE		# Toggle source viewing mode (show HTML source)
#KEYMAP:^R:RELOAD		# Reload the current document and redisplay
#KEYMAP:^U:NEXT_DOC		# Undo PREV_DOC)
#KEYMAP:q:QUIT			# Ask the user to quit
#KEYMAP:Q:ABORT			# Quit without verification
#KEYMAP:0x20:NEXT_PAGE		# Move down to next page
#KEYMAP:-:PREV_PAGE		# Move up to previous page
#KEYMAP:^P:UP_TWO		# Move display up two lines
#KEYMAP:0x10C:UP_TWO		# Function key Insert - Move display up two lines
#KEYMAP:^N:DOWN_TWO		# Move display down two lines
#KEYMAP:0x10D:DOWN_TWO		# Function key Remove - Move display down two lines
#KEYMAP:(:UP_HALF		# Move display up half a page
#KEYMAP:):DOWN_HALF		# Move display down half a page
#KEYMAP:^W:REFRESH		# Refresh the screen
#KEYMAP:^A:HOME			# Go to top of current document
#KEYMAP:0x106:HOME		# Keypad Home - Go to top of current document
#KEYMAP:0x10A:HOME		# Function key Find - Go to top of current document
#KEYMAP:^E:END			# Go to bottom of current document
#KEYMAP:0x107:END		# Keypad End - Go to bottom of current document
#KEYMAP:0x10B:END		# Function key Select - Go to bottom of current document
#KEYMAP:0x100:PREV_LINK		# Move to the previous link or page
#KEYMAP:0x101:NEXT_LINK		# Move to the next link or page
#KEYMAP:0x10F:FASTBACKW_LINK 	# Back Tab - Move to previous link or text area
#KEYMAP:^I:FASTFORW_LINK	# Tab key - Move always to next link or text area
#KEYMAP:^:FIRST_LINK		# Move to the first link on line
#KEYMAP:$:LAST_LINK		# Move to the last link on line
#KEYMAP:<:UP_LINK		# Move to the link above
#KEYMAP:>:DOWN_LINK		# Move to the link below
#KEYMAP:0x7F:HISTORY		# Show the history list
#KEYMAP:0x08:HISTORY		# Show the history list
#KEYMAP:0x103:PREV_DOC		# Return to the previous document in history stack
#KEYMAP:0x102:ACTIVATE		# Select the current link
#KEYMAP:0x109:ACTIVATE		# Function key Do - Select the current link
#KEYMAP:g:GOTO			# Goto a random URL
#KEYMAP:G:ECGOTO		# Edit the current document's URL and go to it
#KEYMAP:H:HELP			# Show default help screen
#KEYMAP:0x108:DWIMHELP		# Function key Help - Show a help screen
#KEYMAP:i:INDEX			# Show default index
#*** Edit FORM_LINK_* messages in LYMessages_en.h if you change NOCACHE ***
#KEYMAP:x:NOCACHE		# Force submission of form or link with no-cache
#*** Do not change INTERRUPT from 'z' & 'Z' ***
#KEYMAP:z:INTERRUPT		# Interrupt network transmission
#KEYMAP:m:MAIN_MENU		# Return to the main menu
#KEYMAP:o:OPTIONS		# Show the options menu
#KEYMAP:i:INDEX_SEARCH		# Search a server based index
#KEYMAP:/:WHEREIS		# Find a string within the current document
#KEYMAP:n:NEXT			# Find next occurrence of string within document
#KEYMAP:c:COMMENT		# Comment to the author of the current document
#KEYMAP:C:CHDIR			# Change current directory
#KEYMAP:e:EDIT			# Edit current document or form's textarea (call: ^Ve)
#KEYMAP:E:ELGOTO		# Edit the current link's URL or ACTION and go to it
#KEYMAP:=:INFO			# Show info about current document
#KEYMAP:p:PRINT			# Show print options
#KEYMAP:a:ADD_BOOKMARK		# Add current document to bookmark list
#KEYMAP:v:VIEW_BOOKMARK		# View the bookmark list
#KEYMAP:V:VLINKS		# List links visited during the current Lynx session
#KEYMAP:!:SHELL			# Spawn default shell
#KEYMAP:d:DOWNLOAD		# Download current link
#KEYMAP:j:JUMP			# Jump to a predefined target
#KEYMAP:k:KEYMAP		# Display the current key map
#KEYMAP:l:LIST			# List the references (links) in the current document
#KEYMAP:#:TOOLBAR		# Go to the Toolbar or Banner in the current document
#KEYMAP:^T:TRACE_TOGGLE		# Toggle detailed tracing for debugging
#KEYMAP:;:TRACE_LOG		# View trace log if available for the current session
#KEYMAP:*:IMAGE_TOGGLE		# Toggle inclusion of links for all images
#KEYMAP:[:INLINE_TOGGLE		# Toggle pseudo-ALTs for inlines with no ALT string
#KEYMAP:]:HEAD			# Send a HEAD request for current document or link
#*** Must be compiled with USE_EXTERNALS to enable EXTERN_LINK, EXTERN_PAGE ***
#KEYMAP:,:EXTERN_PAGE		# Run external program with current page
#KEYMAP:.:EXTERN_LINK		# Run external program with current link
#*** Escaping from text input fields with ^V is independent from this: ***
#KEYMAP:^V:SWITCH_DTD		# Toggle between SortaSGML and TagSoup HTML parsing
#KEYMAP:0x00:DO_NOTHING		# Does nothing (ignore this key)
#KEYMAP:0x10E:DO_NOTHING	# Does nothing (ignore this key)
#KEYMAP:{:SHIFT_LEFT		# shift the screen left
#KEYMAP:}:SHIFT_RIGHT		# shift the screen right
#KEYMAP:|:LINEWRAP_TOGGLE	# toggle linewrap on/off, for shift-commands
#KEYMAP:~:NESTED_TABLES		# toggle nested-tables parsing on/off
#
#
# In addition to the bindings available by default, the following functions
# are not directly mapped to any keys by default, although some of them may
# be mapped in specific line-editor bindings (effective while in text input
# fields):
#
#
#KEYMAP:???:RIGHT_LINK		# Move to the link to the right
#KEYMAP:???:LEFT_LINK		# Move to the link to the left
#KEYMAP:???:LPOS_PREV_LINK	# Like PREV_LINK, last column pos if form input
#KEYMAP:???:LPOS_NEXT_LINK	# Like NEXT_LINK, last column pos if form input
#*** Only useful in form text fields , need PASS or prefixing with ^V: ***
#KEYMAP:???:DWIMHELP		# Display help page that may depend on context
#KEYMAP:???:DWIMEDIT		# Use external editor for context-dependent purpose
#*** Only useful in a form textarea, need PASS or prefixing with ^V: ***
#KEYMAP:???:EDITTEXTAREA	# use external editor to edit a form textarea
#KEYMAP:???:GROWTEXTAREA	# Add some blank lines to bottom of textarea
#KEYMAP:???:INSERTFILE		# Insert file into a textarea (just above cursor)
#*** Only useful with dired support and OK_INSTALL: ***
#KEYMAP:???:INSTALL		# install (i.e. copy) local files to new location
#
#
# If TOGGLE_HELP is mapped, in novice mode the second help menu line
# can be toggled among NOVICE_LINE_TWO_A, _B, and _C, as defined in
# LYMessages_en.h  Otherwise, it will be NOVICE_LINE_TWO.
#
#KEYMAP:O:TOGGLE_HELP		# Show other commands in the novice help menu
#
# KEYMAP lines can have one or two additional fields.  The extended format is
#  KEYMAP:<KEYSTROKE>:[<MAIN LYNX FUNCTION>]:<OTHER BINDING>[:<SELECT>]
#
# If the additional field OTHER BINDING specifies DIRED, then the function is
# mapped in the override table used only in DIRED mode.  This is only valid
# if lynx was compiled with dired support and OK_OVERRIDE defined.  A
# MAIN LYNX FUNCTION must be given (it should of course be one that makes
# sense in Dired mode), and SELECT is meaningless.  Default built-in override
# mappings are
#
#KEYMAP:^U:NEXT_DOC:DIRED	# Undo going back to the previous document
#KEYMAP:.:TAG_LINK:DIRED	# Tag a file or directory for later action
#KEYMAP:c:CREATE:DIRED		# Create a new file or directory
#KEYMAP:C:CHDIR:DIRED		# change current directory
#KEYMAP:f:DIRED_MENU:DIRED	# Display a menu of file operations
#KEYMAP:m:MODIFY:DIRED		# Modify name or location of a file or directory
#KEYMAP:r:REMOVE:DIRED		# Remove files or directories
#KEYMAP:t:TAG_LINK:DIRED	# Tag a file or directory for later action
#KEYMAP:u:UPLOAD:DIRED		# Show menu of "Upload Options"
#
# If the OTHER BINDING field does not specify DIRED, then it is taken as a
# line-editor action.  It is possible to keep the MAIN LYNX FUNCTION field
# empty in that case, for changing only the line-editing behavior.
# If alternative line edit styles are compiled in, and modifying a key's
# line-editor binding on a per style basis is possible, then SELECT can be
# used to specify which styles are affected.  By default, or if SELECT is
# 0, all line edit styles are affected.  If SELECT is a positive integer
# number, only the binding for the numbered style is changed (numbering
# is in the order in which styles are shown in the Options Menu, starting
# with 1 for the Default style).  If SELECT is negative (-n), all styles
# except n are affected.
#
#
#  NOP		# Do Nothing
#  ABORT	# Input cancelled
#
#  BOL		# Go to begin of line
#  EOL		# Go to end   of line
#  FORW		# Cursor forwards
#  FORW_RL	# Cursor forwards or right link
#  BACK		# Cursor backwards
#  FORWW	# Word forward
#  BACKW	# Word back
#  BACK_LL	# Cursor backwards or left link
#
#  DELN		# Delete next/curr char
#  DELP		# Delete prev      char
#  DELNW	# Delete next word
#  DELPW	# Delete prev word
#  DELBL	# Delete back to BOL
#  DELEL	# Delete thru EOL
#  ERASE	# Erase the line
#  LOWER	# Lower case the line
#  UPPER	# Upper case the line
#
#  LKCMD	# In fields: Invoke key command prompt (default for ^V)
#  PASS		# In fields: handle as non-lineedit key; in prompts: ignore
#
#
# Modify following key (prefixing only works within line-editing, edit actions
# of some resulting prefixed keys are built-in, see Line Editor help pages)
#  SETM1	# Set modifier 1 flag (default for ^X - key prefix)
#  SETM2	# Set modifier 2 flag (another key prefix - same effect)
#
# May not always be compiled in:
#
#
#  TPOS		# Transpose characters
#  SETMARK	# emacs-like set-mark-command
#  XPMARK	# emacs-like exchange-point-and-mark
#  KILLREG	# emacs-like kill-region
#  YANK		# emacs-like yank
#  SWMAP	# Switch input keymap
#  PASTE	# ClipBoard to Lynx - Windows Extension
#
#
# May work differently from expected if not bound to their expected keys:
#
#
#  CHAR		# Insert printable char (default for all ASCII printable)
#  ENTER	# Input complete, return char/lynxkeycode (for RETURN/ENTER)
#  TAB		# Input complete, return TAB (for ASCII TAB char ^I)
#
#
# Internal use, probably not useful for binding, listed for completeness:
#
#
#  UNMOD	# Fall back to no-modifier command
#  AIX		# Hex 97
#  C1CHAR	# Insert C1 char if printable
#
#
# If OTHER BINDING specifies PASS, then if the key is pressed in a text input
# field it is passed by the built-in line-editor to normal KEYMAP handling,
# i.e. this flag acts like an implied ^V escape (always overrides line-editor
# behavior of the key).  For example,
#KEYMAP:0x10C:UP_TWO:PASS # Function key Insert - Move display up two lines
#
# Other examples (repeating built-in bindings)
#KEYMAP:^V::LKCMD	# set (only) line-edit action for ^V
#KEYMAP:^V:SWITCH_DTD:LKCMD # set main lynxaction and line-edit action for ^V
#KEYMAP:^U::ERASE:1	# set line-edit binding for ^U, for default style
#KEYMAP:^[::SETM2:3	# use escape key as modifier - works only sometimes
KEYMAP:v:SOURCE
KEYMAP:0x10C:UP_TWO
KEYMAP:0x10D:DOWN_TWO
KEYMAP:_:UP_HALF
KEYMAP:-:DOWN_HALF
KEYMAP:b:VIEW_BOOKMARK


Prev: Internal Behavior || Next: Mail-related